private void HealAspect() { if (Deleted || !Alive || Aspect == null || Aspect.Deleted || !Aspect.Alive) { return; } var amount = Aspect.HitsMax * 0.01; amount = Math.Max(1, amount); Aspect.Heal((int)amount, this); using (var fx = new EffectInfo(Aspect, Aspect.Map, 0x373A, 1150, 10, 20, EffectRender.LightenMore)) { fx.Send(); } }
private void HandleAura(EffectInfo e) { if (Deleted || !Alive || e.ProcessIndex != 0) { return; } foreach (var t in Aspect.AcquireTargets(e.Source.Location, 0)) { var sap = t.HitsMax * 0.45; if (!t.Player) { sap = Math.Min(100, sap); } t.Damage((int)sap, this); if (Aspect != null) { Aspect.Heal((int)sap, this); } } }