コード例 #1
0
ファイル: ClanMorgueSet.java プロジェクト: Cocanuta/Marble
  public boolean execute(MOB mob, Vector commands, int metaFlags) throws java.io.IOException {
    boolean skipChecks = mob.Name().equals(mob.getClanID());
    Room R = mob.location();
    if (skipChecks) {
      commands.setElementAt(getAccessWords()[0], 0);
      R = CMLib.map().getRoom(CMParms.combine(commands, 1));
    } else {
      commands.clear();
      commands.addElement(getAccessWords()[0]);
      commands.addElement(CMLib.map().getExtendedRoomID(R));
    }

    if ((mob.getClanID() == null) || (R == null) || (mob.getClanID().equalsIgnoreCase(""))) {
      mob.tell("You aren't even a member of a clan.");
      return false;
    }
    Clan C = mob.getMyClan();
    if (C == null) {
      mob.tell("There is no longer a clan called " + mob.getClanID() + ".");
      return false;
    }
    if (C.getStatus() > Clan.CLANSTATUS_ACTIVE) {
      mob.tell(
          "You cannot set a morgue.  Your "
              + C.getGovernmentName()
              + " does not have enough members to be considered active.");
      return false;
    }
    if (skipChecks || CMLib.clans().goForward(mob, C, commands, Clan.Function.SET_HOME, false)) {
      if (!CMLib.law().doesOwnThisProperty(C.clanID(), R)) {
        mob.tell("Your " + C.getGovernmentName() + " does not own this room.");
        return false;
      }
      if (skipChecks || CMLib.clans().goForward(mob, C, commands, Clan.Function.SET_HOME, true)) {
        C.setMorgue(CMLib.map().getExtendedRoomID(R));
        C.update();
        mob.tell(
            "Your " + C.getGovernmentName() + " morgue is now set to " + R.roomTitle(mob) + ".");
        CMLib.clans()
            .clanAnnounce(
                mob,
                "The morgue of "
                    + C.getGovernmentName()
                    + " "
                    + C.clanID()
                    + " is now set to "
                    + R.roomTitle(mob)
                    + ".");
        return true;
      }
    } else {
      mob.tell(
          "You aren't in the right position to set your " + C.getGovernmentName() + "'s morgue.");
      return false;
    }
    return false;
  }