error: BONUS:SITUATION|Samurai Mount|SamuraiMountACP SamuraiMount needs to be in x=y format
error: BONUS:COMBAT|Armor|2|TYPE=NaturalArmor.STACK armor is not a valid option.
ADD:ABILITY|3|Special Ability|VIRTUAL|ArtificerSkills
error: BONUS:SKILL|TYPE=Knowledge|2|TYPE=Circumstance|PRESKILL:1,TYPE=Knowledge TYPE=Knowledge needs a value: e.g., TYPE=Knowledge=1
error: BONUS:WEAPON|TOHIT.Melee|1|TYPE=Enhancement TOHIT.Melee is not valid.
error: BONUS:SITUATION|SKILL=xxx,Conceal Small Object|2|TYPE=Circumstance
error: TEMPBONUS:ANYPC|SITUATION|SKILL=Acrobatics,Jump|4|TYPE=Competence
error: SPROP:Power=Backpack|Beltpack, Rate=Normal, Reload=Standard Action
error: BONUS:SITUATION|Diplomacy=Wild Empathy (Animals),Wild Empathy (Magical Beasts)|5|TYPE=Competence
error: VFEAT:Advanced Combat Martial Arts|PREMULT:2,[PRETOTALAB:8],[PREFEAT:2,Combat Martial Arts,Improved Combat Martial Arts]
error: BONUS:SITUATION|Deception=Disguise|CircumstanceAdjustment|TYPE=Circumstance
unexpected end of input
error: BONUS:VAR|SeeEtheralRange|120|TYPE=Base|
error: ABILITY:FEAT|AUTOMATIC|TYPE=ItemCreation
error: BONUS:WEAPONPROF=Longbow|DAMAGE-SHORTRANGE|1|PREWEAPONPROF:1,Longbow|TYPE=Competence
error: BONUS:SKILL|Speak Language|1|TYPE;MechUpgrade
error: BONUS:STAT|CHA|-10|Bard,Oracle,Summoner,Sorceror
error: ABILITY:Special Ability|AUTOMATIC|Dancing Robes of Sharatwan Attunement|PREMULT:4,[PREFEAT:2,Two-Weapon Fighting,Weapon Finesse],[PRESKILL:2,Diplomacy=4,Intimidate=4],[PREVARGTEQ:TL,4],[PRETEXT:Ability to form two mind blades]
error: BONUS:WEAPONPROF=Cannon|TOHIT|-4|GunneryPenalty
error: TEMPBONUS:ANYPC|LOADMULT|TYPE=SIZE|2|PRESIZEGTEQ:M LOADMULT is undefined.
error: TEMPBONUS:ANYPC|SAVE|ALL|1|TYPE=Resistance|TEMPDESC:Grants Defense and saving throw bonus order of TEMPDESC/TYPE is confusing.
error: TEMPBONUS:PC|SITUATION|SKILL=Acrobatics,Acrobatics (Jump)|12 needs to be in x=y,x=y format.
error: TEMPBONUS:PC|SKILL|Disguise,Climb,Jump|TYPE=Temporary needs a formula.
./data/modern/rpg_objects/blood_and_blades/bloodandblades_feats_hidden.lst
BONUS:WEAPONPROF=%LIST|TOHIT.MELEE|INT-STR TOHIT.MELEE is not a valid option
BONUS:COMBAT|TOHIT-FIRSTRANGE,DAMAGE-FIRSTRANGE|1 FIRSTRANGE is not a valid option
- [ ] EVAL() (only in KIT files)
- [X] SELECT:
- [ ] QTY: (only in KIT files)
- [ ] LOOKUP:…, (only in KIT files)
- [ ] STAT:INT=…|
- [X] BONUS:<category>|<group>|<formula>
The “load” process is - in practice - not much different than the process used to compile software. (Preprocessing is the handling of the PCC files and recursive calls to PCC:, compilation is handling the .COPY, .MOD, and parsing the tokens. The symbol table is effectively the data stored in the ReferenceContext, the other parts of the AST are effectively the contents of ListContext and ObjectContext). Just like a compiler has multiple passes over the internal representation, so do we, as we have to resolve references back to the original objects. (We effectively have 4 passes if you ignore the recursive PCC file resolution)