@Override public void affectCharStats(MOB affectedMOB, CharStats affectableStats) { super.affectCharStats(affectedMOB, affectableStats); for (final int i : CharStats.CODES.SAVING_THROWS()) affectableStats.setStat( i, affectableStats.getStat(i) + (affectableStats.getClassLevel(this))); }
@Override public void affectCharStats(MOB affectedMOB, CharStats affectableStats) { super.affectCharStats(affectedMOB, affectableStats); affectableStats.setStat( CharStats.STAT_CHARISMA, affectableStats.getStat(CharStats.STAT_CHARISMA) + 10 + getXLEVELLevel(invoker())); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); if (affected == null) return; affectableStats.setStat(CharStats.STAT_STRENGTH, 3); affectableStats.setStat(CharStats.STAT_CONSTITUTION, 3); }
@Override public void affectCharStats(MOB affectedMOB, CharStats affectableStats) { super.affectCharStats(affectedMOB, affectableStats); affectableStats.setRacialStat(CharStats.STAT_STRENGTH, 12); affectableStats.setRacialStat(CharStats.STAT_DEXTERITY, 10); affectableStats.setRacialStat(CharStats.STAT_INTELLIGENCE, 7); }
@Override public int getRacialStat(MOB mob, int statNum) { final CharStats copyStats = (CharStats) copyOf(); getMyRace().affectCharStats(mob, copyStats); for (int c = 0; c < numClasses(); c++) getMyClass(c).affectCharStats(mob, copyStats); return copyStats.getStat(statNum); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { affectableStats.setStat( CharStats.STAT_CONSTITUTION, affectableStats.getStat(CharStats.STAT_CONSTITUTION) - 1); if (affectableStats.getStat(CharStats.STAT_CONSTITUTION) <= 0) affectableStats.setStat(CharStats.STAT_CONSTITUTION, 1); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); affectableStats.setStat( CharStats.STAT_STRENGTH, (int) Math.round(CMath.div(affectableStats.getStat(CharStats.STAT_STRENGTH), 2.0))); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { affectableStats.setStat( CharStats.STAT_STRENGTH, affectableStats.getStat(CharStats.STAT_STRENGTH) / 2); if (affectableStats.getStat(CharStats.STAT_STRENGTH) < 1) affectableStats.setStat(CharStats.STAT_STRENGTH, 1); super.affectCharStats(affected, affectableStats); }
@Override public void affectCharStats(MOB affectedMOB, CharStats affectableStats) { super.affectCharStats(affectedMOB, affectableStats); affectableStats.setStat( CharStats.STAT_SAVE_MAGIC, affectableStats.getStat(CharStats.STAT_SAVE_MAGIC) + 5); affectableStats.setStat( CharStats.STAT_SAVE_JUSTICE, affectableStats.getStat(CharStats.STAT_SAVE_JUSTICE) + 5); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); affectableStats.setStat( CharStats.STAT_SAVE_MIND, affectableStats.getStat(CharStats.STAT_SAVE_MIND) + (2 * affectableStats.getClassLevel(this))); }
@Override public void affectCharStats(MOB affectedMOB, CharStats affectableStats) { super.affectCharStats(affectedMOB, affectableStats); affectableStats.setRacialStat(CharStats.STAT_STRENGTH, 5); affectableStats.setRacialStat(CharStats.STAT_DEXTERITY, 10); affectableStats.setRacialStat(CharStats.STAT_INTELLIGENCE, 1); affectableStats.setStat( CharStats.STAT_SAVE_POISON, affectableStats.getStat(CharStats.STAT_SAVE_POISON) + 100); }
@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 mob, CharStats stats) { super.affectCharStats(mob, stats); if (invoker() != null) stats.setStat( CharStats.STAT_SAVE_MIND, stats.getStat(CharStats.STAT_SAVE_MIND) + (adjustedLevel(invoker(), 0) * 2) + invoker().charStats().getStat(CharStats.STAT_CHARISMA)); }
@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); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); affectableStats.setStat( CharStats.STAT_SAVE_MAGIC, affectableStats.getStat(CharStats.STAT_SAVE_MAGIC) + (affectableStats.getClassLevel(this))); if (CMath.bset(affected.basePhyStats().disposition(), PhyStats.IS_BONUS)) affectableStats.setStat( CharStats.STAT_CHARISMA, affectableStats.getStat(CharStats.STAT_CHARISMA) + 30); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); if (lycanRace() != null) { affectableStats.setMyRace(lycanRace()); if (affected.baseCharStats().getStat(CharStats.STAT_AGE) > 0) affectableStats.setStat( CharStats.STAT_AGE, lycanRace().getAgingChart()[affected.baseCharStats().ageCategory()]); } }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); if ((invoker() != null) && (affected != invoker()) && (CMLib.flags().isEvil(invoker()))) { affectableStats.setStat( CharStats.STAT_CHARISMA, affectableStats.getStat(CharStats.STAT_CHARISMA) - (adjustedLevel(invoker(), 0) / 5)); if (affectableStats.getStat(CharStats.STAT_CHARISMA) <= 0) affectableStats.setStat(CharStats.STAT_CHARISMA, 1); } }
@Override public void affectCharStats(MOB affectedMOB, CharStats affectableStats) { super.affectCharStats(affectedMOB, affectableStats); affectableStats.setStat( CharStats.STAT_SAVE_BLUNT, affectableStats.getStat(CharStats.STAT_SAVE_BLUNT) + 50); affectableStats.setStat( CharStats.STAT_SAVE_PIERCE, affectableStats.getStat(CharStats.STAT_SAVE_PIERCE) + 50); affectableStats.setStat( CharStats.STAT_SAVE_ACID, affectableStats.getStat(CharStats.STAT_SAVE_ACID) + 100); affectableStats.setStat( CharStats.STAT_SAVE_FIRE, affectableStats.getStat(CharStats.STAT_SAVE_FIRE) - 50); affectableStats.setStat( CharStats.STAT_SAVE_ELECTRIC, affectableStats.getStat(CharStats.STAT_SAVE_ELECTRIC) - 50); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); final int[] breatheables = affectableStats.getBreathables(); if (breatheables.length == 0) return; if ((lastSet != breatheables) || (newSet == null)) { newSet = Arrays.copyOf( affectableStats.getBreathables(), affectableStats.getBreathables().length + 2); newSet[newSet.length - 1] = RawMaterial.RESOURCE_SALTWATER; newSet[newSet.length - 2] = RawMaterial.RESOURCE_FRESHWATER; Arrays.sort(newSet); lastSet = breatheables; } affectableStats.setBreathables(newSet); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { if ((whom != null) && (song != null)) { final Hashtable<Integer, Integer> H = getSongBenefits(song); for (final Enumeration<Integer> e = H.keys(); e.hasMoreElements(); ) { final Integer I = e.nextElement(); final String[] chk = stuff[I.intValue()]; if ((chk != null) && (chk[1].startsWith("c"))) { int ticks = H.get(I).intValue(); if (ticks > 50) ticks = 50; if (ticks <= 0) ticks = 1; final int stat = CMath.s_int(chk[2]); if (CharStats.CODES.isBASE(stat)) if (ticks > 5) ticks = 5; affectableStats.setStat( stat, affectableStats.getStat(stat) + ticks + getXLEVELLevel(invoker())); } } } }
@Override public void affectCharStats(MOB affectedMOB, CharStats affectableStats) { super.affectCharStats(affectedMOB, affectableStats); affectableStats.setStat( CharStats.STAT_DEXTERITY, affectableStats.getStat(CharStats.STAT_DEXTERITY) + 4); affectableStats.setStat( CharStats.STAT_STRENGTH, affectableStats.getStat(CharStats.STAT_INTELLIGENCE) - 2); affectableStats.setStat( CharStats.STAT_DEXTERITY, affectableStats.getStat(CharStats.STAT_CONSTITUTION) - 2); }
@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 affectedMOB, CharStats affectableStats) { super.affectCharStats(affectedMOB, affectableStats); affectableStats.setStat( CharStats.STAT_SAVE_POISON, affectableStats.getStat(CharStats.STAT_SAVE_POISON) + 100); }
@Override public void copyInto(CharStats intoStats) { if (intoStats instanceof DefaultCharStats) { ((DefaultCharStats) intoStats).arriveStr = arriveStr; ((DefaultCharStats) intoStats).leaveStr = leaveStr; ((DefaultCharStats) intoStats).breathables = breathables; ((DefaultCharStats) intoStats).proficiencies = proficiencies; if (myClasses == null) ((DefaultCharStats) intoStats).myClasses = null; else if ((((DefaultCharStats) intoStats).myClasses != null) && (((DefaultCharStats) intoStats).myClasses.length == myClasses.length)) { for (int i = 0; i < myClasses.length; i++) ((DefaultCharStats) intoStats).myClasses[i] = myClasses[i]; } else ((DefaultCharStats) intoStats).myClasses = myClasses.clone(); if (myLevels == null) ((DefaultCharStats) intoStats).myLevels = null; else if ((((DefaultCharStats) intoStats).myLevels != null) && (((DefaultCharStats) intoStats).myLevels.length == myLevels.length)) { for (int i = 0; i < myLevels.length; i++) ((DefaultCharStats) intoStats).myLevels[i] = myLevels[i]; } else ((DefaultCharStats) intoStats).myLevels = myLevels.clone(); if (myRace != null) ((DefaultCharStats) intoStats).myRace = myRace; ((DefaultCharStats) intoStats).raceName = raceName; ((DefaultCharStats) intoStats).genderName = genderName; ((DefaultCharStats) intoStats).displayClassName = displayClassName; ((DefaultCharStats) intoStats).displayClassLevel = displayClassLevel; if (profAdj == null) ((DefaultCharStats) intoStats).profAdj = null; else ((DefaultCharStats) intoStats).profAdj = new TreeMap<String, Integer>(profAdj); if (bodyAlterations == null) ((DefaultCharStats) intoStats).bodyAlterations = null; else if ((((DefaultCharStats) intoStats).bodyAlterations != null) && (((DefaultCharStats) intoStats).bodyAlterations.length == bodyAlterations.length)) { for (int i = 0; i < bodyAlterations.length; i++) ((DefaultCharStats) intoStats).bodyAlterations[i] = bodyAlterations[i]; } else ((DefaultCharStats) intoStats).bodyAlterations = bodyAlterations.clone(); for (int i = 0; i < stats.length; i++) ((DefaultCharStats) intoStats).stats[i] = stats[i]; ((DefaultCharStats) intoStats).unwearableBitmap = unwearableBitmap; } else { intoStats.setMyClasses(getMyClassesStr()); intoStats.setMyLevels(getMyLevelsStr()); intoStats.setMyRace(getMyRace()); intoStats.setRaceName(raceName); intoStats.setRaceName(raceName); intoStats.setGenderName(genderName); intoStats.setArriveLeaveStr(arriveStr, leaveStr); intoStats.setDisplayClassName(displayClassName); intoStats.setDisplayClassLevel(displayClassLevel); intoStats.setBodyPartsFromStringAfterRace(getBodyPartsAsString()); intoStats.setWearableRestrictionsBitmap(unwearableBitmap); intoStats.setBreathables(breathables); intoStats.setItemProficiencies(proficiencies); } }
@Override public void affectCharStats(MOB affectedMOB, CharStats affectableStats) { super.affectCharStats(affectedMOB, affectableStats); affectableStats.setStat(CharStats.STAT_GENDER, 'N'); affectableStats.setStat( CharStats.STAT_SAVE_POISON, affectableStats.getStat(CharStats.STAT_SAVE_POISON) + 100); affectableStats.setStat( CharStats.STAT_SAVE_MIND, affectableStats.getStat(CharStats.STAT_SAVE_MIND) + 100); affectableStats.setStat( CharStats.STAT_SAVE_GAS, affectableStats.getStat(CharStats.STAT_SAVE_GAS) + 100); affectableStats.setStat( CharStats.STAT_SAVE_PARALYSIS, affectableStats.getStat(CharStats.STAT_SAVE_PARALYSIS) + 100); affectableStats.setStat( CharStats.STAT_SAVE_UNDEAD, affectableStats.getStat(CharStats.STAT_SAVE_UNDEAD) + 100); affectableStats.setStat( CharStats.STAT_SAVE_DISEASE, affectableStats.getStat(CharStats.STAT_SAVE_DISEASE) + 100); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { affectableStats.setStat( CharStats.STAT_DEXTERITY, affectableStats.getStat(CharStats.STAT_DEXTERITY) + 1); }
@Override public void affectCharStats(MOB affectedMOB, CharStats affectedStats) { super.affectCharStats(affectedMOB, affectedStats); affectedStats.setStat( CharStats.STAT_SAVE_UNDEAD, affectedStats.getStat(CharStats.STAT_SAVE_UNDEAD) + 10); }
@Override public void affectCharStats(MOB affected, CharStats affectableStats) { super.affectCharStats(affected, affectableStats); affectableStats.setStat( CharStats.STAT_CHARISMA, affectableStats.getStat(CharStats.STAT_CHARISMA) + 6); }