/** * 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)); } }