Search in sources :

Example 16 with FixedSizeFormula

use of pcgen.cdom.formula.FixedSizeFormula in project pcgen by PCGen.

the class SizeToken method process.

@Override
public boolean process(LoadContext context, PCTemplate template) {
    String value = template.get(StringKey.SIZEFORMULA);
    if (value == null) {
        return true;
    }
    SizeAdjustment size = context.getReferenceContext().silentlyGetConstructedCDOMObject(SizeAdjustment.class, value);
    Formula sizeFormula;
    if (size == null) {
        sizeFormula = FormulaFactory.getFormulaFor(value);
    } else {
        sizeFormula = new FixedSizeFormula(CDOMDirectSingleRef.getRef(size));
    }
    if (!sizeFormula.isValid()) {
        Logging.errorPrint("Size in " + getTokenName() + " was not valid: " + sizeFormula.toString(), context);
        return false;
    }
    context.getObjectContext().put(template, FormulaKey.SIZE, sizeFormula);
    return false;
}
Also used : FixedSizeFormula(pcgen.cdom.formula.FixedSizeFormula) Formula(pcgen.base.formula.Formula) SizeAdjustment(pcgen.core.SizeAdjustment) FixedSizeFormula(pcgen.cdom.formula.FixedSizeFormula)

Aggregations

FixedSizeFormula (pcgen.cdom.formula.FixedSizeFormula)16 SizeAdjustment (pcgen.core.SizeAdjustment)14 LoadContext (pcgen.rules.context.LoadContext)9 PlayerCharacter (pcgen.core.PlayerCharacter)8 Race (pcgen.core.Race)8 Equipment (pcgen.core.Equipment)6 WieldCategory (pcgen.core.character.WieldCategory)6 LevelCommandFactory (pcgen.cdom.content.LevelCommandFactory)4 URI (java.net.URI)3 Campaign (pcgen.core.Campaign)3 Description (pcgen.core.Description)3 PCClass (pcgen.core.PCClass)3 CampaignSourceEntry (pcgen.persistence.lst.CampaignSourceEntry)3 PCClassLoader (pcgen.persistence.lst.PCClassLoader)3 Formula (pcgen.base.formula.Formula)2 GameMode (pcgen.core.GameMode)2 BonusObj (pcgen.core.bonus.BonusObj)2 PreParserFactory (pcgen.persistence.lst.prereq.PreParserFactory)2 URISyntaxException (java.net.URISyntaxException)1 Test (org.junit.Test)1