use of pcgen.core.Race in project pcgen by PCGen.
the class StatIntegrationTest method testUnlockOverrideLockSimple.
@Test
public void testUnlockOverrideLockSimple() {
Race r1 = new Race();
causeLock(r1, stat2, 14);
causeUnlock(r1, stat2);
rfacet.set(id, r1);
testNonAbilityUnset();
testLockUnsetConditional();
}
use of pcgen.core.Race in project pcgen by PCGen.
the class StatIntegrationTest method testLockInRace.
@Test
public void testLockInRace() {
Race r = new Race();
causeLock(r, stat1, 14);
rfacet.set(id, r);
testNonAbilityUnset();
assertEquals(14, lockFacet.getLockedStat(id, stat1));
assertNull(lockFacet.getLockedStat(id, stat2));
// Make sure cleans up when race changed
rfacet.set(id, new Race());
testNonAbilityUnset();
testLockUnset();
}
use of pcgen.core.Race in project pcgen by PCGen.
the class RaceTargetSaveRestoreTest method testRaceFavClass.
@Test
public void testRaceFavClass() {
PCClass monclass = create(PCClass.class, "MonClass");
new TypeLst().parseToken(context, monclass, "Monster");
Race monster = create(Race.class, "Monster");
Race other = create(Race.class, "Other");
create(PCClass.class, "MyClass");
new FavclassToken().parseToken(context, monster, "%LIST");
new ClassToken().parseToken(context, monster, "MonClass|MyClass");
finishLoad();
pc.setRace(monster);
runRoundRobin(getPreEqualityCleanup());
assertTrue(pc.getDisplay().getFavoredClasses().contains(monclass));
assertTrue(reloadedPC.getDisplay().getFavoredClasses().contains(monclass));
reloadedPC.setRace(other);
reloadedPC.setDirty(true);
assertFalse(reloadedPC.getDisplay().getFavoredClasses().contains(monclass));
}
use of pcgen.core.Race in project pcgen by PCGen.
the class RaceToken method getRaceToken.
private static String getRaceToken(PlayerCharacter pc) {
String retString = Constants.EMPTY_STRING;
Race race = pc.getDisplay().getRace();
String tempRaceName = OutputNameFormatting.getOutputName(race);
if (tempRaceName == null || tempRaceName.isEmpty()) {
tempRaceName = race.getDisplayName();
}
StringBuilder extraRaceInfo = new StringBuilder(40);
String subRace = pc.getDisplay().getSubRace();
if (subRace != null) {
extraRaceInfo.append(subRace);
}
if (SettingsHandler.hideMonsterClasses()) {
LevelCommandFactory lcf = race.get(ObjectKey.MONSTER_CLASS);
if (lcf != null) {
PCClass monsterClass = lcf.getPCClass();
final PCClass aClass = pc.getClassKeyed(monsterClass.getKeyName());
if (aClass != null) {
int minHD = lcf.getLevelCount().resolve(pc, "").intValue();
int monsterHD = pc.getDisplay().getLevel(aClass);
if (monsterHD != minHD) {
if (extraRaceInfo.length() != 0) {
extraRaceInfo.append(' ');
}
extraRaceInfo.append(monsterHD).append(//$NON-NLS-1$
LanguageBundle.getString("in_hdLabel"));
}
}
}
}
retString = tempRaceName;
if (extraRaceInfo.length() != 0) {
//$NON-NLS-1$
retString += " (" + extraRaceInfo + ')';
}
return retString;
}
use of pcgen.core.Race in project pcgen by PCGen.
the class RaceToken method getSubToken.
private static String getSubToken(final String subToken, CharacterDisplay display) {
if (!subToken.equals(SUBTOKENLIST[0])) {
return Constants.EMPTY_STRING;
}
final List<SpecialAbility> saList = new ArrayList<>();
Race race = display.getRace();
saList.addAll(display.getResolvedUserSpecialAbilities(race));
saList.addAll(display.getResolvedSpecialAbilities(race));
if (saList.isEmpty()) {
return Constants.EMPTY_STRING;
}
StringBuilder returnString = new StringBuilder();
boolean firstLine = true;
for (SpecialAbility sa : saList) {
if (!firstLine) {
//$NON-NLS-1$
returnString.append(", ");
}
firstLine = false;
returnString.append(sa.getDisplayName());
}
return returnString.toString();
}
Aggregations