PCGen Support

← Previous 1
Is there anyway to import PCGen files into Epic Words? I am still getting used to everything here so if I am missing something obvious I apologize in advance
Permalink
I can send you a csheet I made for C-Gen that exports to bbcode. I originally made it a couple years back for Obsidian Portal, but works as I use it all the time.
Permalink
Right now there isn't. If you can convert it to BBCode, it should work here. This would certainly be worth looking into.
Permalink
You can also print the character sheet to PDF or jpg and upload in the files section.

Not as useful but PDFs are very common providing the files size stays small enough not to choke on.

Regards

P.S. Wow Pcgen there is a name I have not heard in a while.

Wasn't that code monkey software or something, I love their antics of monkeys.

Permalink
Unfortunately, only Epic Supporters and their players have file storage space. I don't know if PCGen will export to html, but if it does, you can upload html file to wikis. We convert the html into BBCode (as best we can). If you then edit the wiki, you'll see the BBCode you can use for your character... That's a lot of work, though. I should just support uploading html for all this stuff now that I think about it.
Permalink
Copy the below text and place it in your {Root Directory}outputsheets\d20\fantasy\text\ and name it csheet_BBcode.txt. Then when you export a character export using this outputsheet and it will generate the BBcode for you.

|TEXT.TITLECASE.NAME|
|MANUALWHITESPACE|
|GENDER.LONG|
|SPACE|
|RACE|
|BR|
|FOR,%class,0,COUNT[CLASSES]-1,1,1|
|IIF(%class:0)|
|ELSE|
|SPACE|/|SPACE|
|ENDIF|
|CLASS.%class||SPACE|
|CLASS.%class.LEVEL|
|ENDFOR|
|BR|
|ALIGNMENT.SHORT|
|SPACE|
|SIZELONG|
|IIF(RACETYPE:None)|
|TEXT.LOWER.TYPE|
|ELSE|
|SPACE|
|RACETYPE|
|ENDIF|
|IIF(VAR.IF(var("COUNT[RACESUBTYPES]")==0;1;0):1)|
|ELSE|
|SPACE|(
|FOR,%subtype,0,COUNT[RACESUBTYPES]-2,1,1|
|RACESUBTYPE.%subtype|,|SPACE|
|ENDFOR|
|FOR,%subtype,COUNT[RACESUBTYPES]-1,COUNT[RACESUBTYPES]-1,1,1|
|RACESUBTYPE.%subtype|
|ENDFOR|
)
|ENDIF|
|BR|
Init:|SPACE|
|INITIATIVEMOD|,|SPACE|Senses:|SPACE|
|FOR,%VisionTest,STRLEN[VISION],STRLEN[VISION],1,0|
|IIF(%VisionTest:0)|
|ELSE|
|VISION|,|SPACE|
|ENDIF|
|ENDFOR|
|IIF(GAMEMODE:Pathfinder)|
Perception:|SPACE|
|SKILL.Perception.TOTAL.SIGN|
|ELSE|
Listen:|SPACE|
|SKILL.Listen.TOTAL.SIGN|,|SPACE|Spot:|SPACE|
|SKILL.Spot.TOTAL.SIGN|
|ENDIF|
|FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=Feat","TYPE=Sense","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|,|SPACE|
|IIF(ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Sense.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Sense.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Sense|
|IIF(ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Sense.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Sense.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=Sense","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|,|SPACE|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Sense.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Sense.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Sense|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Sense.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Sense.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|BR|
|IIF(count("ABILITIES";"TYPE=Aura";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|
Aura:|SPACE|
|FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=Feat","TYPE=Aura","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Aura.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Aura.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Aura|
|IIF(ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Aura.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Aura.ASPECT.AbilityBenefit|
|ENDIF|,|SPACE|
|ENDFOR|
|FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=Aura","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Aura.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Aura.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Aura|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Aura.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Aura.ASPECT.AbilityBenefit|
|ENDIF|,|SPACE|
|ENDFOR|
|ENDIF|
|FOR,%LanguageTest,STRLEN[LANGUAGES],STRLEN[LANGUAGES],1,0|
|IIF(%LanguageTest:0)|
|IIF(count("ABILITIES";"TYPE=Communicate";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|
Communication:|SPACE|
|FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=Communicate","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate.ASPECT.AbilityBonus|
|SPACE|
|ENDIF|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate.ASPECT.AbilityBenefit|
|ENDIF|,|SPACE|
|ENDFOR|
|FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=Feat","TYPE=Communicate","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate.ASPECT.AbilityBonus|
|SPACE|
|ENDIF|
|SPACE|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate|
|IIF(ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|BR|
|ENDIF|
|ELSE|
Languages:|SPACE|
|LANGUAGES|
|BR|
|FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=Communicate","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=Communicate.ASPECT.AbilityBenefit|
|ENDIF|,|SPACE|
|ENDFOR|
|FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=Feat","TYPE=Communicate","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate|
|IIF(ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.Feat.VISIBLE.%specialAbilities.TYPE=Communicate.ASPECT.AbilityBenefit|
|ENDIF|,|SPACE|
|ENDFOR|
|ENDIF|
|ENDFOR|
=================================================<br>|BR|
DEFENSE<br>|BR|
=================================================<br>|BR|
AC|SPACE|
|AC.Total|,|SPACE|Touch|SPACE|
|AC.Touch|,|SPACE|Flat-footed|SPACE|
|AC.Flatfooted|
|IIF(VAR.UseCombatManueverBonus:1)|
,|SPACE|
CMD|SPACE|
|VAR.(CMB+AC.Touch).INTVAL|
|ENDIF|
|FOR,%ACfeats,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=ModifyAC","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|,
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%ACfeats.TYPE=ModifyAC.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%ACfeats.TYPE=ModifyAC.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.SpecialAbility.VISIBLE.%ACfeats.TYPE=ModifyAC|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%ACfeats.TYPE=ModifyAC.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%ACfeats.TYPE=ModifyAC.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|FOR,%ACfeats,0,count("ABILITIES","CATEGORY=Feat","TYPE=ModifyAC","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|,
|IIF(ABILITYALL.Feat.VISIBLE.%ACfeats.TYPE=ModifyAC.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.Feat.VISIBLE.%ACfeats.TYPE=ModifyAC.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.Feat.VISIBLE.%ACfeats.TYPE=ModifyAC|
|IIF(ABILITYALL.Feat.VISIBLE.%ACfeats.TYPE=ModifyAC.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.Feat.VISIBLE.%ACfeats.TYPE=ModifyAC.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|BR|
|IIF(VAR.IF(var("UseAlternateDamage")==0;1;0):1)|
HP|SPACE||HP|
|ELSE|
VP|SPACE||HP||SPACE|WP|SPACE||ALTHP|
|ENDIF|
|SPACE|(|HITDICE.SHORT|HD)
|FOR,%DRTest,STRLEN[DR],STRLEN[DR],1,0|
|IIF(%DRTest:0)|
|ELSE|
|SPACE|DR|SPACE|
|DR|
|ENDIF|
|ENDFOR|
|BR|
Fort:|SPACE|
|CHECK.FORTITUDE.TOTAL|,|SPACE|Ref:|SPACE|
|CHECK.REFLEX.TOTAL|,|SPACE|Will:|SPACE|
|CHECK.2.TOTAL|
|BR|
|IIF(count("ABILITIES";"TYPE=Immunity";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|Immunities:|SPACE|
|FOR,%immunities,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=Immunity","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%immunities.TYPE=Immunity.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%immunities.TYPE=Immunity.ASPECT.AbilityBonus|
|ENDIF|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%immunities.TYPE=Immunity.HASASPECT.Immunity:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%immunities.TYPE=Immunity.ASPECT.Immunity|
|ELSE|
|ABILITYALL.SpecialAbility.VISIBLE.%immunities.TYPE=Immunity|
|ENDIF|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%immunities.TYPE=Immunity.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%immunities.TYPE=Immunity.ASPECT.AbilityBenefit|
|ENDIF|,
|ENDFOR|
|BR|
|ENDIF|
|IIF(count("ABILITIES";"TYPE=Resistance";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|Resistances:|SPACE|
|FOR,%resistances,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=Resistance","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%resistances.TYPE=Resistance.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%resistances.TYPE=Resistance.ASPECT.AbilityBonus|
|ENDIF|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%resistances.TYPE=Resistance.HASASPECT.Resistance:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%resistances.TYPE=Resistance.ASPECT.Resistance|
|ELSE|
|ABILITYALL.SpecialAbility.VISIBLE.%resistances.TYPE=Resistance|
|ENDIF|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%resistances.TYPE=Resistance.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%resistances.TYPE=Resistance.ASPECT.AbilityBenefit|
|ENDIF|,
|ENDFOR|
|BR|
|ENDIF|
|IIF(SR:0)|
|ELSE|SpellResistance:|SPACE|
|SR|
|BR|
|ENDIF|
|IIF(count("ABILITIES";"TYPE=Weakness";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|Weakness:|SPACE|
|FOR,%weaknesses,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=Weakness","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%weaknesses.TYPE=Weakness.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%weaknesses.TYPE=Weakness.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.SpecialAbility.VISIBLE.%weaknesses.TYPE=Weakness|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%weaknesses.TYPE=Weakness.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%weaknesses.TYPE=Weakness.ASPECT.AbilityBenefit|
|ENDIF|,
|ENDFOR|
|BR|
|ENDIF|
|IIF(VAR.IF(VAR("COUNT[EQTYPE.DefensiveGear]")>0;1;0):1)|DefensiveGear:|SPACE|
|FOR,%defensiveGear,0,COUNT[EQTYPE.DefensiveGear]-1,1,1|
|TEXT.LOWER.EQ.IS.DefensiveGear.%defensiveGear.NAME|;
|ENDFOR|
|BR|
|ENDIF|
=================================================<br>|BR|
OFFENSE<br>|BR|
=================================================<br>|BR|
Speed:|SPACE|
|FOR,%movement,0,COUNT[MOVE]-1,1,1|
|IIF(MOVE.0.NAME:Walk)|
|IIF(MOVE.%movement.NAME:Walk)|
|SPACE|
|MOVE.%movement.RATE|
|SPACE|(
|MOVE.%movement.SQUARES|
|SPACE|Squares)
|ELSE|
|MOVE.%movement.NAME|
|SPACE|
|MOVE.%movement.RATE|
|ENDIF|
|ELSE|
|MOVE.%movement.NAME|
|SPACE|
|MOVE.%movement.RATE|
|SPACE|(|MOVE.%movement.SQUARES|
|SPACE|Squares)
|ENDIF|
|IIF(MOVE.%movement.NAME:Fly)|
|SPACE|(|ABILITYALL.SpecialAbility.HIDDEN.0.TYPE=Maneuverability.ASPECT.Maneuverability|)
|ENDIF|
|ENDFOR|
|FOR,%movementAbilities,0,count("ABILITIES","CATEGORY=Feat","TYPE=ModifyMovement","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|,
|IIF(ABILITYALL.Feat.VISIBLE.%movementAbilities.TYPE=ModifyMovement.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.Feat.VISIBLE.%movementAbilities.TYPE=ModifyMovement.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.Feat.VISIBLE.%movementAbilities.TYPE=ModifyMovement|
|IIF(ABILITYALL.Feat.VISIBLE.%movementAbilities.TYPE=ModifyMovement.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.Feat.VISIBLE.%movementAbilities.TYPE=ModifyMovement.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|FOR,%movementAbilities,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=ModifyMovement","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|,
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%movementAbilities.TYPE=ModifyMovement.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%movementAbilities.TYPE=ModifyMovement.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.SpecialAbility.VISIBLE.%movementAbilities.TYPE=ModifyMovement|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%movementAbilities.TYPE=ModifyMovement.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%movementAbilities.TYPE=ModifyMovement.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|FOR,%weap,0,COUNT[EQTYPE.Weapon]-1,1,0|
|BR|
|IIF(WEAPON.%weap.ISTYPE.Ranged)|
Ranged|SPACE|
|ELSE|
Melee|SPACE|
|ENDIF|
|TEXT.TITLECASE.WEAPON.%weap.NAME.NOSTAR||SPACE|
|IIF(WEAPON.%weap.BASEHIT:N/A)|
(2H)|SPACE|
|WEAPON.%weap.THHIT||SPACE|
((2H)|SPACE|
|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||SPACE|
|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|
|BR|
Face:|SPACE||FACE||SPACE|
Reach:|SPACE||REACH||SPACE|
|BR|
Base|SPACE|Atk:|SPACE||ATTACK.MELEE.BASE|,|SPACE|
|IIF(VAR.UseCombatManueverBonus:1)|
CMB:|SPACE|
|VAR.CMB.INTVAL.SIGN|
|ELSE|
Grp:|SPACE|
|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=OUTPUTONLY")>0)|
Atk|SPACE|Options:|SPACE|
|IIF(count("ABILITIES";"CATEGORY=Feat";"TYPE=AttackOption";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|
|IIF(count("ABILITIES";"CATEGORY=Feat";"TYPE=AttackOption";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>1)|
|FOR,%attackOptions,0,count("ABILITIES","CATEGORY=Feat","TYPE=AttackOption","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-2,1,0|
|IIF(ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption.HASASPECT.AbilityBonus:Y)|
|SPACE|
|ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption.ASPECT.AbilityBonus|
|SPACE|
|ENDIF|
|SPACE|
|ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption|
|IIF(ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption.HASASPECT.AbilityBenefit:Y)|
|SPACE|
|ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption.ASPECT.AbilityBenefit|
|ENDIF|,|SPACE|
|ENDFOR|
|ENDIF|
|FOR,%attackOptions,count("ABILITIES","CATEGORY=Feat","TYPE=AttackOption","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,count("ABILITIES","CATEGORY=Feat","TYPE=AttackOption","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption.HASASPECT.AbilityBonus:Y)|
|SPACE|
|ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption.ASPECT.AbilityBonus|
|SPACE|
|ENDIF|
|SPACE|
|ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption|
|IIF(ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption.HASASPECT.AbilityBenefit:Y)|
|SPACE|
|ABILITYALL.Feat.VISIBLE.%attackOptions.TYPE=AttackOption.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|ENDIF|
|IIF(count("ABILITIES";"CATEGORY=Feat";"TYPE=AttackOption";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"TYPE=AttackOption";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|,|SPACE|
|ENDIF|
|ENDIF|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"TYPE=AttackOption";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"TYPE=AttackOption";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>1)|
|FOR,%attackOptions,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=AttackOption","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-2,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption.HASASPECT.AbilityBonus:Y)|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption.ASPECT.AbilityBonus|
|SPACE|
|ENDIF|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption.HASASPECT.AbilityBenefit:Y)|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption.ASPECT.AbilityBenefit|
|ENDIF|,|SPACE|
|ENDFOR|
|ENDIF|
|FOR,%attackOptions,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=AttackOption","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=AttackOption","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption.HASASPECT.AbilityBonus:Y)|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption.ASPECT.AbilityBonus|
|SPACE|
|ENDIF|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption.HASASPECT.AbilityBenefit:Y)|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%attackOptions.TYPE=AttackOption.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|ENDIF|
|ENDIF|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"TYPE=SpecialAttack";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>count("ABILITIES";"CATEGORY=SpecialAbility";"TYPE=AttackOption";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY"))|
|SPACE|
|BR|
Special|SPACE|Actions:|SPACE|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"TYPE=SpecialAttack";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"TYPE=SpecialAttack";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>1)|
|FOR,%specialActions,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=SpecialAttack","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-2,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.TYPE:AttackOption)|
|ELSE|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.HASASPECT.AbilityBonus:Y)|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.ASPECT.AbilityBonus|
|SPACE|
|ENDIF|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.HASASPECT.AbilityBenefit:Y)|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.ASPECT.AbilityBenefit|
|ENDIF|,|SPACE|
|ENDIF|
|ENDFOR|
|ENDIF|
|FOR,%specialActions,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=SpecialAttack","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=SpecialAttack","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.TYPE:AttackOption)|
|ELSE|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.HASASPECT.AbilityBonus:Y)|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.ASPECT.AbilityBonus|
|SPACE|
|ENDIF|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.HASASPECT.AbilityBenefit:Y)|
|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%specialActions.TYPE=SpecialAttack.ASPECT.AbilityBenefit|
|ENDIF|
|ENDIF|
|ENDFOR|
|ENDIF|
|ENDIF|
|IIF(VAR.IF(VAR("COUNT[EQTYPE.OffensiveGear]")>0;1;0):1)|
|SPACE|
|BR|
Offensive|SPACE|Gear:|SPACE|
|IIF(VAR.IF(VAR("COUNT[EQTYPE.OffensiveGear]")>1;1;0):1)|
|FOR,%offensiveGear,0,COUNT[EQTYPE.OffensiveGear]-2,1,1|
|SPACE|
|EQ.IS.OffensiveGear.%offensiveGear.NAME|,|SPACE|
|ENDFOR|
|ENDIF|
|FOR,%offensiveGear,COUNT[EQTYPE.OffensiveGear]-1,COUNT[EQTYPE.OffensiveGear]-1,1,1|
|SPACE|
|EQ.IS.OffensiveGear.%offensiveGear.NAME|
|ENDFOR|
|ENDIF|
|SPACE|
|BR|
|FOR,%class,COUNT[SPELLRACE],COUNT[SPELLRACE]+COUNT[CLASSES]-1,1,0|
|IIF(SPELLLISTMEMORIZE.%class:false)|
|SPACE|
|BR|
Known|SPACE|
|SPELLLISTCLASS.%class||SPACE|
Spells
|SPACE|(CL|SPACE|
|SPELLLISTCLASS.%class.LEVEL|
|SPACE|
|TEXT.NUMSUFFIX.SPELLLISTCLASS.%class.LEVEL|):
|BR|
|FOR,%level,0,9,1,1|
|IIF(VAR.IF(VAR("COUNT[SPELLSINBOOK.%class.0.%level]")>0;1;0):1)|
|%level|
|TEXT.NUMSUFFIX.%level|
|SPACE|-|SPACE|
|IIF(VAR.IF(VAR("COUNT[SPELLSINBOOK.%class.0.%level]")>1;1;0):1)|
|FOR,%spell,0,COUNT[SPELLSINBOOK.%class.0.%level]-2,1,0|
|TEXT.TITLECASE.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|
|IIF(VAR.IF(VAR("SPELLMEM.%class.0.%level.%spell.DC")>0;1;0):1)|
|SPACE|(DC|SPACE|
|SPELLMEM.%class.0.%level.%spell.DC|)
|ENDIF|
|ENDIF|
,|SPACE|
|ENDFOR|
|ENDIF|
|FOR,%spell,COUNT[SPELLSINBOOK.%class.0.%level]-1,COUNT[SPELLSINBOOK.%class.0.%level]-1,1,0|
|SPACE|
|SPELLMEM.%class.0.%level.%spell.BONUSSPELL|
|TEXT.TITLECASE.SPELLMEM.%class.0.%level.%spell.NAME|
|IIF(SPELLMEM.%class.0.%level.%spell.TIMES:1)|
|ELSE|
|SPACE|(|SPELLMEM.%class.0.%level.%spell.TIMES|)
|ENDIF|
|IIF(SPELLMEM.%class.0.%level.%spell.SAVEINFO:None)|
|ELSE|
|IIF(VAR.IF(VAR("SPELLMEM.%class.0.%level.%spell.DC")>0;1;0):1)|
|SPACE|(DC|SPACE|
|SPELLMEM.%class.0.%level.%spell.DC|)
|ENDIF|
|ENDIF|
,|SPACE|
|ENDFOR|;
|BR|
|ENDIF|
|ENDFOR|
|ENDIF|
|ENDFOR|
=================================================<br>|BR|
STATISTICS<br>|BR|
=================================================<br>|BR|
Abilities:|SPACE|
|FOR,%stat,0,COUNT[STATS]-2,1,1|
|TEXT.TITLECASE.STAT.%stat.NAME||SPACE||STAT.%stat|,|SPACE|
|ENDFOR|
|FOR,%stat,COUNT[STATS]-1,COUNT[STATS]-1,1,1|
|TEXT.TITLECASE.STAT.%stat.NAME||SPACE||STAT.%stat|
|ENDFOR|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"TYPE=SpecialQuality";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>0)|
Special|SPACE|Qualities:|SPACE|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"TYPE=SpecialQuality";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>1)|
|FOR,%specialAbilities,0,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=SpecialQuality","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-2,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality.ASPECT.AbilityBenefit|
|ENDIF|,
|ENDFOR|
|ENDIF|
|FOR,%specialAbilities,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=SpecialQuality","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,count("ABILITIES","CATEGORY=SpecialAbility","TYPE=SpecialQuality","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality.HASASPECT.AbilityBonus:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality.ASPECT.AbilityBonus|
|ENDIF|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality.HASASPECT.AbilityBenefit:Y)|
|ABILITYALL.SpecialAbility.VISIBLE.%specialAbilities.TYPE=SpecialQuality.ASPECT.AbilityBenefit|
|ENDIF|
|ENDFOR|
|ENDIF|
|BR|
|%COUNT[SA]|SpecialAbilities|SPACE||SPECIALLIST|
|BR|
|%|Feats:|SPACE||FEATALLLIST|
|BR|
Skills:|SPACE|
|IIF(VAR.IF(VAR("COUNT[SKILLS]")>1;1;0):1)|
|FOR,%skill,0,COUNT[SKILLS]-2,1,0|
|IIF(VAR.IF(var("SKILL.%skill.TOTAL")==0;1;0):1)|
|ELSE|
|SKILL.%skill||SPACE||SKILL.%skill.TOTAL.INTVAL.SIGN|,|SPACE|
|ENDIF|
|ENDFOR|
|ENDIF|
|FOR,%skill,COUNT[SKILLS]-1,COUNT[SKILLS]-1,1,0|
|IIF(VAR.IF(var("SKILL.%skill.TOTAL")==0;1;0):1)|
|ELSE||SKILL.%skill||SPACE||SKILL.%skill.TOTAL.INTVAL.SIGN|
|ENDIF|
|ENDFOR|
|BR|
Possessions:|SPACE|
|FOR,%equip1,0,(COUNT[EQUIPMENT.Not.Coin.NOT.Gem]-1),1,0|
|EQ.Not.Coin.NOT.Gem.%equip1.NAME.MAGIC~<b>~</b>|
|IIF(EQ.Not.Coin.NOT.Gem.%equip1.SPROP: )|
(|EQ.Not.Coin.NOT.Gem.%equip1.SPROP|)
|ENDIF|
|IIF(EQ.MERGELOC.Not.Coin.NOT.Gem.%equip1.NOTE: )|
(|EQ.MERGELOC.Not.Coin.NOT.Gem.%equip1.NOTE|)
|ENDIF|
|FOR,%charges,1,EQ.MERGELOC.Not.Coin.NOT.Gem.%equip1.CHARGES,1,0|
|ENDFOR|
,|SPACE|
|ENDFOR|
|BR|
=================================================<br>|BR|
SPECIAL|SPACE|ABILITIES<br>|BR|
=================================================<br>|BR|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY";"TYPE=AbilityBonus")>0)|
Ability Bonuses:|SPACE|
|FOR,%allAbilities,0,count("ABILITIES","CATEGORY=SpecialAbility","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.TYPE:AbilityBonus)|
|ABILITYALL.SpecialAbility.VISIBLE.%allAbilities|
|ENDIF|
|ENDFOR|
|BR|
|ENDIF|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY";"TYPE=FavoredClass")>0)|
Favored Classes:|SPACE|
|FOR,%allAbilities,0,count("ABILITIES","CATEGORY=SpecialAbility","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.TYPE:FavoredClass)|
|ABILITYALL.SpecialAbility.VISIBLE.%allAbilities|
|ENDIF|
|ENDFOR|
|BR|
|ENDIF|
|IIF(count("ABILITIES";"CATEGORY=SpecialAbility";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")>count("ABILITIES";"CATEGORY=SpecialAbility";"VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY";"TYPE=FavoredClass.or.TYPE=AbilityBonus"))|
|BR|
|FOR,%allAbilities,0,count("ABILITIES","CATEGORY=SpecialAbility","VISIBILITY=DEFAULT.or.VISIBILITY=OUTPUTONLY")-1,1,0|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.TYPE:AbilityBonus)|
|ELSE|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.TYPE:FavoredClass)|
|ELSE|
|ABILITYALL.SpecialAbility.VISIBLE.%allAbilities|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.TYPE:Extraordinary)||SPACE|
(Ex)
|ENDIF|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.TYPE:Supernatural)||SPACE|
(Su)
|ENDIF|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.TYPE:SpellLike)||SPACE|
(Sp)
|ENDIF|
|IIF(ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.TYPE:PsiLike)||SPACE|
(Ps)
|ENDIF||SPACE|
[|ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.SOURCE|]|SPACE|
|ABILITYALL.SpecialAbility.VISIBLE.%allAbilities.DESC|
|BR|
|ENDIF|
|ENDIF|
|ENDFOR|
|ENDIF|
|ENDMANUALWHITESPACE|
Created using PCGen |EXPORT.VERSION| on |EXPORT.DATE|
Permalink
Pointer-left Orkglyph_thumb
Rob
Admin
... That's a lot of work, though. I should just support uploading html for all this stuff now that I think about it.


Just out of curiosity, why don't you support uploading HTML?
Permalink
Allowing people to upload straight html can be very dangerous. One could quite easily destroy the layout of the entire page with just a few stray lines of html. And that's without being malicious, even. Forgetting to close a tag or applying a class that's styled incorrectly can wreck the layout. Being malicious, one could use iframes or javascript to load pages that contain viruses or popup ads and such.
Requiring BBCode allows me to limit the kind of html that ultimately gets displayed on the page. I can also ensure that begining and ending tags are paired correctly. E.g. the bold tag [B] without the ending tag doesn't get translated into html. It's rendered as plain text.
Permalink
Pointer-left Orkglyph_thumb
Rob
How about maybe making HTML available to supporting members. At least that way there is some accountability. Add it along with a no holds barred disclaimer, if we mess up our layouts with HTML then its not YOUR responsibility to fix it etc, stuff like that? As long as I knew going into it and it was clear that its all on my shoulders then I have no qualms! Besides... isn't that what the preview pane is for anyways? :)
Permalink
That is a possibility. I may have to consider a feature like that.
Permalink
← Previous 1