Add DefaultName property to Mobiles & Items (#18)
This commit is contained in:
parent
b06f5bf60d
commit
8ee42c8ea2
713 changed files with 5112 additions and 4987 deletions
|
|
@ -7,11 +7,11 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a bake kitsune corpse" )]
|
||||
public class BakeKitsune : BaseCreature
|
||||
{
|
||||
public override string DefaultName{ get { return "a bake kitsune"; } }
|
||||
|
||||
[Constructible]
|
||||
public BakeKitsune() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a bake kitsune";
|
||||
Body = 246;
|
||||
|
||||
SetStr( 171, 220 );
|
||||
|
|
@ -60,9 +60,9 @@ namespace Server.Mobiles
|
|||
public override int Hides{ get{ return 10; } }
|
||||
public override HideType HideType{ get{ return HideType.Barbed; } }
|
||||
public override FoodType FavoriteFood{ get{ return FoodType.Fish; } }
|
||||
public override bool ShowFameTitle{ get{ return false; } }
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
public override bool PropertyTitle{ get{ return false; } }
|
||||
public override bool ShowFameTitle => false;
|
||||
public override bool ClickTitle => false;
|
||||
public override bool PropertyTitle => false;
|
||||
|
||||
public override void OnCombatantChange()
|
||||
{
|
||||
|
|
@ -126,8 +126,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( !IsBodyMod )
|
||||
return;
|
||||
|
||||
Name = "a bake kitsune";
|
||||
|
||||
Name = null;
|
||||
Title = null;
|
||||
BodyMod = 0;
|
||||
Hue = 0;
|
||||
|
|
@ -164,7 +164,7 @@ namespace Server.Mobiles
|
|||
* Damage: 2 hps per second for 5 seconds
|
||||
* End cliloc: 1070824
|
||||
*/
|
||||
|
||||
|
||||
ExpireTimer timer = (ExpireTimer)m_Table[defender];
|
||||
|
||||
if ( timer != null )
|
||||
|
|
@ -182,7 +182,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
|
||||
private static Hashtable m_Table = new Hashtable();
|
||||
|
||||
|
||||
private class ExpireTimer : Timer
|
||||
{
|
||||
private Mobile m_Mobile;
|
||||
|
|
@ -221,7 +221,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override int GetAngerSound()
|
||||
{
|
||||
return 0x4DE;
|
||||
|
|
|
|||
|
|
@ -9,14 +9,13 @@ namespace Server.Mobiles
|
|||
[TypeAlias( "Server.Mobiles.DeathWatchBeetle" )]
|
||||
public class DeathwatchBeetle : BaseCreature
|
||||
{
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.CrushingBlow;
|
||||
}
|
||||
public override WeaponAbility GetWeaponAbility() => WeaponAbility.CrushingBlow;
|
||||
|
||||
public override string DefaultName { get { return "a deathwatch beetle"; } }
|
||||
|
||||
[Constructible]
|
||||
public DeathwatchBeetle() : base( AIType.AI_Melee, Core.ML ? FightMode.Aggressor : FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a deathwatch beetle";
|
||||
Body = 242;
|
||||
|
||||
SetStr( 136, 160 );
|
||||
|
|
|
|||
|
|
@ -8,10 +8,11 @@ namespace Server.Mobiles
|
|||
[TypeAlias( "Server.Mobiles.DeathWatchBeetleHatchling" )]
|
||||
public class DeathwatchBeetleHatchling : BaseCreature
|
||||
{
|
||||
public override string DefaultName { get { return "a deathwatch beetle hatchling"; } }
|
||||
|
||||
[Constructible]
|
||||
public DeathwatchBeetleHatchling() : base( AIType.AI_Melee, Core.ML ? FightMode.Aggressor : FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a deathwatch beetle hatchling";
|
||||
Body = 242;
|
||||
|
||||
SetStr( 26, 50 );
|
||||
|
|
|
|||
|
|
@ -9,16 +9,17 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class EliteNinja : BaseCreature
|
||||
{
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
public override bool ClickTitle => false;
|
||||
public override string DefaultName => "an elite ninja";
|
||||
|
||||
[Constructible]
|
||||
public EliteNinja() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
SpeechHue = Utility.RandomDyedHue();
|
||||
Hue = Utility.RandomSkinHue();
|
||||
Name = "an elite ninja";
|
||||
Female = Utility.RandomBool();
|
||||
|
||||
Body = ( this.Female = Utility.RandomBool() ) ? 0x191 : 0x190;
|
||||
Body = Female ? 0x191 : 0x190;
|
||||
|
||||
SetHits( 251, 350 );
|
||||
|
||||
|
|
@ -52,21 +53,21 @@ namespace Server.Mobiles
|
|||
Fame = 8500;
|
||||
Karma = -8500;
|
||||
|
||||
/* TODO:
|
||||
/* TODO:
|
||||
Uses Smokebombs
|
||||
Hides
|
||||
Stealths
|
||||
Can use Ninjitsu Abilities
|
||||
Can change weapons during a fight
|
||||
*/
|
||||
|
||||
|
||||
|
||||
AddItem( new NinjaTabi() );
|
||||
AddItem( new LeatherNinjaJacket());
|
||||
AddItem( new LeatherNinjaHood());
|
||||
AddItem( new LeatherNinjaPants());
|
||||
AddItem( new LeatherNinjaMitts());
|
||||
|
||||
|
||||
if( Utility.RandomDouble() < 0.33 )
|
||||
AddItem( new SmokeBomb() );
|
||||
|
||||
|
|
@ -91,7 +92,7 @@ namespace Server.Mobiles
|
|||
c.DropItem( new BookOfNinjitsu() );
|
||||
}
|
||||
|
||||
public override bool BardImmune{ get{ return true; } }
|
||||
public override bool BardImmune => true;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
|
|
@ -99,8 +100,8 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Rich );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
|
||||
public override bool AlwaysMurderer => true;
|
||||
|
||||
public EliteNinja( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
@ -120,4 +121,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a fan dancer corpse" )]
|
||||
public class FanDancer : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a fan dancer";
|
||||
[Constructible]
|
||||
public FanDancer() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a fan dancer";
|
||||
Body = 247;
|
||||
BaseSoundID = 0x372;
|
||||
|
||||
|
|
@ -42,25 +42,25 @@ namespace Server.Mobiles
|
|||
|
||||
Fame = 9000;
|
||||
Karma = -9000;
|
||||
|
||||
|
||||
if ( Utility.RandomDouble() < .33 )
|
||||
PackItem( Engines.Plants.Seed.RandomBonsaiSeed() );
|
||||
|
||||
|
||||
AddItem( new Tessen() );
|
||||
|
||||
|
||||
if ( 0.02 >= Utility.RandomDouble() )
|
||||
PackItem( new OrigamiPaper() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.FilthyRich );
|
||||
AddLoot( LootPack.Rich );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool Uncalmable{ get{ return true; } }
|
||||
|
||||
public override bool Uncalmable => true;
|
||||
|
||||
/* TODO: Repel Magic
|
||||
* 10% chance of repelling a melee attack (why did they call it repel magic anyway?)
|
||||
|
|
@ -127,7 +127,7 @@ namespace Server.Mobiles
|
|||
//AOS.Damage( defender, this, Utility.RandomMinMax( 35, 45 ), 0, 100, 0, 0, 0 );
|
||||
|
||||
defender.AddResistanceMod( mod );
|
||||
|
||||
|
||||
ExpireTimer timer = new ExpireTimer( defender, mod, TimeSpan.FromSeconds( 10.0 ) );
|
||||
timer.Start();
|
||||
m_Table[defender] = timer;
|
||||
|
|
@ -180,4 +180,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,10 +8,10 @@ namespace Server.Mobiles
|
|||
[Server.Engines.Craft.Forge]
|
||||
public class FireBeetle : BaseMount
|
||||
{
|
||||
public override bool SubdueBeforeTame{ get{ return true; } } // Must be beaten into submission
|
||||
public override bool StatLossAfterTame{ get{ return true; } }
|
||||
public override bool SubdueBeforeTame => true; // Must be beaten into submission
|
||||
public override bool StatLossAfterTame => true;
|
||||
public virtual double BoostedSpeed{ get{ return 0.1; } }
|
||||
public override bool ReduceSpeedWithDamage{ get{ return false; } }
|
||||
public override bool ReduceSpeedWithDamage => false;
|
||||
|
||||
[Constructible]
|
||||
public FireBeetle() : base( "a fire beetle", 0xA9, 0x3E95, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
|
|
@ -122,4 +122,4 @@ namespace Server.Mobiles
|
|||
Hue = 0x489;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a kappa corpse" )]
|
||||
public class Kappa : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a kappa";
|
||||
|
||||
[Constructible]
|
||||
public Kappa() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a kappa";
|
||||
Body = 240;
|
||||
|
||||
SetStr( 186, 230 );
|
||||
|
|
@ -60,7 +60,7 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Meager );
|
||||
AddLoot( LootPack.Average );
|
||||
}
|
||||
|
||||
|
||||
public override int GetAngerSound()
|
||||
{
|
||||
return 0x50B;
|
||||
|
|
@ -151,13 +151,13 @@ namespace Server.Mobiles
|
|||
if ( from != null && from.Map != null )
|
||||
{
|
||||
int amt=0;
|
||||
Mobile target = this;
|
||||
Mobile target = this;
|
||||
int rand = Utility.Random( 1, 100 );
|
||||
if ( willKill )
|
||||
{
|
||||
amt = ((( rand % 5 ) >> 2 ) + 3);
|
||||
}
|
||||
if ( ( Hits < 100 ) && ( rand < 21 ) )
|
||||
}
|
||||
if ( ( Hits < 100 ) && ( rand < 21 ) )
|
||||
{
|
||||
target = ( rand % 2 ) < 1 ? this : from;
|
||||
amt++;
|
||||
|
|
@ -165,7 +165,7 @@ namespace Server.Mobiles
|
|||
if ( amt > 0 )
|
||||
{
|
||||
SpillAcid( target, amt );
|
||||
from.SendLocalizedMessage( 1070820 );
|
||||
from.SendLocalizedMessage( 1070820 );
|
||||
if ( Mana > 14)
|
||||
Mana -= 15;
|
||||
amt ^= amt;
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a kaze kemono corpse" )]
|
||||
public class KazeKemono : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a kaze kemono";
|
||||
|
||||
[Constructible]
|
||||
public KazeKemono()
|
||||
: base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a kaze kemono";
|
||||
Body = 196;
|
||||
BaseSoundID = 655;
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Rich, 3 );
|
||||
}
|
||||
|
||||
public override bool BleedImmune { get { return true; } }
|
||||
public override bool BleedImmune => true;
|
||||
|
||||
public override void OnGaveMeleeAttack( Mobile defender )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,11 +8,12 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a lady of the snow corpse" )]
|
||||
public class LadyOfTheSnow : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a lady of the snow";
|
||||
|
||||
[Constructible]
|
||||
public LadyOfTheSnow()
|
||||
: base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a lady of the snow";
|
||||
Body = 252;
|
||||
BaseSoundID = 0x482;
|
||||
|
||||
|
|
@ -62,8 +63,8 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Rich );
|
||||
}
|
||||
|
||||
public override bool BleedImmune { get { return true; } }
|
||||
public override bool CanRummageCorpses { get { return true; } }
|
||||
public override bool BleedImmune => true;
|
||||
public override bool CanRummageCorpses => true;
|
||||
public override int TreasureMapLevel { get { return 4; } }
|
||||
|
||||
// TODO: Snowball
|
||||
|
|
@ -159,4 +160,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,10 +8,11 @@ namespace Server.Mobiles
|
|||
[CorpseName( "an oni corpse" )]
|
||||
public class Oni : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "an oni";
|
||||
|
||||
[Constructible]
|
||||
public Oni() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "an oni";
|
||||
Body = 241;
|
||||
|
||||
SetStr( 801, 910 );
|
||||
|
|
@ -78,7 +79,7 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.FilthyRich, 3 );
|
||||
}
|
||||
|
||||
public override bool CanRummageCorpses{ get{ return true; } }
|
||||
public override bool CanRummageCorpses => true;
|
||||
public override int TreasureMapLevel{ get{ return 4; } }
|
||||
|
||||
/* TODO: Angry Fire
|
||||
|
|
|
|||
|
|
@ -8,10 +8,11 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a rai-ju corpse" )]
|
||||
public class RaiJu : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a Rai-Ju";
|
||||
|
||||
[Constructible]
|
||||
public RaiJu() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a Rai-Ju";
|
||||
Body = 199;
|
||||
BaseSoundID = 0x346;
|
||||
|
||||
|
|
@ -39,7 +40,7 @@ namespace Server.Mobiles
|
|||
SetSkill( SkillName.Tactics, 55.1, 65.0 );
|
||||
SetSkill( SkillName.MagicResist, 110.1, 125.0 );
|
||||
SetSkill( SkillName.Anatomy, 25.1, 35.0 );
|
||||
|
||||
|
||||
Fame = 8000;
|
||||
Karma = -8000;
|
||||
|
||||
|
|
@ -50,7 +51,7 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Rich, 2 );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override bool BleedImmune => true;
|
||||
|
||||
public override void OnGaveMeleeAttack( Mobile defender )
|
||||
{
|
||||
|
|
@ -68,11 +69,11 @@ namespace Server.Mobiles
|
|||
|
||||
defender.FixedEffect( 0x37B9, 10, 5 );
|
||||
defender.SendLocalizedMessage( 1070839 ); // The creature attacks with stunning force!
|
||||
|
||||
|
||||
// This should be done in place of the normal attack damage.
|
||||
//AOS.Damage( defender, this, Utility.RandomMinMax( 35, 65 ), 0, 0, 0, 0, 100 );
|
||||
|
||||
defender.Frozen = true;
|
||||
defender.Frozen = true;
|
||||
|
||||
ExpireTimer timer = new ExpireTimer( defender, TimeSpan.FromSeconds( 4.0 ) );
|
||||
timer.Start();
|
||||
|
|
@ -129,4 +130,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,15 +8,12 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a revenant lion corpse" )]
|
||||
public class RevenantLion : BaseCreature
|
||||
{
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.BleedAttack;
|
||||
}
|
||||
public override WeaponAbility GetWeaponAbility() => WeaponAbility.BleedAttack;
|
||||
public override string DefaultName => "a Revenant Lion";
|
||||
|
||||
[Constructible]
|
||||
public RevenantLion() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a Revenant Lion";
|
||||
Body = 251;
|
||||
|
||||
SetStr( 276, 325 );
|
||||
|
|
@ -48,7 +45,7 @@ namespace Server.Mobiles
|
|||
Fame = 4000;
|
||||
Karma = -4000;
|
||||
PackNecroReg( 6, 8 );
|
||||
|
||||
|
||||
switch ( Utility.Random( 10 ))
|
||||
{
|
||||
case 0: PackItem( new LeftArm() ); break;
|
||||
|
|
@ -97,9 +94,9 @@ namespace Server.Mobiles
|
|||
// TODO: Bone Pile
|
||||
}
|
||||
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override Poison PoisonImmune{ get{ return Poison.Greater; } }
|
||||
public override Poison HitPoison{ get{ return Poison.Greater; } }
|
||||
public override bool BleedImmune => true;
|
||||
public override Poison PoisonImmune => Poison.Greater;
|
||||
public override Poison HitPoison => Poison.Greater;
|
||||
|
||||
public RevenantLion( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,17 +7,16 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a ronin corpse" )]
|
||||
public class Ronin : BaseCreature
|
||||
{
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
public override bool ClickTitle => false;
|
||||
public override string DefaultName => "a ronin";
|
||||
|
||||
[Constructible]
|
||||
public Ronin() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
SpeechHue = Utility.RandomDyedHue();
|
||||
Hue = Utility.RandomSkinHue();
|
||||
Name = "a ronin";
|
||||
Body = (( this.Female = Utility.RandomBool() ) ? Body = 0x191 : Body = 0x190);
|
||||
|
||||
Hue = Utility.RandomSkinHue();
|
||||
Female = Utility.RandomBool();
|
||||
Body = Female ? 0x191 : 0x190;
|
||||
|
||||
SetStr( 326, 375 );
|
||||
SetDex( 31, 45 );
|
||||
|
|
@ -67,9 +66,9 @@ namespace Server.Mobiles
|
|||
case 1: AddItem( new LeatherSuneate() ); break;
|
||||
case 2: AddItem( new PlateSuneate() ); break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if( Utility.RandomDouble() > .2 )
|
||||
AddItem( new NoDachi() );
|
||||
else
|
||||
|
|
@ -80,7 +79,7 @@ namespace Server.Mobiles
|
|||
|
||||
Utility.AssignRandomHair( this );
|
||||
}
|
||||
|
||||
|
||||
public override void OnDeath( Container c )
|
||||
{
|
||||
base.OnDeath( c );
|
||||
|
|
@ -96,9 +95,9 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
public override bool BardImmune{ get{ return true; } }
|
||||
public override bool CanRummageCorpses{ get{ return true; } }
|
||||
public override bool AlwaysMurderer => true;
|
||||
public override bool BardImmune => true;
|
||||
public override bool CanRummageCorpses => true;
|
||||
|
||||
public Ronin( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,15 +9,12 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a rune beetle corpse" )]
|
||||
public class RuneBeetle : BaseCreature
|
||||
{
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.BleedAttack;
|
||||
}
|
||||
public override WeaponAbility GetWeaponAbility() => WeaponAbility.BleedAttack;
|
||||
public override string DefaultName => "a rune beetle";
|
||||
|
||||
[Constructible]
|
||||
public RuneBeetle() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a rune beetle";
|
||||
Body = 244;
|
||||
|
||||
SetStr( 401, 460 );
|
||||
|
|
@ -47,11 +44,11 @@ namespace Server.Mobiles
|
|||
|
||||
Fame = 15000;
|
||||
Karma = -15000;
|
||||
|
||||
|
||||
|
||||
|
||||
if ( Utility.RandomDouble() < .25 )
|
||||
PackItem( Engines.Plants.Seed.RandomBonsaiSeed() );
|
||||
|
||||
|
||||
switch ( Utility.Random( 10 ))
|
||||
{
|
||||
case 0: PackItem( new LeftArm() ); break;
|
||||
|
|
@ -65,10 +62,10 @@ namespace Server.Mobiles
|
|||
case 8: PackItem( new BonePile() ); break;
|
||||
case 9: PackItem( new BonePile() ); break;
|
||||
}
|
||||
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 3;
|
||||
MinTameSkill = 93.9;
|
||||
MinTameSkill = 93.9;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -96,17 +93,17 @@ namespace Server.Mobiles
|
|||
{
|
||||
return 0x4E5;
|
||||
}
|
||||
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.FilthyRich, 2 );
|
||||
AddLoot( LootPack.MedScrolls, 1 );
|
||||
}
|
||||
|
||||
public override Poison PoisonImmune{ get{ return Poison.Greater; } }
|
||||
public override Poison HitPoison{ get{ return Poison.Greater; } }
|
||||
public override Poison PoisonImmune => Poison.Greater;
|
||||
public override Poison HitPoison => Poison.Greater;
|
||||
public override FoodType FavoriteFood{ get{ return FoodType.FruitsAndVegies | FoodType.GrainsAndHay; } }
|
||||
public override bool CanAngerOnTame { get { return true; } }
|
||||
public override bool CanAngerOnTame => true;
|
||||
|
||||
public override void OnGaveMeleeAttack( Mobile defender )
|
||||
{
|
||||
|
|
@ -237,4 +234,4 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,17 +8,14 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a tsuki wolf corpse" )]
|
||||
public class TsukiWolf : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a tsuki wolf";
|
||||
|
||||
[Constructible]
|
||||
public TsukiWolf()
|
||||
: base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a tsuki wolf";
|
||||
Body = 250;
|
||||
|
||||
switch( Utility.Random( 3 ) )
|
||||
{
|
||||
case 0: Hue = Utility.RandomNeutralHue(); break; //No, this really isn't accurate ;->
|
||||
}
|
||||
Hue = Utility.Random(3) == 0 ? Utility.RandomNeutralHue() : 0;
|
||||
|
||||
SetStr( 401, 450 );
|
||||
SetDex( 151, 200 );
|
||||
|
|
@ -190,4 +187,4 @@ namespace Server.Mobiles
|
|||
return 0x52A;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,15 +8,12 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a yamandon corpse" )]
|
||||
public class Yamandon : BaseCreature
|
||||
{
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.DoubleStrike;
|
||||
}
|
||||
public override WeaponAbility GetWeaponAbility() => WeaponAbility.DoubleStrike;
|
||||
public override string DefaultName => "a yamandon";
|
||||
|
||||
[Constructible]
|
||||
public Yamandon() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a yamandon";
|
||||
Body = 249;
|
||||
|
||||
SetStr( 786, 930 );
|
||||
|
|
@ -59,9 +56,9 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Gems, 6 );
|
||||
}
|
||||
|
||||
public override bool ReacquireOnMovement{ get{ return true; } }
|
||||
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
|
||||
public override Poison HitPoison{ get{ return Utility.RandomBool() ? Poison.Deadly : Poison.Lethal; } }
|
||||
public override bool ReacquireOnMovement => true;
|
||||
public override Poison PoisonImmune => Poison.Lethal;
|
||||
public override Poison HitPoison => Utility.RandomBool() ? Poison.Deadly : Poison.Lethal;
|
||||
public override int TreasureMapLevel{ get{ return 5; } }
|
||||
public override int Hides{ get{ return 20; } }
|
||||
|
||||
|
|
@ -101,7 +98,7 @@ namespace Server.Mobiles
|
|||
if ( attacker is BaseCreature )
|
||||
{
|
||||
Mobile m = ((BaseCreature)attacker).GetMaster();
|
||||
|
||||
|
||||
if( m != null )
|
||||
target = m;
|
||||
}
|
||||
|
|
@ -137,7 +134,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override int GetAttackSound()
|
||||
{
|
||||
return 1260;
|
||||
|
|
|
|||
|
|
@ -9,15 +9,12 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a wrinkly yomotsu corpse" )]
|
||||
public class YomotsuElder : BaseCreature
|
||||
{
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.DoubleStrike;
|
||||
}
|
||||
public override WeaponAbility GetWeaponAbility() => WeaponAbility.DoubleStrike;
|
||||
public override string DefaultName => "a yomotsu elder";
|
||||
|
||||
[Constructible]
|
||||
public YomotsuElder() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a yomotsu elder";
|
||||
Body = 255;
|
||||
BaseSoundID = 0x452;
|
||||
|
||||
|
|
@ -79,7 +76,7 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool CanRummageCorpses{ get{ return true; } }
|
||||
public override bool CanRummageCorpses => true;
|
||||
public override int TreasureMapLevel{ get{ return 5; } }
|
||||
|
||||
// TODO: Axe Throw
|
||||
|
|
@ -102,7 +99,7 @@ namespace Server.Mobiles
|
|||
defender.Paralyze( TimeSpan.FromSeconds( 4.0 ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public YomotsuElder( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
|
@ -118,7 +115,7 @@ namespace Server.Mobiles
|
|||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
public override int GetIdleSound()
|
||||
{
|
||||
return 0x42A;
|
||||
|
|
|
|||
|
|
@ -8,15 +8,12 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a glowing yomotsu corpse" )]
|
||||
public class YomotsuPriest : BaseCreature
|
||||
{
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.DoubleStrike;
|
||||
}
|
||||
public override WeaponAbility GetWeaponAbility() => WeaponAbility.DoubleStrike;
|
||||
public override string DefaultName => "a yomotsu priest";
|
||||
|
||||
[Constructible]
|
||||
public YomotsuPriest() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a yomotsu priest";
|
||||
Body = 253;
|
||||
BaseSoundID = 0x452;
|
||||
|
||||
|
|
@ -80,7 +77,7 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Gems, 4);
|
||||
}
|
||||
|
||||
public override bool CanRummageCorpses{ get{ return true; } }
|
||||
public override bool CanRummageCorpses => true;
|
||||
|
||||
// TODO: Body Transformation
|
||||
|
||||
|
|
@ -118,7 +115,7 @@ namespace Server.Mobiles
|
|||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
public override int GetIdleSound()
|
||||
{
|
||||
return 0x42A;
|
||||
|
|
|
|||
|
|
@ -8,15 +8,12 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a yomotsu corpse" )]
|
||||
public class YomotsuWarrior : BaseCreature
|
||||
{
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.DoubleStrike;
|
||||
}
|
||||
public override WeaponAbility GetWeaponAbility() => WeaponAbility.DoubleStrike;
|
||||
public override string DefaultName => "a yomotsu warrior";
|
||||
|
||||
[Constructible]
|
||||
public YomotsuWarrior() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a yomotsu warrior";
|
||||
Body = 245;
|
||||
BaseSoundID = 0x452;
|
||||
|
||||
|
|
@ -42,7 +39,7 @@ namespace Server.Mobiles
|
|||
SetSkill( SkillName.Tactics, 95.1, 105.0 );
|
||||
SetSkill( SkillName.Wrestling, 97.6, 107.5 );
|
||||
|
||||
Fame = 4200;
|
||||
Fame = 4200;
|
||||
Karma = -4200;
|
||||
|
||||
PackItem( new GreenGourd() );
|
||||
|
|
@ -76,12 +73,12 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Gems,2);
|
||||
}
|
||||
|
||||
public override bool CanRummageCorpses{ get{ return true; } }
|
||||
public override bool CanRummageCorpses => true;
|
||||
public override int TreasureMapLevel{ get{ return 3; } }
|
||||
|
||||
// TODO: Throwing Dagger
|
||||
|
||||
public override void OnGaveMeleeAttack( Mobile defender )
|
||||
public override void OnGaveMeleeAttack( Mobile defender )
|
||||
{
|
||||
base.OnGaveMeleeAttack( defender );
|
||||
|
||||
|
|
@ -99,7 +96,7 @@ namespace Server.Mobiles
|
|||
defender.Paralyze( TimeSpan.FromSeconds( 4.0 ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public YomotsuWarrior( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
|
@ -115,7 +112,7 @@ namespace Server.Mobiles
|
|||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
public override int GetIdleSound()
|
||||
{
|
||||
return 0x42A;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue