#ftl encoding="UTF-8" strip_whitespace=true >
<@loop from=0 to=pcvar('COUNT[STATS]-1') ; stat , stat_has_next><#-- TODO: Loop was of early exit type 1 --> ${pcstring('STAT.${stat}.NAME')} ${pcvar('STAT.${stat}')} (${pcstring('STAT.${stat}.MOD')}) = ${pcstring('STAT.${stat}.BASE.SIGN-(STAT.${stat}.LEVEL.(VAR.TL)-STAT.${stat}.LEVEL.1)')}[USER] ${pcstring('STAT.${stat}.LEVEL.1.NOPOST.NOEQUIP.NOTEMP-(STAT.${stat}.BASE-(STAT.${stat}.LEVEL.(VAR.TL)-STAT.${stat}.LEVEL.1)).SIGN')}[MISC]
@loop>
<@loop from=0 to=pcvar('COUNT[CHECKS]-1') ; check, check_has_next><#-- TODO: Loop was of early exit type 1 --> ${pcstring('CHECK.${check}.NAME')}: ${pcstring('CHECK.FORTITUDE.TOTAL')} = ${pcstring('CHECK.${check}.BASE')}[BASE] <#if (pcvar('CHECK.${check}.STATMOD') != 0)> ${pcstring('CHECK.${check}.STATMOD')}[STAT] #if> <#if (pcvar('CHECK.${check}.MAGIC') != 0)> ${pcstring('CHECK.${check}.MAGIC')}[MAGIC] #if> <#if (pcvar('CHECK.FORTITUDE.FEAT') != 0)> ${pcstring('CHECK.${check}.FEAT')}[FEAT] #if> <#if (pcvar('CHECK.${check}.EPIC') != 0)> ${pcstring('CHECK.${check}.EPIC')}[EPIC] #if> <#if (pcvar('CHECK.${check}.MISC.NOMAGIC.NOSTAT') != 0)> ${pcstring('CHECK.${check}.MISC.NOMAGIC.NOSTAT')}[MISC] #if>
@loop> <@loop from=0 to=pcvar('countdistinct("ABILITIES","ASPECT=SaveBonus")-1') ; ability , ability_has_next><#-- TODO: Loop was of early exit type 1 --> Conditionals:${pcstring('ABILITYALL.ANY.${ability}.ASPECT=SaveBonus.ASPECT.SaveBonus')}
@loop>
<#if (weaponCategory?contains('ranged'))> To Hit: ${pcstring('WEAPON.${weap}.BASEHIT.0')} = ${pcstring('ATTACK.RANGED.BASE')}[BAB] <#if (pcvar('ATTACK.RANGED.STAT') != 0)> ${pcstring('ATTACK.RANGED.STAT')}[STAT] #if> ${pcstring('ATTACK.RANGED.SIZE')}[SIZE] <#if (pcvar('WEAPON.${weap}.FEATHIT') != 0)> ${pcstring('WEAPON.${weap}.FEATHIT')}[FEAT] #if> <#if (pcvar('WEAPON.${weap}.MAGICHIT') != 0)> ${pcstring('WEAPON.${weap}.MAGICHIT')}[MAGIC] #if> <#if (pcvar('WEAPON.${weap}.MISC') != 0)> ${pcstring('WEAPON.${weap}.MISC')}[MISC] #if> <#else> To Hit: ${pcstring('WEAPON.${weap}.BASEHIT.0')} = ${pcstring('ATTACK.MELEE.BASE')}[BAB] <#if (pcstring('ATTACK.MELEE.STAT') != "+0")> ${pcstring('ATTACK.MELEE.STAT')}[STAT] #if> ${pcstring('ATTACK.RANGED.SIZE')}[SIZE] <#if (pcstring('WEAPON.${weap}.FEATHIT') != "+0")> ${pcstring('WEAPON.${weap}.FEATHIT')}[FEAT] #if> <#if (pcstring('WEAPON.${weap}.MAGICHIT') != "+0")> ${pcstring('WEAPON.${weap}.MAGICHIT')}[MAGIC] #if> <#if (pcstring('WEAPON.${weap}.MISC') != "+0")> ${pcstring('WEAPON.${weap}.MISC')}[MISC] #if> #if> <#if (weaponCategory?contains('ranged'))>
Damage: ${pcstring('WEAPON.${weap}.RANGELIST.0.DAMAGE')} ; <#else>
Damage: ${pcstring('WEAPON.${weap}.DAMAGE')} ; #if>
<@loop from=0 to=pcvar('count("SKILLSIT", "VIEW=VISIBLE_EXPORT")')-1; skill , skill_has_next > <#if (pcvar('SKILLSIT.${skill}.RANK') = 0)> <#if (pcvar('SKILLSIT.${skill}.TOTAL') != 0)> ${pcstring('SKILLSIT.${skill}')} ${pcstring('SKILLSIT.${skill}.TOTAL.INTVAL.SIGN')} = ${pcstring('SKILLSIT.${skill}.EXPLAIN_LONG')}Skill Points
#if> <#else> ${pcstring('SKILLSIT.${skill}')} ${pcstring('SKILLSIT.${skill}.TOTAL.INTVAL.SIGN')} = ${pcstring('SKILLSIT.${skill}.RANK.INTVAL.SIGN')}[RANK] ${pcstring('SKILLSIT.${skill}.EXPLAIN_LONG')}
#if> @loop>
<@loop from=0 to=pcvar('COUNT[CLASSES]-1') ; class , class_has_next><#-- TODO: Loop was of early exit type 1 --> ${pcstring('CLASS.${class}.LEVEL')} ${pcstring('TEXT.NUMSUFFIX.CLASS.${class}.LEVEL')} level ${pcstring('CLASS.${class}')}: ${pcstring('SKILLPOINTS.TOTAL.${class}')} <#if (pcvar('SKILLPOINTS.UNUSED.${class}') != 0)> Unspent: ${pcstring('SKILLPOINTS.UNUSED.${class}')} #if><#if (pcvar('COUNT[FEATSALL.VISIBLE]') != 0)>
@loop>
<@loop from=0 to=pcvar('COUNT[FEATS.VISIBLE]-1') ; feat , feat_has_next> ${pcstring('FEAT.VISIBLE.${feat}')} [${pcstring('FEAT.VISIBLE.${feat}.SOURCE')}]<#if (pcvar('COUNT[FEATSAUTO.VISIBLE]') != 0)> Feats (Automatic) #if>
@loop>
<@loop from=0 to=pcvar('COUNT[FEATSAUTO.VISIBLE]-1') ; feat , feat_has_next> ${pcstring('FEATAUTO.VISIBLE.${feat}')} [${pcstring('FEATAUTO.VISIBLE.${feat}.SOURCE')}]<#if (pcvar('COUNT[VFEATS.VISIBLE]') != 0)> Feats (Virtual) #if>
@loop>
<@loop from=0 to=pcvar('COUNT[VFEATS.VISIBLE]-1') ; feat , feat_has_next> ${pcstring('VFEAT.VISIBLE.${feat}')} [${pcstring('VFEAT.VISIBLE.${feat}.SOURCE')}]<#if (pcvar('COUNT[FEATSALL.HIDDEN]') != 0)>
@loop>
<@loop from=0 to=pcvar('COUNT[FEATS.HIDDEN]-1') ; feat , feat_has_next> ${pcstring('FEAT.HIDDEN.${feat}')} [${pcstring('FEAT.HIDDEN.${feat}.SOURCE')}]<#if (pcvar('COUNT[FEATSAUTO.HIDDEN]') != 0)> Feats (Hidden Automatic) #if>
@loop>
<@loop from=0 to=pcvar('COUNT[FEATSAUTO.HIDDEN]-1') ; feat , feat_has_next> ${pcstring('FEATAUTO.HIDDEN.${feat}')} [${pcstring('FEATAUTO.HIDDEN.${feat}.SOURCE')}]<#if (pcvar('COUNT[VFEATS.HIDDEN]') != 0)> Feats (Hidden Virtual) #if>
@loop>
<@loop from=0 to=pcvar('COUNT[VFEATS.VISIBLE]-1') ; feat , feat_has_next> ${pcstring('VFEAT.HIDDEN.${feat}')} [${pcstring('VFEAT.HIDDEN.${feat}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY")') != 0)>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=NORMAL")')-1 ; ability , ability_has_next> ${pcstring('ABILITY.Special Ability.VISIBLE.${ability}.KEY')} [${pcstring('ABILITY.Special Ability.VISIBLE.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=AUTOMATIC")') != 0)> Special Abilities (Automatic) #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=AUTOMATIC")')-1 ; ability , ability_has_next> ${pcstring('ABILITYAUTO.Special Ability.VISIBLE.${ability}.KEY')} [${pcstring('ABILITYAUTO.Special Ability.VISIBLE.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=VIRTUAL")') != 0)> Special Abilities (Virtual) #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=VIRTUAL")')-1 ; ability , ability_has_next> ${pcstring('VABILITY.Special Ability.VISIBLE.${ability}.KEY')} [${pcstring('VABILITY.Special Ability.VISIBLE.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY")') != 0)>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=NORMAL")')-1 ; ability , ability_has_next> ${pcstring('ABILITY.Special Ability.HIDDEN.${ability}.KEY')} [${pcstring('ABILITY.Special Ability.HIDDEN.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=AUTOMATIC")') != 0)> Special Abilities (Hidden Automatic) #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=AUTOMATIC")')-1 ; ability , ability_has_next> ${pcstring('ABILITYAUTO.Special Ability.HIDDEN.${ability}.KEY')} [${pcstring('ABILITYAUTO.Special Ability.HIDDEN.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=VIRTUAL")') != 0)> Special Abilities (Hidden Virtual) #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Special Ability","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=VIRTUAL")')-1 ; ability , ability_has_next> ${pcstring('VABILITY.Special Ability.HIDDEN.${ability}.KEY')} [${pcstring('VABILITY.Special Ability.HIDDEN.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY")') != 0)>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=NORMAL")')-1 ; ability , ability_has_next> ${pcstring('ABILITY.Internal.VISIBLE.${ability}.KEY')} [${pcstring('ABILITY.Internal.VISIBLE.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=AUTOMATIC")') != 0)> Internal Abilities (Automatic) #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=AUTOMATIC")')-1 ; ability , ability_has_next> ${pcstring('ABILITYAUTO.Internal.VISIBLE.${ability}.KEY')} [${pcstring('ABILITYAUTO.Internal.VISIBLE.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=VIRTUAL")') != 0)> Internal Abilities (Virtual) #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY","NATURE=VIRTUAL")')-1 ; ability , ability_has_next> ${pcstring('VABILITY.Internal.VISIBLE.${ability}.KEY')} [${pcstring('VABILITY.Internal.VISIBLE.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY")') != 0)>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=NORMAL")')-1 ; ability , ability_has_next> ${pcstring('ABILITY.Internal.HIDDEN.${ability}.KEY')} [${pcstring('ABILITY.Internal.HIDDEN.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=AUTOMATIC")') != 0)> Internal Abilities (Hidden Automatic) #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=AUTOMATIC")')-1 ; ability , ability_has_next> ${pcstring('ABILITYAUTO.Internal.HIDDEN.${ability}.KEY')} [${pcstring('ABILITYAUTO.Internal.HIDDEN.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=VIRTUAL")') != 0)> Internal Abilities (Hidden Virtual) #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Internal","VISIBILITY=HIDDEN[or]VISIBILITY=DISPLAY_ONLY","NATURE=VIRTUAL")')-1 ; ability , ability_has_next> ${pcstring('VABILITY.Internal.HIDDEN.${ability}.KEY')} [${pcstring('VABILITY.Internal.HIDDEN.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Skill")') != 0)> Skill Abilities #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Skill")')-1 ; ability , ability_has_next> ${pcstring('ABILITYALL.Skill.${ability}.KEY')} [${pcstring('ABILITYALL.Skill.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Language")') != 0)> Language Abilities #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Language")')-1 ; ability , ability_has_next> ${pcstring('ABILITYALL.Language.${ability}.KEY')} [${pcstring('ABILITYALL.Language.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Weapon")') != 0)> Weapon Abilities #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Weapon")')-1 ; ability , ability_has_next> ${pcstring('ABILITYALL.Weapon.${ability}.KEY')} [${pcstring('ABILITYALL.Weapon.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Class")') != 0)> Class Abilities #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Class")')-1 ; ability , ability_has_next> ${pcstring('ABILITYALL.Class.${ability}.KEY')} [${pcstring('ABILITYALL.Class.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Class Feature")') != 0)> Class Feature #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Class Feature")')-1 ; ability , ability_has_next> ${pcstring('ABILITYALL.Class Feature.${ability}.KEY')} [${pcstring('ABILITYALL.Class Feature.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Proficiency")') != 0)> Proficiency #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Proficiency")')-1 ; ability , ability_has_next> ${pcstring('ABILITYALL.Proficiency.${ability}.KEY')} [${pcstring('ABILITYALL.Proficiency.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Class")') != 0)> Proficiency #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Class")')-1 ; ability , ability_has_next> ${pcstring('ABILITYALL.Class.${ability}.KEY')} [${pcstring('ABILITYALL.Class.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Natural Attack")') != 0)> Natural Attack Abilities #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Natural Attack")')-1 ; ability , ability_has_next> ${pcstring('ABILITYALL.Natural Attack.${ability}.KEY')} [${pcstring('ABILITYALL.Natural Attack.${ability}.SOURCE')}]<#if (pcvar('count("ABILITIES","CATEGORY=Domain")') != 0)> Domain Abilities #if>
@loop>
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Domain")')-1 ; domain , domain_has_next> ${pcstring('ABILITYALL.Domain.${ability}.KEY')} [${pcstring('ABILITYALL.Domain.${ability}.SOURCE')}]<#if (pcvar("COUNT[TEMPLATES]") > 0) >
@loop>
| TEMPLATES |
| ${pcstring('TEMPLATELIST')} |
| ${pcstring('TEMPLATE.${template}.NAME')} |
Skill Breakdown
<@loop from=0 to=pcvar('count("SKILLSIT", "VIEW=VISIBLE_EXPORT")')-1; skill , skill_has_next >
<#if (pcvar('SKILL.${skill}.RANK') = 0)>
<#if (pcvar('SKILL.${skill}.TOTAL') != 0)>
${pcstring('SKILL.${skill}')} ${pcstring('SKILL.${skill}.TOTAL.INTVAL.SIGN')} = ${pcstring('SKILL.${skill}.EXPLAIN_LONG')}
#if>
#if>
@loop>