DeathCrawler.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Server.MirDatabase;
  2. using Server.MirEnvir;
  3. using S = ServerPackets;
  4. namespace Server.MirObjects.Monsters
  5. {
  6. public class DeathCrawler : MonsterObject
  7. {
  8. protected internal DeathCrawler(MonsterInfo info)
  9. : base(info)
  10. {
  11. }
  12. public override void Die()
  13. {
  14. base.Die();
  15. ActionList.Add(new DelayedAction(DelayedType.Die, Envir.Time + 500));
  16. }
  17. public override void ApplyNegativeEffects(HumanObject attacker, DefenceType type, ushort levelOffset)
  18. {
  19. base.ApplyNegativeEffects(attacker, type, levelOffset);
  20. if (Envir.Random.Next(3) == 0)
  21. {
  22. Broadcast(new S.ObjectEffect { ObjectID = ObjectID, Effect = SpellEffect.DeathCrawlerBreath });
  23. PoisonTarget(attacker, 5, 5, PoisonType.Green, 2000);
  24. }
  25. }
  26. protected override void CompleteDeath(IList<object> data)
  27. {
  28. List<MapObject> targets = FindAllTargets(1, CurrentLocation, false);
  29. if (targets.Count == 0) return;
  30. for (int i = 0; i < targets.Count; i++)
  31. {
  32. PoisonTarget(targets[i], 5, 5, PoisonType.Green, 2000);
  33. }
  34. }
  35. }
  36. }