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,70 @@
namespace Server.Mobiles
{
public class Alligator : BaseCreature
{
[Constructible]
public Alligator() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 0xCA;
BaseSoundID = 660;
SetStr(76, 100);
SetDex(6, 25);
SetInt(11, 20);
SetHits(46, 60);
SetStam(46, 65);
SetMana(0);
SetDamage(5, 15);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 25, 35);
SetResistance(ResistanceType.Fire, 5, 10);
SetResistance(ResistanceType.Poison, 5, 10);
SetSkill(SkillName.MagicResist, 25.1, 40.0);
SetSkill(SkillName.Tactics, 40.1, 60.0);
SetSkill(SkillName.Wrestling, 40.1, 60.0);
Fame = 600;
Karma = -600;
VirtualArmor = 30;
Tamable = true;
ControlSlots = 1;
MinTameSkill = 47.1;
}
public Alligator(Serial serial) : base(serial)
{
}
public override string CorpseName => "an alligator corpse";
public override string DefaultName => "an alligator";
public override int Meat => 1;
public override int Hides => 12;
public override HideType HideType => HideType.Spined;
public override FoodType FavoriteFood => FoodType.Meat | FoodType.Fish;
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 == 0x5A)
BaseSoundID = 660;
}
}
}

View file

@ -0,0 +1,85 @@
using Server.Items;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Serpant")]
public class GiantSerpent : BaseCreature
{
[Constructible]
public GiantSerpent() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 0x15;
Hue = Utility.RandomSnakeHue();
BaseSoundID = 219;
SetStr(186, 215);
SetDex(56, 80);
SetInt(66, 85);
SetHits(112, 129);
SetMana(0);
SetDamage(7, 17);
SetDamageType(ResistanceType.Physical, 40);
SetDamageType(ResistanceType.Poison, 60);
SetResistance(ResistanceType.Physical, 30, 35);
SetResistance(ResistanceType.Fire, 5, 10);
SetResistance(ResistanceType.Cold, 10, 20);
SetResistance(ResistanceType.Poison, 70, 90);
SetResistance(ResistanceType.Energy, 10, 20);
SetSkill(SkillName.Poisoning, 70.1, 100.0);
SetSkill(SkillName.MagicResist, 25.1, 40.0);
SetSkill(SkillName.Tactics, 65.1, 70.0);
SetSkill(SkillName.Wrestling, 60.1, 80.0);
Fame = 2500;
Karma = -2500;
VirtualArmor = 32;
PackItem(new Bone());
// TODO: Body parts
}
public GiantSerpent(Serial serial) : base(serial)
{
}
public override string CorpseName => "a giant serpent corpse";
public override string DefaultName => "a giant snake";
public override Poison PoisonImmune => Poison.Greater;
public override Poison HitPoison => 0.8 >= Utility.RandomDouble() ? Poison.Greater : Poison.Deadly;
public override bool DeathAdderCharmable => true;
public override int Meat => 4;
public override int Hides => 15;
public override HideType HideType => HideType.Spined;
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();
if (BaseSoundID == -1)
BaseSoundID = 219;
}
}
}

View file

@ -0,0 +1,116 @@
using Server.Items;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Iceserpant")]
public class IceSerpent : BaseCreature
{
[Constructible]
public IceSerpent() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 89;
BaseSoundID = 219;
SetStr(216, 245);
SetDex(26, 50);
SetInt(66, 85);
SetHits(130, 147);
SetMana(0);
SetDamage(7, 17);
SetDamageType(ResistanceType.Physical, 10);
SetDamageType(ResistanceType.Cold, 90);
SetResistance(ResistanceType.Physical, 30, 35);
SetResistance(ResistanceType.Cold, 80, 90);
SetResistance(ResistanceType.Poison, 15, 25);
SetResistance(ResistanceType.Energy, 10, 20);
SetSkill(SkillName.Anatomy, 27.5, 50.0);
SetSkill(SkillName.MagicResist, 25.1, 40.0);
SetSkill(SkillName.Tactics, 75.1, 80.0);
SetSkill(SkillName.Wrestling, 60.1, 80.0);
Fame = 3500;
Karma = -3500;
VirtualArmor = 32;
PackItem(Loot.RandomArmorOrShieldOrWeapon());
switch (Utility.Random(10))
{
case 0:
PackItem(new LeftArm());
break;
case 1:
PackItem(new RightArm());
break;
case 2:
PackItem(new Torso());
break;
case 3:
PackItem(new Bone());
break;
case 4:
PackItem(new RibCage());
break;
case 5:
PackItem(new RibCage());
break;
case 6:
PackItem(new BonePile());
break;
case 7:
PackItem(new BonePile());
break;
case 8:
PackItem(new BonePile());
break;
case 9:
PackItem(new BonePile());
break;
}
if (0.025 > Utility.RandomDouble())
PackItem(new GlacialStaff());
}
public IceSerpent(Serial serial) : base(serial)
{
}
public override string CorpseName => "an ice serpent corpse";
public override string DefaultName => "a giant ice serpent";
public override bool DeathAdderCharmable => true;
public override int Meat => 4;
public override int Hides => 15;
public override HideType HideType => HideType.Spined;
public override void GenerateLoot()
{
AddLoot(LootPack.Meager);
}
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 == -1)
BaseSoundID = 219;
}
}
}

