@Override public void affectCharStats(MOB E, CharStats stats) { super.affectCharStats(E, stats); if ((E != null) && (E != invoker()) && (stats.getCurrentClass().baseClass().equals("Bard"))) { int lvl = adjustedLevel(invoker(), 0) / 10; if (lvl < 1) lvl = 1; stats.setClassLevel(stats.getCurrentClass(), stats.getCurrentClassLevel() + lvl); } }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); int increase = 1; if (affectableStats.getCurrentClass().baseClass().equals("Fighter")) increase = 1; else if (affectableStats.getCurrentClass().baseClass().equals("Mage")) increase = 2; else if (affectableStats.getCurrentClass().baseClass().equals("Thief")) increase = 1; else if (affectableStats.getCurrentClass().baseClass().equals("Bard")) increase = 1; else if (affectableStats.getCurrentClass().baseClass().equals("Cleric")) increase = 3; else if (affectableStats.getCurrentClass().baseClass().equals("Druid")) increase = 3; increase += (super.getXLEVELLevel(invoker()) + 2) / 3; affectableStats.setStat( CharStats.STAT_WISDOM, affectableStats.getStat(CharStats.STAT_WISDOM) + increase); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); if (affected == null) return; int newLevel = affected.basePhyStats().level() - (direction * (levelsDown - affectableStats.combinedSubLevels())); if (newLevel < 0) newLevel = 0; affectableStats.setClassLevel(affectableStats.getCurrentClass(), newLevel); }