|TEXT.UPPER.NAME| | CR |IIF(CR:0)| — |ELSE| |CR| |ENDIF|

|GENDER.LONG| |RACE| |FOR,%class,0,COUNT[CLASSES]-1,1,1| |IIF(%class:0)| |ELSE| / |ENDIF| |CLASS.%class| |CLASS.%class.LEVEL| |ENDFOR|
|ALIGNMENT.SHORT| |SIZELONG| |IIF(RACETYPE:None)| |TEXT.LOWER.TYPE| |ELSE| |TEXT.LOWER.RACETYPE| |ENDIF| |IIF(VAR.IF(var("COUNT[RACESUBTYPES]")==0;1;0):1)| |ELSE| ( |FOR,%subtype,0,COUNT[RACESUBTYPES]-2,1,1| |TEXT.LOWER.RACESUBTYPE.%subtype|, |ENDFOR| |FOR,%subtype,COUNT[RACESUBTYPES]-1,COUNT[RACESUBTYPES]-1,1,1| |TEXT.LOWER.RACESUBTYPE.%subtype| |ENDFOR| ) |ENDIF|
Init |INITIATIVEMOD|; Senses |FOR,%VisionTest,STRLEN[VISION],STRLEN[VISION],1,0| |IIF(%VisionTest:0)| |ELSE| |VISION|, |ENDIF| |ENDFOR| Listen |SKILL.Listen.TOTAL.SIGN|, Spot |SKILL.Spot.TOTAL.SIGN|
|FOR,%LanguageTest,STRLEN[LANGUAGES],STRLEN[LANGUAGES],1,0| |IIF(%LanguageTest:0)| |ELSE| Languages |LANGUAGES|
|ENDIF| |ENDFOR|

AC |AC.Total|, touch |AC.Touch|, flat-footed |AC.Flatfooted|; |FOR,%ACfeats,0,COUNT[FEATTYPE.ModifyAC.ALL]-1,1,1| , |FEATALL.%ACfeats.TYPE=ModifyAC| |ENDFOR|
|IIF(VAR.IF(var("UseAlternateDamage")==0;1;0):1)| hp |HP| |ELSE| vp |HP| wp |ALTHP| |ENDIF| (|HITDICE.SHORT| HD) |FOR,%DRTest,STRLEN[DR],STRLEN[DR],1,0| |IIF(%DRTest:0)| |ELSE| DR |TEXT.LOWER.DR| |ENDIF| |ENDFOR|
|IIF(SR:0)| |ELSE| SR |SR|
|ENDIF| Fort |CHECK.FORTITUDE.TOTAL|, Ref |CHECK.REFLEX.TOTAL|, Will |CHECK.2.TOTAL|

Speed |FOR,%movement,0,COUNT[MOVE]-1,1,1| |IIF(MOVE.0.NAME:Walk)| |IIF(MOVE.%movement.NAME:Walk)| |MOVE.%movement.RATE| (|MOVE.%movement.SQUARES| squares) |ELSE| |MOVE.%movement.NAME| |MOVE.%movement.RATE| |ENDIF| |ELSE| |MOVE.%movement.NAME| |MOVE.%movement.RATE| (|MOVE.%movement.SQUARES| squares) |ENDIF| |ENDFOR| |FOR,%weap,0,COUNT[EQTYPE.Weapon]-1,1,0|
|IIF(WEAPON.%weap.ISTYPE.Ranged)| Ranged |ELSE| Melee |ENDIF| |TEXT.LOWER.WEAPON.%weap.NAME.NOSTAR| |IIF(WEAPON.%weap.BASEHIT:INVALIDTEXT.TOHIT)| (two handed) |WEAPON.%weap.THHIT| ((two handed) |WEAPON.%weap.THDAMAGE| |FOR,%CritTest,STRLEN[WEAPON.%weap.CRIT],STRLEN[WEAPON.%weap.CRIT],1,0| |IIF(%CritTest:2)| |ELSE| /|WEAPON.%weap.CRIT| |ENDIF| |ENDFOR| |IIF(WEAPON.%weap.MULT:2)| |ELSE| /x|WEAPON.%weap.MULT| |ENDIF| ) |ELSE| |WEAPON.%weap.BASEHIT| |IIF(WEAPON.%weap.ISTYPE.Ranged)| (|WEAPON.%weap.RANGELIST.0.DAMAGE| |ELSE| (|WEAPON.%weap.DAMAGE| |ENDIF| |FOR,%CritTest,STRLEN[WEAPON.%weap.CRIT],STRLEN[WEAPON.%weap.CRIT],1,0| |IIF(%CritTest:2)| |ELSE| /|WEAPON.%weap.CRIT| |ENDIF| |ENDFOR| |IIF(WEAPON.%weap.MULT:2)| |ELSE| /x|WEAPON.%weap.MULT| |ENDIF| ) |ENDIF| |ENDFOR|
Face |FACE| Reach |REACH|
Base Atk |ATTACK.MELEE.BASE|; Grp |IIF(VAR.IF(var("CanNotGrapple")==0;1;0):1)| |VAR.(STR+BAB+(SIZE-4)+(SIZE-4)+(SIZE-4)+(SIZE-4)+(ATTACK.GRAPPLE.MISC)).INTVAL.SIGN| |ELSE| - |ENDIF| |IIF(count("ABILITIES";"TYPE=AttackOption";"VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY")>0)|
Atk Options: |FEATALLLIST.TYPE=AttackOption| |ABILITYALLLIST.Special Ability.TYPE=AttackOption| |ENDIF| |IIF(count("ABILITIES";"CATEGORY=Special Ability";"TYPE=SpecialAttack";"VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY")>0)|
Special Actions |ABILITYALLLIST.Special Ability.VISIBLE.TYPE=SpecialAttack| |ENDIF| |FOR,%class,COUNT[SPELLRACE],COUNT[SPELLRACE]+COUNT[CLASSES]-1,1,0| |IIF(SPELLLISTMEMORIZE.%class:false)|
Known |SPELLLISTCLASS.%class| Spells (CL |MANUALWHITESPACE||SPELLLISTCLASS.%class.LEVEL||TEXT.NUMSUFFIX.SPELLLISTCLASS.%class.LEVEL||ENDMANUALWHITESPACE|): |FOR,%level,0,9,1,1| |FOR,%spelllevelcount,COUNT[SPELLSINBOOK.%class.0.%level],COUNT[SPELLSINBOOK.%class.0.%level],1,0| |IIF(%spelllevelcount:0)| |ELSE| |MANUALWHITESPACE||%level||TEXT.NUMSUFFIX.%level||ENDMANUALWHITESPACE| - |FOR,%spell,0,COUNT[SPELLSINBOOK.%class.0.%level]-2,1,0| |TEXT.LOWER.SPELLMEM.%class.0.%level.%spell.NAME| |IIF(SPELLMEM.%class.0.%level.%spell.TIMES:1)| |ELSE| (|SPELLMEM.%class.0.%level.%spell.TIMES|) |ENDIF| |IIF(SPELLMEM.%class.0.%level.%spell.SAVEINFO:None)| |ELSE| (DC |SPELLMEM.%class.0.%level.%spell.DC|) |ENDIF| , |ENDFOR| |FOR,%spell,COUNT[SPELLSINBOOK.%class.0.%level]-1,COUNT[SPELLSINBOOK.%class.0.%level]-1,1,0| |SPELLMEM.%class.0.%level.%spell.BONUSSPELL||TEXT.LOWER.SPELLMEM.%class.0.%level.%spell.NAME| |IIF(SPELLMEM.%class.0.%level.%spell.TIMES:1)| |ELSE| (|SPELLMEM.%class.0.%level.%spell.TIMES|) |ENDIF| |IIF(SPELLMEM.%class.0.%level.%spell.SAVEINFO:None)| |ELSE| (DC |SPELLMEM.%class.0.%level.%spell.DC|) |ENDIF| |ENDFOR| |ENDIF| |ENDFOR| |ENDFOR| |ENDIF| |ENDFOR| |FOR,%spellbook,2,COUNT[SPELLBOOKS]-1,1,0| |IIF(SPELLBOOK.%spellbook.TYPE:Prepared Spell List)|
|SPELLBOOKNAME.%spellbook| Prepared Spell List |FOR,%class,COUNT[SPELLRACE],COUNT[SPELLRACE]+COUNT[CLASSES]-1,1,0| |IIF(SPELLLISTMEMORIZE.%class:true)|
|SPELLLISTCLASS.%class| (CL |MANUALWHITESPACE||SPELLLISTCLASS.%class.LEVEL||TEXT.NUMSUFFIX.SPELLLISTCLASS.%class.LEVEL||ENDMANUALWHITESPACE|): |FOR,%level,0,9,1,1| |FOR,%spelllevelcount,COUNT[SPELLSINBOOK.%class.%spellbook.%level],COUNT[SPELLSINBOOK.%class.%spellbook.%level],1,0| |IIF(%spelllevelcount:0)| |ELSE| |MANUALWHITESPACE||%level||TEXT.NUMSUFFIX.%level||ENDMANUALWHITESPACE| - |FOR,%spell,0,COUNT[SPELLSINBOOK.%class.%spellbook.%level]-2,1,0| |TEXT.LOWER.SPELLMEM.%class.%spellbook.%level.%spell.NAME| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.TIMES:1)| |ELSE| (|SPELLMEM.%class.%spellbook.%level.%spell.TIMES|) |ENDIF| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.SAVEINFO:None)| |ELSE| (DC |SPELLMEM.%class.%spellbook.%level.%spell.DC|) |ENDIF| , |ENDFOR| |FOR,%spell,COUNT[SPELLSINBOOK.%class.%spellbook.%level]-1,COUNT[SPELLSINBOOK.%class.%spellbook.%level]-1,1,0| |SPELLMEM.%class.%spellbook.%level.%spell.BONUSSPELL||TEXT.LOWER.SPELLMEM.%class.%spellbook.%level.%spell.NAME| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.TIMES:1)| |ELSE| (|SPELLMEM.%class.%spellbook.%level.%spell.TIMES|) |ENDIF| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.SAVEINFO:None)| |ELSE| (DC |SPELLMEM.%class.%spellbook.%level.%spell.DC|) |ENDIF| |ENDFOR| |ENDIF| |ENDFOR| |ENDFOR| |ENDIF| |ENDFOR| |ELSE| |ENDIF| |ENDFOR| |%DOMAIN.1|

*: Domain spell. Deity: |DEITY|. Domains: |FOR.1,COUNT[DOMAINS]+1,1,\DOMAIN.%\, ,NONE,1|
|%| |IIF(VAR.IF(VAR("COUNT[SPELLSINBOOK.0.1.0]")>0;1;0):1)|
Innate Spell-Like Abilities: |FOR,%spellbook,1,1,1,0| |FOR,%class,0,0,1,0| |FOR,%level,0,0,1,0| |%SPELLLISTBOOK.%class.%level.%spellbook| |FOR,%spell,0,COUNT[SPELLSINBOOK.%class.%spellbook.%level]-1,1,0| |TEXT.LOWER.SPELLMEM.%class.%spellbook.%level.%spell.NAME| ( |IIF(SPELLMEM.%class.%spellbook.%level.%spell.SAVEINFO:None)| |ELSE| DC |SPELLMEM.%class.%spellbook.%level.%spell.DC|, |ENDIF| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.TIMES:At Will)| at will) |ELSE| |SPELLMEM.%class.%spellbook.%level.%spell.TIMES|/|SPELLMEM.%class.%spellbook.%level.%spell.TIMEUNIT|) |ENDIF| |ENDFOR| |%| |ENDFOR| |ENDFOR| |ENDFOR| |ENDIF| |FOR,%spellbook,2,COUNT[SPELLBOOKS]-1,1,0| |IIF(SPELLBOOK.%spellbook.TYPE:Innate Spell List)| |IIF(VAR.IF(VAR("COUNT[SPELLSINBOOK.0.%spellbook.0]")>0;1;0):1)|
|SPELLBOOK.%spellbook.NAME| Spell-Like Abilities: |FOR,%class,0,0,1,0| |FOR,%level,0,0,1,0| |%SPELLLISTBOOK.%class.%level.%spellbook| |FOR,%spell,0,COUNT[SPELLSINBOOK.%class.%spellbook.%level]-1,1,0| |TEXT.LOWER.SPELLMEM.%class.%spellbook.%level.%spell.NAME| ( |IIF(SPELLMEM.%class.%spellbook.%level.%spell.SAVEINFO:None)| |ELSE| DC |SPELLMEM.%class.%spellbook.%level.%spell.DC|, |ENDIF| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.TIMES:At Will)| at will) |ELSE| |SPELLMEM.%class.%spellbook.%level.%spell.TIMES|/|SPELLMEM.%class.%spellbook.%level.%spell.TIMEUNIT|) |ENDIF| |ENDFOR| |%| |ENDFOR| |ENDFOR| |ENDIF| |ENDIF| |ENDFOR|

