public class Corrupter3 : CreatureEntity
CanStrikeCritically = false,
Alignment = Alignment.Chaotic;
public Corrupter3(Serial serial) : base(serial)
public override int GetNearbySound() => 96;
public override int GetAttackSound() => 103;
public override int GetDeathSound() => 110;
public override void OnSpawn()
if (RightHand is ProjectileWeapon)
_brain = new RangedAI(this);
_brain = new CombatAI(this);
public override void OnDeath(MobileEntity source, MobileEntity killer)
source.Say(source, $"Bleh! Ah bleeeehhh! I vill suck your blood!");
var corrupter4 = new Corrupter4()
Immunity = CreatureImmunity.Piercing | CreatureImmunity.Slashing | CreatureImmunity.Bashing |
CreatureImmunity.Projectile | CreatureImmunity.Magic,
Weakness = CreatureWeakness.Silver | CreatureWeakness.IceSpearSpell,
AddStatus(new NightVisionStatus(corrupter4)),
Attacks = new CreatureAttackCollection()
new CreatureAttack(24, 60, 90, "The corrupter slashes you with a claw"), 60
new CreatureAttack(25, 75, 100, "The corrupter holds your gaze for a moment and hits you while distracted",
new AttackStunComponent(50.0)), 30
new CreatureAttack(26, 80, 130, "A pair of wickedly sharp fangs sink into your neck from behind"), 10
Blocks = new CreatureBlockCollection
new CreatureBlock(6, "a long, black cloak"),
new CreatureBlock(3, "a strange appendage under the cloak"),
corrupter4.Teleport(source.Location);
public override Corpse GetCorpse() => default(Corpse);
public override void Serialize(BinaryWriter writer)
public override void Deserialize(BinaryReader reader)
base.Deserialize(reader);
var version = reader.ReadInt16();