Reorganizes Project (#41)

This commit is contained in:
Kamron Batman 2019-08-02 18:13:40 -07:00 • committed by GitHub
parent 08bf44af9a
commit 3614a66aee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3499 changed files with 79 additions and 55 deletions

View file

@ -0,0 +1,78 @@
using Server.Items;
namespace Server.Mobiles
{
public class FrostSpider : BaseCreature
{
[Constructible]
public FrostSpider() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 20;
BaseSoundID = 0x388;
SetStr(76, 100);
SetDex(126, 145);
SetInt(36, 60);
SetHits(46, 60);
SetMana(0);
SetDamage(6, 16);
SetDamageType(ResistanceType.Physical, 20);
SetDamageType(ResistanceType.Cold, 80);
SetResistance(ResistanceType.Physical, 25, 30);
SetResistance(ResistanceType.Fire, 5, 10);
SetResistance(ResistanceType.Cold, 40, 50);
SetResistance(ResistanceType.Poison, 20, 30);
SetResistance(ResistanceType.Energy, 10, 20);
SetSkill(SkillName.MagicResist, 25.1, 40.0);
SetSkill(SkillName.Tactics, 35.1, 50.0);
SetSkill(SkillName.Wrestling, 50.1, 65.0);
Fame = 775;
Karma = -775;
VirtualArmor = 28;
Tamable = true;
ControlSlots = 1;
MinTameSkill = 74.7;
PackItem(new SpidersSilk(7));
}
public FrostSpider(Serial serial) : base(serial)
{
}
public override string CorpseName => "a frost spider corpse";
public override string DefaultName => "a frost spider";
public override FoodType FavoriteFood => FoodType.Meat;
public override PackInstinct PackInstinct => PackInstinct.Arachnid;
public override void GenerateLoot()
{
AddLoot(LootPack.Meager);
AddLoot(LootPack.Poor);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (BaseSoundID == 387)
BaseSoundID = 0x388;
}
}
}

View file

