コード例 #1
0
ファイル: Missionary.java プロジェクト: renokun/CoffeeMud
 @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)));
 }
コード例 #2
0
ファイル: Skill_Haggle.java プロジェクト: renokun/CoffeeMud
 @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()));
 }
コード例 #3
0
 @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);
 }
コード例 #4
0
ファイル: Orc.java プロジェクト: renokun/CoffeeMud
 @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);
 }
コード例 #5
0
 @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);
 }
コード例 #6
0
ファイル: Poison_Sting.java プロジェクト: renokun/CoffeeMud
 @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);
 }
コード例 #7
0
 @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)));
 }
コード例 #8
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);
 }
コード例 #9
0
ファイル: HalfElf.java プロジェクト: renokun/CoffeeMud
 @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);
 }
コード例 #10
0
ファイル: Charlatan.java プロジェクト: renokun/CoffeeMud
 @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)));
 }
コード例 #11
0
ファイル: Scarab.java プロジェクト: kingdavid127/MUD
 @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);
 }
コード例 #12
0
 @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);
   }
 }
コード例 #13
0
ファイル: Play_Carol.java プロジェクト: bozimmerman/CoffeeMud
 @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));
 }
コード例 #14
0
 @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);
 }
コード例 #15
0
ファイル: Arcanist.java プロジェクト: carriercomm/CoffeeMud
 @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);
 }
コード例 #16
0
 @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()]);
   }
 }
コード例 #17
0
 @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);
   }
 }
コード例 #18
0
ファイル: OozeMephit.java プロジェクト: bozimmerman/CoffeeMud
  @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);
  }
コード例 #19
0
 @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);
 }
コード例 #20
0
ファイル: Song_Ode.java プロジェクト: bozimmerman/CoffeeMud
 @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()));
       }
     }
   }
 }
コード例 #21
0
ファイル: Wemic.java プロジェクト: kingdavid127/MUD
 @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);
 }
コード例 #22
0
 @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);
 }
コード例 #23
0
 @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);
 }
コード例 #24
0
 @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);
   }
 }
コード例 #25
0
ファイル: Plant.java プロジェクト: bozimmerman/CoffeeMud
 @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);
 }
コード例 #26
0
 @Override
 public void affectCharStats(MOB affected, CharStats affectableStats) {
   affectableStats.setStat(
       CharStats.STAT_DEXTERITY, affectableStats.getStat(CharStats.STAT_DEXTERITY) + 1);
 }
コード例 #27
0
 @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);
 }
コード例 #28
0
ファイル: Spell_Friends.java プロジェクト: kingdavid127/MUD
 @Override
 public void affectCharStats(MOB affected, CharStats affectableStats) {
   super.affectCharStats(affected, affectableStats);
   affectableStats.setStat(
       CharStats.STAT_CHARISMA, affectableStats.getStat(CharStats.STAT_CHARISMA) + 6);
 }