public override void OnTriggeredBy(Sprite sprite, Sprite target) { var debuff = new debuff_poison("Poison Trap", 5000, 35, 25, 0.35, true); if (!target.HasBuff(debuff.Name)) { debuff.OnApplied(target, debuff); { if (target is Monster || target is Mundane || target is Aisling) { target.Show(Scope.NearbyAislings, new ServerFormat29((uint)target.Serial, (uint)target.Serial, Spell.Template.TargetAnimation, 0, 100)); } }; } }
public override void OnSuccess(Sprite sprite, Sprite target) { if (sprite is Aisling) { var client = (sprite as Aisling).Client; client.TrainSpell(Spell); var debuff = new debuff_poison("beag puinsein", 100, 35, 25, 0.10); var curses = target.Debuffs.Values.OfType <debuff_poison>().ToList(); if (curses.Count == 0) { if (!target.HasDebuff(debuff.Name)) { debuff.OnApplied(target, debuff); if (target is Aisling) { (target as Aisling).Client .SendMessage(0x02, string.Format("{0} Attacks you with {1}.", client.Aisling.Username, Spell.Template.Name)); } client.SendMessage(0x02, string.Format("you cast {0}", Spell.Template.Name)); client.SendAnimation(Spell.Template.Animation, target, sprite); var action = new ServerFormat1A { Serial = sprite.Serial, Number = (byte)(client.Aisling.Path == Class.Priest ? 0x80 : client.Aisling.Path == Class.Wizard ? 0x88 : 0x06), Speed = 30 }; var hpbar = new ServerFormat13 { Serial = sprite.Serial, Health = 255, Sound = Spell.Template.Sound }; client.Aisling.Show(Scope.NearbyAislings, action); client.Aisling.Show(Scope.NearbyAislings, hpbar); } } else { var c = curses.FirstOrDefault(); if (c != null) { client.SendMessage(0x02, string.Format("Another poison is already applied. [{0}].", c.Name)); } } } else { var debuff = new debuff_poison("beag puinsein", 100, 35, 25, 0.10); var curses = target.Debuffs.Values.OfType <debuff_poison>().ToList(); if (curses.Count == 0) { if (!target.HasDebuff(debuff.Name)) { debuff.OnApplied(target, debuff); if (target is Aisling) { (target as Aisling).Client .SendMessage(0x02, string.Format("{0} Attacks you with {1}.", (sprite is Monster ? (sprite as Monster).Template.Name : (sprite as Mundane).Template.Name) ?? "Monster", Spell.Template.Name)); } target.SendAnimation(Spell.Template.Animation, target, sprite); var action = new ServerFormat1A { Serial = sprite.Serial, Number = 1, Speed = 30 }; var hpbar = new ServerFormat13 { Serial = target.Serial, Health = 255, Sound = Spell.Template.Sound }; sprite.Show(Scope.NearbyAislings, action); target.Show(Scope.NearbyAislings, hpbar); } } } }