@ -0,0 +1,73 @@
using Server.Items;
namespace Server.Mobiles
{
public class GiantBlackWidow : BaseCreature
{
[Constructible]
public GiantBlackWidow() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 0x9D;
BaseSoundID = 0x388; // TODO: validate
SetStr(76, 100);
SetDex(96, 115);
SetInt(36, 60);
SetHits(46, 60);
SetDamage(5, 17);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 20, 30);
SetResistance(ResistanceType.Fire, 10, 20);
SetResistance(ResistanceType.Cold, 10, 20);
SetResistance(ResistanceType.Poison, 50, 60);
SetResistance(ResistanceType.Energy, 10, 20);
SetSkill(SkillName.Anatomy, 30.3, 75.0);
SetSkill(SkillName.Poisoning, 60.1, 80.0);
SetSkill(SkillName.MagicResist, 45.1, 60.0);
SetSkill(SkillName.Tactics, 65.1, 80.0);
SetSkill(SkillName.Wrestling, 70.1, 85.0);
Fame = 3500;
Karma = -3500;
VirtualArmor = 24;
PackItem(new SpidersSilk(5));
PackItem(new LesserPoisonPotion());
PackItem(new LesserPoisonPotion());
}
public GiantBlackWidow(Serial serial) : base(serial)
{
}
public override string CorpseName => "a giant black widow spider corpse";
public override string DefaultName => "a giant black wide";
public override FoodType FavoriteFood => FoodType.Meat;
public override Poison PoisonImmune => Poison.Deadly;
public override Poison HitPoison => Poison.Deadly;
public override void GenerateLoot()
{
AddLoot(LootPack.Average);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,73 @@
using Server.Items;
namespace Server.Mobiles
{
public class GiantSpider : BaseCreature
{
[Constructible]
public GiantSpider() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 28;
BaseSoundID = 0x388;
SetStr(76, 100);
SetDex(76, 95);
SetInt(36, 60);
SetHits(46, 60);
SetMana(0);
SetDamage(5, 13);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 15, 20);
SetResistance(ResistanceType.Poison, 25, 35);
SetSkill(SkillName.Poisoning, 60.1, 80.0);
SetSkill(SkillName.MagicResist, 25.1, 40.0);
SetSkill(SkillName.Tactics, 35.1, 50.0);
SetSkill(SkillName.Wrestling, 50.1, 65.0);
Fame = 600;
Karma = -600;
VirtualArmor = 16;
Tamable = true;
ControlSlots = 1;
MinTameSkill = 59.1;
PackItem(new SpidersSilk(5));
}
public GiantSpider(Serial serial) : base(serial)
{
}
public override string CorpseName => "a giant spider corpse";
public override string DefaultName => "a giant spider";
public override FoodType FavoriteFood => FoodType.Meat;
public override PackInstinct PackInstinct => PackInstinct.Arachnid;
public override Poison PoisonImmune => Poison.Regular;
public override Poison HitPoison => Poison.Regular;
public override void GenerateLoot()
{
AddLoot(LootPack.Poor);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,75 @@
using Server.Items;
namespace Server.Mobiles
{
public class TerathanDrone : BaseCreature
{
[Constructible]
public TerathanDrone() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 71;
BaseSoundID = 594;
SetStr(36, 65);
SetDex(96, 145);
SetInt(21, 45);
SetHits(22, 39);
SetMana(0);
SetDamage(6, 12);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 20, 25);
SetResistance(ResistanceType.Fire, 10, 20);
SetResistance(ResistanceType.Cold, 15, 25);
SetResistance(ResistanceType.Poison, 30, 40);
SetResistance(ResistanceType.Energy, 15, 25);
SetSkill(SkillName.Poisoning, 40.1, 60.0);
SetSkill(SkillName.MagicResist, 30.1, 45.0);
SetSkill(SkillName.Tactics, 30.1, 50.0);
SetSkill(SkillName.Wrestling, 40.1, 50.0);
Fame = 2000;
Karma = -2000;
VirtualArmor = 24;
PackItem(new SpidersSilk(2));
}
public TerathanDrone(Serial serial) : base(serial)
{
}
public override string CorpseName => "a terathan drone corpse";
public override string DefaultName => "a terathan drone";
public override int Meat => 4;
public override OppositionGroup OppositionGroup => OppositionGroup.TerathansAndOphidians;
public override void GenerateLoot()
{
AddLoot(LootPack.Meager);
// TODO: weapon?
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (BaseSoundID == 589)
BaseSoundID = 594;
}
}
}

View file

@ -0,0 +1,73 @@
using Server.Engines.Plants;
namespace Server.Mobiles
{
public class TerathanWarrior : BaseCreature
{
[Constructible]
public TerathanWarrior() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 70;
BaseSoundID = 589;
SetStr(166, 215);
SetDex(96, 145);
SetInt(41, 65);
SetHits(100, 129);
SetMana(0);
SetDamage(7, 17);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 30, 35);
SetResistance(ResistanceType.Fire, 20, 30);
SetResistance(ResistanceType.Cold, 25, 35);
SetResistance(ResistanceType.Poison, 30, 40);
SetResistance(ResistanceType.Energy, 25, 35);
SetSkill(SkillName.Poisoning, 60.1, 80.0);
SetSkill(SkillName.MagicResist, 60.1, 75.0);
SetSkill(SkillName.Tactics, 80.1, 100.0);
SetSkill(SkillName.Wrestling, 80.1, 90.0);
Fame = 4000;
Karma = -4000;
VirtualArmor = 30;
if (Core.ML && Utility.RandomDouble() < .33)
PackItem(Seed.RandomPeculiarSeed(3));
}
public TerathanWarrior(Serial serial) : base(serial)
{
}
public override string CorpseName => "a terathan warrior corpse";
public override string DefaultName => "a terathan warrior";
public override int TreasureMapLevel => 1;
public override int Meat => 4;
public override OppositionGroup OppositionGroup => OppositionGroup.TerathansAndOphidians;
public override void GenerateLoot()
{
AddLoot(LootPack.Average);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}