コード例 #1
0
  @Override
  public void respond(String message, Resident resident) {
    Player player;
    try {
      player = CivGlobal.getPlayer(resident);
    } catch (CivException e) {
      return;
    }
    resident.clearInteractiveMode();

    if (!message.equalsIgnoreCase("yes")) {
      CivMessage.sendError(player, "Mission Aborted.");
      return;
    }

    if (!TaskMaster.hasTask("missiondelay:" + playerName)) {
      TaskMaster.asyncTask(
          "missiondelay:" + playerName,
          (new EspionageMissionTask(mission, playerName, playerLocation, target, mission.length)),
          0);
    } else {
      CivMessage.sendError(player, "Waiting on countdown to start mission.");
      return;
    }
  }
コード例 #2
0
  @Override
  public void respond(String message, Resident resident) {

    Player player;
    try {
      player = CivGlobal.getPlayer(resident);
    } catch (CivException e) {
      return;
    }

    if (message.equalsIgnoreCase("cancel")) {
      CivMessage.send(player, CivSettings.localize.localizedString("interactive_capitol_cancel"));
      resident.clearInteractiveMode();
      return;
    }

    if (!StringUtils.isAlpha(message) || !StringUtils.isAsciiPrintable(message)) {
      CivMessage.send(
          player,
          CivColor.Rose
              + ChatColor.BOLD
              + CivSettings.localize.localizedString("interactive_capitol_invalidname"));
      return;
    }

    message = message.replace(" ", "_");
    message = message.replace("\"", "");
    message = message.replace("\'", "");

    resident.desiredCapitolName = message;
    CivMessage.send(
        player,
        CivColor.LightGreen
            + CivSettings.localize.localizedString(
                "var_interactive_capitol_confirm1",
                CivColor.Yellow + resident.desiredCivName + CivColor.LightGreen,
                CivColor.Yellow + resident.desiredCapitolName + CivColor.LightGreen));
    CivMessage.sendHeading(
        player, CivSettings.localize.localizedString("interactive_capitol_confirmSurvey"));

    class SyncTask implements Runnable {
      String playerName;

      public SyncTask(String name) {
        this.playerName = name;
      }

      @Override
      public void run() {
        Player player;
        try {
          player = CivGlobal.getPlayer(playerName);
        } catch (CivException e) {
          return;
        }

        Resident resident = CivGlobal.getResident(playerName);
        if (resident == null) {
          return;
        }

        CivMessage.send(player, TownCommand.survey(player.getLocation()));
        CivMessage.send(player, "");
        CivMessage.send(
            player,
            CivColor.LightGreen
                + ChatColor.BOLD
                + CivSettings.localize.localizedString("interactive_capitol_confirmPrompt"));
        resident.setInteractiveMode(new InteractiveConfirmCivCreation());
      }
    }

    TaskMaster.syncTask(new SyncTask(resident.getName()));

    return;
  }