Reorganizes Project (#41)
This commit is contained in:
parent
08bf44af9a
commit
3614a66aee
3499 changed files with 79 additions and 55 deletions
|
|
@ -0,0 +1,78 @@
|
|||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Abscess : Hydra
|
||||
{
|
||||
[Constructible]
|
||||
public Abscess()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Hue = 0x8FD;
|
||||
|
||||
SetStr(845, 871);
|
||||
SetDex(121, 134);
|
||||
SetInt(124, 142);
|
||||
|
||||
SetHits(7470, 7540);
|
||||
|
||||
SetDamage(26, 31);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 60);
|
||||
SetDamageType(ResistanceType.Fire, 10);
|
||||
SetDamageType(ResistanceType.Cold, 10);
|
||||
SetDamageType(ResistanceType.Poison, 10);
|
||||
SetDamageType(ResistanceType.Energy, 10);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 65, 75);
|
||||
SetResistance(ResistanceType.Fire, 70, 80);
|
||||
SetResistance(ResistanceType.Cold, 25, 35);
|
||||
SetResistance(ResistanceType.Poison, 35, 45);
|
||||
SetResistance(ResistanceType.Energy, 35, 45);
|
||||
|
||||
SetSkill(SkillName.Wrestling, 132.3, 143.8);
|
||||
SetSkill(SkillName.Tactics, 121.0, 130.5);
|
||||
SetSkill(SkillName.MagicResist, 102.9, 119.0);
|
||||
SetSkill(SkillName.Anatomy, 91.8, 94.3);
|
||||
|
||||
// TODO: Fame/Karma
|
||||
}
|
||||
|
||||
public Abscess(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "an Abscess corpse";
|
||||
public override string DefaultName => "Abscess";
|
||||
|
||||
public override bool GivesMLMinorArtifact => true;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.UltraRich, 4);
|
||||
}
|
||||
|
||||
public override void OnDeath(Container c)
|
||||
{
|
||||
base.OnDeath(c);
|
||||
|
||||
c.DropItem(new AbscessTail());
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
105
Projects/Scripts/Mobiles/Monsters/ML/Blighted Grove/Coil.cs
Normal file
105
Projects/Scripts/Mobiles/Monsters/ML/Blighted Grove/Coil.cs
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Coil : SilverSerpent
|
||||
{
|
||||
[Constructible]
|
||||
public Coil()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Hue = 0x3F;
|
||||
|
||||
SetStr(205, 343);
|
||||
SetDex(202, 283);
|
||||
SetInt(88, 142);
|
||||
|
||||
SetHits(628, 1291);
|
||||
|
||||
SetDamage(19, 28);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 50);
|
||||
SetDamageType(ResistanceType.Poison, 50);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 56, 62);
|
||||
SetResistance(ResistanceType.Fire, 25, 30);
|
||||
SetResistance(ResistanceType.Cold, 25, 30);
|
||||
SetResistance(ResistanceType.Poison, 100);
|
||||
SetResistance(ResistanceType.Energy, 25, 30);
|
||||
|
||||
SetSkill(SkillName.Wrestling, 124.5, 141.3);
|
||||
SetSkill(SkillName.Tactics, 130.2, 142.0);
|
||||
SetSkill(SkillName.MagicResist, 102.3, 113.0);
|
||||
SetSkill(SkillName.Anatomy, 120.8, 138.1);
|
||||
SetSkill(SkillName.Poisoning, 110.1, 133.4);
|
||||
|
||||
// TODO: Fame/Karma
|
||||
|
||||
PackGem(2);
|
||||
PackItem(new Bone());
|
||||
}
|
||||
|
||||
public Coil(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "a Coil corpse";
|
||||
// TODO: Check faction allegiance
|
||||
|
||||
public override string DefaultName => "Coil";
|
||||
|
||||
public override Poison HitPoison => Poison.Lethal;
|
||||
public override Poison PoisonImmune => Poison.Lethal;
|
||||
public override bool GivesMLMinorArtifact => true;
|
||||
public override int Hides => 48;
|
||||
public override int Meat => 1;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.UltraRich, 3);
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.MortalStrike;
|
||||
}
|
||||
|
||||
public override void OnDeath(Container c)
|
||||
{
|
||||
base.OnDeath(c);
|
||||
|
||||
c.DropItem(new CoilsFang());
|
||||
|
||||
/*
|
||||
// TODO: uncomment once added
|
||||
if ( Utility.RandomDouble() < 0.025 )
|
||||
{
|
||||
switch ( Utility.Random( 5 ) )
|
||||
{
|
||||
case 0: c.DropItem( new AssassinChest() ); break;
|
||||
case 1: c.DropItem( new DeathGloves() ); break;
|
||||
case 2: c.DropItem( new LeafweaveLegs() ); break;
|
||||
case 3: c.DropItem( new HunterLegs() ); break;
|
||||
case 4: c.DropItem( new MyrmidonLegs() ); break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
namespace Server.Mobiles
|
||||
{
|
||||
public class EnslavedSatyr : Satyr
|
||||
{
|
||||
[Constructible]
|
||||
public EnslavedSatyr()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
// TODO: uncomment once added
|
||||
public override void OnDeath( Container c )
|
||||
{
|
||||
base.OnDeath( c );
|
||||
|
||||
if ( Utility.RandomDouble() < 0.1 )
|
||||
c.DropItem( new ParrotItem() );
|
||||
}
|
||||
*/
|
||||
|
||||
public EnslavedSatyr(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "an enslaved satyr corpse";
|
||||
public override string DefaultName => "an enslaved satyr";
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
90
Projects/Scripts/Mobiles/Monsters/ML/Blighted Grove/Hydra.cs
Normal file
90
Projects/Scripts/Mobiles/Monsters/ML/Blighted Grove/Hydra.cs
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Hydra : BaseCreature
|
||||
{
|
||||
[Constructible]
|
||||
public Hydra()
|
||||
: base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
|
||||
{
|
||||
Body = 0x109;
|
||||
BaseSoundID = 0x16A;
|
||||
|
||||
SetStr(801, 828);
|
||||
SetDex(102, 118);
|
||||
SetInt(102, 120);
|
||||
|
||||
SetHits(1480, 1500);
|
||||
|
||||
SetDamage(21, 26);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 60);
|
||||
SetDamageType(ResistanceType.Fire, 10);
|
||||
SetDamageType(ResistanceType.Cold, 10);
|
||||
SetDamageType(ResistanceType.Poison, 10);
|
||||
SetDamageType(ResistanceType.Energy, 10);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 65, 75);
|
||||
SetResistance(ResistanceType.Fire, 70, 85);
|
||||
SetResistance(ResistanceType.Cold, 25, 35);
|
||||
SetResistance(ResistanceType.Poison, 35, 43);
|
||||
SetResistance(ResistanceType.Energy, 36, 45);
|
||||
|
||||
SetSkill(SkillName.Wrestling, 103.5, 117.4);
|
||||
SetSkill(SkillName.Tactics, 100.1, 109.8);
|
||||
SetSkill(SkillName.MagicResist, 85.5, 98.5);
|
||||
SetSkill(SkillName.Anatomy, 75.4, 79.8);
|
||||
|
||||
// TODO: Fame/Karma
|
||||
}
|
||||
|
||||
public Hydra(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "a hydra corpse";
|
||||
public override string DefaultName => "a hydra";
|
||||
|
||||
public override bool HasBreath => true;
|
||||
public override int Hides => 40;
|
||||
public override int Meat => 19;
|
||||
public override int TreasureMapLevel => 5;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.UltraRich, 3);
|
||||
}
|
||||
|
||||
public override void OnDeath(Container c)
|
||||
{
|
||||
base.OnDeath(c);
|
||||
|
||||
c.DropItem(new HydraScale());
|
||||
|
||||
/*
|
||||
// TODO: uncomment once added
|
||||
if ( Utility.RandomDouble() < 0.2 )
|
||||
c.DropItem( new ParrotItem() );
|
||||
|
||||
if ( Utility.RandomDouble() < 0.05 )
|
||||
c.DropItem( new ThorvaldsMedallion() );
|
||||
*/
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
namespace Server.Mobiles
|
||||
{
|
||||
public class InsaneDryad : MLDryad
|
||||
{
|
||||
[Constructible]
|
||||
public InsaneDryad()
|
||||
{
|
||||
// TODO: Perhaps these should have negative karma?
|
||||
}
|
||||
|
||||
/*
|
||||
// TODO: uncomment once added
|
||||
public override void OnDeath( Container c )
|
||||
{
|
||||
base.OnDeath( c );
|
||||
|
||||
if ( Utility.RandomDouble() < 0.1 )
|
||||
c.DropItem( new ParrotItem() );
|
||||
}
|
||||
*/
|
||||
|
||||
public InsaneDryad(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "an insane dryad corpse";
|
||||
public override bool InitialInnocent => false;
|
||||
|
||||
public override string DefaultName => "an insane dryad";
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Saliva : Harpy
|
||||
{
|
||||
[Constructible]
|
||||
public Saliva()
|
||||
{
|
||||
// TODO: Not a paragon? No ML arties?
|
||||
// It moves like a paragon on OSI...
|
||||
|
||||
Hue = 0x11E;
|
||||
|
||||
SetStr(110, 206);
|
||||
SetDex(123, 222);
|
||||
SetInt(80, 127);
|
||||
|
||||
SetHits(409, 842);
|
||||
|
||||
SetDamage(20, 22);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 100);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 46, 48);
|
||||
SetResistance(ResistanceType.Fire, 32, 40);
|
||||
SetResistance(ResistanceType.Cold, 34, 49);
|
||||
SetResistance(ResistanceType.Poison, 40, 48);
|
||||
SetResistance(ResistanceType.Energy, 35, 39);
|
||||
|
||||
SetSkill(SkillName.Wrestling, 106.4, 128.8);
|
||||
SetSkill(SkillName.Tactics, 129.9, 141.0);
|
||||
SetSkill(SkillName.MagicResist, 84.3, 105.0);
|
||||
|
||||
// TODO: Fame/Karma?
|
||||
}
|
||||
|
||||
public Saliva(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "a Saliva corpse";
|
||||
public override string DefaultName => "Saliva";
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.UltraRich, 2);
|
||||
}
|
||||
|
||||
public override void OnDeath(Container c)
|
||||
{
|
||||
base.OnDeath(c);
|
||||
|
||||
c.DropItem(new SalivasFeather());
|
||||
|
||||
// TODO: uncomment once added
|
||||
//if ( Utility.RandomDouble() < 0.1 )
|
||||
// c.DropItem( new ParrotItem() );
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Tangle : BogThing
|
||||
{
|
||||
[Constructible]
|
||||
public Tangle()
|
||||
{
|
||||
// TODO: Not a paragon? No ML arties?
|
||||
// It moves like a paragon on OSI...
|
||||
|
||||
Hue = 0x21;
|
||||
|
||||
SetStr(870, 940);
|
||||
SetDex(58, 74);
|
||||
SetInt(46, 58);
|
||||
|
||||
SetHits(2468, 2733);
|
||||
SetMana(8, 12);
|
||||
|
||||
SetDamage(15, 28);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 60);
|
||||
SetDamageType(ResistanceType.Poison, 40);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 50, 57);
|
||||
SetResistance(ResistanceType.Fire, 40, 43);
|
||||
SetResistance(ResistanceType.Cold, 30, 35);
|
||||
SetResistance(ResistanceType.Poison, 61, 69);
|
||||
SetResistance(ResistanceType.Energy, 41, 45);
|
||||
|
||||
SetSkill(SkillName.Wrestling, 77.8, 94.6);
|
||||
SetSkill(SkillName.Tactics, 90.6, 100.4);
|
||||
SetSkill(SkillName.MagicResist, 108.4, 114.0);
|
||||
|
||||
// TODO: Fame/Karma?
|
||||
}
|
||||
|
||||
public Tangle(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "a Tangle corpse";
|
||||
public override string DefaultName => "Tangle";
|
||||
|
||||
public override Poison PoisonImmune => Poison.Lethal;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.UltraRich, 3);
|
||||
}
|
||||
|
||||
public override void OnDeath(Container c)
|
||||
{
|
||||
base.OnDeath(c);
|
||||
|
||||
if (Utility.RandomDouble() < 0.3)
|
||||
c.DropItem(new TaintedSeeds());
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Thrasher : Alligator
|
||||
{
|
||||
[Constructible]
|
||||
public Thrasher()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Hue = 0x497;
|
||||
|
||||
SetStr(93, 327);
|
||||
SetDex(7, 201);
|
||||
SetInt(15, 67);
|
||||
|
||||
SetHits(260, 984);
|
||||
SetStam(56, 75);
|
||||
SetMana(25, 30);
|
||||
|
||||
SetDamage(20, 30);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 100);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 50, 55);
|
||||
SetResistance(ResistanceType.Fire, 25, 29);
|
||||
SetResistance(ResistanceType.Poison, 25, 28);
|
||||
|
||||
SetSkill(SkillName.Wrestling, 101.2, 118.3);
|
||||
SetSkill(SkillName.Tactics, 96.3, 117.3);
|
||||
SetSkill(SkillName.MagicResist, 102.4, 118.6);
|
||||
|
||||
// TODO: Fame/Karma
|
||||
}
|
||||
|
||||
public Thrasher(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "a Thrasher corpse";
|
||||
public override string DefaultName => "Thrasher";
|
||||
|
||||
public override bool GivesMLMinorArtifact => true;
|
||||
public override int Hides => 48;
|
||||
public override int Meat => 1;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.FilthyRich, 4);
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.ArmorIgnore;
|
||||
}
|
||||
|
||||
public override void OnDeath(Container c)
|
||||
{
|
||||
base.OnDeath(c);
|
||||
|
||||
c.DropItem(new ThrashersTail());
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue