Copy of https://github.com/arcanistzed/pdf-sheet/blob/main/mappings/pf1.mapping made to work with Pathfinder 1e module (https://foundryvtt.com/packages/pf1) version 10.8. Conditional modifiers is commented out because it contained proficiencies for some reason.
Last active
February 20, 2025 19:01
-
-
Save Ennea/87bc3de5f94a3b34892d8e89611afb58 to your computer and use it in GitHub Desktop.
pf1.mapping for "Export Sheet to PDF" module for VTT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
/* Page #1 */ | |
{ "pdf": "Player", "foundry": Object.entries(@data.permission).filter(entry => entry[1] === 3).map(entry => entry[0]).map(id => !game.users.get(id)?.isGM ? game.users.get(id)?.name : null).filter(x => x).join(", ") }, | |
{ "pdf": "Character Name", "foundry": @data.name }, | |
{ "pdf": "Alignment", "foundry": @data.data.details.alignment }, | |
{ "pdf": "Class", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.name)[0] }, | |
{ "pdf": "Level", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.data.level)[0] }, | |
{ "pdf": "Class1", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.name)[1] || "" }, | |
{ "pdf": "Level1", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.data.level)[1] || "" }, | |
{ "pdf": "Deity", "foundry": @data.data.details.deity }, | |
{ "pdf": "Race", "foundry": @data.items.filter(i => i.data.type === "race").map(i => i.data.name)[0] }, | |
{ "pdf": "Size", "foundry": @data.data.traits.size }, | |
{ "pdf": "Gender", "foundry": @data.data.details.gender }, | |
{ "pdf": "Age", "foundry": @data.data.details.age }, | |
{ "pdf": "Height", "foundry": @data.data.details.height }, | |
{ "pdf": "Weight", "foundry": @data.data.details.weight }, | |
{ "pdf": "Total Hp", "foundry": @data.data.attributes.hp.max }, | |
{ "pdf": "Damage Reduction", "foundry": @data.data.traits.dr.value[0]?.amount ?? 0 }, | |
{ "pdf": "Base Speed", "foundry": @data.data.attributes.speed.land.base }, | |
{ "pdf": "With Armor", "foundry": @data.data.attributes.speed.land.total }, | |
{ "pdf": "Fly", "foundry": @data.data.attributes.speed.fly.base }, | |
{ "pdf": "Maneuverability", "foundry": @data.data.attributes.speed.fly.maneuverability }, | |
{ "pdf": "Swim", "foundry": @data.data.attributes.speed.swim.base }, | |
{ "pdf": "Climb", "foundry": @data.data.attributes.speed.climb.base }, | |
{ "pdf": "Burrow", "foundry": @data.data.attributes.speed.burrow.base }, | |
{ "pdf": "Ability Score Strength", "foundry": @data.data.abilities.str.total }, | |
{ "pdf": "Ability Score Dexterity", "foundry": @data.data.abilities.dex.total }, | |
{ "pdf": "Ability Score Constitution", "foundry": @data.data.abilities.con.total }, | |
{ "pdf": "Ability Score Intelligence", "foundry": @data.data.abilities.int.total }, | |
{ "pdf": "Ability Score Wisdom", "foundry": @data.data.abilities.wis.total }, | |
{ "pdf": "Ability Score Charisma", "foundry": @data.data.abilities.cha.total }, | |
{ "pdf": "Ability Modifier Strength", "foundry": @data.data.abilities.str.mod }, | |
{ "pdf": "Ability Modifier Dexterity", "foundry": @data.data.abilities.dex.mod }, | |
{ "pdf": "Ability Modifier Constitution", "foundry": @data.data.abilities.con.mod }, | |
{ "pdf": "Ability Modifier Intelligence", "foundry": @data.data.abilities.int.mod }, | |
{ "pdf": "Ability Modifier Wisdom", "foundry": @data.data.abilities.wis.mod }, | |
{ "pdf": "Ability Modifier Charisma", "foundry": @data.data.abilities.cha.mod }, | |
{ "pdf": "Total Initiative Modifier", "foundry": @data.data.attributes.init.total }, | |
{ "pdf": "Dex Modifier ini", "foundry": @data.data.abilities.dex.mod }, | |
{ "pdf": "Initiative Misc Modifier", "foundry": @data.data.attributes.init.bonus }, | |
{ "pdf": "Total Armor Class", "foundry": @data.data.attributes.ac.normal.total }, | |
{ "pdf": "Armor Bonus", "foundry": @_rollData.armor.ac }, | |
{ "pdf": "Shield Bonus", "foundry": @_rollData.shield.total }, | |
{ "pdf": "Dex Modifier1", "foundry": @data.data.abilities.dex.mod }, | |
{ "pdf": "Size Modifier1", "foundry": @data.data.traits.size }, | |
{ "pdf": "Natural Armor", "foundry": @data.data.attributes.naturalAC }, | |
{ "pdf": "AC Misc Modifier", "foundry": Math.floor(@data.data.attributes.ac.normal.total - @_rollData.armor.ac - @_rollData.shield.total - @data.data.abilities.dex.mod - @data.data.attributes.naturalAC - 10) }, | |
{ "pdf": "Touch Armor Class", "foundry": @data.data.attributes.ac.touch.total }, | |
{ "pdf": "Flat-Footed Armor Class", "foundry": @data.data.attributes.ac.flatFooted.total }, | |
{ "pdf": "Total Fortitude Save", "foundry": @data.data.attributes.savingThrows.fort.total }, | |
{ "pdf": "Base Save Fortitude", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.data.savingThrows.fort.value)[0] }, | |
{ "pdf": "Con Modifier S", "foundry": @data.data.abilities.con.mod }, | |
{ "pdf": "Total Reflex Save", "foundry": @data.data.attributes.savingThrows.ref.total }, | |
{ "pdf": "Base Save Reflex", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.data.savingThrows.ref.value)[0] }, | |
{ "pdf": "Dex Modifier S", "foundry": @data.data.abilities.dex.mod }, | |
{ "pdf": "Total Will save", "foundry": @data.data.attributes.savingThrows.will.total }, | |
{ "pdf": "Base Save Will", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.data.savingThrows.will.value)[0] }, | |
{ "pdf": "Wis Modifier S", "foundry": @data.data.abilities.wis.mod }, | |
{ "pdf": "Magic Modifier Fortitude", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.data.savingThrows.fort.value)[1] || "" }, | |
{ "pdf": "Magic Modifier Reflex", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.data.savingThrows.ref.value)[1] || "" }, | |
{ "pdf": "Magic Modifier Will", "foundry": @data.items.filter(i => i.data.type === "class").map(i => i.data.data.savingThrows.will.value)[1] || "" }, | |
{ "pdf": "Saving Throw Modifiers", "foundry": @data.data.attributes.saveNotes }, | |
{ "pdf": "Weapon Name Slot 1", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[0]?.name || "" }, | |
{ "pdf": "Weapon Name Slot 2", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[1]?.name || "" }, | |
{ "pdf": "Weapon Name Slot 3", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[2]?.name || "" }, | |
{ "pdf": "Weapon Name Slot 4", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[3]?.name || "" }, | |
{ "pdf": "Weapon Name Slot 5", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[4]?.name || "" }, | |
{ "pdf": "Type Slot 1", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[0]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Type Slot 2", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[1]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Type Slot 3", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[2]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Type Slot 4", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[3]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Type Slot 5", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[4]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Attack Bonus Slot 1", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[0]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Attack Bonus Slot 2", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[1]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Attack Bonus Slot 3", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[2]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Attack Bonus Slot 4", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[3]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Attack Bonus Slot 5", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[4]?.data.data.weaponSubtype || "" }, | |
{ "pdf": "Critical Slot 1", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[0]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critRange || 20 }, | |
{ "pdf": "Critical Slot 2", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[1]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critRange || 20 }, | |
{ "pdf": "Critical Slot 3", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[2]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critRange || 20 }, | |
{ "pdf": "Critical Slot 4", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[3]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critRange || 20 }, | |
{ "pdf": "Critical Slot 5", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[4]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critRange || 20 }, | |
{ "pdf": "Multi Slot 1", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[0]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critMult || 2 }, | |
{ "pdf": "Multi Slot 2", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[1]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critMult || 2 }, | |
{ "pdf": "Multi Slot 3", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[2]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critMult || 2 }, | |
{ "pdf": "Multi Slot 4", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[3]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critMult || 2 }, | |
{ "pdf": "Multi Slot 5", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[4]?.data.data.actions.filter(a => a.actionType = "mwak")[0].ability.critMult || 2 }, | |
{ "pdf": "Total CMB", "foundry": @data.data.attributes.cmb.total }, | |
{ "pdf": "Total CMD", "foundry": @data.data.attributes.cmd.total }, | |
{ "pdf": "Base Attack Bonus_a", "foundry": @data.data.attributes.bab.total }, | |
{ "pdf": "Spell Resistance", "foundry": @data.data.attributes.sr.total }, | |
{ "pdf": "Base Attack Bonus1", "foundry": @data.data.attributes.bab.total }, | |
{ "pdf": "Base Attack Bonus2", "foundry": @data.data.attributes.bab.total }, | |
{ "pdf": "Str Modifiercmb", "foundry": @data.data.abilities.str.mod }, | |
{ "pdf": "Str Modifiercmd", "foundry": @data.data.abilities.str.mod }, | |
{ "pdf": "Dex Modifiercmd", "foundry": @data.data.abilities.dex.mod }, | |
{ "pdf": "Size Modifiercmb", "foundry": @data.data.traits.size }, | |
{ "pdf": "Size Modifiercmd", "foundry": @data.data.traits.size }, | |
/* Page #2 */ | |
{ "pdf": "Item 1", "foundry": @data.items.filter(i => ["loot", "weapon", "consumable", "equipment"].includes(i.type)).map(i => `${i.data.data.quantity}x ${i.name}`).sort().join("\n") + '\n' + @data.items.filter(i => i.type === 'container').map(i => { let s = `${i.data.data.quantity}x ${i.name}\n`; i.items.forEach(ci => { s += ` ${ci.data.data.quantity}x ${ci.name}\n`; }); return s; }).join('\n') }, | |
{ "pdf": "Spell Name Level 0", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 0).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Spell Name Level 1", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 1).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Spell Name Level 2", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 2).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Spell Name Level 3", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 3).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Spell Name Level 4", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 4).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Spell Name Level 5", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 5).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Spell Name Level 6", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 6).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Spell Name Level 7", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 7).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Spell Name Level 8", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 8).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Spell Name Level 9", "foundry": @data.items.filter(i => ["spell"].includes(i.type) && i.data.data.level === 9).map(i => `${i.name}`).sort().join(" // ") }, | |
{ "pdf": "Copper", "foundry": @data.data.currency.cp || "" }, | |
{ "pdf": "Silver", "foundry": @data.data.currency.sp || "" }, | |
{ "pdf": "Gold", "foundry": @data.data.currency.gp || "" }, | |
{ "pdf": "Platinum", "foundry": @data.data.currency.pp || "" }, | |
{ "pdf": "Total WT", "foundry": @data.data.attributes.encumbrance.carriedWeight }, | |
{ "pdf": "Light Load", "foundry": @data.data.attributes.encumbrance.levels.light }, | |
{ "pdf": "Medium Load", "foundry": @data.data.attributes.encumbrance.levels.medium }, | |
{ "pdf": "Heavy Load", "foundry": @data.data.attributes.encumbrance.levels.heavy }, | |
{ "pdf": "Lift Over Head", "foundry": @data.data.attributes.encumbrance.levels.heavy }, | |
{ "pdf": "Lift Off Ground", "foundry": @data.data.attributes.encumbrance.levels.carry }, | |
{ "pdf": "Drag or Push", "foundry": @data.data.attributes.encumbrance.levels.drag }, | |
{ "pdf": "Feat 1", "foundry": @data.items.filter(i => i.type === "feat" && i.subType === "feat").map(i => i.name).sort().join("\n") }, | |
{ "pdf": "Special Abilities 1", "foundry": @data.items.filter(i => i.type === "feat" && i.subType === "classFeat").map(i => i.name).sort().join("\n") }, | |
{ "pdf": "Special Abilities 2", "foundry": @data.items.filter(i => i.type === "feat" && i.subType === "trait").map(i => i.name).sort().join("\n") }, | |
{ "pdf": "First Class Experience Points", "foundry": @data.data.details.xp.value }, | |
{ "pdf": "First Class Next Level", "foundry": @data.data.details.xp.max }, | |
{ "pdf": "First Class Experience Points1", "foundry": @data.data.details.xp.pct }, | |
{ "pdf": "Spells Per Day Level 0", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell0.value }, | |
{ "pdf": "Spells Per Day Level 1", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell1.value }, | |
{ "pdf": "Spells Per Day Level 2", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell2.value }, | |
{ "pdf": "Spells Per Day Level 3", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell3.value }, | |
{ "pdf": "Spells Per Day Level 4", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell4.value }, | |
{ "pdf": "Spells Per Day Level 5", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell5.value }, | |
{ "pdf": "Spells Per Day Level 6", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell6.value }, | |
{ "pdf": "Spells Per Day Level 7", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell7.value }, | |
{ "pdf": "Spells Per Day Level 8", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell8.value }, | |
{ "pdf": "Spells Per Day Level 9", "foundry": @system.attributes.spells.spellbooks.primary.spells.spell9.value }, | |
{ "pdf": "Close", "foundry": @system.attributes.spells.spellbooks.primary.range?.close ?? '-' }, | |
{ "pdf": "Medium", "foundry": @system.attributes.spells.spellbooks.primary.range?.medium ?? '-' }, | |
{ "pdf": "Long", "foundry": @system.attributes.spells.spellbooks.primary.range?.long ?? '-' }, | |
{ "pdf": "AC Items Slot 1", "foundry": @data.items.filter(i => i.type === "equipment" && i.subType === "armor").map(i => i.name).sort().join(",\n") }, | |
{ "pdf": "AC Items Slot 2", "foundry": @data.items.filter(i => i.type === "equipment" && i.subType === "shield").map(i => i.name).sort().join(",\n") }, | |
{ "pdf": "Bonus 1", "foundry": @_rollData.armor.total }, | |
{ "pdf": "Bonus 2", "foundry": @_rollData.shield.total }, | |
{ "pdf": "Type 1", "foundry": @data.items.filter(i => i.type === "equipment" && i.subType === "armor").map(i => i.data.data.equipmentSubtype).sort().join(",\n") }, | |
{ "pdf": "Type 2", "foundry": @data.items.filter(i => i.type === "equipment" && i.subType === "shield").map(i => i.data.data.equipmentSubtype).sort().join(",\n") }, | |
{ "pdf": "Check Penalty 1", "foundry": @data.items.filter(i => i.type === "equipment" && i.subType === "armor").map(i => i.data.data.armor.acp).sort().join(",\n") }, | |
{ "pdf": "Check Penalty 2", "foundry": @data.items.filter(i => i.type === "equipment" && i.subType === "shield").map(i => i.data.data.armor.acp).sort().join(",\n") }, | |
{ "pdf": "Spell Failure 1", "foundry": @data.items.filter(i => i.type === "equipment" && i.subType === "armor").map(i => i.data.data.spellFailure).sort().join(",\n") }, | |
{ "pdf": "Spell Failure 2", "foundry": @data.items.filter(i => i.type === "equipment" && i.subType === "shield").map(i => i.data.data.spellFailure).sort().join(",\n") }, | |
{ "pdf": "Acrobatics", "foundry": @data.data.skills.acr.cs }, | |
{ "pdf": "Appraise Check", "foundry": @data.data.skills.apr.cs }, | |
{ "pdf": "Bluff Check", "foundry": @data.data.skills.blf.cs }, | |
{ "pdf": "Climb check", "foundry": @data.data.skills.clm.cs }, | |
{ "pdf": "Diplomacy Check", "foundry": @data.data.skills.dip.cs }, | |
{ "pdf": "Disable Device Check", "foundry": @data.data.skills.dev.cs }, | |
{ "pdf": "Disguise Check", "foundry": @data.data.skills.dis.cs }, | |
{ "pdf": "Escape Artist Check", "foundry": @data.data.skills.esc.cs }, | |
{ "pdf": "Fly Check", "foundry": @data.data.skills.fly.cs }, | |
{ "pdf": "Handle Animal Check", "foundry": @data.data.skills.han.cs }, | |
{ "pdf": "Heal Check", "foundry": @data.data.skills.hea.cs }, | |
{ "pdf": "Intimidate Check", "foundry": @data.data.skills.int.cs }, | |
{ "pdf": "Knowledge (Arcana) Check", "foundry": @data.data.skills.kar.cs }, | |
{ "pdf": "Knowledge (Dungeoneering) Check", "foundry": @data.data.skills.kdu.cs }, | |
{ "pdf": "Knowledge (Engineering) Check", "foundry": @data.data.skills.ken.cs }, | |
{ "pdf": "Knowledge (Geography) Check", "foundry": @data.data.skills.kge.cs }, | |
{ "pdf": "Knowledge (History) Check", "foundry": @data.data.skills.khi.cs }, | |
{ "pdf": "Knowledge (Local) Check", "foundry": @data.data.skills.klo.cs }, | |
{ "pdf": "Knowledge (Nature) Check", "foundry": @data.data.skills.kna.cs }, | |
{ "pdf": "Knowledge (Nobility) Check", "foundry": @data.data.skills.kno.cs }, | |
{ "pdf": "Knowledge (Planes) Check", "foundry": @data.data.skills.kpl.cs }, | |
{ "pdf": "Knowledge (Religion) Check", "foundry": @data.data.skills.kre.cs }, | |
{ "pdf": "Linguistics Check", "foundry": @data.data.skills.lin.cs }, | |
{ "pdf": "Perception Check", "foundry": @data.data.skills.per.cs }, | |
{ "pdf": "Ride Check", "foundry": @data.data.skills.rid.cs }, | |
{ "pdf": "Sense Motive Check", "foundry": @data.data.skills.sen.cs }, | |
{ "pdf": "Sleight Of Hand Check", "foundry": @data.data.skills.slt.cs }, | |
{ "pdf": "SpellCraft Check", "foundry": @data.data.skills.spl.cs }, | |
{ "pdf": "Stealth Check", "foundry": @data.data.skills.ste.cs }, | |
{ "pdf": "Survival", "foundry": @data.data.skills.sur.cs }, | |
{ "pdf": "Swim Check", "foundry": @data.data.skills.swm.cs }, | |
{ "pdf": "Use Magic Device Check", "foundry": @data.data.skills.umd.cs }, | |
{ "pdf": "Ranks 1", "foundry": @data.data.skills.acr.rank }, | |
{ "pdf": "Ranks 2", "foundry": @data.data.skills.apr.rank }, | |
{ "pdf": "Ranks 3", "foundry": @data.data.skills.blf.rank }, | |
{ "pdf": "Ranks 4", "foundry": @data.data.skills.clm.rank }, | |
{ "pdf": "Ranks 8", "foundry": @data.data.skills.dip.rank }, | |
{ "pdf": "Ranks 9", "foundry": @data.data.skills.dev.rank }, | |
{ "pdf": "Ranks 10", "foundry": @data.data.skills.dis.rank }, | |
{ "pdf": "Ranks 11", "foundry": @data.data.skills.esc.rank }, | |
{ "pdf": "Ranks 12", "foundry": @data.data.skills.fly.rank }, | |
{ "pdf": "Ranks 13", "foundry": @data.data.skills.han.rank }, | |
{ "pdf": "Ranks 14", "foundry": @data.data.skills.hea.rank }, | |
{ "pdf": "Ranks 15", "foundry": @data.data.skills.int.rank }, | |
{ "pdf": "Ranks 16", "foundry": @data.data.skills.kar.rank }, | |
{ "pdf": "Ranks 17", "foundry": @data.data.skills.kdu.rank }, | |
{ "pdf": "Ranks 18", "foundry": @data.data.skills.ken.rank }, | |
{ "pdf": "Ranks 19", "foundry": @data.data.skills.kge.rank }, | |
{ "pdf": "Ranks 20", "foundry": @data.data.skills.khi.rank }, | |
{ "pdf": "Ranks 21", "foundry": @data.data.skills.klo.rank }, | |
{ "pdf": "Ranks 22", "foundry": @data.data.skills.kna.rank }, | |
{ "pdf": "Ranks 23", "foundry": @data.data.skills.kno.rank }, | |
{ "pdf": "Ranks 24", "foundry": @data.data.skills.kpl.rank }, | |
{ "pdf": "Ranks 25", "foundry": @data.data.skills.kre.rank }, | |
{ "pdf": "Ranks 26", "foundry": @data.data.skills.lin.rank }, | |
{ "pdf": "Ranks 27", "foundry": @data.data.skills.per.rank }, | |
{ "pdf": "Ranks 32", "foundry": @data.data.skills.rid.rank }, | |
{ "pdf": "Ranks 33", "foundry": @data.data.skills.sen.rank }, | |
{ "pdf": "Ranks 34", "foundry": @data.data.skills.slt.rank }, | |
{ "pdf": "Ranks 35", "foundry": @data.data.skills.spl.rank }, | |
{ "pdf": "Ranks 36", "foundry": @data.data.skills.ste.rank }, | |
{ "pdf": "Ranks 37", "foundry": @data.data.skills.sur.rank }, | |
{ "pdf": "Ranks 38", "foundry": @data.data.skills.swm.rank }, | |
{ "pdf": "Ranks 39", "foundry": @data.data.skills.umd.rank }, | |
{ "pdf": "Total Bonus 1", "foundry": @data.data.skills.acr.mod }, | |
{ "pdf": "Total Bonus 2", "foundry": @data.data.skills.apr.mod }, | |
{ "pdf": "Total Bonus 3", "foundry": @data.data.skills.blf.mod }, | |
{ "pdf": "Total Bonus 4", "foundry": @data.data.skills.clm.mod }, | |
{ "pdf": "Total Bonus 8", "foundry": @data.data.skills.dip.mod }, | |
{ "pdf": "Total Bonus 9", "foundry": @data.data.skills.dev.mod }, | |
{ "pdf": "Total Bonus 10", "foundry": @data.data.skills.dis.mod }, | |
{ "pdf": "Total Bonus 11", "foundry": @data.data.skills.esc.mod }, | |
{ "pdf": "Total Bonus 12", "foundry": @data.data.skills.fly.mod }, | |
{ "pdf": "Total Bonus 13", "foundry": @data.data.skills.han.mod }, | |
{ "pdf": "Total Bonus 14", "foundry": @data.data.skills.hea.mod }, | |
{ "pdf": "Total Bonus 15", "foundry": @data.data.skills.int.mod }, | |
{ "pdf": "Total Bonus 16", "foundry": @data.data.skills.kar.mod }, | |
{ "pdf": "Total Bonus 17", "foundry": @data.data.skills.kdu.mod }, | |
{ "pdf": "Total Bonus 18", "foundry": @data.data.skills.ken.mod }, | |
{ "pdf": "Total Bonus 19", "foundry": @data.data.skills.kge.mod }, | |
{ "pdf": "Total Bonus 20", "foundry": @data.data.skills.khi.mod }, | |
{ "pdf": "Total Bonus 21", "foundry": @data.data.skills.klo.mod }, | |
{ "pdf": "Total Bonus 22", "foundry": @data.data.skills.kna.mod }, | |
{ "pdf": "Total Bonus 23", "foundry": @data.data.skills.kno.mod }, | |
{ "pdf": "Total Bonus 24", "foundry": @data.data.skills.kpl.mod }, | |
{ "pdf": "Total Bonus 25", "foundry": @data.data.skills.kre.mod }, | |
{ "pdf": "Total Bonus 26", "foundry": @data.data.skills.lin.mod }, | |
{ "pdf": "Total Bonus 27", "foundry": @data.data.skills.per.mod }, | |
{ "pdf": "Total Bonus 32", "foundry": @data.data.skills.rid.mod }, | |
{ "pdf": "Total Bonus 33", "foundry": @data.data.skills.sen.mod }, | |
{ "pdf": "Total Bonus 34", "foundry": @data.data.skills.slt.mod }, | |
{ "pdf": "Total Bonus 35", "foundry": @data.data.skills.spl.mod }, | |
{ "pdf": "Total Bonus 36", "foundry": @data.data.skills.ste.mod }, | |
{ "pdf": "Total Bonus 37", "foundry": @data.data.skills.sur.mod }, | |
{ "pdf": "Total Bonus 38", "foundry": @data.data.skills.swm.mod }, | |
{ "pdf": "Total Bonus 39", "foundry": @data.data.skills.umd.mod }, | |
{ "pdf": "Profession 1 Check", "foundry": @data.data.skills.pro.subSkills.pro1?.cs }, | |
{ "pdf": "Profession 1", "foundry": @data.data.skills.pro.subSkills.pro1?.name || "" }, | |
{ "pdf": "Total Bonus 30", "foundry": (@data.data.skills.pro.subSkills.pro1?.name) ?@data.data.skills.pro.subSkills.pro1.mod : "" }, | |
{ "pdf": "Ranks 30", "foundry": (@data.data.skills.pro.subSkills.pro1?.name) ?@data.data.skills.pro.subSkills.pro1.rank : "" }, | |
{ "pdf": "Profession 2 Check", "foundry": @data.data.skills.pro.subSkills.pro2?.cs || "" }, | |
{ "pdf": "Profession 2", "foundry": @data.data.skills.pro.subSkills.pro2?.name || "" }, | |
{ "pdf": "Total Bonus 31", "foundry": (@data.data.skills.pro.subSkills.pro2?.name) ?@data.data.skills.pro.subSkills.pro2.mod : "" }, | |
{ "pdf": "Ranks 31", "foundry": (@data.data.skills.prf.subSkills.pro2?.name) ?@data.data.skills.prf.subSkills.pro2.rank : "" }, | |
{ "pdf": "Perform 1 check", "foundry": @data.data.skills.prf.subSkills.prf1?.cs }, | |
{ "pdf": "Perform 1", "foundry": @data.data.skills.prf.subSkills.prf1?.name || "" }, | |
{ "pdf": "Total Bonus 28", "foundry": (@data.data.skills.prf.subSkills.prf1?.name) ?@data.data.skills.prf.subSkills.prf1.mod : "" }, | |
{ "pdf": "Ranks 28", "foundry": (@data.data.skills.prf.subSkills.prf1?.name) ?@data.data.skills.prf.subSkills.prf1.rank : "" }, | |
{ "pdf": "Perform 2 check", "foundry": @data.data.skills.prf.subSkills.prf2?.cs || "" }, | |
{ "pdf": "Perform 2", "foundry": @data.data.skills.prf.subSkills.prf2?.name || "" }, | |
{ "pdf": "Total Bonus 29", "foundry": (@data.data.skills.prf.subSkills.prf2?.name) ?@data.data.skills.prf.subSkills.prf2.mod : "" }, | |
{ "pdf": "Ranks 29", "foundry": (@data.data.skills.prf.subSkills.prf2?.name) ?@data.data.skills.prf.subSkills.prf2.rank : "" }, | |
{ "pdf": "Craft Check 1", "foundry": @data.data.skills.crf.subSkills.crf1?.cs || "" }, | |
{ "pdf": "Craft 1", "foundry": @data.data.skills.crf.subSkills.crf1?.name || "" }, | |
{ "pdf": "Total Bonus 5", "foundry": (@data.data.skills.crf.subSkills.crf1?.name) ?@data.data.skills.crf.subSkills.crf1.mod : "" }, | |
{ "pdf": "Ranks 5", "foundry": (@data.data.skills.crf.subSkills.crf1?.name) ?@data.data.skills.crf.subSkills.crf1.rank : "" }, | |
{ "pdf": "Craft Check 2", "foundry": @data.data.skills.crf.subSkills.crf2?.cs || "" }, | |
{ "pdf": "Craft 2", "foundry": @data.data.skills.crf.subSkills.crf2?.name || "" }, | |
{ "pdf": "Total Bonus 6", "foundry": (@data.data.skills.crf.subSkills.crf2?.name) ?@data.data.skills.crf.subSkills.crf2.mod : "" }, | |
{ "pdf": "Ranks 6", "foundry": (@data.data.skills.crf.subSkills.crf2?.name) ?@data.data.skills.crf.subSkills.crf2.rank : "" }, | |
{ "pdf": "Craft Check 3", "foundry": @data.data.skills.crf.subSkills.crf3?.cs || "" }, | |
{ "pdf": "Craft 3", "foundry": @data.data.skills.crf.subSkills.crf3?.name || "" }, | |
{ "pdf": "Total Bonus 7", "foundry": (@data.data.skills.crf.subSkills.crf3?.name) ?@data.data.skills.crf.subSkills.crf3.mod : "" }, | |
{ "pdf": "Ranks 7", "foundry": (@data.data.skills.crf.subSkills.crf3?.name) ?@data.data.skills.crf.subSkills.crf3.rank : "" }, | |
{ "pdf": "Languages Line 1", "foundry": [@data.data.traits.languages.total.map(l => l.capitalize()).sort().join(", "), @data.data.traits.languages.custom,].filter(String).join(", ") }, | |
/*{ "pdf": "Conditional Modifiers Line 1", "foundry": [actor.data.data.traits.weaponProf.total.filter(String).map(l => l.capitalize()).join(", "), actor.data.data.traits.weaponProf.custom, actor.data.data.traits.armorProf.total.filter(String).map(l => l.capitalize()).join(", "), actor.data.data.traits.armorProf.custom,].filter(String).join(", ") },*/ | |
{ "pdf": "Damage Slot 1", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[0]?.data?.data?.damage?.parts[0][0]?.replace(/sizeRoll\((?<count>[0-9]*), ?(?<size>[0-9]*), ?\u0040size\)/, "$<count>d$<size>") || "" }, | |
{ "pdf": "DT Slot 1", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[0]?.data?.data?.damage?.parts[0][1] || "" }, | |
{ "pdf": "Damage Slot 2", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[1]?.data?.data?.damage?.parts[0][0]?.replace(/sizeRoll\((?<count>[0-9]*), ?(?<size>[0-9]*), ?\u0040size\)/, "$<count>d$<size>") || "" }, | |
{ "pdf": "DT Slot 2", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[1]?.data?.data?.damage?.parts[0][1] || "" }, | |
{ "pdf": "Damage Slot 3", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[2]?.data?.data?.damage?.parts[0][0]?.replace(/sizeRoll\((?<count>[0-9]*), ?(?<size>[0-9]*), ?\u0040size\)/, "$<count>d$<size>") || "" }, | |
{ "pdf": "DT Slot 3", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[2]?.data?.data?.damage?.parts[0][1] || "" }, | |
{ "pdf": "Damage Slot 4", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[3]?.data?.data?.damage?.parts[0][0]?.replace(/sizeRoll\((?<count>[0-9]*), ?(?<size>[0-9]*), ?\u0040size\)/, "$<count>d$<size>") || "" }, | |
{ "pdf": "DT Slot 4", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[3]?.data?.data?.damage?.parts[0][1] || "" }, | |
{ "pdf": "Damage Slot 5", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[4]?.data?.data?.damage?.parts[0][0]?.replace(/sizeRoll\((?<count>[0-9]*), ?(?<size>[0-9]*), ?\u0040size\)/, "$<count>d$<size>") || "" }, | |
{ "pdf": "DT Slot 5", "foundry": @data.items.filter(i => i.type === "weapon" && i.data.data.equipped && i.hasAttack && i.hasDamage)[4]?.data?.data?.damage?.parts[0][1] || "" }, | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment