protected override bool OnMove(Direction d) { if (Utility.RandomDouble() < .15) { Effects.PlaySound(Location, Map, 0x208); UOACZFirefield fireField = new UOACZFirefield(this); fireField.MoveToWorld(Location, Map); } return(base.OnMove(d)); }
public override void OnGotMeleeAttack(Mobile attacker) { base.OnGotMeleeAttack(attacker); if (Utility.RandomDouble() < .1) { Effects.PlaySound(Location, Map, 0x208); Point3D newPoint = new Point3D(Location.X + Utility.RandomList(-1, 1), Location.Y + Utility.RandomList(-1, 1), Location.Z); SpellHelper.AdjustField(ref newPoint, Map, 12, false); UOACZFirefield fireField = new UOACZFirefield(this); fireField.MoveToWorld(newPoint, Map); } }
public override bool OnBeforeDeath() { Effects.PlaySound(Location, Map, 0x208); int fireFields = Utility.RandomMinMax(2, 3); UOACZFirefield fireField = new UOACZFirefield(this); fireField.MoveToWorld(Location, Map); for (int a = 0; a < fireFields; a++) { Point3D newPoint = new Point3D(Location.X + Utility.RandomList(-1, 1), Location.Y + Utility.RandomList(-1, 1), Location.Z); SpellHelper.AdjustField(ref newPoint, Map, 12, false); new UOACZFirefield(this).MoveToWorld(newPoint, Map); } return(base.OnBeforeDeath()); }