@Override public void unInvoke() { // undo the affects of this spell if (!(affected instanceof MOB)) return; final MOB mob = (MOB) affected; super.unInvoke(); if (canBeUninvoked()) { mob.tell(L("You feel less rallied.")); mob.recoverMaxState(); if (mob.curState().getHitPoints() > mob.maxState().getHitPoints()) mob.curState().setHitPoints(mob.maxState().getHitPoints()); } }
@Override public void executeMsg(final Environmental myHost, final CMMsg msg) { if ((msg.target() instanceof Weapon) && (msg.tool() == this)) ((Weapon) msg.target()).destroy(); super.executeMsg(myHost, msg); }
@Override public void affectCharState(MOB affected, CharState affectableStats) { super.affectCharState(affected, affectableStats); if (invoker == null) return; affectableStats.setHitPoints(affectableStats.getHitPoints() + hpUp); }