120 lines
2.8 KiB
C#
120 lines
2.8 KiB
C#
/*Created by Hammerhand*/
|
|
|
|
using System;
|
|
using System.Collections;
|
|
using Server.Items;
|
|
using Server.Targeting;
|
|
|
|
|
|
namespace Server.Mobiles
|
|
{
|
|
[CorpseName( "a mutated elf corpse" )]
|
|
public class MutatedElf : BaseCreature
|
|
{
|
|
private static bool m_Talked; // flag to prevent spam
|
|
|
|
string[] kfcsay = new string[] // things to say while greeting
|
|
{
|
|
"You sweet, me eat!",
|
|
"You good, be my food!",
|
|
"Fe Fi Fo Fum, you look yum yum!!!",
|
|
};
|
|
|
|
|
|
[Constructable]
|
|
public MutatedElf () : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
|
{
|
|
Name = "A Mutated Elf";
|
|
Body = 53;
|
|
BaseSoundID = 427;
|
|
Hue = 2001;
|
|
|
|
SetStr( 767, 945 );
|
|
SetDex( 206, 275 );
|
|
SetInt( 456, 470 );
|
|
|
|
SetHits( 1476, 1552 );
|
|
|
|
SetDamage( 20, 25 );
|
|
|
|
SetDamageType( ResistanceType.Physical, 100 );
|
|
|
|
SetResistance( ResistanceType.Physical, 85, 95 );
|
|
SetResistance( ResistanceType.Fire, 30, 40 );
|
|
SetResistance( ResistanceType.Cold, 100, 105 );
|
|
SetResistance( ResistanceType.Poison, 80, 85 );
|
|
SetResistance( ResistanceType.Energy, 70, 75 );
|
|
|
|
SetSkill( SkillName.MagicResist, 125.1, 140.0 );
|
|
SetSkill( SkillName.Tactics, 90.1, 100.0 );
|
|
SetSkill( SkillName.Wrestling, 90.1, 100.0 );
|
|
|
|
Fame = 15000;
|
|
Karma = -15000;
|
|
|
|
VirtualArmor = 60;
|
|
}
|
|
|
|
public override void GenerateLoot()
|
|
{
|
|
AddLoot( LootPack.Rich, 2 );
|
|
}
|
|
|
|
public override bool CanRummageCorpses{ get{ return true; } }
|
|
public override Poison PoisonImmune{ get{ return Poison.Regular; } }
|
|
|
|
public override bool AlwaysMurderer { get { return true; } }
|
|
|
|
public override void OnMovement(Mobile m, Point3D oldLocation)
|
|
{
|
|
if (m_Talked == false)
|
|
{
|
|
if (m.InRange(this, 4))
|
|
{
|
|
m_Talked = true;
|
|
SayRandom(kfcsay, this);
|
|
this.Move(GetDirectionTo(m.Location));
|
|
// Start timer to prevent spam
|
|
SpamTimer t = new SpamTimer();
|
|
t.Start();
|
|
}
|
|
}
|
|
|
|
}
|
|
private class SpamTimer : Timer
|
|
{
|
|
public SpamTimer()
|
|
: base(TimeSpan.FromSeconds(8))
|
|
{
|
|
Priority = TimerPriority.OneSecond;
|
|
}
|
|
|
|
protected override void OnTick()
|
|
{
|
|
m_Talked = false;
|
|
}
|
|
}
|
|
|
|
private static void SayRandom(string[] say, Mobile m)
|
|
{
|
|
m.Say(say[Utility.Random(say.Length)]);
|
|
}
|
|
|
|
public MutatedElf(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override void Serialize( GenericWriter writer )
|
|
{
|
|
base.Serialize( writer );
|
|
writer.Write( (int) 0 );
|
|
}
|
|
|
|
public override void Deserialize( GenericReader reader )
|
|
{
|
|
base.Deserialize( reader );
|
|
int version = reader.ReadInt();
|
|
}
|
|
}
|
|
} |