コード例 #1
0
ファイル: Stone.java プロジェクト: kingdavid127/MUD
 @Override
 public void affectCharState(MOB affectedMOB, CharState affectableState) {
   affectableState.setHitPoints(affectableState.getHitPoints() * 4);
   affectableState.setHunger((Integer.MAX_VALUE / 2) + 10);
   affectedMOB.curState().setHunger(affectableState.getHunger());
   affectableState.setThirst((Integer.MAX_VALUE / 2) + 10);
   affectedMOB.curState().setThirst(affectableState.getThirst());
 }
コード例 #2
0
ファイル: Song_Ode.java プロジェクト: bozimmerman/CoffeeMud
 @Override
 public void affectCharState(MOB affected, CharState 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("s"))) {
         int ticks = H.get(I).intValue();
         if (ticks > 50) ticks = 50;
         if (ticks <= 0) ticks = 1;
         switch (chk[2].charAt(0)) {
           case 'h':
             affectableStats.setHunger(
                 affectableStats.getHunger() + ticks + getXLEVELLevel(invoker()));
             break;
           case 't':
             affectableStats.setThirst(
                 affectableStats.getThirst() + ticks + getXLEVELLevel(invoker()));
             break;
           case 'v':
             affectableStats.setMovement(
                 affectableStats.getMovement() + ticks + getXLEVELLevel(invoker()));
             break;
           case 'm':
             affectableStats.setMana(
                 affectableStats.getMana() + ticks + getXLEVELLevel(invoker()));
             break;
           case 'i':
             affectableStats.setHitPoints(
                 affectableStats.getHitPoints() + ticks + getXLEVELLevel(invoker()));
             break;
         }
       }
     }
   }
 }