protected override bool Act() { if (_wand.CurrrentCharges < _wand.MaxCharges) { _wand.CurrrentCharges++; _wand.UpdateQuickslot(); } Delay(); return(true); }
public void OnSelect(int?target) { if (target == null) { return; } if (target == _wand.CurUser.pos) { GLog.Information(Wand.TxtSelfTarget); return; } _wand.SetKnown(); _cell = Ballistica.Cast(_wand.CurUser.pos, target.Value, true, _wand.HitChars); _wand.CurUser.Sprite.DoZap(_cell); QuickSlot.Target(_wand, Actor.FindChar(_cell)); if (_wand.CurrrentCharges > 0) { _wand.CurUser.Busy(); _wand.Fx(_cell, this); Invisibility.Dispel(); } else { _wand.CurUser.SpendAndNext(Wand.TimeToZap); GLog.Warning(Wand.TxtFizzles); _wand.levelKnown = true; _wand.UpdateQuickslot(); } }