use of pcgen.persistence.lst.CampaignSourceEntry in project pcgen by PCGen.
the class CompanionmodToken method parseTokenWithSeparator.
@Override
protected ParseResult parseTokenWithSeparator(LoadContext context, Campaign campaign, String value) {
CampaignSourceEntry cse = context.getCampaignSourceEntry(campaign, value);
if (cse == null) {
//Error
return ParseResult.INTERNAL_ERROR;
}
if (!cse.getIncludeItems().isEmpty()) {
return new ParseResult.Fail(getTokenName() + " does not allow INCLUDE: " + value, context);
}
if (!cse.getExcludeItems().isEmpty()) {
return new ParseResult.Fail(getTokenName() + " does not allow EXCLUDE: " + value, context);
}
context.getObjectContext().addToList(campaign, ListKey.FILE_COMPANION_MOD, cse);
return ParseResult.SUCCESS;
}
use of pcgen.persistence.lst.CampaignSourceEntry in project pcgen by PCGen.
the class CoverToken method parseTokenWithSeparator.
@Override
protected ParseResult parseTokenWithSeparator(LoadContext context, Campaign campaign, String value) {
CampaignSourceEntry cse = context.getCampaignSourceEntry(campaign, value);
if (cse == null) {
//Error
return ParseResult.INTERNAL_ERROR;
}
if (!cse.getIncludeItems().isEmpty()) {
return new ParseResult.Fail(getTokenName() + " does not allow INCLUDE: " + value, context);
}
if (!cse.getExcludeItems().isEmpty()) {
return new ParseResult.Fail(getTokenName() + " does not allow EXCLUDE: " + value, context);
}
context.getObjectContext().addToList(campaign, ListKey.FILE_COVER, cse);
return ParseResult.SUCCESS;
}
use of pcgen.persistence.lst.CampaignSourceEntry in project pcgen by PCGen.
the class DataControlToken method parseTokenWithSeparator.
@Override
protected ParseResult parseTokenWithSeparator(LoadContext context, Campaign campaign, String value) {
CampaignSourceEntry cse = context.getCampaignSourceEntry(campaign, value);
if (cse == null) {
//Error
return ParseResult.INTERNAL_ERROR;
}
if (!cse.getIncludeItems().isEmpty()) {
return new ParseResult.Fail(getTokenName() + " does not support Include");
}
if (!cse.getExcludeItems().isEmpty()) {
return new ParseResult.Fail(getTokenName() + " does not support Exclude");
}
if (!cse.getPrerequisites().isEmpty()) {
return new ParseResult.Fail(getTokenName() + " does not support Prerequisites");
}
context.getObjectContext().addToList(campaign, ListKey.FILE_DATACTRL, cse);
return ParseResult.SUCCESS;
}
use of pcgen.persistence.lst.CampaignSourceEntry in project pcgen by PCGen.
the class PreVarTest method test2857848b.
public void test2857848b() {
final PCClass warrior = new PCClass();
warrior.setName("Warrior");
LoadContext context = Globals.getContext();
context.unconditionallyProcess(warrior, "DEFINE", "MyVar|0");
context.unconditionallyProcess(warrior, "BONUS", "VAR|MyVar|2");
final PCClass notawarrior = new PCClass();
notawarrior.setName("NotAWarrior");
Skill concentration = context.getReferenceContext().constructCDOMObject(Skill.class, "Concentration");
context.unconditionallyProcess(notawarrior, "CSKILL", "Concentration");
context.unconditionallyProcess(notawarrior, "BONUS", "SKILL|Concentration|5|PREVARGT:MyVar,1");
assertTrue(context.getReferenceContext().resolveReferences(null));
PCClassLoader loader = new PCClassLoader();
try {
SourceEntry se = new CampaignSourceEntry(new Campaign(), new URI("file://test"));
loader.completeObject(context, se, warrior);
loader.completeObject(context, se, notawarrior);
PlayerCharacter character = this.getCharacter();
character.incrementClassLevel(1, notawarrior);
assertEquals(0, SkillModifier.modifier(concentration, character).intValue());
character.incrementClassLevel(1, warrior);
assertEquals(5, SkillModifier.modifier(concentration, character).intValue());
} catch (URISyntaxException | PersistenceLayerException e) {
fail(e.getMessage());
}
}
use of pcgen.persistence.lst.CampaignSourceEntry in project pcgen by PCGen.
the class PreVarTest method test2856626.
public void test2856626() {
LoadContext context = Globals.getContext();
final PCClass warrior = new PCClass();
warrior.setName("Warrior");
context.getReferenceContext().importObject(warrior);
context.unconditionallyProcess(warrior, "SAB", "Test Works|PREVARGTEQ:CL,2");
assertTrue(context.getReferenceContext().resolveReferences(null));
PlayerCharacter character = this.getCharacter();
character.incrementClassLevel(1, warrior);
PCClassLoader loader = new PCClassLoader();
try {
CampaignSourceEntry se = new CampaignSourceEntry(new Campaign(), new URI("file://test"));
loader.completeObject(context, se, warrior);
PCClass notawarrior = loader.getCopy(context, "Warrior", "NotAWarrior", se);
List<SpecialAbility> sabList = notawarrior.getListFor(ListKey.SAB);
assertNotNull(sabList);
assertEquals(1, sabList.size());
SpecialAbility sab = sabList.get(0);
assertFalse(sab.qualifies(character, notawarrior));
character.incrementClassLevel(1, notawarrior);
assertFalse(sab.qualifies(character, notawarrior));
character.incrementClassLevel(1, notawarrior);
assertTrue(sab.qualifies(character, notawarrior));
} catch (URISyntaxException | PersistenceLayerException e) {
fail(e.getMessage());
}
}
Aggregations