Abilities |FOR,%stat,0,COUNT[STATS]-2,1,1| |TEXT.TITLECASE.STAT.%stat.NAME| |STAT.%stat|, |ENDFOR| |FOR,%stat,COUNT[STATS]-1,COUNT[STATS]-1,1,1| |TEXT.TITLECASE.STAT.%stat.NAME| |STAT.%stat| |ENDFOR|
|IIF(count("ABILITIES";"CATEGORY=Special Ability";"TYPE=SpecialQuality";"VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY")>0)| Special Qualities |FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=Special Ability","TYPE=SpecialQuality","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY")-1,1,0| |ABILITYALL.Special Ability.VISIBLE.%specialAbilities.TYPE=SpecialQuality|, |ENDFOR|
|ENDIF| |IIF(count("ABILITIES";"CATEGORY=Talent";"TYPE=Talent";"VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY")>0)| Talents |FOR,%talent,0,count("ABILITIES","CATEGORY=Talent","TYPE=Talent","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY")-1,1,0| |ABILITYALL.Talent.VISIBLE.%talent.TYPE=Talent|, |ENDFOR|
|ENDIF| Energy Points |VAR.EnergyPoints.INTVAL|
Talents |ABILITYALLLIST.Talent|
Feats |FEATALLLIST|
Skills |FOR,%skill,0,${count("SKILLSIT", "VIEW=VISIBLE_EXPORT")-1},1,0| |IIF(VAR.IF(var("SKILLSIT.%skill.TOTAL")==0;1;0):1)| |ELSE| |SKILLSIT.%skill| |SKILLSIT.%skill.TOTAL.INTVAL.SIGN|, |ENDIF| |ENDFOR|
Occupation |ABILITYALL.Occupation.0.TYPE=Occupation|
Wealth Current: |VAR.Wealth.INTVAL|, Starting: |VAR.WealthBonus.INTVAL|
Possessions |FOR,%equip,0,COUNT[EQUIPMENT.Not.Contained.NOT.Container]-1,1,1| |IIF(EQ.NOT.CONTAINED.NOT.Container.%equip.QTY.INTVAL:1)| |TEXT.LOWER.EQ.NOT.CONTAINED.NOT.Container.%equip.NAME|; |ELSE| |TEXT.LOWER.EQ.NOT.CONTAINED.NOT.Container.%equip.NAME| (x|TEXT.LOWER.EQ.NOT.Contained.NOT.CONTAINER.%equip.QTY.INTVAL|); |ENDIF| |ENDFOR| |FOR,%container,0,COUNT[CONTAINERS]-1,1,1| |EQ.IS.Container.%container.NAME| |IIF(EQ.IS.Container.%container.CONTENTSNUM.QTY.INTVAL:0)| |ELSE| [ |ENDIF| |FOR,%equip,0,EQ.IS.Container.%container.CONTENTSNUM-1,1,1| |IIF(EQ.IS.Container.%container.CONTENTS.%equip.QTY.INTVAL:1)| |EQ.IS.Container.%container.CONTENTS.%equip.NAME|; |ELSE| |EQ.IS.Container.%container.CONTENTS.%equip.NAME| (x|EQ.IS.Container.%container.CONTENTS.%equip.QTY.INTVAL|); |ENDIF| |ENDFOR| |IIF(EQ.IS.Container.%container.CONTENTSNUM.QTY.INTVAL:0)| ; |ELSE| ]; |ENDIF| |ENDFOR| |FOR,%spellbook,2,COUNT[SPELLBOOKS]-1,1,0| |IIF(SPELLBOOK.%spellbook.TYPE:Spell Book)|
|SPELLBOOKNAME.%spellbook| |FOR,%class,COUNT[SPELLRACE],COUNT[SPELLRACE]+COUNT[CLASSES]-2,1,1| |IIF(SPELLLISTMEMORIZE.%class:false)| |ELSE| |FOR,%level,0,9,1,1| |FOR,%spelllevelcount,COUNT[SPELLSINBOOK.%class.%spellbook.%level],COUNT[SPELLSINBOOK.%class.%spellbook.%level],1,0| |IIF(%spelllevelcount:0)| |ELSE| |MANUALWHITESPACE||%level||TEXT.NUMSUFFIX.%level||ENDMANUALWHITESPACE| - |FOR,%spell,0,COUNT[SPELLSINBOOK.%class.%spellbook.%level]-2,1,0| |TEXT.LOWER.SPELLMEM.%class.%spellbook.%level.%spell.NAME| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.TIMES:1)| |ELSE| (|SPELLMEM.%class.%spellbook.%level.%spell.TIMES|) |ENDIF| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.SAVEINFO:None)| |ELSE| (DC |SPELLMEM.%class.%spellbook.%level.%spell.DC|) |ENDIF| , |ENDFOR| |FOR,%spell,COUNT[SPELLSINBOOK.%class.%spellbook.%level]-1,COUNT[SPELLSINBOOK.%class.%spellbook.%level]-1,1,0| |SPELLMEM.%class.%spellbook.%level.%spell.BONUSSPELL||TEXT.LOWER.SPELLMEM.%class.%spellbook.%level.%spell.NAME| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.TIMES:1)| |ELSE| (|SPELLMEM.%class.%spellbook.%level.%spell.TIMES|) |ENDIF| |IIF(SPELLMEM.%class.%spellbook.%level.%spell.SAVEINFO:None)| |ELSE| (DC |SPELLMEM.%class.%spellbook.%level.%spell.DC|) |ENDIF| |ENDFOR| |ENDIF| |ENDFOR| |ENDFOR| |ENDIF| |ENDFOR| |ENDIF| |ENDFOR|