use of pcgen.core.Race in project pcgen by PCGen.
the class RaceMonCSkillTest method testList.
@Test
public void testList() throws PersistenceLayerException {
Race source = create(Race.class, "Source");
ParseResult result = token.parseToken(context, source, "LIST");
if (result != ParseResult.SUCCESS) {
result.printMessages();
fail("Test Setup Failed");
}
result = CHOOSE_SKILL_TOKEN.parseToken(context, source, "MySkill");
if (result != ParseResult.SUCCESS) {
result.printMessages();
fail("Test Setup Failed");
}
finishLoad();
assertEquals(0, mcsFacet.getCount(id));
assertEquals(SkillCost.CROSS_CLASS, pc.getSkillCostForClass(sk, dragon));
raceInputFacet.set(id, source);
assertTrue(mcsFacet.contains(id, sk));
assertEquals(1, mcsFacet.getCount(id));
pc.incrementClassLevel(1, dragon);
pc.setDirty(true);
assertEquals(SkillCost.CLASS, pc.getSkillCostForClass(sk, dragon));
raceInputFacet.remove(id);
assertEquals(0, mcsFacet.getCount(id));
}
use of pcgen.core.Race in project pcgen by PCGen.
the class RaceMonCSkillTest method testDirect.
@Test
public void testDirect() throws PersistenceLayerException {
Race source = create(Race.class, "Source");
ParseResult result = token.parseToken(context, source, "MySkill");
if (result != ParseResult.SUCCESS) {
result.printMessages();
fail("Test Setup Failed");
}
finishLoad();
raceFacet.directSet(id, source, getAssoc());
ClassSkillList dragonCSL = context.getReferenceContext().silentlyGetConstructedCDOMObject(ClassSkillList.class, "Dragon");
assertTrue(lscFacet.contains(id, dragonCSL, SkillCost.CLASS, sk));
assertEquals(SkillCost.CROSS_CLASS, pc.getSkillCostForClass(sk, dragon));
pc.incrementClassLevel(1, dragon);
assertEquals(SkillCost.CLASS, pc.getSkillCostForClass(sk, dragon));
raceFacet.remove(id);
assertFalse(lscFacet.contains(id, dragonCSL, SkillCost.CLASS, sk));
}
use of pcgen.core.Race in project pcgen by PCGen.
the class CharacterFacadeImpl method setAgeCategory.
@Override
public void setAgeCategory(final SimpleFacade ageCat) {
if (ageCat == this.ageCategory.get()) {
// We've already processed this change, most likely via the setAge method
return;
}
final Race pcRace = charDisplay.getRace();
final String selAgeCat = ageCat.toString();
if ((pcRace != null) && !pcRace.equals(Globals.s_EMPTYRACE)) {
if (selAgeCat != null) {
final int idx = SettingsHandler.getGame().getBioSet().getAgeSetNamed(selAgeCat);
if (idx >= 0) {
ageCategory.set(ageCat);
SettingsHandler.getGame().getBioSet().randomize("AGECAT" + Integer.toString(idx), theCharacter);
age.set(charDisplay.getAge());
ageCategory.set(ageCat);
refreshStatScores();
refreshLanguageList();
}
}
}
}
use of pcgen.core.Race in project pcgen by PCGen.
the class LevelFacet method getLevelAdjustment.
/**
* Returns the level adjustment for the Player Character identified by the
* given CharID.
*
* @param id
* The CharID of the Player Character for which the level
* adjustment will be returned
* @return The level adjustment for the Player Character identified by the
* given CharID
*/
public int getLevelAdjustment(CharID id) {
Race race = raceFacet.get(id);
int levelAdj = 0;
if (race != null) {
Formula raceLA = race.getSafe(FormulaKey.LEVEL_ADJUSTMENT);
levelAdj += formulaResolvingFacet.resolve(id, raceLA, "").intValue();
}
for (PCTemplate template : templateFacet.getSet(id)) {
Formula templateLA = template.getSafe(FormulaKey.LEVEL_ADJUSTMENT);
levelAdj += formulaResolvingFacet.resolve(id, templateLA, "").intValue();
}
return levelAdj;
}
use of pcgen.core.Race in project pcgen by PCGen.
the class RaceMonsterClassTest method testSimple.
@Test
public void testSimple() throws PersistenceLayerException {
TokenRegistration.register(plugin.bonustokens.Feat.class);
Race source = create(Race.class, "Source");
create(PCClass.class, "Granted").put(ObjectKey.IS_MONSTER, Boolean.TRUE);
ParseResult result = token.parseToken(context, source, "Granted:3");
if (result != ParseResult.SUCCESS) {
result.printMessages();
fail("Test Setup Failed");
}
finishLoad();
assertEquals(0, classFacet.getCount(id));
raceFacet.directSet(id, source, getAssoc());
assertEquals(1, classFacet.getCount(id));
assertNotNull(pc.getClassKeyed("Granted"));
raceFacet.remove(id);
assertEquals(0, classFacet.getCount(id));
}
Aggregations