コード例 #1
0
 protected void initializeAllManaged(MOB affected) {
   if (unmanagedYet.size() == 0) return;
   initializeManagedObjects(affected);
   while (unmanagedYet.size() > 0) {
     Object[] thing = unmanagedYet.removeFirst();
     if (thing[0] instanceof Command) {
       Command C = (Command) thing[0];
       try {
         String cmdparms =
             C.getAccessWords()[0]
                 + " "
                 + CMStrings.replaceAll((String) thing[1], "<TARGET>", reactToM.Name());
         affected.enqueCommand(CMParms.parse(cmdparms), Command.METAFLAG_FORCED, 0);
       } catch (Exception e) {
       }
       managed.add(C);
       continue;
     }
   }
 }
コード例 #2
0
 protected boolean initializeManagedObjects(MOB affected) {
   if (unmanagedYet.size() == 0) return false;
   boolean didAnything = false;
   SLinkedList<Object[]> commands = new SLinkedList<Object[]>();
   while (unmanagedYet.size() > 0) {
     Object[] thing = unmanagedYet.removeFirst();
     if (thing[0] instanceof Ability) {
       if (((Ability) thing[0]).ID().equalsIgnoreCase("Mood")) {
         previousMood = "";
         Ability A = affected.fetchEffect("Mood");
         if (A != null) previousMood = A.text();
         if (previousMood.trim().length() == 0) previousMood = "NORMAL";
       }
       Ability A = (Ability) thing[0];
       A.setAffectedOne(affected);
       A.setMiscText((String) thing[1]);
       managed.add(A);
       didAnything = true;
       continue;
     }
     if (thing[0] instanceof Behavior) {
       Behavior B = (Behavior) thing[0];
       B.startBehavior(affected);
       B.setParms((String) thing[1]);
       managed.add(B);
       didAnything = true;
       continue;
     }
     if (thing[0] instanceof Command) {
       commands.add(thing);
       continue;
     }
   }
   unmanagedYet = commands;
   if (didAnything) {
     affected.recoverCharStats();
     affected.recoverPhyStats();
     affected.recoverMaxState();
   }
   return didAnything;
 }