View file

@ -0,0 +1,70 @@
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Icesnake")]
public class IceSnake : BaseCreature
{
[Constructible]
public IceSnake() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 52;
Hue = 0x480;
BaseSoundID = 0xDB;
SetStr(42, 54);
SetDex(36, 45);
SetInt(26, 30);
SetMana(0);
SetDamage(4, 12);
SetDamageType(ResistanceType.Physical, 25);
SetDamageType(ResistanceType.Cold, 25);
SetDamageType(ResistanceType.Poison, 50);
SetResistance(ResistanceType.Physical, 20, 25);
SetResistance(ResistanceType.Cold, 80, 90);
SetResistance(ResistanceType.Poison, 60, 70);
SetResistance(ResistanceType.Energy, 30, 40);
SetSkill(SkillName.MagicResist, 15.1, 20.0);
SetSkill(SkillName.Tactics, 39.3, 54.0);
SetSkill(SkillName.Wrestling, 39.3, 54.0);
Fame = 900;
Karma = -900;
VirtualArmor = 30;
}
public IceSnake(Serial serial) : base(serial)
{
}
public override string CorpseName => "an ice snake corpse";
public override string DefaultName => "an ice snake";
public override bool DeathAdderCharmable => true;
public override int Meat => 1;
public override void GenerateLoot()
{
AddLoot(LootPack.Meager);
}
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,77 @@
using Server.Items;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Lavalizard")]
public class LavaLizard : BaseCreature
{
[Constructible]
public LavaLizard() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 0xCE;
Hue = Utility.RandomList(0x647, 0x650, 0x659, 0x662, 0x66B, 0x674);
BaseSoundID = 0x5A;
SetStr(126, 150);
SetDex(56, 75);
SetInt(11, 20);
SetHits(76, 90);
SetMana(0);
SetDamage(6, 24);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 35, 45);
SetResistance(ResistanceType.Fire, 30, 45);
SetResistance(ResistanceType.Poison, 25, 35);
SetResistance(ResistanceType.Energy, 25, 35);
SetSkill(SkillName.MagicResist, 55.1, 70.0);
SetSkill(SkillName.Tactics, 60.1, 80.0);
SetSkill(SkillName.Wrestling, 60.1, 80.0);
Fame = 3000;
Karma = -3000;
VirtualArmor = 40;
Tamable = true;
ControlSlots = 1;
MinTameSkill = 80.7;
PackItem(new SulfurousAsh(Utility.Random(4, 10)));
}
public LavaLizard(Serial serial) : base(serial)
{
}
public override string CorpseName => "a lava lizard corpse";
public override string DefaultName => "a lava lizard";
public override bool HasBreath => true; // fire breath enabled
public override int Hides => 12;
public override HideType HideType => HideType.Spined;
public override void GenerateLoot()
{
AddLoot(LootPack.Meager);
}
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,81 @@
using Server.Items;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Lavaserpant")]
public class LavaSerpent : BaseCreature
{
[Constructible]
public LavaSerpent() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 90;
BaseSoundID = 219;
SetStr(386, 415);
SetDex(56, 80);
SetInt(66, 85);
SetHits(232, 249);
SetMana(0);
SetDamage(10, 22);
SetDamageType(ResistanceType.Physical, 20);
SetDamageType(ResistanceType.Fire, 80);
SetResistance(ResistanceType.Physical, 35, 45);
SetResistance(ResistanceType.Fire, 70, 80);
SetResistance(ResistanceType.Poison, 30, 40);
SetResistance(ResistanceType.Energy, 10, 20);
SetSkill(SkillName.MagicResist, 25.3, 70.0);
SetSkill(SkillName.Tactics, 65.1, 70.0);
SetSkill(SkillName.Wrestling, 60.1, 80.0);
Fame = 4500;
Karma = -4500;
VirtualArmor = 40;
PackItem(new SulfurousAsh(3));
PackItem(new Bone());
// TODO: body parts, armour
}
public LavaSerpent(Serial serial) : base(serial)
{
}
public override string CorpseName => "a lava serpent corpse";
public override string DefaultName => "a lava serpent";
public override bool DeathAdderCharmable => true;
public override bool HasBreath => true; // fire breath enabled
public override int Meat => 4;
public override int Hides => 15;
public override HideType HideType => HideType.Spined;
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();
if (BaseSoundID == -1)
BaseSoundID = 219;
}
}
}

View file

@ -0,0 +1,74 @@
using Server.Items;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Lavasnake")]
public class LavaSnake : BaseCreature
{
[Constructible]
public LavaSnake() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 52;
Hue = Utility.RandomList(0x647, 0x650, 0x659, 0x662, 0x66B, 0x674);
BaseSoundID = 0xDB;
SetStr(43, 55);
SetDex(16, 25);
SetInt(6, 10);
SetHits(28, 32);
SetMana(0);
SetDamage(1, 8);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 20, 25);
SetResistance(ResistanceType.Fire, 30, 40);
SetResistance(ResistanceType.Poison, 20, 30);
SetResistance(ResistanceType.Energy, 10, 20);
SetSkill(SkillName.MagicResist, 15.1, 20.0);
SetSkill(SkillName.Tactics, 19.3, 34.0);
SetSkill(SkillName.Wrestling, 19.3, 34.0);
Fame = 600;
Karma = -600;
VirtualArmor = 24;
PackItem(new SulfurousAsh());
}
public LavaSnake(Serial serial) : base(serial)
{
}
public override string CorpseName => "a lava snake corpse";
public override string DefaultName => "a lava snake";
public override bool DeathAdderCharmable => true;
public override bool HasBreath => true; // fire breath enabled
public override int Meat => 1;
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,82 @@
using Server.Ethics;
using Server.Factions;
namespace Server.Mobiles
{
[TypeAlias("Server.Mobiles.Silverserpant")]
public class SilverSerpent : BaseCreature
{
[Constructible]
public SilverSerpent() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 92;
BaseSoundID = 219;
SetStr(161, 360);
SetDex(151, 300);
SetInt(21, 40);
SetHits(97, 216);
SetDamage(5, 21);
SetDamageType(ResistanceType.Physical, 50);
SetDamageType(ResistanceType.Poison, 50);
SetResistance(ResistanceType.Physical, 35, 45);
SetResistance(ResistanceType.Fire, 5, 10);
SetResistance(ResistanceType.Cold, 5, 10);
SetResistance(ResistanceType.Poison, 100);
SetResistance(ResistanceType.Energy, 5, 10);
SetSkill(SkillName.Poisoning, 90.1, 100.0);
SetSkill(SkillName.MagicResist, 95.1, 100.0);
SetSkill(SkillName.Tactics, 80.1, 95.0);
SetSkill(SkillName.Wrestling, 85.1, 100.0);
Fame = 7000;
Karma = -7000;
VirtualArmor = 40;
}
public SilverSerpent(Serial serial) : base(serial)
{
}
public override string CorpseName => "a silver serpent corpse";
public override Faction FactionAllegiance => TrueBritannians.Instance;
public override Ethic EthicAllegiance => Ethic.Hero;
public override string DefaultName => "a silver serpent";
public override bool DeathAdderCharmable => true;
public override int Meat => 1;
public override Poison PoisonImmune => Poison.Lethal;
public override Poison HitPoison => Poison.Lethal;
public override void GenerateLoot()
{
AddLoot(LootPack.Average);
AddLoot(LootPack.Gems, 2);
}
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 == -1)
BaseSoundID = 219;
}
}
}

View file

@ -0,0 +1,70 @@
namespace Server.Mobiles
{
public class Snake : BaseCreature
{
[Constructible]
public Snake() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Body = 52;
Hue = Utility.RandomSnakeHue();
BaseSoundID = 0xDB;
SetStr(22, 34);
SetDex(16, 25);
SetInt(6, 10);
SetHits(15, 19);
SetMana(0);
SetDamage(1, 4);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 15, 20);
SetResistance(ResistanceType.Poison, 20, 30);
SetSkill(SkillName.Poisoning, 50.1, 70.0);
SetSkill(SkillName.MagicResist, 15.1, 20.0);
SetSkill(SkillName.Tactics, 19.3, 34.0);
SetSkill(SkillName.Wrestling, 19.3, 34.0);
Fame = 300;
Karma = -300;
VirtualArmor = 16;
Tamable = true;
ControlSlots = 1;
MinTameSkill = 59.1;
}
public Snake(Serial serial) : base(serial)
{
}
public override string CorpseName => "a snake corpse";
public override string DefaultName => "a snake";
public override Poison PoisonImmune => Poison.Lesser;
public override Poison HitPoison => Poison.Lesser;
public override bool DeathAdderCharmable => true;
public override int Meat => 1;
public override FoodType FavoriteFood => FoodType.Eggs;
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();
}
}
}