113 lines
2.8 KiB
C#
113 lines
2.8 KiB
C#
using System;
|
|
|
|
namespace Server.Mobiles
|
|
{
|
|
public class CorruptedSoul : BaseCreature
|
|
{
|
|
[Constructable]
|
|
public CorruptedSoul()
|
|
: base(AIType.AI_Melee, FightMode.Closest, 10, 1, .1, 5)
|
|
{
|
|
this.Name = "a corrupted soul";
|
|
this.Body = 0x3CA;
|
|
this.Hue = 0x453;
|
|
|
|
this.SetStr(102, 115);
|
|
this.SetDex(101, 115);
|
|
this.SetInt(203, 215);
|
|
|
|
this.SetHits(61, 69);
|
|
|
|
this.SetDamage(4, 40);
|
|
|
|
this.SetDamageType(ResistanceType.Physical, 100);
|
|
|
|
this.SetResistance(ResistanceType.Physical, 61, 74);
|
|
this.SetResistance(ResistanceType.Fire, 22, 48);
|
|
this.SetResistance(ResistanceType.Cold, 73, 100);
|
|
this.SetResistance(ResistanceType.Poison, 0);
|
|
this.SetResistance(ResistanceType.Energy, 51, 60);
|
|
|
|
this.SetSkill(SkillName.MagicResist, 80.2, 89.4);
|
|
this.SetSkill(SkillName.Tactics, 81.3, 89.9);
|
|
this.SetSkill(SkillName.Wrestling, 80.1, 88.7);
|
|
|
|
this.Fame = 5000;
|
|
this.Karma = -5000;
|
|
// VirtualArmor = 6; Not sure
|
|
}
|
|
|
|
public CorruptedSoul(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override bool DeleteCorpseOnDeath
|
|
{
|
|
get
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
public override bool AlwaysAttackable
|
|
{
|
|
get
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
public override bool BleedImmune
|
|
{
|
|
get
|
|
{
|
|
return true;
|
|
}
|
|
}// NEED TO VERIFY
|
|
|
|
// NEED TO VERIFY SOUNDS! Known: No Idle Sound.
|
|
|
|
/*public override int GetDeathSound()
|
|
{
|
|
return 0x0;
|
|
}*/
|
|
public override bool AlwaysMurderer
|
|
{
|
|
get
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
/*public override int GetAngerSound()
|
|
{
|
|
return 0x0;
|
|
}*/
|
|
public override int GetAttackSound()
|
|
{
|
|
return 0x233;
|
|
}
|
|
|
|
// TODO: Proper OnDeath Effect
|
|
public override bool OnBeforeDeath()
|
|
{
|
|
if (!base.OnBeforeDeath())
|
|
return false;
|
|
|
|
// 1 in 20 chance that a Thread of Fate will appear in the killer's pack
|
|
|
|
Effects.SendLocationEffect(this.Location, this.Map, 0x376A, 10, 1);
|
|
return true;
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
} |