Exemplo n.º 1
0
 public void unInvoke() {
   if (canBeUninvoked()) {
     if ((affected != null) && (affected instanceof MOB)) {
       MOB mob = (MOB) affected;
       if ((building != null) && (!aborted)) {
         if (messedUp) {
           if (activity == CraftingActivity.MENDING) messedUpCrafting(mob);
           else if (activity == CraftingActivity.LEARNING) {
             commonEmote(mob, "<S-NAME> fail(s) to learn how to make " + building.name() + ".");
             building.destroy();
           } else if (activity == CraftingActivity.REFITTING)
             commonEmote(mob, "<S-NAME> mess(es) up refitting " + building.name() + ".");
           else commonEmote(mob, "<S-NAME> mess(es) up weaving " + building.name() + ".");
         } else {
           if (activity == CraftingActivity.MENDING) building.setUsesRemaining(100);
           else if (activity == CraftingActivity.LEARNING) {
             deconstructRecipeInto(building, recipeHolder);
             building.destroy();
           } else if (activity == CraftingActivity.REFITTING) {
             building.basePhyStats().setHeight(0);
             building.recoverPhyStats();
           } else {
             dropAWinner(mob, building);
             if (key != null) {
               dropAWinner(mob, key);
               if (building instanceof Container) key.setContainer((Container) building);
             }
           }
         }
       }
       building = null;
       key = null;
       activity = CraftingActivity.CRAFTING;
     }
   }
   super.unInvoke();
 }