LST Editor Verification

From PCGen Wiki
Jump to: navigation, search

Introduction

This is a test run on the current (5.16.2) LST editors to identify what paths are safe and the bugs that need to be fixed.

Environment: Windows XP, Java 1.6, PCGen 5.16.2, Pathfinder RPF Gamemode (data release 6)

Conclusion

As shipped in 5.16.2, all editors apart from the source editor are able to function well enough for their intended audience of creating simple LST items by light users. Most do have some minor issues which will be addressed in 5.16.3. The source editor is the exception and is not currently usable. Again this will be rectified n 5.16.3

As a result the request for a warning dialog on the LST editors will be cancelled and it is recommended that people be assisted with the use of the LST editors rather than discouraging their use.

5.16.2

Results of the test run against PCGen v5.16.2

Class Editor

Create a copy of a spellcasting class. Ensure skills, spells, HD, saves are all picked up and that abilities can be assigned

  1. Click Spells, select Bard and click Copy
  2. Base:
    • Class Name, Display Name: Editor Test – Class
    • ABB: Etc
    • Starting Skill Points : 7
    • Types: Base, PC
  3. Abilities: Spell List: 1|Bard
  4. Levels: Checks – Good reflex, Fort, Avg Will
  5. Skills: Remove Stealth, add Fly
  6. Advanced: ADD: ABILITY|2|FEAT|NORMAL|Alertness

Verify:

  • Add tag was not displayed in advanced tab so added it again.
  • Errors in console: CODE-139
LSTERROR pcgen.rules.context.LoadContext EXCHANGELEVEL may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'EXCHANGELEVEL' '' for pcgen.core.PCClass Editor Test – Class
LSTERROR pcgen.rules.context.LoadContext EXCLASS may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'EXCLASS' '' for pcgen.core.PCClass Editor Test – Class
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'AUTO:WEAPONPROF' '' for pcgen.core.PCClass Editor Test – Class
LSTERROR pcgen.rules.context.LoadContext LANGBONUS may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'LANGBONUS' '' for pcgen.core.PCClass Editor Test - Class
  • Created character of the class.
  • ADD chooser fired 3 times, once with a choice of alertness, twice as no choices. Feat was added. CODE-138
  • Spells, skills all fine

Deity Editor

Create a new deity with associated alignment, domains and favored weapons.

  1. Click on deity, click on new
  2. Base:
    • Name: Ptolemy
    • Holy Item: Almanac
    • Align: NG
    • Weapon: Sword (Short)
    • Source: p109
  3. Domains: Earth, Knowledge, Sun, Travel

Verify: All as input, no debug output

Created a cleric of Ptolemy, could be selected as expected and domains appeared correctly.

Domain Editor

Create a new domain truth and assign spells to each level

  1. Click on Domain, click on new
  2. Base: Domain Name: Truth; Source: p15; Product Identity: yes
  3. Spells: In order: Detect Chaos, Discern Lies, Zone of Truth, Tongues, Touch of Fatigue, Tiny Hut, Touch of Idiocy, Transformation, Time Stop
  4. Save

Verify: Spells lost CODE-140

Feat Editor

Copy the Improved Initiative feat to a new Greater Improved Initiative feat that requires the Improved Initiative feat and change the bonus to be +6 to init.

  1. Click on Feat, select Improved Initiative and click Copy
  2. Base: Feat Name: Greater Improved Initiative, Type: Combat
  3. Advanced: BONUS:COMBAT|INITIATIVE|6 and PREFEAT:1,Improved Initiative

Verify:

  • All as input,
  • Debug output as follows: CODE-141
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'AUTO:WEAPONPROF' '' for pcgen.core.Ability Greater Improved Initiative

Created a fighter, gave them feat Improved Initiative and fighter feat Greater Improved Init. Bonuses as expected (+10)

Language Editor

Create a new language Klingon with both a spoken and written form.

  1. Click on Language, click New
  2. Case: Language: Klingon; Types: Spoken, Written, Source: p17
  3. Save

Verify: All as input, no debug output Not available as a bonus language for an Elven fighter. Available as a Linguistics skill choice.

Race Editor

Create a new race Klingon by copying Dwarf. Race gets a bonus +1 to melee damage as well as bonuses to STR and CHA but penalty to WIS

  1. Click on Race, select Dwarf and click Copy
  2. Base: Race Name: Klingon; Display Name: Klingon
  3. Templates: Remove Dwarf
  4. Advanced: BONUS:STAT|WIS|-2 ; BONUS:STAT|CON,CHA|2 ; BONUS:COMBAT|DAMAGE.Melee|1

Verify:

  • All as input,
  • Debug output as follows: CODE-142
