@Override public void affectPhyStats(Physical affected, PhyStats affectableStats) { super.affectPhyStats(affected, affectableStats); if (affected == null) return; if (levelsDown < 0) return; final int attacklevel = affectableStats.attackAdjustment() / affectableStats.level(); affectableStats.setLevel(affectableStats.level() - (levelsDown * direction)); if (affectableStats.level() <= 0) { levelsDown = -1; CMLib.combat().postDeath(invoker(), (MOB) affected, null); } affectableStats.setAttackAdjustment( affectableStats.attackAdjustment() - (attacklevel * (levelsDown * direction))); }
@Override public void affectPhyStats(Physical E, PhyStats stats) { super.affectPhyStats(E, stats); if ((E instanceof MOB) && (E != invoker()) && (((MOB) E).charStats().getCurrentClass().baseClass().equals("Bard"))) { int lvl = adjustedLevel(invoker(), 0) / 10; if (lvl < 1) lvl = 1; stats.setLevel(stats.level() + lvl); } }