Beispiel #1
0
  /**
   * Randomizes the values of the passed in attributes.
   *
   * @param randomizeStr .-delimited list of attributes to randomize. (AGE.HT.WT.EYES.HAIR.SKIN are
   *     the possible values.)
   * @param pc The Player Character
   */
  public void randomize(final String randomizeStr, final PlayerCharacter pc) {
    if ((pc == null) || (pc.getRace() == null)) {
      return;
    }

    final List<String> ranList = new ArrayList<String>();
    final StringTokenizer lineTok = new StringTokenizer(randomizeStr, ".", false);

    while (lineTok.hasMoreTokens()) {
      final String aString = lineTok.nextToken();

      if (aString.startsWith("AGECAT")) {
        generateAge(Integer.parseInt(aString.substring(6)), false, pc);
      } else {
        ranList.add(aString);
      }
    }

    if (ranList.contains("AGE")) {
      generateAge(0, true, pc);
    }

    if (ranList.contains("HT") || ranList.contains("WT")) {
      generateHeightWeight(pc);
    }

    if (ranList.contains("EYES")) {
      pc.setEyeColor(generateBioValue("EYES", pc));
    }

    if (ranList.contains("HAIR")) {
      pc.setHairColor(generateBioValue("HAIR", pc));
    }

    if (ranList.contains("SKIN")) {
      pc.setSkinColor(generateBioValue("SKINTONE", pc));
    }
  }