LSTERROR pcgen.rules.context.LoadContext HITDICEADVANCEMENT may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'HITDICEADVANCEMENT' '' for pcgen.core.Race Klingon
SEVERE plugin.lsttokens.race.MonsterclassToken Number of levels in MONSTERCLASS must be greater than zero: (None):0
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'MONSTERCLASS' '(None):0' for pcgen.core.Race Klingon
LSTERROR pcgen.rules.context.LoadContext FAVCLASS may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'FAVCLASS' '' for pcgen.core.Race Klingon
LSTERROR pcgen.rules.context.LoadContext LANGAUTO may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Failed in parsing subtoken: LANGAUTO of 
LSTERROR pcgen.rules.context.LoadContext Illegal CHOOSE subtoken 'LANGAUTO' '' for Klingon
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'CHOOSE' 'LANGAUTO|' for pcgen.core.Race Klingon
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'AUTO:WEAPONPROF' '' for pcgen.core.Race Klingon
LSTERROR pcgen.rules.context.LoadContext LANGBONUS may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'LANGBONUS' '' for pcgen.core.Race Klingon

SEVERE pcgen.rules.context.LoadContext !!XTRASKILLPTSPERLVL must be an integer > 0

Created character with race Klingon, bonuses to stats and damage as expected.

Skill Editor

Copy the Swim skill to create a Dig skill, making it a class skill for fighters and rangers. Gain a +2 synergy bonus if you have 5 ranks of acrobatics

  1. Click on Skill, select Swim and click Copy
  2. Base: Skill Name: Dig
  3. Synergy: Acrobatics=5=2
  4. Advanced: Remove all

Verify:

  • Synergy entry is converted to a bonus on the advanced tab
  • Debug output: CODE-143
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'AUTO:WEAPONPROF' '' for pcgen.core.Skill Dig

Skill is shown as a class skill for a fighter but cross-class for an adept

Spell Editor

Copy the Cure Light Wounds spell and rename to Light Cure. Remove domain links

  1. Click on Spell, select Cure Light Wounds and click Copy
  2. Base: Spell Name: Light Cure ; Description: Change to be 2d4+…
  3. Classes: Cleric=1
  4. Domains Glory=1
  5. Save

Verify:

SEVERE pcgen.rules.context.LoadContext !!COST requires a positive Integer

Spell added to cleric who chose glory domain.

Template

Create a new template Bonus Traits which gives 2 extra trait choices.

  1. Select Template and click New
  2. Base: Template Name: Bonus Traits
  3. Advanced: BONUS:ABILITYPOOL|TRAITS|2
  4. Click Save

Verify:

  • All as input
  • Debug output as follows: CODE-145
LSTERROR pcgen.rules.context.LoadContext FAVOREDCLASS may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'FAVOREDCLASS' '' for pcgen.core.PCTemplate Bonus Traits
LSTERROR pcgen.rules.context.LoadContext LANGAUTO may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Failed in parsing subtoken: LANGAUTO of 
LSTERROR pcgen.rules.context.LoadContext Illegal CHOOSE subtoken 'LANGAUTO' '' for Bonus Traits
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'CHOOSE' 'LANGAUTO|' for pcgen.core.PCTemplate Bonus Traits
LSTERROR pcgen.rules.context.LoadContext FEAT may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'FEAT' '' for pcgen.core.PCTemplate Bonus Traits
LSTERROR pcgen.rules.context.LoadContext LANGBONUS may not have empty argument
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'LANGBONUS' '' for pcgen.core.PCTemplate Bonus Traits
LSTERROR pcgen.rules.context.LoadContext Illegal Token 'AUTO:WEAPONPROF' '' for pcgen.core.PCTemplate Bonus Traits

Added to character and they received the bonus.

Source Editor

Create a new 35e source that loads both the 35 players set and the pcgen OGL set

  1. Click on Source, click New
  2. Base:
    • Campaign Name: 35e PCGen Player
    • Info text: Player’s sources plus the PCGen OGL
    • Game mode: 35e
    • Pub name short and long: PCGen
    • Rank 1
    • Book type: Campaign Setting
    • Location of File: DataTest.pcc
  3. File Types: Failed to add PCC file with exception: CODE-147
SEVERE pcgen.gui.PCGen_Frame1$WaitCursorEventQueue Uncaught error - ignoring
java.lang.NullPointerException
	at pcgen.gui.editor.SourceFilesPanel$1.actionPerformed(Unknown Source)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at pcgen.gui.PCGen_Frame1$WaitCursorEventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.Dialog$1.run(Unknown Source)
	at java.awt.Dialog$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Dialog.show(Unknown Source)
	at java.awt.Component.show(Unknown Source)
	at java.awt.Component.setVisible(Unknown Source)
	at java.awt.Window.setVisible(Unknown Source)
	at java.awt.Dialog.setVisible(Unknown Source)
	at pcgen.gui.LstEditorMain.editIt(Unknown Source)
	at pcgen.gui.LstEditorMain.btnNewActionPerformed(Unknown Source)
	at pcgen.gui.LstEditorMain.access$500(Unknown Source)
	at pcgen.gui.LstEditorMain$5.actionPerformed(Unknown Source)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at pcgen.gui.PCGen_Frame1$WaitCursorEventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)  
  1. Save

LST error on save: CODE-146

SEVERE pcgen.core.Globals Could not find campaign: 35e PCGen Player