@opencharacter/awn-core 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -3
- package/content/edges/educated.yaml +11 -0
- package/content/edges/focused.yaml +1 -0
- package/content/edges/forged-by-fire.yaml +1 -0
- package/content/edges/hardened-genetics.yaml +1 -0
- package/content/edges/mutant.yaml +17 -0
- package/content/edges/mutation-acceleration.yaml +24 -0
- package/content/edges/prodigy.yaml +1 -0
- package/content/foci/unstable-mutant.yaml +14 -0
- package/content/mutation-categories/cognition.yaml +2 -0
- package/content/mutation-categories/exotic.yaml +2 -0
- package/content/mutation-categories/hybrid.yaml +2 -0
- package/content/mutation-categories/pseudo-psychic.yaml +2 -0
- package/content/mutation-categories/sense.yaml +2 -0
- package/content/mutation-categories/structure.yaml +2 -0
- package/content/mutations/cognition/augmented-cognition.yaml +1 -1
- package/content/mutations/cognition/ballistic-calculator.yaml +1 -1
- package/content/mutations/cognition/eidetic-memory.yaml +1 -1
- package/content/mutations/cognition/internal-map.yaml +1 -1
- package/content/mutations/cognition/intuitive-leap.yaml +1 -1
- package/content/mutations/cognition/memory-eater.yaml +1 -1
- package/content/mutations/cognition/mental-bifurcation.yaml +1 -1
- package/content/mutations/cognition/mind-over-body.yaml +1 -1
- package/content/mutations/cognition/omniglot.yaml +1 -1
- package/content/mutations/cognition/predictive-analysis.yaml +1 -1
- package/content/mutations/exotic/chameleon-field.yaml +1 -1
- package/content/mutations/exotic/electrical-generation.yaml +1 -1
- package/content/mutations/exotic/hemovore.yaml +1 -1
- package/content/mutations/exotic/image-projection.yaml +1 -1
- package/content/mutations/exotic/metamorph.yaml +1 -1
- package/content/mutations/exotic/molecular-phasing.yaml +1 -1
- package/content/mutations/exotic/natural-projectiles.yaml +1 -1
- package/content/mutations/exotic/pheromone-cloud.yaml +1 -1
- package/content/mutations/exotic/photon-manipulation.yaml +1 -1
- package/content/mutations/exotic/sound-generation.yaml +1 -1
- package/content/mutations/hybrid/aquatic-adaptation.yaml +1 -1
- package/content/mutations/hybrid/arboreal-aptitude.yaml +1 -1
- package/content/mutations/hybrid/centauroid.yaml +1 -1
- package/content/mutations/hybrid/crushing-jaws.yaml +1 -1
- package/content/mutations/hybrid/digitigrade-legs.yaml +1 -1
- package/content/mutations/hybrid/functional-wings.yaml +1 -1
- package/content/mutations/hybrid/prehensile-limb.yaml +1 -1
- package/content/mutations/hybrid/savage-claws.yaml +1 -1
- package/content/mutations/hybrid/thick-hide.yaml +1 -1
- package/content/mutations/hybrid/venom-glands.yaml +1 -1
- package/content/mutations/pseudo-psychic/force-field.yaml +1 -1
- package/content/mutations/pseudo-psychic/induce-confusion.yaml +1 -1
- package/content/mutations/pseudo-psychic/limited-precognition.yaml +1 -1
- package/content/mutations/pseudo-psychic/mental-domination.yaml +1 -1
- package/content/mutations/pseudo-psychic/mind-reader.yaml +1 -1
- package/content/mutations/pseudo-psychic/neural-lockdown.yaml +1 -1
- package/content/mutations/pseudo-psychic/panic-wave.yaml +1 -1
- package/content/mutations/pseudo-psychic/spatial-displacement.yaml +1 -1
- package/content/mutations/pseudo-psychic/telekinetic-reach.yaml +1 -1
- package/content/mutations/pseudo-psychic/thermokinesis.yaml +1 -1
- package/content/mutations/sense/accelerated-perception.yaml +1 -1
- package/content/mutations/sense/acute-hearing.yaml +1 -1
- package/content/mutations/sense/acute-olfaction.yaml +1 -1
- package/content/mutations/sense/echolocation.yaml +1 -1
- package/content/mutations/sense/empathic-sensitivity.yaml +1 -1
- package/content/mutations/sense/night-vision.yaml +1 -1
- package/content/mutations/sense/panoptic-vision.yaml +1 -1
- package/content/mutations/sense/tactile-analysis.yaml +1 -1
- package/content/mutations/sense/telescopic-sight.yaml +1 -1
- package/content/mutations/sense/thermal-vision.yaml +1 -1
- package/content/mutations/structure/augmented-muscle.yaml +1 -1
- package/content/mutations/structure/explosive-exertion.yaml +1 -1
- package/content/mutations/structure/hypercontortion.yaml +1 -1
- package/content/mutations/structure/improved-joints.yaml +1 -1
- package/content/mutations/structure/leaper.yaml +1 -1
- package/content/mutations/structure/redundant-organs.yaml +1 -1
- package/content/mutations/structure/regenerator.yaml +1 -1
- package/content/mutations/structure/reinforced-tissues.yaml +1 -1
- package/content/mutations/structure/sealed-systems.yaml +1 -1
- package/content/mutations/structure/stamina-reserves.yaml +1 -1
- package/content/prepared/backpack.yaml +5 -0
- package/content/prepared/binoculars.yaml +4 -0
- package/content/prepared/camping-kit.yaml +4 -0
- package/content/prepared/cash.yaml +4 -0
- package/content/prepared/cold-weather-clothes.yaml +5 -0
- package/content/prepared/criminal-firearm.yaml +7 -0
- package/content/prepared/first-aid-kit.yaml +4 -0
- package/content/prepared/flashlight.yaml +4 -0
- package/content/prepared/heavy-pistol.yaml +7 -0
- package/content/prepared/knife.yaml +5 -0
- package/content/prepared/laptop.yaml +4 -0
- package/content/prepared/light-pistol.yaml +7 -0
- package/content/prepared/lighters.yaml +4 -0
- package/content/prepared/lockpick-kit.yaml +4 -0
- package/content/prepared/preserved-food.yaml +4 -0
- package/content/prepared/profession-item.yaml +4 -0
- package/content/prepared/purification-tablets.yaml +4 -0
- package/content/prepared/radio.yaml +4 -0
- package/content/prepared/rifle.yaml +7 -0
- package/content/prepared/shotgun.yaml +7 -0
- package/content/prepared/sleeping-bag.yaml +4 -0
- package/content/prepared/smartphone.yaml +4 -0
- package/content/prepared/solar-charger.yaml +4 -0
- package/content/prepared/tent.yaml +4 -0
- package/content/prepared/toolkit.yaml +4 -0
- package/content/prepared/walkie-talkies.yaml +5 -0
- package/content/prepared/water-purifier.yaml +4 -0
- package/content/weapons/primitive-bow.yaml +1 -0
- package/dist/i18n/en.js +1 -1
- package/dist/i18n/en.json +101 -34
- package/dist/index.js +1 -1
- package/dist/release.json +2008 -1434
- package/i18n/en/content.yaml +49 -0
- package/i18n/en/core.yaml +52 -34
- package/pack.yaml +2 -2
- package/package.json +2 -2
- package/rules/advancement.yaml +41 -42
- package/rules/backgrounds.yaml +17 -16
- package/rules/checks.yaml +5 -1
- package/rules/combat.yaml +1 -1
- package/rules/creation.yaml +71 -25
- package/rules/features.yaml +9 -4
- package/rules/gear.yaml +20 -1
- package/rules/layout.yaml +2 -0
- package/rules/mutations.yaml +50 -26
- package/rules/skills.yaml +8 -4
- package/rules/starting-equipment.yaml +24 -101
- package/rules/tags.yaml +13 -0
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by pnpm build:packs. Do not edit.
|
|
2
|
-
export default {"manifest":{"id":"awn-core","version":"0.1.0","specVersion":"0.2.0","license":"LicenseRef-sine-nomine-free-edition","credit":"Text from Ashes Without Number (Free Edition), © 2025 Sine Nomine Publishing, Inc., by Kevin Crawford. Used with the author's permission.","notices":{"permission":"The content of the free edition of Ashes Without Number is reproduced here with the author's permission; nothing from the game's paid edition is included.","not-affiliated":"Ashes Without Number is a game by Kevin Crawford, published by Sine Nomine Publishing. This pack is an unofficial model of its character rules: it is not affiliated with or endorsed by Sine Nomine Publishing."},"defaultLanguage":"en"},"rules":{"fields":{"xp.current":{"type":"integer","input":true,"default":0,"min":0},"xp.rate":{"type":"enum","input":true,"default":"fast","values":["fast","slow"]},"xp.next":{"type":"integer","formula":"level >= 10 ? 0 : (xp.rate == 'fast' ? [0, 3, 6, 12, 18, 27, 39, 54, 72, 93]\n : [0, 6, 15, 24, 36, 51, 69, 87, 105, 139])[level]"},"attributes.boosts":{"type":"integer","input":true,"default":0,"min":0,"max":5},"hp.max":{"type":"integer","input":true,"default":1,"min":1},"hp.current":{"type":"integer","input":true,"default":1,"min":0,"max":"hp.max"},"hp.attributeMod":{"type":"integer","formula":"attributes.con.mod"},"hp.dieBonus":{"type":"integer","formula":"hp.attributeMod"},"combat.attackBonus":{"type":"integer","formula":"floor(level / 2)"},"combat.damageBonus":{"type":"integer","formula":0},"combat.melee.hit":{"type":"integer","formula":0},"combat.melee.damage":{"type":"integer","formula":0},"combat.melee.shock":{"type":"integer","formula":0},"combat.melee.shockAnyAc":{"type":"boolean","formula":false},"combat.armed.hit":{"type":"integer","formula":0},"combat.armed.damage":{"type":"integer","formula":0},"combat.armed.shock":{"type":"integer","formula":0},"combat.armed.shockAnyAc":{"type":"boolean","formula":false},"combat.ranged.damage":{"type":"integer","formula":0},"combat.traumaTarget":{"type":"integer","formula":"6 + maxCopies(copy.fields.traumaMod, copy.type == 'armor' && copy.equipped\n && has(copy.fields.traumaMod))"},"move.base":{"type":"integer","formula":10},"move.value":{"type":"integer","formula":"encumbrance.overload <= 0 ? move.base\n : encumbrance.overload == 1 ? floor(move.base * 7 / 10) : floor(move.base / 2)"},"ac.armor":{"type":"integer","formula":"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped\n && !('shield' in copy.tags)))"},"ac.armorVsGuns":{"type":"integer","formula":"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped\n && !('shield' in copy.tags) && !('primitive' in copy.tags)))"},"ac.shield":{"type":"boolean","formula":"countCopies(copy.type == 'armor' && copy.equipped && 'shield' in copy.tags) > 0"},"ac.bonus":{"type":"integer","formula":0},"ac.value":{"type":"integer","formula":"(ac.shield ? (ac.armor >= 14 ? ac.armor + 1 : 14) : ac.armor) + attributes.dex.mod\n + ac.bonus"},"ac.vsGuns":{"type":"integer","formula":"ac.armorVsGuns + attributes.dex.mod + ac.bonus"},"saves.physicalMod":{"type":"integer","formula":"max(attributes.str.mod, attributes.con.mod)"},"saves.evasionMod":{"type":"integer","formula":"max(attributes.int.mod, attributes.dex.mod)"},"saves.mentalMod":{"type":"integer","formula":"max(attributes.wis.mod, attributes.cha.mod)"},"saves.physical":{"type":"integer","formula":"16 - level - saves.physicalMod","tags":["save","save.physical"]},"saves.evasion":{"type":"integer","formula":"16 - level - saves.evasionMod","tags":["save","save.evasion"]},"saves.mental":{"type":"integer","formula":"16 - level - saves.mentalMod","tags":["save","save.mental"]},"saves.luck":{"type":"integer","formula":"16 - level","tags":["save","save.luck"]},"strain.penalty":{"type":"integer","formula":0},"strain.bonus":{"type":"integer","formula":0},"strain.bonusCap":{"type":"integer","formula":20},"strain.max":{"type":"integer","formula":"(strain.penalty < 0\n ? max(min(3, attributes.con.score), attributes.con.score + strain.penalty)\n : attributes.con.score) + max(0, min(strain.bonus,\n strain.bonusCap - attributes.con.score))"},"strain.current":{"type":"integer","input":true,"default":0,"min":0,"max":"strain.max"},"stress.current":{"type":"integer","input":true,"default":0,"min":0},"stress.limit":{"type":"integer","formula":"attributes.wis.score"},"stress.immune":{"type":"boolean","formula":false},"defense.laserSensitive":{"type":"boolean","formula":false},"level":{"type":"integer","input":true,"default":1,"min":1,"max":10},"attributes.str.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.str"]},"attributes.dex.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.dex"]},"attributes.con.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.con"]},"attributes.int.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.int"]},"attributes.wis.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.wis"]},"attributes.cha.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.cha"]},"attributes.str.base":{"type":"integer","tags":["attribute-base","attribute.str"],"formula":"attributes.str.score <= 3 ? -2 : attributes.str.score <= 7 ? -1\n : attributes.str.score <= 13 ? 0 : attributes.str.score <= 17 ? 1 : 2"},"attributes.dex.base":{"type":"integer","tags":["attribute-base","attribute.dex"],"formula":"attributes.dex.score <= 3 ? -2 : attributes.dex.score <= 7 ? -1\n : attributes.dex.score <= 13 ? 0 : attributes.dex.score <= 17 ? 1 : 2"},"attributes.con.base":{"type":"integer","tags":["attribute-base","attribute.con"],"formula":"attributes.con.score <= 3 ? -2 : attributes.con.score <= 7 ? -1\n : attributes.con.score <= 13 ? 0 : attributes.con.score <= 17 ? 1 : 2"},"attributes.int.base":{"type":"integer","tags":["attribute-base","attribute.int"],"formula":"attributes.int.score <= 3 ? -2 : attributes.int.score <= 7 ? -1\n : attributes.int.score <= 13 ? 0 : attributes.int.score <= 17 ? 1 : 2"},"attributes.wis.base":{"type":"integer","tags":["attribute-base","attribute.wis"],"formula":"attributes.wis.score <= 3 ? -2 : attributes.wis.score <= 7 ? -1\n : attributes.wis.score <= 13 ? 0 : attributes.wis.score <= 17 ? 1 : 2"},"attributes.cha.base":{"type":"integer","tags":["attribute-base","attribute.cha"],"formula":"attributes.cha.score <= 3 ? -2 : attributes.cha.score <= 7 ? -1\n : attributes.cha.score <= 13 ? 0 : attributes.cha.score <= 17 ? 1 : 2"},"attributes.str.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.str"]},"attributes.dex.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.dex"]},"attributes.con.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.con"]},"attributes.int.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.int"]},"attributes.wis.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.wis"]},"attributes.cha.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.cha"]},"attributes.str.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.str"]},"attributes.dex.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.dex"]},"attributes.con.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.con"]},"attributes.int.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.int"]},"attributes.wis.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.wis"]},"attributes.cha.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.cha"]},"attributes.str.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.str"]},"attributes.dex.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.dex"]},"attributes.con.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.con"]},"attributes.int.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.int"]},"attributes.wis.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.wis"]},"attributes.cha.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.cha"]},"attributes.str.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.str"],"formula":"max(-2, (attributes.str.boost > 0\n ? max(attributes.str.base,\n min(2, attributes.str.base + attributes.str.boost))\n : attributes.str.base)\n + attributes.str.bonus + attributes.str.penalty)"},"attributes.dex.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.dex"],"formula":"max(-2, (attributes.dex.boost > 0\n ? max(attributes.dex.base,\n min(2, attributes.dex.base + attributes.dex.boost))\n : attributes.dex.base)\n + attributes.dex.bonus + attributes.dex.penalty)"},"attributes.con.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.con"],"formula":"max(-2, (attributes.con.boost > 0\n ? max(attributes.con.base,\n min(2, attributes.con.base + attributes.con.boost))\n : attributes.con.base)\n + attributes.con.bonus + attributes.con.penalty)"},"attributes.int.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.int"],"formula":"max(-2, (attributes.int.boost > 0\n ? max(attributes.int.base,\n min(2, attributes.int.base + attributes.int.boost))\n : attributes.int.base)\n + attributes.int.bonus + attributes.int.penalty)"},"attributes.wis.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.wis"],"formula":"max(-2, (attributes.wis.boost > 0\n ? max(attributes.wis.base,\n min(2, attributes.wis.base + attributes.wis.boost))\n : attributes.wis.base)\n + attributes.wis.bonus + attributes.wis.penalty)"},"attributes.cha.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.cha"],"formula":"max(-2, (attributes.cha.boost > 0\n ? max(attributes.cha.base,\n min(2, attributes.cha.base + attributes.cha.boost))\n : attributes.cha.base)\n + attributes.cha.bonus + attributes.cha.penalty)"},"attributes.baseTotal":{"type":"integer","formula":"attributes.str.base + attributes.dex.base + attributes.con.base + attributes.int.base\n + attributes.wis.base + attributes.cha.base"},"edges.held":{"type":"set","of":"edge"},"foci.held":{"type":"set","of":"focus"},"edges.underdog":{"type":"boolean","input":true,"default":false},"variant.giftedSurvivors":{"type":"boolean","input":true,"default":false},"edges.forgedByFire":{"type":"boolean","formula":"@edges.forged-by-fire in edges.held"},"edges.allowed":{"type":"integer","formula":"(edges.forgedByFire ? 1 + min(3, level - 1) : 2) + (level >= 5 ? 1 : 0)\n + (edges.underdog ? 1 : 0) + (variant.giftedSurvivors && level >= 3 ? 1 : 0)"},"edges.count":{"type":"integer","formula":"countCopies(copy.type == 'edge')"},"foci.bonus":{"type":"integer","formula":0},"foci.allowed":{"type":"integer","formula":"1 + (level >= 2 ? 1 : 0) + (level >= 5 ? 1 : 0) + (level >= 7 ? 1 : 0)\n + (level >= 10 ? 1 : 0) + foci.bonus"},"foci.count":{"type":"integer","formula":"sumCopies(copy.state.level, copy.type == 'focus')"},"encumbrance.strength":{"type":"integer","formula":"attributes.str.score"},"encumbrance.armorFactor":{"type":"integer","formula":1},"encumbrance.readied.max":{"type":"integer","formula":"floor(encumbrance.strength / 2)"},"encumbrance.stowed.max":{"type":"integer","formula":"encumbrance.strength"},"encumbrance.readied":{"type":"integer","formula":"sumCopies(copy.fields.enc * copy.quantity * (copy.type == 'armor' ? encumbrance.armorFactor : 1),\n copy.equipped && has(copy.fields.enc)\n && !(has(copy.fields.wornFree) && copy.fields.wornFree))"},"encumbrance.stowed":{"type":"integer","formula":"sumCopies(copy.fields.enc * ('bundleable' in copy.tags ? floor((copy.quantity + 2) / 3) : copy.quantity),\n !copy.equipped && has(copy.fields.enc))"},"encumbrance.overload":{"type":"integer","formula":"max(0, ceil((encumbrance.readied - encumbrance.readied.max) / 2),\n ceil((encumbrance.stowed - encumbrance.stowed.max) / 4))"},"mutations.mutant":{"type":"boolean","formula":"@edges.mutant in edges.held"},"mutations.negatives":{"type":"integer","formula":"countCopies(copy.type == 'negative')"},"mutations.points.total":{"type":"integer","formula":"(mutations.mutant ? 2 : 0) + (@edges.mutation-acceleration in edges.held ? 2 : 0)\n + 2 * mutations.negatives"},"mutations.stigmaConcealed":{"type":"boolean","input":true,"default":false},"mutations.points.spent":{"type":"integer","formula":"countCopies(copy.type == 'mutation' && copy.state.origin == 'random')\n + 3 * countCopies(copy.type == 'mutation' && copy.state.origin == 'chosen')\n + 3 * ceil(countCopies(copy.type == 'mutation' && copy.state.origin == 'category') / 2)\n + (mutations.stigmaConcealed ? 1 : 0)"},"mutations.points.left":{"type":"integer","formula":"mutations.points.total - mutations.points.spent"},"mutations.noVision":{"type":"boolean","formula":false},"mutations.noHearing":{"type":"boolean","formula":false},"mutations.sensitiveSkin":{"type":"boolean","formula":false},"stigma.part":{"type":"enum","input":true,"default":"none","values":["none","head","arms","legs","torso","senses"]},"stigma.part2":{"type":"enum","input":true,"default":"none","values":["none","head","arms","legs","torso","senses"]},"stigma.nature":{"type":"enum","input":true,"default":"none","values":["none","appearance","animal","size","plant","amorphous","mineral"]},"stigma.detail":{"type":"enum","input":true,"default":"none","values":["none","chitinous","feathered","fibrous","finned","furred","glassy","metallic","plated","scabrous","scaled","slimy","stony","bright-hue","chromed","gemlike","gradient-hue","iridescent","luminescent","neon","opalescent","patchy","strobing","transparent","whorled","beetle","bird","bovine","canine","equine","feline","fish","lizard","mollusk","snake","spider","turtle","bark","flowers","fragrance","fronds","fungal","gnarled","insects","leaves","moss","pollen","sap","vegetative"]},"skills.administer.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.administer"]},"skills.connect.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.connect"]},"skills.drive.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.drive"]},"skills.exert.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.exert"]},"skills.fix.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.fix"]},"skills.heal.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.heal"]},"skills.know.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.know"]},"skills.lead.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.lead"]},"skills.notice.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.notice"]},"skills.perform.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.perform"]},"skills.program.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.program"]},"skills.punch.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.punch"]},"skills.shoot.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.shoot"]},"skills.sneak.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.sneak"]},"skills.stab.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.stab"]},"skills.survive.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.survive"]},"skills.talk.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.talk"]},"skills.trade.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.trade"]},"skills.work.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.work"]},"skills.administer.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.connect.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.drive.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.exert.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.fix.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.heal.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.know.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.lead.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.notice.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.perform.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.program.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.punch.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.shoot.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.sneak.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.stab.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.survive.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.talk.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.trade.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.work.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.administer.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.administer"]},"skills.connect.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.connect"]},"skills.drive.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.drive"]},"skills.exert.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.exert"]},"skills.fix.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.fix"]},"skills.heal.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.heal"]},"skills.know.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.know"]},"skills.lead.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.lead"]},"skills.notice.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.notice"]},"skills.perform.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.perform"]},"skills.program.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.program"]},"skills.punch.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.punch"]},"skills.shoot.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.shoot"]},"skills.sneak.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.sneak"]},"skills.stab.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.stab"]},"skills.survive.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.survive"]},"skills.talk.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.talk"]},"skills.trade.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.trade"]},"skills.work.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.work"]},"skills.points":{"type":"integer","input":true,"default":0,"min":0},"skills.perLevel":{"type":"integer","formula":3,"min":0},"skills.highest":{"type":"integer","formula":"maxFields(f.value, 'skill' in f.tags)"},"languages.extra":{"type":"integer","formula":"max(0, skills.connect.level + 1) + max(0, skills.know.level + 1)"}},"actions":[{"id":"level-up","tags":["advancement"],"available":"!character.creating && level < 10","params":{"random":{"type":"boolean","default":false}},"results":["advanced"],"steps":[{"id":"up","kind":"changes","changes":[{"type":"set","field":"level","value":"level + 1"},{"type":"adjust","field":"skills.points","by":"skills.perLevel"}]},{"id":"edge","kind":"action","sheet":"proposed","when":"edges.count < edges.allowed","use":"gain-edge","params":{"random":"params.random"}},{"id":"focus1","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"focus2","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"picks","kind":"choice","options":{"pending":{}},"random":"params.random"},{"id":"hp","kind":"roll","sheet":"proposed","tags":["hit-points"],"parts":[{"dice":"(level)d6"}]},{"id":"rolled","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"rolled":"sumList(steps.hp.faces, max(1, x + hp.dieBonus))","old":"hp.max"}}]},{"id":"hpSet","kind":"changes","changes":[{"type":"set","field":"hp.max","value":"flags.rolled > flags.old ? flags.rolled : flags.old + 1"},{"type":"adjust","field":"hp.current","by":"(flags.rolled > flags.old ? flags.rolled : flags.old + 1) - flags.old"}]},{"id":"result","kind":"outcome","result":"'advanced'","data":{"hitPoints":"flags.rolled > flags.old ? flags.rolled : flags.old + 1"}}]},{"id":"gain-edge","tags":["advancement"],"params":{"random":{"type":"boolean","default":false}},"results":["gained"],"steps":[{"id":"edge","kind":"choice","sheet":"proposed","options":{"content":{"type":"edge","where":"(!(item.id in edges.held) || item.id == @edges.focused)\n && (item.id != @edges.forged-by-fire || (character.creating && edges.count == 0))\n && (item.id != @edges.mutation-acceleration || mutations.mutant)\n && (item.id != @edges.mutant || !(@edges.hardened-genetics in edges.held))\n && (item.id != @edges.hardened-genetics || !mutations.mutant)\n && (item.id != @edges.prodigy || !edges.underdog)"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id"}}]},{"id":"skill","kind":"action","when":"size(steps.edge.item.bonusSkill) > 0","use":"bonus-skill","params":{"skills":"steps.edge.item.bonusSkill","random":"params.random"}},{"id":"educated","kind":"changes","when":"!character.creating && steps.edge.picked == @edges.educated","changes":[{"type":"adjust","field":"skills.points","by":"level - 1"}]},{"id":"mutate","kind":"action","when":"!character.creating && steps.edge.picked == @edges.mutant","use":"mutate","params":{"random":"params.random"}},{"id":"accelerate1","kind":"action","sheet":"proposed","when":"!character.creating && steps.edge.picked == @edges.mutation-acceleration\n && mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"accelerate2","kind":"action","sheet":"proposed","when":"!character.creating && steps.edge.picked == @edges.mutation-acceleration\n && mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"result","kind":"outcome","result":"'gained'"}]},{"id":"gain-focus","tags":["advancement"],"params":{"random":{"type":"boolean","default":false}},"results":["gained"],"steps":[{"id":"focus","kind":"choice","sheet":"proposed","options":{"content":{"type":"focus","where":"(countCopies(copy.item == item.id) == 0 || item.multiple\n || countCopies(copy.item == item.id && copy.state.level < item.maxLevel) > 0)\n && !(item.id in foci.held && countCopies(copy.item == item.id) == 0)\n && (item.id != @foci.unstable-mutant || mutations.mutant)"}},"random":"params.random","recommend":"options[0]"},{"id":"raise","kind":"choice","sheet":"proposed","when":"steps.focus.item.multiple && countCopies(copy.item == steps.focus.picked\n && copy.state.level < steps.focus.item.maxLevel) > 0","options":[{"id":"raise"},{"id":"new"}],"recommend":"'raise'"},{"id":"mode","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"new":"countCopies(copy.item == steps.focus.picked) == 0\n || (has(steps.raise) && steps.raise.picked == 'new')"}}]},{"id":"specialty","kind":"choice","sheet":"proposed","when":"flags.new && steps.focus.item.specialty","options":{"values":{"formula":"steps.focus.item.bonusSkill"}},"random":"params.random","recommend":"sortList(steps.focus.item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]"},{"id":"add","kind":"changes","when":"flags.new","changes":[{"type":"addItem","when":"!has(steps.specialty)","entry":{"item":"steps.focus.picked"}},{"type":"addItem","when":"has(steps.specialty)","entry":{"item":"steps.focus.picked","choices":{"skill":[{"option":{"formula":"steps.specialty.value"}}]}}}]},{"id":"picks","kind":"choice","when":"flags.new","options":{"pending":{"entry":"steps.add.added[0]"}},"random":"params.random"},{"id":"up","kind":"changes","when":"!flags.new","changes":[{"type":"adjustState","copies":{"type":"focus","where":"item.id == steps.focus.picked && self.level < item.maxLevel"},"limit":1,"key":"level","by":1}]},{"id":"skill1","kind":"action","when":"flags.new && size(steps.focus.item.bonusSkill) > 0","use":"bonus-skill","params":{"skills":"has(steps.specialty) ? [steps.specialty.value] : steps.focus.item.bonusSkill","random":"params.random"}},{"id":"skill2","kind":"action","when":"flags.new && size(steps.focus.item.bonusSkill2) > 0","use":"bonus-skill","params":{"skills":"steps.focus.item.bonusSkill2","random":"params.random"}},{"id":"unstable","kind":"action","when":"flags.new && steps.focus.picked == @foci.unstable-mutant","use":"roll-mutation","params":{"origin":"'unstable'","random":"params.random"}},{"id":"result","kind":"outcome","result":"'gained'"}]},{"id":"bonus-skill","params":{"skills":{"type":"set","of":"string","default":[]},"random":{"type":"boolean","default":false}},"results":["gained"],"steps":[{"id":"pick","kind":"action","when":"character.creating","use":"gain-skill","params":{"skills":"params.skills","random":"params.random"}},{"id":"points","kind":"action","when":"!character.creating","use":"skill-points-toward","params":{"skills":"params.skills","points":3,"random":"params.random"}},{"id":"result","kind":"outcome","result":"'gained'"}]},{"id":"skill-points-toward","params":{"skills":{"type":"set","of":"string","default":[]},"points":{"type":"integer","default":3,"min":0},"random":{"type":"boolean","default":false}},"results":["spent"],"steps":[{"id":"offer","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"open":"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))"}}]},{"id":"offered","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"offered":"size(flags.open) > 0 ? flags.open\n : filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))"}}]},{"id":"skill","kind":"choice","options":{"values":{"formula":"flags.offered"}},"random":"params.random","recommend":"flags.offered[0]"},{"id":"start","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"level0":"fieldOf('skills.{skill}.level', steps.skill.picked)","credit0":"fieldOf('skills.{skill}.credit', steps.skill.picked) + params.points"}}]},{"id":"raise1","kind":"branch","cases":[{"when":true,"flags":{"level1":"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.level0 + 1 : flags.level0","credit1":"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.credit0 - flags.level0 - 2 : flags.credit0"}}]},{"id":"raise2","kind":"branch","cases":[{"when":true,"flags":{"level2":"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.level1 + 1 : flags.level1","credit2":"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.credit1 - flags.level1 - 2 : flags.credit1"}}]},{"id":"raise3","kind":"branch","cases":[{"when":true,"flags":{"level3":"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.level2 + 1 : flags.level2","credit3":"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.credit2 - flags.level2 - 2 : flags.credit2"}}]},{"id":"save","kind":"changes","changes":[{"type":"set","field":{"formula":"'skills.' + steps.skill.picked + '.level'"},"value":"flags.level3"},{"type":"set","field":{"formula":"'skills.' + steps.skill.picked + '.credit'"},"value":"flags.credit3"}]},{"id":"result","kind":"outcome","result":"'spent'","data":{"level":"flags.level3","credit":"flags.credit3"}}]},{"id":"improve-skill","tags":["advancement"],"available":"!character.creating","params":{"skill":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]}},"results":["improved","maxed","barred","level-too-low","not-enough-points"],"steps":[{"id":"cost","kind":"branch","cases":[{"when":true,"flags":{"level":"fieldOf('skills.{skill}.level', params.skill)","credit":"fieldOf('skills.{skill}.credit', params.skill)","cap":"fieldOf('skills.{skill}.cap', params.skill)"}}]},{"id":"price","kind":"branch","cases":[{"when":true,"flags":{"cost":"flags.level + 2","minimum":"flags.level >= 4 ? 99 : [1, 1, 3, 6, 9][flags.level + 1]","fromCredit":"min(flags.credit, flags.level + 2)"}}]},{"id":"maxed","kind":"outcome","when":"flags.level >= 4","result":"'maxed'"},{"id":"barred","kind":"outcome","when":"flags.level + 1 > flags.cap","result":"'barred'"},{"id":"tooLow","kind":"outcome","when":"level < flags.minimum","result":"'level-too-low'"},{"id":"short","kind":"outcome","when":"skills.points + flags.credit < flags.cost","result":"'not-enough-points'"},{"id":"buy","kind":"changes","changes":[{"type":"set","field":{"formula":"'skills.' + params.skill + '.level'"},"value":"flags.level + 1"},{"type":"set","field":{"formula":"'skills.' + params.skill + '.credit'"},"value":"flags.credit - flags.fromCredit"},{"type":"adjust","field":"skills.points","by":"flags.fromCredit - flags.cost"}]},{"id":"result","kind":"outcome","result":"'improved'"}]},{"id":"improve-attribute","tags":["advancement"],"available":"!character.creating && !edges.underdog && attributes.boosts < 5","params":{"attribute":{"type":"enum","values":["str","dex","con","int","wis","cha"]}},"results":["improved","maxed","level-too-low","not-enough-points"],"steps":[{"id":"cost","kind":"branch","cases":[{"when":true,"flags":{"cost":"attributes.boosts + 1","minimum":"[2, 2, 3, 6, 9][attributes.boosts]","score":"fieldOf('attributes.{attribute}.score', params.attribute)"}}]},{"id":"maxed","kind":"outcome","when":"flags.score >= 18","result":"'maxed'"},{"id":"tooLow","kind":"outcome","when":"level < flags.minimum","result":"'level-too-low'"},{"id":"short","kind":"outcome","when":"skills.points < flags.cost","result":"'not-enough-points'"},{"id":"buy","kind":"changes","changes":[{"type":"adjust","field":{"formula":"'attributes.' + params.attribute + '.score'"},"by":1},{"type":"adjust","field":"attributes.boosts","by":1},{"type":"adjust","field":"skills.points","by":"-flags.cost"}]},{"id":"result","kind":"outcome","result":"'improved'"}]},{"id":"save","tags":["save"],"params":{"save":{"type":"id","of":"field","where":"'save' in item.tags"}},"results":{"bands":"save"},"steps":[{"id":"target","kind":"branch","cases":[{"when":true,"flags":{"target":"params.save.value"}}]},{"id":"roll","kind":"roll","tags":[{"formula":"params.save.tags"}],"bands":"save","parts":[{"dice":"1d20"}]},{"id":"result","kind":"outcome","result":"steps.roll.band","data":{"roll":"steps.roll.total","target":"flags.target"}}]},{"id":"create-character","tags":["creation"],"available":"character.creating && countCopies(copy.type == 'background') == 0","params":{"random":{"type":"boolean","default":false}},"results":["created"],"steps":[{"id":"method","kind":"choice","when":"!params.random","options":[{"id":"roll"},{"id":"array"}],"recommend":"'roll'"},{"id":"rolled","kind":"branch","cases":[{"when":true,"flags":{"roll":"params.random || steps.method.picked == 'roll'"}}]},{"id":"str","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"dex","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"con","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"int","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"wis","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"cha","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"fourteen","kind":"choice","when":"flags.roll","options":{"values":["str","dex","con","int","wis","cha","none"]},"recommend":"minList([steps.str.total, steps.dex.total, steps.con.total, steps.int.total,\n steps.wis.total, steps.cha.total], x) >= 14 ? 'none'\n : ['str', 'dex', 'con', 'int', 'wis', 'cha'][indexOf([steps.str.total,\n steps.dex.total, steps.con.total, steps.int.total, steps.wis.total,\n steps.cha.total], minList([steps.str.total, steps.dex.total, steps.con.total,\n steps.int.total, steps.wis.total, steps.cha.total], x))]"},{"id":"scores","kind":"changes","when":"flags.roll","changes":[{"type":"set","field":"attributes.str.score","value":"steps.fourteen.picked == 'str' ? 14 : steps.str.total"},{"type":"set","field":"attributes.dex.score","value":"steps.fourteen.picked == 'dex' ? 14 : steps.dex.total"},{"type":"set","field":"attributes.con.score","value":"steps.fourteen.picked == 'con' ? 14 : steps.con.total"},{"type":"set","field":"attributes.int.score","value":"steps.fourteen.picked == 'int' ? 14 : steps.int.total"},{"type":"set","field":"attributes.wis.score","value":"steps.fourteen.picked == 'wis' ? 14 : steps.wis.total"},{"type":"set","field":"attributes.cha.score","value":"steps.fourteen.picked == 'cha' ? 14 : steps.cha.total"}]},{"id":"array","kind":"allocate","when":"!flags.roll","fields":{"type":"field","where":"'attribute' in item.tags"},"values":[14,12,11,10,9,7],"recommend":{"attributes.str.score":14,"attributes.dex.score":12,"attributes.con.score":11,"attributes.int.score":10,"attributes.wis.score":9,"attributes.cha.score":7}},{"id":"background","kind":"choice","options":{"content":{"type":"background"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"id":"background","item":"picked.id"}}]},{"id":"tables","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"combat":"attributes.dex.mod > attributes.str.mod ? ['shoot', 'stab', 'punch'] : ['stab', 'shoot', 'punch']","quick":"[steps.background.item.quickSkill1, steps.background.item.quickSkill2]","growth":"[steps.background.item.growth1, steps.background.item.growth2,\n steps.background.item.growth3, steps.background.item.growth4,\n steps.background.item.growth5, steps.background.item.growth6]","learning":"[steps.background.item.learning1, steps.background.item.learning2,\n steps.background.item.learning3, steps.background.item.learning4,\n steps.background.item.learning5, steps.background.item.learning6,\n steps.background.item.learning7, steps.background.item.learning8]"}}]},{"id":"prefer","kind":"branch","cases":[{"when":true,"flags":{"prefer":"(flags.quick[0] == 'any-combat' ? flags.combat : [flags.quick[0]])\n + (flags.quick[1] == 'any-combat' ? flags.combat : [flags.quick[1]])"}}]},{"id":"free","kind":"action","use":"gain-benefit","params":{"entry":"steps.background.item.freeSkill","prefer":"flags.combat","random":"params.random"}},{"id":"skillMethod","kind":"choice","options":[{"id":"pick"},{"id":"roll"}],"recommend":"params.random ? 'roll' : 'pick'"},{"id":"pick1","kind":"action","when":"steps.skillMethod.picked == 'pick'","use":"gain-skill","params":{"prefer":"flags.prefer","random":"params.random"}},{"id":"pick2","kind":"action","when":"steps.skillMethod.picked == 'pick'","use":"gain-skill","params":{"prefer":"flags.prefer","random":"params.random"}},{"id":"split","kind":"choice","when":"steps.skillMethod.picked == 'roll'","options":{"values":[0,1,2,3]},"recommend":"'1'"},{"id":"roll1","kind":"roll","tags":["creation"],"when":"has(steps.split)","parts":[{"dice":"steps.split.value >= 1 ? 1d6 : 1d8"}]},{"id":"benefit1","kind":"action","when":"has(steps.split)","use":"gain-benefit","params":{"entry":"steps.split.value >= 1 ? flags.growth[steps.roll1.total - 1]\n : flags.learning[steps.roll1.total - 1]","prefer":"flags.prefer","random":"params.random"}},{"id":"roll2","kind":"roll","tags":["creation"],"when":"has(steps.split)","parts":[{"dice":"steps.split.value >= 2 ? 1d6 : 1d8"}]},{"id":"benefit2","kind":"action","when":"has(steps.split)","use":"gain-benefit","params":{"entry":"steps.split.value >= 2 ? flags.growth[steps.roll2.total - 1]\n : flags.learning[steps.roll2.total - 1]","prefer":"flags.prefer","random":"params.random"}},{"id":"roll3","kind":"roll","tags":["creation"],"when":"has(steps.split)","parts":[{"dice":"steps.split.value >= 3 ? 1d6 : 1d8"}]},{"id":"benefit3","kind":"action","when":"has(steps.split)","use":"gain-benefit","params":{"entry":"steps.split.value >= 3 ? flags.growth[steps.roll3.total - 1]\n : flags.learning[steps.roll3.total - 1]","prefer":"flags.prefer","random":"params.random"}},{"id":"underdog","kind":"choice","sheet":"proposed","when":"attributes.baseTotal <= -1","options":[{"id":"underdog","changes":[{"type":"set","field":"edges.underdog","value":true}]},{"id":"no"}],"recommend":"'underdog'"},{"id":"edge1","kind":"action","sheet":"proposed","when":"edges.count < edges.allowed","use":"gain-edge","params":{"random":"params.random"}},{"id":"edge2","kind":"action","sheet":"proposed","when":"edges.count < edges.allowed","use":"gain-edge","params":{"random":"params.random"}},{"id":"edge3","kind":"action","sheet":"proposed","when":"edges.count < edges.allowed","use":"gain-edge","params":{"random":"params.random"}},{"id":"mutations","kind":"action","sheet":"proposed","when":"mutations.mutant","use":"mutate","params":{"random":"params.random"}},{"id":"focus1","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"focus2","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"focus3","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"focus4","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"picks","kind":"choice","options":{"pending":{}}},{"id":"barred","kind":"action","use":"reassign-barred-skills","params":{"random":"params.random"}},{"id":"freeSkill","kind":"action","use":"gain-skill","params":{"prefer":"flags.prefer","random":"params.random"}},{"id":"hp","kind":"roll","tags":["creation","hit-points"],"parts":[{"dice":"1d6"}]},{"id":"hpSet","kind":"changes","sheet":"proposed","changes":[{"type":"set","field":"hp.max","value":"max(1, steps.hp.total + hp.dieBonus)"},{"type":"set","field":"hp.current","value":"max(1, steps.hp.total + hp.dieBonus)"}]},{"id":"equipment","kind":"action","use":"starting-equipment","params":{"random":"params.random"}},{"id":"stowGear","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 2","repeat":{"max":20},"options":{"copies":{"type":"gear","where":"self.equipped && has(item.enc) && item.enc > 0\n && !(has(item.wornFree) && item.wornFree)\n && encumbrance.readied > encumbrance.readied.max + 4"}},"prefer":"item.enc","changes":[{"type":"equip","entry":"picked","equipped":false}]},{"id":"stowWeapon","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 2","repeat":{"max":20},"options":{"copies":{"type":"weapon","where":"self.equipped && item.enc > 0\n && encumbrance.readied > encumbrance.readied.max + 4"}},"prefer":"item.enc","changes":[{"type":"equip","entry":"picked","equipped":false}]},{"id":"stowArmor","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 2","repeat":{"max":20},"options":{"copies":{"type":"armor","where":"self.equipped && item.enc > 0\n && encumbrance.readied > encumbrance.readied.max + 4"}},"prefer":"item.enc","changes":[{"type":"equip","entry":"picked","equipped":false}]},{"id":"dropGear","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 2","repeat":{"max":20},"options":{"copies":{"type":"gear","where":"!self.equipped && has(item.enc) && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max + 8"}},"prefer":"item.enc","changes":[{"type":"removeItem","entry":"picked"}]},{"id":"dropWeapon","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 2","repeat":{"max":20},"options":{"copies":{"type":"weapon","where":"!self.equipped && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max + 8"}},"prefer":"item.enc","changes":[{"type":"removeItem","entry":"picked"}]},{"id":"dropArmor","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 2","repeat":{"max":20},"options":{"copies":{"type":"armor","where":"!self.equipped && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max + 8"}},"prefer":"item.enc","changes":[{"type":"removeItem","entry":"picked"}]},{"id":"finish","kind":"changes","sheet":"proposed","changes":[{"type":"finishCreation"}]},{"id":"result","kind":"outcome","result":"'created'"}]},{"id":"gain-benefit","params":{"entry":{"type":"string"},"prefer":{"type":"set","of":"string","default":[]},"random":{"type":"boolean","default":false}},"results":["gained"],"steps":[{"id":"skill","kind":"action","when":"!(params.entry in ['any-stat-1', 'physical2', 'mental2'])","use":"gain-skill","params":{"skills":"params.entry == 'any-combat' ? ['punch', 'shoot', 'stab']\n : params.entry == 'any-skill' ? [] : [params.entry]","prefer":"params.prefer","random":"params.random"}},{"id":"plan","kind":"branch","sheet":"proposed","when":"params.entry in ['any-stat-1', 'physical2', 'mental2']","cases":[{"when":true,"flags":{"allowed":"params.entry == 'physical2' ? ['str', 'dex', 'con']\n : params.entry == 'mental2' ? ['int', 'wis', 'cha']\n : ['str', 'dex', 'con', 'int', 'wis', 'cha']","budget":"params.entry == 'any-stat-1' ? 1 : 2"}}]},{"id":"best","kind":"branch","sheet":"proposed","when":"has(flags.allowed)","cases":[{"when":true,"flags":{"best":"sortList(filterList(flags.allowed,\n fieldOf('attributes.{attribute}.score', x) <= 18 - flags.budget),\n -fieldOf('attributes.{attribute}.score', x))"}}]},{"id":"stat","kind":"choice","sheet":"proposed","when":"has(flags.allowed)","options":{"values":{"formula":"flags.allowed"},"where":"fieldOf('attributes.{attribute}.score', value) < 18"},"repeat":{"max":"flags.budget"},"recommend":"size(flags.best) > 0 ? flags.best[0] : options[0]","changes":[{"type":"adjust","field":{"formula":"'attributes.' + picked.value + '.score'"},"by":1}]},{"id":"result","kind":"outcome","result":"'gained'"}]},{"id":"attack","tags":["attack"],"available":"self.equipped || item.id == @weapons.unarmed","params":{"targetAc":{"type":"integer","min":0,"optional":true}},"participants":{"target":{"max":1,"fields":{"defense.laserSensitive":{"type":"boolean","default":false}}}},"results":["hit","miss","rolled"],"steps":[{"id":"target","kind":"branch","cases":[{"when":true,"flags":{"ac":"has(params.targetAc) ? params.targetAc : 0","burst":"situational.burst && 'burst' in item.tags && has(item.magazine) && self.shots >= 3"}}]},{"id":"roll","kind":"roll","tags":["attack",{"formula":"self.close ? 'attack.melee' : 'attack.ranged'"}],"bands":"attack","parts":[{"dice":"1d20"},{"value":"self.hit"}]},{"id":"damage","kind":"roll","tags":["damage"],"when":"has(item.damage) && (steps.roll.band == 'hit' || !has(params.targetAc))","parts":[{"dice":"item.damage"},{"value":"self.damage"}]},{"id":"shots","kind":"changes","when":"has(item.magazine) && self.shots > 0","changes":[{"type":"adjustState","entry":"self","key":"shots","by":"flags.burst ? -3 : -1"}]},{"id":"result","kind":"outcome","result":"!has(params.targetAc) ? 'rolled' : steps.roll.band","data":{"attack":"steps.roll.total","damage":"has(steps.damage) ? max(steps.damage.total, self.shockDamage) : 0","shock":"!has(steps.damage) && self.shockDamage > 0\n && (self.shockAnyAc || flags.ac <= item.shockAc) ? self.shockDamage : 0"}}]},{"id":"mutate","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["mutated"],"steps":[{"id":"negativesRoll","kind":"roll","tags":["creation"],"when":"params.random","parts":[{"dice":"1d4"}]},{"id":"negatives","kind":"choice","options":{"values":[0,1,2,3]},"recommend":"params.random ? options[steps.negativesRoll.total - 1] : options[0]"},{"id":"negative1","kind":"action","when":"steps.negatives.value >= 1","use":"roll-negative-mutation","params":{"random":"params.random"}},{"id":"negative2","kind":"action","when":"steps.negatives.value >= 2","use":"roll-negative-mutation","params":{"random":"params.random"}},{"id":"negative3","kind":"action","when":"steps.negatives.value >= 3","use":"roll-negative-mutation","params":{"random":"params.random"}},{"id":"barred","kind":"action","use":"reassign-barred-skills","params":{"random":"params.random"}},{"id":"stigma","kind":"action","use":"roll-stigma"},{"id":"concealed","kind":"choice","options":[{"id":"visible"},{"id":"concealed"}],"recommend":"'visible'","changes":[{"type":"set","field":"mutations.stigmaConcealed","value":"picked.id == 'concealed'"}]},{"id":"buy1","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy2","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy3","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy4","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy5","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy6","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy7","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy8","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy9","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy10","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"result","kind":"outcome","result":"'mutated'"}]},{"id":"roll-stigma","tags":["creation"],"results":["rolled"],"steps":[{"id":"part","kind":"roll","tags":["creation"],"parts":[{"dice":"1d6"}]},{"id":"extra1","kind":"roll","tags":["creation"],"when":"steps.part.total == 6","parts":[{"dice":"1d5"}]},{"id":"extra2","kind":"roll","tags":["creation"],"when":"steps.part.total == 6","parts":[{"dice":"1d5"}]},{"id":"nature","kind":"roll","tags":["creation"],"parts":[{"dice":"1d6"}]},{"id":"detail","kind":"roll","tags":["creation"],"parts":[{"dice":"1d12"}]},{"id":"save","kind":"changes","changes":[{"type":"set","field":"stigma.part","value":"['head', 'arms', 'legs', 'torso', 'senses'][(steps.part.total == 6\n ? steps.extra1.total : steps.part.total) - 1]"},{"type":"set","field":"stigma.part2","value":"steps.part.total == 6 && steps.extra2.total != steps.extra1.total\n ? ['head', 'arms', 'legs', 'torso', 'senses'][steps.extra2.total - 1] : 'none'"},{"type":"set","field":"stigma.nature","value":"['appearance', 'animal', 'size', 'plant', 'amorphous', 'mineral'][steps.nature.total - 1]"},{"type":"set","field":"stigma.detail","value":"(steps.nature.total == 1\n ? ['bright-hue', 'chromed', 'gemlike', 'gradient-hue', 'iridescent', 'luminescent',\n 'neon', 'opalescent', 'patchy', 'strobing', 'transparent', 'whorled']\n : steps.nature.total == 2\n ? ['beetle', 'bird', 'bovine', 'canine', 'equine', 'feline', 'fish', 'lizard',\n 'mollusk', 'snake', 'spider', 'turtle']\n : steps.nature.total == 4\n ? ['bark', 'flowers', 'fragrance', 'fronds', 'fungal', 'gnarled', 'insects',\n 'leaves', 'moss', 'pollen', 'sap', 'vegetative']\n : ['chitinous', 'feathered', 'fibrous', 'finned', 'furred', 'glassy', 'metallic',\n 'plated', 'scabrous', 'scaled', 'slimy', 'stony'])[steps.detail.total - 1]"}]},{"id":"result","kind":"outcome","result":"'rolled'"}]},{"id":"roll-negative-mutation","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["rolled"],"steps":[{"id":"ids","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"table":"[@negative-mutations.animalistic-mentality, @negative-mutations.anosmia,\n @negative-mutations.awkward-mouth, @negative-mutations.bestial-hunger,\n @negative-mutations.bleeder, @negative-mutations.blindness,\n @negative-mutations.chronic-seizures, @negative-mutations.clumsy-paws,\n @negative-mutations.constant-secretions, @negative-mutations.deafness,\n @negative-mutations.deficient-polycephaly, @negative-mutations.distorted-speech,\n @negative-mutations.distracted-mind, @negative-mutations.energy-sink,\n @negative-mutations.feeble-joints, @negative-mutations.feral-mind,\n @negative-mutations.fragile-system, @negative-mutations.glowbug,\n @negative-mutations.hemovore, @negative-mutations.insensate-flesh,\n @negative-mutations.light-sensitivity, @negative-mutations.loose-limbs,\n @negative-mutations.low-resistances, @negative-mutations.memory-damage,\n @negative-mutations.miasmic-stench, @negative-mutations.misshapen,\n @negative-mutations.musclebound, @negative-mutations.narrow-focus,\n @negative-mutations.overtaxed-physique, @negative-mutations.place-blindness,\n @negative-mutations.poor-eyesight, @negative-mutations.primitive-cognition,\n @negative-mutations.sensitive-skin, @negative-mutations.short-lifespan,\n @negative-mutations.sleep-dependence, @negative-mutations.slow-development,\n @negative-mutations.spindly, @negative-mutations.vexation-field,\n @negative-mutations.voracious, @negative-mutations.weak-heart,\n @negative-mutations.attribute-deficiency]","held":"mapList(filterList(character.features, x.type == 'negative'), x.item)","lowest":"minList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))"}}]},{"id":"deficiency","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"deficiency":"countList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x) == flags.lowest\n && fieldOf('attributes.{attribute}.mod', x) > -2) > 0"}}]},{"id":"roll1","kind":"roll","tags":["creation"],"parts":[{"dice":"1d100"}]},{"id":"first","kind":"branch","cases":[{"when":true,"flags":{"light":"steps.roll1.total >= 91","id1":"steps.roll1.total >= 91 ? ''\n : flags.table[steps.roll1.total <= 80 ? floor((steps.roll1.total - 1) / 2) : 40]"}}]},{"id":"firstValid","kind":"branch","cases":[{"when":true,"flags":{"ok1":"flags.id1 != '' && !(flags.id1 in flags.held)\n && (flags.id1 != @negative-mutations.attribute-deficiency || flags.deficiency)"}}]},{"id":"roll2","kind":"roll","tags":["creation"],"when":"!flags.ok1","parts":[{"dice":"1d100"}]},{"id":"second","kind":"branch","when":"!flags.ok1","cases":[{"when":true,"flags":{"id2":"steps.roll2.total >= 91 ? ''\n : flags.table[steps.roll2.total <= 80 ? floor((steps.roll2.total - 1) / 2) : 40]"}}]},{"id":"secondValid","kind":"branch","when":"!flags.ok1","cases":[{"when":true,"flags":{"ok2":"flags.id2 != '' && !(flags.id2 in flags.held)\n && (flags.id2 != @negative-mutations.attribute-deficiency || flags.deficiency)"}}]},{"id":"roll3","kind":"roll","tags":["creation"],"when":"!flags.ok1 && !flags.ok2","parts":[{"dice":"1d100"}]},{"id":"third","kind":"branch","when":"!flags.ok1 && !flags.ok2","cases":[{"when":true,"flags":{"id3":"steps.roll3.total >= 91 ? ''\n : flags.table[steps.roll3.total <= 80 ? floor((steps.roll3.total - 1) / 2) : 40]"}}]},{"id":"rolled","kind":"branch","cases":[{"when":"flags.ok1","flags":{"id":"flags.id1"}},{"when":"has(flags.ok2) && flags.ok2","flags":{"id":"flags.id2"}},{"when":"has(flags.id3) && flags.id3 != '' && !(flags.id3 in flags.held)\n && (flags.id3 != @negative-mutations.attribute-deficiency || flags.deficiency)","flags":{"id":"flags.id3"}},{"when":true,"flags":{"id":"''"}}]},{"id":"add","kind":"changes","when":"flags.id != ''","changes":[{"type":"addItem","entry":{"item":"flags.id","state":{"light":"flags.light"}}}]},{"id":"fallback","kind":"choice","sheet":"proposed","when":"flags.id == ''","options":{"content":{"type":"negative","where":"countCopies(copy.item == item.id) == 0\n && (item.id != @negative-mutations.attribute-deficiency || flags.deficiency)"}},"random":true,"changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"light":"flags.light"}}}]},{"id":"added","kind":"branch","cases":[{"when":true,"flags":{"added":"flags.id != '' ? flags.id : steps.fallback.picked"}}]},{"id":"jaws","kind":"changes","sheet":"proposed","when":"!flags.light && flags.added == @negative-mutations.awkward-mouth\n && countCopies(copy.item == @mutations.hybrid.crushing-jaws) == 0","changes":[{"type":"addItem","entry":{"item":"'mutations.hybrid.crushing-jaws'","state":{"origin":"'free'"}}}]},{"id":"sense","kind":"choice","sheet":"proposed","when":"!flags.light && flags.added == @negative-mutations.blindness","options":{"content":{"type":"mutation","where":"item.category == 'sense' && !('vision' in item.tags)\n && countCopies(copy.item == item.id) == 0"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"origin":"'free'"}}}]},{"id":"result","kind":"outcome","result":"'rolled'"}]},{"id":"buy-mutation","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["bought"],"steps":[{"id":"how","kind":"choice","sheet":"proposed","options":[{"id":"random"},{"id":"category","when":"mutations.points.left >= 3"},{"id":"chosen","when":"mutations.points.left >= 3"}],"recommend":"'random'"},{"id":"rolled","kind":"action","when":"steps.how.picked == 'random'","use":"roll-mutation","params":{"origin":"'random'","random":"params.random"}},{"id":"category","kind":"choice","when":"steps.how.picked == 'category'","options":[{"id":"structure"},{"id":"sense"},{"id":"hybrid"},{"id":"cognition"},{"id":"pseudo-psychic"},{"id":"exotic"}],"random":"params.random","recommend":"options[0]"},{"id":"pair1","kind":"action","when":"steps.how.picked == 'category'","use":"roll-mutation","params":{"origin":"'category'","category":"steps.category.picked","random":"params.random"}},{"id":"pair2","kind":"action","sheet":"proposed","when":"steps.how.picked == 'category'","use":"roll-mutation","params":{"origin":"'category'","category":"steps.category.picked","random":"params.random"}},{"id":"chosen","kind":"choice","sheet":"proposed","when":"steps.how.picked == 'chosen'","options":{"content":{"type":"mutation","where":"countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"origin":"'chosen'"}}}]},{"id":"chosenSkill","kind":"action","when":"has(steps.chosen) && size(steps.chosen.item.bonusSkill) > 0","use":"bonus-skill","params":{"skills":"steps.chosen.item.bonusSkill","random":"params.random"}},{"id":"result","kind":"outcome","result":"'bought'"}]},{"id":"roll-mutation","tags":["creation"],"params":{"origin":{"type":"enum","values":["random","category","chosen","free","unstable"],"default":"random"},"category":{"type":"string","optional":true},"random":{"type":"boolean","default":false}},"results":["rolled"],"steps":[{"id":"categoryRoll","kind":"roll","tags":["creation"],"when":"!has(params.category)","parts":[{"dice":"1d6"}]},{"id":"which","kind":"branch","cases":[{"when":true,"flags":{"category":"has(params.category) ? params.category\n : ['structure', 'sense', 'hybrid', 'cognition', 'pseudo-psychic',\n 'exotic'][steps.categoryRoll.total - 1]"}}]},{"id":"roll","kind":"roll","tags":["creation"],"parts":[{"dice":"1d10"}]},{"id":"exact","kind":"choice","sheet":"proposed","options":{"content":{"type":"mutation","where":"item.category == flags.category && item.roll == steps.roll.total\n && countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)"}},"recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"origin":"params.origin"}}}]},{"id":"fallback","kind":"choice","sheet":"proposed","when":"!has(steps.exact)","options":{"content":{"type":"mutation","where":"(!has(params.category) || item.category == params.category)\n && countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)"}},"random":true,"changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"origin":"params.origin"}}}]},{"id":"skill","kind":"action","when":"(has(steps.exact) && size(steps.exact.item.bonusSkill) > 0)\n || (has(steps.fallback) && size(steps.fallback.item.bonusSkill) > 0)","use":"bonus-skill","params":{"skills":"has(steps.exact) ? steps.exact.item.bonusSkill : steps.fallback.item.bonusSkill","random":"params.random"}},{"id":"result","kind":"outcome","result":"'rolled'"}]},{"id":"reassign-barred-skills","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["reassigned"],"steps":[{"id":"forbidden","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"lost":"sumList(keysOf('skill'),\n max(0, fieldOf('skills.{skill}.level', x) - fieldOf('skills.{skill}.cap', x)))","barred":"filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x))"}}]},{"id":"unlearn","kind":"changes","sheet":"proposed","when":"flags.lost > 0","changes":[{"type":"set","forEach":"flags.barred","field":{"formula":"'skills.' + x + '.level'"},"value":"max(-1, fieldOf('skills.{skill}.cap', x))"}]},{"id":"relearn1","kind":"action","when":"flags.lost >= 1","use":"gain-skill","params":{"random":"params.random"}},{"id":"relearn2","kind":"action","when":"flags.lost >= 2","use":"gain-skill","params":{"random":"params.random"}},{"id":"relearn3","kind":"action","when":"flags.lost >= 3","use":"gain-skill","params":{"random":"params.random"}},{"id":"relearn4","kind":"action","when":"flags.lost >= 4","use":"gain-skill","params":{"random":"params.random"}},{"id":"result","kind":"outcome","result":"'reassigned'"}]},{"id":"skill-check","tags":["check"],"params":{"skill":{"type":"id","of":"field","where":"'skill' in item.tags"},"attribute":{"type":"id","of":"field","where":"'attribute-mod' in item.tags"},"difficulty":{"type":"integer","optional":true}},"results":{"bands":"check"},"steps":[{"id":"roll","kind":"roll","tags":["check",{"formula":"params.skill.tags"}],"bands":"check","parts":[{"dice":"2d6kh2"},{"field":"params.attribute.id"},{"field":"params.skill.id"}]},{"id":"result","kind":"outcome","result":"steps.roll.band","data":{"total":"steps.roll.total"}}]},{"id":"gain-skill","params":{"skills":{"type":"set","of":"string","default":[]},"prefer":{"type":"set","of":"string","default":[]},"random":{"type":"boolean","default":false}},"results":["gained"],"steps":[{"id":"open","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"open":"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))"}}]},{"id":"fallback","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"offered":"size(flags.open) > 0 ? flags.open\n : filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))"}}]},{"id":"suggest","kind":"branch","cases":[{"when":true,"flags":{"suggest":"size(filterList(params.prefer, x in flags.offered)) > 0\n ? filterList(params.prefer, x in flags.offered)[0] : flags.offered[0]"}}]},{"id":"skill","kind":"choice","options":{"values":{"formula":"flags.offered"}},"random":"params.random","recommend":"flags.suggest","changes":[{"type":"adjust","field":{"formula":"'skills.' + picked.value + '.level'"},"by":1}]},{"id":"result","kind":"outcome","result":"'gained'"}]},{"id":"starting-equipment","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["equipped"],"steps":[{"id":"kit","kind":"choice","options":[{"id":"innocents"},{"id":"prepared"},{"id":"near-future"},{"id":"wasteland"}],"recommend":"'wasteland'"},{"id":"prepared","kind":"choice","when":"steps.kit.picked == 'prepared'","repeat":{"max":4,"min":4},"random":"params.random","recommend":"size(filterList(['knife', 'first-aid-kit', 'preserved-food', 'backpack'], x in options)) > 0\n ? filterList(['knife', 'first-aid-kit', 'preserved-food', 'backpack'], x in options)[0]\n : options[0]","options":[{"id":"light-pistol","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'weapons.light-pistol'","equipped":true}},{"type":"addItem","entry":{"item":"'gear.magazine'","quantity":2}}]},{"id":"heavy-pistol","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'weapons.heavy-pistol'","equipped":true}},{"type":"addItem","entry":{"item":"'gear.magazine'","quantity":2}}]},{"id":"rifle","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'weapons.rifle'","equipped":true}},{"type":"addItem","entry":{"item":"'gear.magazine'","quantity":2}}]},{"id":"shotgun","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'weapons.shotgun'","equipped":true}},{"type":"addItem","entry":{"item":"'gear.ammo'","quantity":2}}]},{"id":"criminal-firearm","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'weapons.semi-auto-shotgun'","equipped":true}},{"type":"addItem","entry":{"item":"'gear.magazine'","quantity":2}}]},{"id":"knife","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'weapons.knife'","equipped":true}}]},{"id":"smartphone","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.smartphone'"}}]},{"id":"preserved-food","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.preserved-food'"}}]},{"id":"camping-kit","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.camping-kit'"}}]},{"id":"first-aid-kit","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.first-aid-kit'"}}]},{"id":"tent","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.tent'"}}]},{"id":"toolkit","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.toolkit'"}}]},{"id":"flashlight","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.flashlight'"}}]},{"id":"cold-weather-clothes","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.clothes-cold-weather'","equipped":true}}]},{"id":"sleeping-bag","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.sleeping-bag'"}}]},{"id":"cash","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.cash'"}}]},{"id":"laptop","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.laptop'"}}]},{"id":"walkie-talkies","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.walkie-talkie'","quantity":2}}]},{"id":"solar-charger","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.solar-charger'"}}]},{"id":"radio","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.radio'"}}]},{"id":"lockpick-kit","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.lockpick-kit'"}}]},{"id":"lighters","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.lighters'"}}]},{"id":"purification-tablets","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.purification-tablets'"}}]},{"id":"profession-item","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.profession-item'"}}]},{"id":"backpack","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.backpack'","equipped":true}}]},{"id":"binoculars","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.binoculars'"}}]},{"id":"water-purifier","when":"picks == 0","changes":[{"type":"addItem","entry":{"item":"'gear.water-purifier'"}}]}]},{"id":"weapon","kind":"choice","when":"steps.kit.picked == 'near-future' || steps.kit.picked == 'wasteland'","options":{"content":{"type":"weapon","where":"has(item.techLevel) && item.techLevel <= 1 && !('grenade' in item.tags)\n && ('stab' in item.skills || item.id == @weapons.primitive-bow)"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id","equipped":true}},{"type":"addItem","when":"picked.id == @weapons.primitive-bow","entry":{"item":"'gear.arrows'"}}]},{"id":"food","kind":"roll","tags":["creation"],"when":"has(steps.weapon)","parts":[{"dice":"1d4"}]},{"id":"warriorKit","kind":"changes","when":"has(steps.weapon)","changes":[{"type":"addItem","entry":{"item":"'weapons.knife'"}},{"type":"addItem","entry":{"item":"'gear.backpack'","equipped":true}},{"type":"addItem","entry":{"item":"'gear.sleeping-bag'"}},{"type":"addItem","entry":{"item":"'gear.tinderbox'"}},{"type":"addItem","entry":{"item":"'gear.torch'","quantity":3}},{"type":"addItem","entry":{"item":"'gear.clothes'","equipped":true}},{"type":"addItem","entry":{"item":"'gear.ration'","quantity":"steps.food.total"}}]},{"id":"extra","kind":"choice","when":"has(steps.weapon)","options":[{"id":"pick"},{"id":"roll"}],"recommend":"'roll'"},{"id":"entry","kind":"choice","when":"has(steps.extra) && steps.extra.picked == 'pick'","options":{"values":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]},"recommend":"steps.kit.picked == 'wasteland' ? '10' : '4'"},{"id":"picked","kind":"action","when":"has(steps.entry)","use":"kit-entry","params":{"table":"steps.kit.picked","entry":"steps.entry.value","random":"params.random"}},{"id":"roll1","kind":"roll","tags":["creation"],"when":"has(steps.extra) && steps.extra.picked == 'roll'","parts":[{"dice":"1d20"}]},{"id":"entry1","kind":"action","when":"has(steps.roll1)","use":"kit-entry","params":{"table":"steps.kit.picked","entry":"steps.roll1.total","random":"params.random"}},{"id":"roll2","kind":"roll","tags":["creation"],"when":"has(steps.roll1)","parts":[{"dice":"1d20"}]},{"id":"entry2","kind":"action","when":"has(steps.roll2)","use":"kit-entry","params":{"table":"steps.kit.picked","entry":"steps.roll2.total","random":"params.random"}},{"id":"roll3","kind":"roll","tags":["creation"],"when":"has(steps.roll1)","parts":[{"dice":"1d20"}]},{"id":"entry3","kind":"action","when":"has(steps.roll3)","use":"kit-entry","params":{"table":"steps.kit.picked","entry":"steps.roll3.total","random":"params.random"}},{"id":"result","kind":"outcome","result":"'equipped'","data":{"kit":"steps.kit.picked"}}]},{"id":"kit-entry","tags":["creation"],"params":{"table":{"type":"string"},"entry":{"type":"integer","min":1,"max":20},"random":{"type":"boolean","default":false}},"results":["added"],"steps":[{"id":"flags","kind":"branch","cases":[{"when":true,"flags":{"near":"params.table == 'near-future'","waste":"params.table != 'near-future'"}}]},{"id":"count","kind":"roll","tags":["creation"],"when":"(flags.near && (params.entry == 11 || params.entry == 14))\n || (flags.waste && (params.entry == 5 || params.entry == 18))","parts":[{"dice":"flags.waste && params.entry == 5 ? 1d6 + 4 : flags.waste ? 1d4 + 2 : 1d4"}]},{"id":"melee","kind":"choice","when":"flags.waste && params.entry == 11","options":{"content":{"type":"weapon","where":"has(item.techLevel) && item.techLevel <= 2 && 'stab' in item.skills\n && !('grenade' in item.tags)"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id"}}]},{"id":"add","kind":"changes","changes":[{"type":"addItem","when":"flags.near && params.entry == 1","entry":{"item":"'weapons.light-pistol'"}},{"type":"addItem","when":"flags.near && (params.entry == 1 || params.entry == 9 || params.entry == 17)","entry":{"item":"'gear.magazine'","quantity":2}},{"type":"addItem","when":"flags.near && params.entry == 2","entry":{"item":"'gear.camping-kit'"}},{"type":"addItem","when":"flags.near && params.entry == 3","entry":{"item":"'gear.hand-tool'"}},{"type":"addItem","when":"flags.near && params.entry == 4","entry":{"item":"'armor.plate-carrier'"}},{"type":"addItem","when":"flags.near && params.entry == 5","entry":{"item":"'gear.crowbar'"}},{"type":"addItem","when":"flags.near && params.entry == 6","entry":{"item":"'gear.lockpick-kit'"}},{"type":"addItem","when":"flags.near && params.entry == 7","entry":{"item":"'gear.binoculars'"}},{"type":"addItem","when":"flags.near && params.entry == 8","entry":{"item":"'gear.flashlight'"}},{"type":"addItem","when":"flags.near && params.entry == 9","entry":{"item":"'weapons.rifle'"}},{"type":"addItem","when":"flags.near && params.entry == 10","entry":{"item":"'gear.walkie-talkie'","quantity":2}},{"type":"addItem","when":"flags.near && params.entry == 11","entry":{"item":"'weapons.grenade-frag'","quantity":"steps.count.total"}},{"type":"addItem","when":"flags.near && params.entry == 12","entry":{"item":"'gear.jewelry'"}},{"type":"addItem","when":"flags.near && params.entry == 13","entry":{"item":"'armor.protective-sport-gear'"}},{"type":"addItem","when":"flags.near && params.entry == 14","entry":{"item":"'gear.ration'","quantity":"steps.count.total"}},{"type":"addItem","when":"flags.near && params.entry == 15","entry":{"item":"'gear.first-aid-kit'"}},{"type":"addItem","when":"flags.near && params.entry == 16","entry":{"item":"'gear.toolkit'"}},{"type":"addItem","when":"flags.near && params.entry == 17","entry":{"item":"'weapons.semi-auto-shotgun'"}},{"type":"addItem","when":"flags.near && params.entry == 18","entry":{"item":"'gear.batteries-rechargeable'"}},{"type":"addItem","when":"flags.near && params.entry == 19","entry":{"item":"'gear.rope'"}},{"type":"addItem","when":"flags.near && params.entry == 20","entry":{"item":"'gear.profession-item'"}},{"type":"addItem","when":"flags.waste && params.entry == 1","entry":{"item":"'weapons.primitive-bow'"}},{"type":"addItem","when":"flags.waste && params.entry == 1","entry":{"item":"'gear.arrows'"}},{"type":"addItem","when":"flags.waste && params.entry == 2","entry":{"item":"'armor.leathers'"}},{"type":"addItem","when":"flags.waste && params.entry == 3","entry":{"item":"'gear.ammo'","quantity":4}},{"type":"addItem","when":"flags.waste && params.entry == 4","entry":{"item":"'gear.first-aid-kit'"}},{"type":"addItem","when":"flags.waste && params.entry == 5","entry":{"item":"'gear.scrap-tl2'","quantity":"steps.count.total"}},{"type":"addItem","when":"flags.waste && params.entry == 6","entry":{"item":"'gear.camping-kit'"}},{"type":"addItem","when":"flags.waste && params.entry == 7","entry":{"item":"'gear.energy-cell-a'"}},{"type":"addItem","when":"flags.waste && params.entry == 8","entry":{"item":"'gear.clothes-fine'"}},{"type":"addItem","when":"flags.waste && params.entry == 9","entry":{"item":"'gear.lantern'"}},{"type":"addItem","when":"flags.waste && params.entry == 9","entry":{"item":"'gear.oil-flask'","quantity":2}},{"type":"addItem","when":"flags.waste && params.entry == 10","entry":{"item":"'armor.scrap-mail'"}},{"type":"addItem","when":"flags.waste && params.entry == 12","entry":{"item":"'gear.keepsake'"}},{"type":"addItem","when":"flags.waste && params.entry == 13","entry":{"item":"'gear.perpetual-lighter'"}},{"type":"addItem","when":"flags.waste && params.entry == 14","entry":{"item":"'gear.toolkit'"}},{"type":"addItem","when":"flags.waste && params.entry >= 15 && params.entry <= 17","entry":{"item":"'gear.salvaged-tech'"}},{"type":"addItem","when":"flags.waste && params.entry == 18","entry":{"item":"'gear.ration'","quantity":"steps.count.total"}},{"type":"addItem","when":"flags.waste && params.entry == 19","entry":{"item":"'gear.rope-fiber'"}},{"type":"addItem","when":"flags.waste && params.entry == 20","entry":{"item":"'weapons.shotgun'","state":{"shots":1}}}]},{"id":"result","kind":"outcome","result":"'added'"}]}],"followUps":[{"id":"level-up","while":"!character.creating && level < 10 && xp.current >= xp.next","action":"level-up"},{"id":"edge-due","while":"!character.creating && edges.count < edges.allowed","action":"gain-edge"},{"id":"focus-due","while":"!character.creating && foci.count < foci.allowed","action":"gain-focus"}],"contentTypes":{"background":{"copies":{"max":1},"fields":{"freeSkill":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"quickSkill1":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"quickSkill2":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"growth1":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"growth2":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"growth3":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"growth4":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"growth5":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"growth6":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"learning1":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"learning2":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"learning3":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"learning4":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"learning5":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"learning6":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"learning7":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"learning8":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true}}},"edge":{"fields":{"bonusSkill":{"type":"set","of":"string","default":[]}},"effects":[{"target":"edges.held","op":"grant","value":{"formula":"item.id"}}]},"focus":{"fields":{"maxLevel":{"type":"integer","default":2,"min":1,"max":2},"multiple":{"type":"boolean","default":false},"specialty":{"type":"boolean","default":false},"bonusSkill":{"type":"set","of":"string","default":[]},"bonusSkill2":{"type":"set","of":"string","default":[]}},"state":{"level":{"type":"integer","default":1,"min":1,"max":"item.maxLevel"}},"effects":[{"target":"foci.held","op":"grant","value":{"formula":"item.id"}}]},"weapon":{"carried":true,"equippable":true,"fields":{"damage":{"type":"dice"},"skills":{"type":"set","of":"string","required":true},"attributes":{"type":"set","of":"string","default":[]},"rangeNormal":{"type":"integer","min":0},"rangeLong":{"type":"integer","min":0},"shock":{"type":"integer","default":0,"min":0},"shockAc":{"type":"integer","default":0,"min":0},"magazine":{"type":"integer","min":0},"hitBonus":{"type":"integer","default":0},"enc":{"type":"integer","default":1,"min":0},"cost":{"type":"integer","min":0},"techLevel":{"type":"integer","min":0,"max":5},"traumaDie":{"type":"dice"},"traumaRating":{"type":"integer","min":1}},"state":{"shots":{"type":"integer","min":0,"default":"has(item.magazine) ? item.magazine : 0"}},"computed":{"skillLevel":{"type":"integer","formula":"maxList(item.skills, fieldOf('skills.{skill}.level', x))"},"attributeMod":{"type":"integer","formula":"size(item.attributes) == 0 ? 0 : maxList(item.attributes, fieldOf('attributes.{attribute}.mod', x))"},"armed":{"type":"boolean","formula":"'stab' in item.skills || 'thrown' in item.tags"},"close":{"type":"boolean","formula":"self.armed || 'punch' in item.skills"},"hit":{"type":"integer","formula":"combat.attackBonus + (self.skillLevel < 0 ? -2 : self.skillLevel) + self.attributeMod\n + item.hitBonus + ('energy' in item.tags ? 1 : 0) + (self.close ? combat.melee.hit : 0)\n + (self.armed ? combat.armed.hit : 0)"},"damage":{"type":"integer","formula":"self.attributeMod + ('punch' in item.skills ? max(0, skills.punch.level) : 0)\n + combat.damageBonus + (self.close ? combat.melee.damage : combat.ranged.damage)\n + (self.armed ? combat.armed.damage : 0)"},"shockDamage":{"type":"integer","formula":"item.shock > 0 ? item.shock + self.attributeMod + combat.melee.shock\n + (self.armed ? combat.armed.shock : 0) : 0"},"shockAnyAc":{"type":"boolean","formula":"item.shock > 0 && (combat.melee.shockAnyAc || (self.armed && combat.armed.shockAnyAc))"}},"effects":[{"target":{"rolls":["damage"],"from":"self"},"op":"rollModifier","value":{"kind":"advantage","of":"roll"},"when":"'laser' in item.tags && has(participants.target) && size(participants.target) > 0\n && participants.target[0].defense.laserSensitive"}],"actions":[{"use":"attack"}]},"armor":{"carried":true,"equippable":true,"fields":{"ac":{"type":"integer","required":true,"min":10},"enc":{"type":"integer","default":1,"min":0},"traumaMod":{"type":"integer","default":0},"subtle":{"type":"boolean","default":false},"cost":{"type":"integer","min":0},"techLevel":{"type":"integer","min":0,"max":5}},"effects":[{"target":{"rolls":["skill.sneak","skill.exert"]},"op":"add","value":-1,"when":"self.equipped && 'heavy' in item.tags","stackKey":"heavy-armor"}]},"gear":{"carried":true,"equippable":true,"fields":{"enc":{"type":"integer","default":1,"min":0},"wornFree":{"type":"boolean","default":false},"cost":{"type":"integer","min":0},"techLevel":{"type":"integer","min":0,"max":5},"healSkill":{"type":"integer","min":0}}},"mutation":{"fields":{"category":{"type":"enum","values":["structure","sense","hybrid","cognition","pseudo-psychic","exotic"],"required":true},"roll":{"type":"integer","required":true,"min":1,"max":10},"bonusSkill":{"type":"set","of":"string","default":[]}},"state":{"origin":{"type":"enum","values":["random","category","chosen","free","unstable"],"default":"chosen"}}},"negative":{"fields":{"roll":{"type":"integer","required":true,"min":1,"max":100}},"state":{"light":{"type":"boolean","default":false}}}},"constraints":[{"id":"creation-background","check":"!character.creating || countCopies(copy.type == 'background') > 0"},{"id":"edge-limit","check":"edges.count <= edges.allowed"},{"id":"focus-limit","check":"foci.count <= foci.allowed"},{"id":"underdog","check":"!character.creating || !edges.underdog || attributes.baseTotal <= -1"},{"id":"edge-once","check":"countCopies(copy.type == 'edge' && copy.item != @edges.focused) == size(edges.held)\n - (@edges.focused in edges.held ? 1 : 0)"},{"id":"focus-once","copies":{"type":"focus","where":"!item.multiple"},"check":"countCopies(copy.item == item.id) == 1"},{"id":"encumbrance-limit","check":"character.creating || encumbrance.overload <= 2"},{"id":"one-armor","check":"countCopies(copy.type == 'armor' && copy.equipped && !('shield' in copy.tags)) <= 1"},{"id":"sensitive-skin","check":"!mutations.sensitiveSkin || countCopies(copy.type == 'armor' && copy.equipped && copy.fields.enc > 1) == 0"},{"id":"mutation-points","check":"mutations.points.spent <= mutations.points.total"},{"id":"negative-mutation-limit","check":"mutations.negatives <= 3"},{"id":"mutant-only","check":"mutations.mutant || countCopies(copy.type == 'mutation' || copy.type == 'negative') == 0"},{"id":"mutation-once","copies":{"type":"mutation"},"check":"countCopies(copy.item == item.id) == 1"},{"id":"negative-mutation-once","copies":{"type":"negative"},"check":"countCopies(copy.item == item.id) == 1"},{"id":"creation-skill-limit","check":"!character.creating || skills.highest <= 1"},{"id":"forbidden-skill","check":"countList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x)) == 0"}],"resultBands":{"check":[{"id":"success","when":"has(params.difficulty) && roll.total >= params.difficulty"},{"id":"failure","when":"has(params.difficulty)"},{"id":"rolled","when":true}],"save":[{"id":"success","when":"roll.total >= flags.target"},{"id":"failure","when":true}],"attack":[{"id":"hit","when":"roll.kept[0] == 20 || (roll.kept[0] != 1 && roll.total >= flags.ac)"},{"id":"miss","when":true}]},"situational":[{"id":"versus","type":"enum","values":["other","poison","disease","radiation"],"default":"other","rolls":["save"]},{"id":"social","type":"boolean","default":false,"rolls":["check"]},{"id":"grapple","type":"boolean","default":false,"rolls":["check"]},{"id":"foraging","type":"boolean","default":false,"rolls":["check"]},{"id":"burst","type":"boolean","default":false,"rolls":["attack.ranged","damage"],"effects":[{"target":{"rolls":["attack.ranged","damage"]},"op":"add","value":2,"when":"'burst' in action.item.tags"}]}],"families":{"attribute":["str","dex","con","int","wis","cha"],"skill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]},"settings":{"rounding":"floor"},"creation":[{"id":"guided","action":"create-character"},{"id":"random","action":"create-character","params":{"random":true},"random":true}],"standardCopies":[{"type":"weapon","where":"item.id == @weapons.unarmed"}],"display":{"groups":[{"id":"attributes","priority":0,"members":{"type":"field","where":"'attribute' in item.tags || 'attribute-mod' in item.tags"}},{"id":"skills","priority":0,"members":{"type":"field","where":"'skill' in item.tags"}},{"id":"combat","priority":0},{"id":"saves","priority":0,"members":{"type":"field","where":"'save' in item.tags"}},{"id":"condition","priority":0},{"id":"advancement","priority":1},{"id":"encumbrance","priority":1},{"id":"mutations","priority":1},{"id":"background","kind":"content","priority":0,"members":{"type":"background"}},{"id":"edges","kind":"content","priority":0,"members":{"type":"edge"}},{"id":"foci","kind":"content","priority":0,"members":{"type":"focus"}},{"id":"positive-mutations","kind":"content","priority":1,"members":{"type":"mutation"}},{"id":"negative-mutations","kind":"content","priority":1,"members":{"type":"negative"}},{"id":"weapons","kind":"content","priority":1,"members":{"type":"weapon"}},{"id":"armor","kind":"content","priority":1,"members":{"type":"armor"}},{"id":"gear","kind":"content","priority":1,"members":{"type":"gear"}},{"id":"checks","kind":"actions","priority":0,"members":{"type":"action","where":"'check' in item.tags || 'save' in item.tags"}},{"id":"attacks","kind":"actions","priority":0,"members":{"type":"action","where":"'attack' in item.tags"}},{"id":"advancement-actions","kind":"actions","priority":2,"members":{"type":"action","where":"'advancement' in item.tags"}},{"id":"creation","kind":"actions","priority":3,"visibility":"background","members":{"type":"action","where":"'creation' in item.tags"}}],"fields":{"attributes.str.base":{"hidden":true},"attributes.dex.base":{"hidden":true},"attributes.con.base":{"hidden":true},"attributes.int.base":{"hidden":true},"attributes.wis.base":{"hidden":true},"attributes.cha.base":{"hidden":true},"attributes.str.boost":{"hidden":true},"attributes.dex.boost":{"hidden":true},"attributes.con.boost":{"hidden":true},"attributes.int.boost":{"hidden":true},"attributes.wis.boost":{"hidden":true},"attributes.cha.boost":{"hidden":true},"attributes.str.bonus":{"hidden":true},"attributes.dex.bonus":{"hidden":true},"attributes.con.bonus":{"hidden":true},"attributes.int.bonus":{"hidden":true},"attributes.wis.bonus":{"hidden":true},"attributes.cha.bonus":{"hidden":true},"attributes.str.penalty":{"hidden":true},"attributes.dex.penalty":{"hidden":true},"attributes.con.penalty":{"hidden":true},"attributes.int.penalty":{"hidden":true},"attributes.wis.penalty":{"hidden":true},"attributes.cha.penalty":{"hidden":true},"skills.administer.credit":{"hidden":true},"skills.connect.credit":{"hidden":true},"skills.drive.credit":{"hidden":true},"skills.exert.credit":{"hidden":true},"skills.fix.credit":{"hidden":true},"skills.heal.credit":{"hidden":true},"skills.know.credit":{"hidden":true},"skills.lead.credit":{"hidden":true},"skills.notice.credit":{"hidden":true},"skills.perform.credit":{"hidden":true},"skills.program.credit":{"hidden":true},"skills.punch.credit":{"hidden":true},"skills.shoot.credit":{"hidden":true},"skills.sneak.credit":{"hidden":true},"skills.stab.credit":{"hidden":true},"skills.survive.credit":{"hidden":true},"skills.talk.credit":{"hidden":true},"skills.trade.credit":{"hidden":true},"skills.work.credit":{"hidden":true},"skills.administer.cap":{"hidden":true},"skills.connect.cap":{"hidden":true},"skills.drive.cap":{"hidden":true},"skills.exert.cap":{"hidden":true},"skills.fix.cap":{"hidden":true},"skills.heal.cap":{"hidden":true},"skills.know.cap":{"hidden":true},"skills.lead.cap":{"hidden":true},"skills.notice.cap":{"hidden":true},"skills.perform.cap":{"hidden":true},"skills.program.cap":{"hidden":true},"skills.punch.cap":{"hidden":true},"skills.shoot.cap":{"hidden":true},"skills.sneak.cap":{"hidden":true},"skills.stab.cap":{"hidden":true},"skills.survive.cap":{"hidden":true},"skills.talk.cap":{"hidden":true},"skills.trade.cap":{"hidden":true},"skills.work.cap":{"hidden":true},"skills.highest":{"hidden":true},"attributes.baseTotal":{"hidden":true},"hp.attributeMod":{"hidden":true},"hp.dieBonus":{"hidden":true},"combat.damageBonus":{"hidden":true},"combat.melee.hit":{"hidden":true},"combat.melee.damage":{"hidden":true},"combat.melee.shock":{"hidden":true},"combat.melee.shockAnyAc":{"hidden":true},"combat.armed.hit":{"hidden":true},"combat.armed.damage":{"hidden":true},"combat.armed.shock":{"hidden":true},"combat.armed.shockAnyAc":{"hidden":true},"combat.ranged.damage":{"hidden":true},"move.base":{"hidden":true},"ac.armor":{"hidden":true},"ac.armorVsGuns":{"hidden":true},"ac.shield":{"hidden":true},"ac.bonus":{"hidden":true},"saves.physicalMod":{"hidden":true},"saves.evasionMod":{"hidden":true},"saves.mentalMod":{"hidden":true},"strain.penalty":{"hidden":true},"strain.bonus":{"hidden":true},"strain.bonusCap":{"hidden":true},"stress.immune":{"hidden":true},"edges.held":{"hidden":true},"foci.held":{"hidden":true},"edges.forgedByFire":{"hidden":true},"foci.bonus":{"hidden":true},"encumbrance.armorFactor":{"hidden":true},"mutations.mutant":{"hidden":true},"mutations.noVision":{"hidden":true},"mutations.noHearing":{"hidden":true},"mutations.sensitiveSkin":{"hidden":true},"level":{"groups":["advancement"],"priority":0,"visibility":"primary"},"xp.current":{"groups":["advancement"],"priority":0,"with":[{"field":"xp.next","as":"max"}]},"xp.next":{"groups":["advancement"],"priority":1},"xp.rate":{"groups":["advancement"],"priority":2},"skills.points":{"groups":["advancement"],"priority":0},"skills.perLevel":{"groups":["advancement"],"priority":2},"attributes.boosts":{"groups":["advancement"],"priority":2},"edges.count":{"groups":["advancement"],"priority":1,"with":[{"field":"edges.allowed","as":"max"}]},"edges.allowed":{"groups":["advancement"],"priority":2},"edges.underdog":{"groups":["advancement"],"priority":2},"variant.giftedSurvivors":{"groups":["advancement"],"priority":3},"foci.count":{"groups":["advancement"],"priority":1,"with":[{"field":"foci.allowed","as":"max"}]},"foci.allowed":{"groups":["advancement"],"priority":2},"languages.extra":{"groups":["advancement"],"priority":2},"hp.current":{"groups":["condition"],"priority":0,"visibility":"primary","with":[{"field":"hp.max","as":"max"}]},"hp.max":{"groups":["condition"],"priority":1},"strain.current":{"groups":["condition"],"priority":0,"with":[{"field":"strain.max","as":"max"}]},"strain.max":{"groups":["condition"],"priority":1},"stress.current":{"groups":["condition"],"priority":1,"with":[{"field":"stress.limit","as":"max"}]},"stress.limit":{"groups":["condition"],"priority":2},"ac.value":{"groups":["combat"],"priority":0,"visibility":"primary"},"ac.vsGuns":{"groups":["combat"],"priority":1},"combat.attackBonus":{"groups":["combat"],"priority":0},"combat.traumaTarget":{"groups":["combat"],"priority":2},"move.value":{"groups":["combat"],"priority":1},"encumbrance.readied":{"groups":["encumbrance"],"priority":0,"with":[{"field":"encumbrance.readied.max","as":"max"}]},"encumbrance.readied.max":{"groups":["encumbrance"],"priority":1},"encumbrance.stowed":{"groups":["encumbrance"],"priority":0,"with":[{"field":"encumbrance.stowed.max","as":"max"}]},"encumbrance.stowed.max":{"groups":["encumbrance"],"priority":1},"encumbrance.strength":{"groups":["encumbrance"],"priority":2},"encumbrance.overload":{"groups":["encumbrance"],"priority":1},"mutations.points.total":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"mutations.points.spent":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"mutations.points.left":{"groups":["mutations"],"priority":0,"showWhen":"mutations.mutant"},"mutations.negatives":{"groups":["mutations"],"priority":2,"showWhen":"mutations.mutant"},"mutations.stigmaConcealed":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"stigma.part":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"stigma.part2":{"groups":["mutations"],"priority":2,"showWhen":"mutations.mutant"},"stigma.nature":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"stigma.detail":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"skills.administer.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.administer.level"}}]},"skills.connect.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.connect.level"}}]},"skills.drive.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.drive.level"}}]},"skills.exert.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.exert.level"}}]},"skills.fix.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.fix.level"}}]},"skills.heal.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.heal.level"}}]},"skills.know.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.know.level"}}]},"skills.lead.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.lead.level"}}]},"skills.notice.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.notice.level"}}]},"skills.perform.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.perform.level"}}]},"skills.program.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.program.level"}}]},"skills.punch.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.punch.level"}}]},"skills.shoot.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.shoot.level"}}]},"skills.sneak.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.sneak.level"}}]},"skills.stab.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.stab.level"}}]},"skills.survive.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.survive.level"}}]},"skills.talk.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.talk.level"}}]},"skills.trade.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.trade.level"}}]},"skills.work.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.work.level"}}]},"saves.physical":{"rolls":[{"action":"save","params":{"save":"saves.physical"}}]},"saves.evasion":{"rolls":[{"action":"save","params":{"save":"saves.evasion"}}]},"saves.mental":{"rolls":[{"action":"save","params":{"save":"saves.mental"}}]},"saves.luck":{"rolls":[{"action":"save","params":{"save":"saves.luck"}}]}},"types":{"background":{"quantity":{"hidden":true}},"edge":{"quantity":{"hidden":true}},"focus":{"quantity":{"hidden":true}},"mutation":{"quantity":{"hidden":true}},"negative":{"quantity":{"hidden":true}},"weapon":{"state":{"shots":{"priority":0,"input":{"widget":"track"},"showWhen":"has(item.magazine)"}},"fields":{"damage":{"format":"dice"}}}}},"tags":["attribute.str","attribute.dex","attribute.con","attribute.int","attribute.wis","attribute.cha","attribute-mod.str","attribute-mod.dex","attribute-mod.con","attribute-mod.int","attribute-mod.wis","attribute-mod.cha","attribute-base","attribute-boost","attribute-bonus","attribute-penalty","skill-cap","skill.administer","skill.connect","skill.drive","skill.exert","skill.fix","skill.heal","skill.know","skill.lead","skill.notice","skill.perform","skill.program","skill.punch","skill.shoot","skill.sneak","skill.stab","skill.survive","skill.talk","skill.trade","skill.work","check","creation","save.physical","save.evasion","save.mental","save.luck","attack.melee","attack.ranged","damage","hit-points","advancement","hearing","vision","primitive","heavy","shield","sealed","powered","burst","suppress","two-handed","nonlethal","energy","laser","quick-reload","rested","thrown","grenade","bundleable","placed","natural","animal","drug","stim"]},"content":[{"id":"armor.assault-suit","type":"armor","tags":["sealed","powered"],"fields":{"ac":18,"enc":2,"traumaMod":2,"techLevel":4}},{"id":"armor.harmony-armor","type":"armor","fields":{"ac":18,"enc":0,"traumaMod":1,"cost":1500,"techLevel":4}},{"id":"armor.high-tech-street-clothing","type":"armor","fields":{"ac":13,"enc":0,"subtle":true,"cost":200,"techLevel":4}},{"id":"armor.insurgent-armor","type":"armor","fields":{"ac":18,"enc":1,"traumaMod":1,"cost":1000,"techLevel":4}},{"id":"armor.leathers","type":"armor","tags":["primitive"],"fields":{"ac":13,"enc":1,"subtle":true,"cost":25,"techLevel":0}},{"id":"armor.military-body-armor","type":"armor","tags":["heavy"],"fields":{"ac":16,"enc":2,"traumaMod":1,"cost":300,"techLevel":3}},{"id":"armor.plate-carrier","type":"armor","fields":{"ac":14,"enc":1,"traumaMod":1,"cost":200,"techLevel":3}},{"id":"armor.protection-field","type":"armor","tags":["powered"],"fields":{"ac":18,"enc":0,"subtle":true,"techLevel":5}},{"id":"armor.protective-sport-gear","type":"armor","tags":["primitive"],"fields":{"ac":14,"enc":1,"cost":50,"techLevel":3}},{"id":"armor.scrap-mail","type":"armor","tags":["primitive","heavy"],"fields":{"ac":15,"enc":2,"traumaMod":1,"cost":100,"techLevel":2}},{"id":"armor.scrap-plate","type":"armor","tags":["primitive","heavy"],"fields":{"ac":18,"enc":3,"traumaMod":1,"cost":300,"techLevel":2}},{"id":"armor.shield","type":"armor","tags":["primitive","shield"],"fields":{"ac":14,"enc":1,"techLevel":0}},{"id":"armor.terran-explorer-suit","type":"armor","fields":{"ac":16,"enc":0,"traumaMod":1,"subtle":true,"cost":500,"techLevel":4}},{"id":"armor.vacc-suit","type":"armor","tags":["sealed"],"fields":{"ac":13,"enc":1,"cost":250,"techLevel":4}},{"id":"armor.vanguard-plate","type":"armor","tags":["sealed","powered"],"fields":{"ac":20,"enc":2,"traumaMod":3,"techLevel":5}},{"id":"backgrounds.courtesan","type":"background","fields":{"freeSkill":"talk","quickSkill1":"perform","quickSkill2":"connect","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"physical2","growth4":"mental2","growth5":"talk","growth6":"any-skill","learning1":"talk","learning2":"perform","learning3":"connect","learning4":"trade","learning5":"sneak","learning6":"notice","learning7":"heal","learning8":"any-skill"}},{"id":"backgrounds.crafter","type":"background","fields":{"freeSkill":"fix","quickSkill1":"trade","quickSkill2":"connect","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"physical2","growth5":"fix","growth6":"any-skill","learning1":"fix","learning2":"trade","learning3":"connect","learning4":"notice","learning5":"sneak","learning6":"know","learning7":"program","learning8":"any-skill"}},{"id":"backgrounds.diplomat","type":"background","fields":{"freeSkill":"talk","quickSkill1":"lead","quickSkill2":"connect","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"mental2","growth5":"talk","growth6":"any-skill","learning1":"lead","learning2":"talk","learning3":"connect","learning4":"perform","learning5":"know","learning6":"sneak","learning7":"notice","learning8":"any-skill"}},{"id":"backgrounds.entertainer","type":"background","fields":{"freeSkill":"perform","quickSkill1":"lead","quickSkill2":"connect","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"mental2","growth4":"physical2","growth5":"perform","growth6":"any-skill","learning1":"perform","learning2":"lead","learning3":"connect","learning4":"talk","learning5":"trade","learning6":"sneak","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.farmer","type":"background","fields":{"freeSkill":"work","quickSkill1":"survive","quickSkill2":"exert","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"physical2","growth5":"any-skill","growth6":"any-skill","learning1":"any-combat","learning2":"survive","learning3":"work","learning4":"notice","learning5":"exert","learning6":"heal","learning7":"fix","learning8":"any-skill"}},{"id":"backgrounds.healer","type":"background","fields":{"freeSkill":"heal","quickSkill1":"notice","quickSkill2":"know","growth1":"any-stat-1","growth2":"physical2","growth3":"mental2","growth4":"mental2","growth5":"heal","growth6":"any-skill","learning1":"heal","learning2":"notice","learning3":"know","learning4":"talk","learning5":"administer","learning6":"connect","learning7":"drive","learning8":"any-skill"}},{"id":"backgrounds.hunter","type":"background","fields":{"freeSkill":"survive","quickSkill1":"shoot","quickSkill2":"sneak","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"mental2","growth5":"survive","growth6":"any-skill","learning1":"shoot","learning2":"survive","learning3":"sneak","learning4":"notice","learning5":"drive","learning6":"heal","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.noble","type":"background","fields":{"freeSkill":"lead","quickSkill1":"notice","quickSkill2":"connect","growth1":"any-stat-1","growth2":"physical2","growth3":"mental2","growth4":"mental2","growth5":"lead","growth6":"any-skill","learning1":"lead","learning2":"connect","learning3":"notice","learning4":"any-combat","learning5":"trade","learning6":"administer","learning7":"talk","learning8":"any-skill"}},{"id":"backgrounds.outcast","type":"background","fields":{"freeSkill":"survive","quickSkill1":"sneak","quickSkill2":"any-combat","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"physical2","growth4":"mental2","growth5":"survive","growth6":"any-skill","learning1":"any-combat","learning2":"survive","learning3":"sneak","learning4":"connect","learning5":"heal","learning6":"exert","learning7":"talk","learning8":"any-skill"}},{"id":"backgrounds.priest","type":"background","fields":{"freeSkill":"lead","quickSkill1":"talk","quickSkill2":"connect","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"mental2","growth5":"connect","growth6":"any-skill","learning1":"lead","learning2":"talk","learning3":"connect","learning4":"perform","learning5":"know","learning6":"heal","learning7":"notice","learning8":"any-skill"}},{"id":"backgrounds.raider","type":"background","fields":{"freeSkill":"any-combat","quickSkill1":"survive","quickSkill2":"notice","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"mental2","growth5":"any-combat","growth6":"any-skill","learning1":"survive","learning2":"notice","learning3":"fix","learning4":"lead","learning5":"sneak","learning6":"connect","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.rider","type":"background","fields":{"freeSkill":"drive","quickSkill1":"any-combat","quickSkill2":"survive","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"mental2","growth5":"drive","growth6":"any-skill","learning1":"drive","learning2":"any-combat","learning3":"survive","learning4":"notice","learning5":"trade","learning6":"exert","learning7":"connect","learning8":"any-skill"}},{"id":"backgrounds.savage","type":"background","fields":{"freeSkill":"survive","quickSkill1":"any-combat","quickSkill2":"sneak","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"physical2","growth5":"survive","growth6":"any-skill","learning1":"any-combat","learning2":"sneak","learning3":"survive","learning4":"exert","learning5":"notice","learning6":"heal","learning7":"survive","learning8":"any-skill"}},{"id":"backgrounds.scavenger","type":"background","fields":{"freeSkill":"notice","quickSkill1":"fix","quickSkill2":"survive","growth1":"any-stat-1","growth2":"mental2","growth3":"physical2","growth4":"physical2","growth5":"notice","growth6":"any-skill","learning1":"survive","learning2":"drive","learning3":"fix","learning4":"trade","learning5":"sneak","learning6":"notice","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.scholar","type":"background","fields":{"freeSkill":"know","quickSkill1":"talk","quickSkill2":"administer","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"mental2","growth5":"know","growth6":"any-skill","learning1":"know","learning2":"talk","learning3":"administer","learning4":"connect","learning5":"heal","learning6":"fix","learning7":"program","learning8":"any-skill"}},{"id":"backgrounds.scout","type":"background","fields":{"freeSkill":"sneak","quickSkill1":"notice","quickSkill2":"survive","growth1":"any-stat-1","growth2":"mental2","growth3":"physical2","growth4":"physical2","growth5":"sneak","growth6":"any-skill","learning1":"any-combat","learning2":"sneak","learning3":"notice","learning4":"survive","learning5":"connect","learning6":"exert","learning7":"drive","learning8":"any-skill"}},{"id":"backgrounds.slave","type":"background","fields":{"freeSkill":"exert","quickSkill1":"sneak","quickSkill2":"survive","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"mental2","growth4":"physical2","growth5":"exert","growth6":"any-skill","learning1":"exert","learning2":"sneak","learning3":"survive","learning4":"talk","learning5":"heal","learning6":"perform","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.trader","type":"background","fields":{"freeSkill":"trade","quickSkill1":"notice","quickSkill2":"connect","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"physical2","growth5":"trade","growth6":"any-skill","learning1":"trade","learning2":"notice","learning3":"connect","learning4":"fix","learning5":"talk","learning6":"administer","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.wanderer","type":"background","fields":{"freeSkill":"survive","quickSkill1":"sneak","quickSkill2":"any-combat","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"physical2","growth4":"mental2","growth5":"survive","growth6":"any-skill","learning1":"any-combat","learning2":"survive","learning3":"sneak","learning4":"talk","learning5":"connect","learning6":"notice","learning7":"exert","learning8":"any-skill"}},{"id":"backgrounds.warrior","type":"background","fields":{"freeSkill":"any-combat","quickSkill1":"exert","quickSkill2":"lead","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"physical2","growth5":"any-combat","growth6":"any-skill","learning1":"any-combat","learning2":"exert","learning3":"lead","learning4":"notice","learning5":"survive","learning6":"heal","learning7":"drive","learning8":"any-skill"}},{"id":"edges.beacon-of-hope","type":"edge","fields":{"bonusSkill":["lead"]},"effects":[{"target":"attributes.cha.boost","op":"add","value":1}]},{"id":"edges.cold-blood","type":"edge","effects":[{"target":"stress.immune","op":"set","value":true}]},{"id":"edges.comrade","type":"edge"},{"id":"edges.educated","type":"edge","fields":{"bonusSkill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]},"effects":[{"target":"skills.perLevel","op":"add","value":1}]},{"id":"edges.faceless","type":"edge","fields":{"bonusSkill":["sneak"]},"grants":[{"item":"foci.gray-man","state":{"level":2}}],"effects":[{"target":"attributes.cha.mod","op":"set","value":0}]},{"id":"edges.focused","type":"edge","effects":[{"target":"foci.bonus","op":"add","value":1}]},{"id":"edges.forged-by-fire","type":"edge"},{"id":"edges.ghost","type":"edge","fields":{"bonusSkill":["sneak"]}},{"id":"edges.hard-to-kill","type":"edge","effects":[{"target":"hp.dieBonus","op":"add","value":2},{"target":"combat.traumaTarget","op":"add","value":1}]},{"id":"edges.hardened-genetics","type":"edge","prerequisites":[{"id":"not-mutant","when":"!mutations.mutant"}],"effects":[{"target":{"rolls":["save"]},"op":"add","value":4,"when":"situational.versus == 'radiation'"}],"choices":[{"id":"attribute","from":{"values":["str","dex","con","int","wis","cha"]},"recommend":"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n -fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-boost' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":1}]}]},{"id":"edges.killing-blow","type":"edge","fields":{"bonusSkill":["punch","shoot","stab"]},"effects":[{"target":"combat.damageBonus","op":"add","value":"ceil(level / 2)"}]},{"id":"edges.masterful-expertise","type":"edge"},{"id":"edges.mutant","type":"edge","choices":[{"id":"penalty","from":{"values":["str","dex","con","int","wis","cha"],"where":"value in choice.picks || fieldOf('attributes.{attribute}.mod', value) >= -1"},"recommend":"sortList(filterList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.mod', x) >= -1),\n fieldOf('attributes.{attribute}.mod', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-penalty' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":-1}]}]},{"id":"edges.mutation-acceleration","type":"edge","prerequisites":[{"id":"mutant","when":"mutations.mutant"}]},{"id":"edges.on-target","type":"edge","fields":{"bonusSkill":["punch","shoot","stab"]},"effects":[{"target":"combat.attackBonus","op":"set","value":"level"}]},{"id":"edges.prodigy","type":"edge","prerequisites":[{"id":"not-underdog","when":"!edges.underdog"}],"choices":[{"id":"attribute","from":{"values":["str","dex","int","wis","cha"]},"recommend":"sortList(['str', 'dex', 'int', 'wis', 'cha'],\n -fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"atLeast","value":18},{"target":{"fields":{"where":"'attribute-base' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"atLeast","value":3}]}]},{"id":"edges.survivors-fortune","type":"edge"},{"id":"edges.systemic-immunity","type":"edge","grants":[{"item":"foci.natural-immunity","state":{"level":2}}],"effects":[{"target":"attributes.con.boost","op":"add","value":1}]},{"id":"edges.theyre-here","type":"edge","fields":{"bonusSkill":["notice"]},"effects":[{"target":"attributes.wis.boost","op":"add","value":1}]},{"id":"edges.veterans-luck","type":"edge"},{"id":"foci.alert","type":"focus","fields":{"bonusSkill":["notice"]}},{"id":"foci.apex-predator","type":"focus","fields":{"bonusSkill":["survive"],"bonusSkill2":["shoot"]}},{"id":"foci.armsmaster","type":"focus","fields":{"bonusSkill":["stab"]},"effects":[{"target":"combat.armed.damage","op":"add","value":"max(0, skills.stab.level)"},{"target":"combat.armed.shock","op":"add","value":"max(0, skills.stab.level)"},{"target":"combat.armed.shockAnyAc","op":"set","value":true,"when":"self.level >= 2"},{"target":"combat.armed.hit","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.assassin","type":"focus","fields":{"bonusSkill":["sneak"]}},{"id":"foci.authority","type":"focus","fields":{"bonusSkill":["lead"]}},{"id":"foci.close-combatant","type":"focus","fields":{"bonusSkill":["punch","shoot","stab"]},"effects":[{"target":"combat.melee.shockAnyAc","op":"set","value":true,"when":"self.level >= 2"}]},{"id":"foci.deadeye","type":"focus","fields":{"bonusSkill":["shoot"]},"effects":[{"target":"combat.ranged.damage","op":"add","value":"max(0, skills.shoot.level)"}]},{"id":"foci.diplomat","type":"focus","fields":{"bonusSkill":["talk"]}},{"id":"foci.gray-man","type":"focus","fields":{"bonusSkill":["sneak"]}},{"id":"foci.healer","type":"focus","fields":{"bonusSkill":["heal"]},"effects":[{"target":{"rolls":["skill.heal"]},"op":"rollModifier","value":{"kind":"poolDice","count":1},"stackKey":"skill-dice"}]},{"id":"foci.henchkeeper","type":"focus","fields":{"bonusSkill":["lead"]}},{"id":"foci.iron-stomach","type":"focus","fields":{"bonusSkill":["survive"]},"effects":[{"target":{"rolls":["save"]},"op":"add","value":2,"when":"situational.versus == 'poison' || situational.versus == 'disease'"},{"target":"strain.bonus","op":"add","value":2,"when":"self.level >= 2"}]},{"id":"foci.natural-immunity","type":"focus","effects":[{"target":{"rolls":["save"]},"op":"add","value":4,"when":"situational.versus == 'disease'"},{"target":"strain.bonus","op":"add","value":"self.level >= 2 ? 4 : 2"},{"target":"strain.bonusCap","op":"atLeast","value":22,"when":"self.level >= 2"}]},{"id":"foci.pathfinder","type":"focus","fields":{"bonusSkill":["survive"]}},{"id":"foci.road-warrior","type":"focus","fields":{"bonusSkill":["drive"]}},{"id":"foci.robot-whisperer","type":"focus","fields":{"bonusSkill":["fix","program"]}},{"id":"foci.scrapsmith","type":"focus","fields":{"bonusSkill":["fix"]}},{"id":"foci.shocking-assault","type":"focus","fields":{"bonusSkill":["punch","stab"]},"effects":[{"target":"combat.melee.shockAnyAc","op":"set","value":true},{"target":"combat.melee.shock","op":"add","value":2,"when":"self.level >= 2"}]},{"id":"foci.skilled-combat-rider","type":"focus","fields":{"bonusSkill":["drive"]}},{"id":"foci.slippery","type":"focus","fields":{"bonusSkill":["punch","exert"]},"effects":[{"target":"attributes.dex.boost","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.snipers-eye","type":"focus","fields":{"bonusSkill":["shoot"]}},{"id":"foci.spark-of-brilliance","type":"focus","fields":{"maxLevel":1,"bonusSkill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]}},{"id":"foci.specialist","type":"focus","fields":{"multiple":true,"specialty":true,"bonusSkill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","sneak","survive","talk","trade","work"]},"repeatable":true,"choices":[{"id":"skill","from":{"values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","sneak","survive","talk","trade","work"]},"effects":[{"target":{"rolls":["check"]},"op":"rollModifier","value":{"kind":"poolDice","count":"self.level >= 2 ? 2 : 1"},"when":"('skill.' + pick.value) in roll.tags","stackKey":"skill-dice"}],"recommend":"sortList(item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]"}]},{"id":"foci.strong-back","type":"focus","fields":{"bonusSkill":["exert"]},"effects":[{"target":"encumbrance.strength","op":"atLeast","value":18},{"target":"attributes.str.boost","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.survivalist","type":"focus","fields":{"bonusSkill":["survive"]},"effects":[{"target":{"rolls":["check"]},"op":"rollModifier","value":{"kind":"advantage","of":"roll"},"when":"situational.foraging"},{"target":"attributes.con.boost","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.tinker","type":"focus","fields":{"bonusSkill":["fix"]}},{"id":"foci.unarmed-combatant","type":"focus","fields":{"bonusSkill":["punch"]},"keepsTemplates":[{"template":"templates.unarmed-combatant","copies":{"type":"weapon","where":"item.id == @weapons.unarmed"}}]},{"id":"foci.unique-gift","type":"focus","fields":{"maxLevel":1}},{"id":"foci.unnumbered-friends","type":"focus","fields":{"bonusSkill":["connect"]},"effects":[{"target":"attributes.cha.boost","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.unstable-mutant","type":"focus","prerequisites":[{"id":"mutant","when":"mutations.mutant"}]},{"id":"foci.whirlwind-assault","type":"focus","fields":{"bonusSkill":["stab","punch"]}},{"id":"foci.zombie-smasher","type":"focus"},{"id":"gear.alcohol-excellent","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":10}},{"id":"gear.alcohol","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.ammo","type":"gear","fields":{"enc":0,"cost":1}},{"id":"gear.antibiotics-powerful","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"healSkill":0,"cost":200,"techLevel":3}},{"id":"gear.antibiotics","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"healSkill":0,"cost":50,"techLevel":3}},{"id":"gear.arrows","type":"gear","fields":{"enc":1,"techLevel":0}},{"id":"gear.backpack","type":"gear","fields":{"enc":1,"wornFree":true,"cost":5}},{"id":"gear.batteries-rechargeable","type":"gear","fields":{"enc":1,"techLevel":3}},{"id":"gear.batteries","type":"gear","fields":{"enc":0,"cost":2,"techLevel":3}},{"id":"gear.binoculars","type":"gear","fields":{"enc":1,"cost":25}},{"id":"gear.bounce","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":100,"techLevel":4}},{"id":"gear.camping-kit","type":"gear","fields":{"enc":2,"cost":20}},{"id":"gear.cash","type":"gear","fields":{"enc":0}},{"id":"gear.clothes-cold-weather","type":"gear","fields":{"enc":2,"wornFree":true,"cost":30}},{"id":"gear.clothes-fine","type":"gear","fields":{"enc":2,"wornFree":true}},{"id":"gear.clothes","type":"gear","fields":{"enc":1,"wornFree":true,"cost":10}},{"id":"gear.compressed-fuel","type":"gear","fields":{"enc":1,"cost":1}},{"id":"gear.crowbar","type":"gear","fields":{"enc":1,"cost":10}},{"id":"gear.depressant-crude","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.depressant-refined","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":20,"techLevel":3}},{"id":"gear.dog","type":"gear","tags":["animal"],"fields":{"enc":0,"cost":50}},{"id":"gear.drone","type":"gear","fields":{"enc":3,"cost":200,"techLevel":3}},{"id":"gear.energy-cell-a-plus","type":"gear","tags":["bundleable"],"fields":{"enc":1,"techLevel":4}},{"id":"gear.energy-cell-a","type":"gear","tags":["bundleable"],"fields":{"enc":1,"cost":25,"techLevel":4}},{"id":"gear.energy-cell-b-plus","type":"gear","fields":{"enc":3,"techLevel":4}},{"id":"gear.energy-cell-b","type":"gear","fields":{"enc":3,"cost":100,"techLevel":4}},{"id":"gear.first-aid-kit","type":"gear","fields":{"enc":1,"cost":25}},{"id":"gear.flashlight","type":"gear","fields":{"enc":1,"cost":10,"techLevel":3}},{"id":"gear.gas-mask","type":"gear","fields":{"enc":1,"cost":50,"techLevel":3}},{"id":"gear.glow","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"healSkill":1,"cost":500,"techLevel":4}},{"id":"gear.hallucinogen-crude","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":2}},{"id":"gear.hallucinogen-refined","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":40,"techLevel":3}},{"id":"gear.hand-cart","type":"gear","fields":{"enc":0,"cost":50}},{"id":"gear.hand-tool","type":"gear","fields":{"enc":1,"cost":10}},{"id":"gear.horse","type":"gear","tags":["animal"],"fields":{"enc":0,"cost":250}},{"id":"gear.jewelry","type":"gear","fields":{"enc":0}},{"id":"gear.keepsake","type":"gear","fields":{"enc":0}},{"id":"gear.lantern","type":"gear","fields":{"enc":1,"cost":20}},{"id":"gear.laptop","type":"gear","fields":{"enc":1,"techLevel":3}},{"id":"gear.lifestyle","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":100,"techLevel":4}},{"id":"gear.lighters","type":"gear","fields":{"enc":0,"techLevel":3}},{"id":"gear.lockpick-kit","type":"gear","fields":{"enc":1,"cost":50}},{"id":"gear.magazine","type":"gear","tags":["bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.morning-after","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":50,"techLevel":4}},{"id":"gear.mule","type":"gear","tags":["animal"],"fields":{"enc":0,"cost":100}},{"id":"gear.night-vision-gear","type":"gear","fields":{"enc":1,"cost":150,"techLevel":3}},{"id":"gear.oil-flask","type":"gear","tags":["bundleable"],"fields":{"enc":1,"cost":2}},{"id":"gear.opioid-crude","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.opioid-refined","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":20,"techLevel":3}},{"id":"gear.panacea","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"healSkill":2,"cost":5000,"techLevel":4}},{"id":"gear.perpetual-lighter","type":"gear","fields":{"enc":0,"techLevel":4}},{"id":"gear.preserved-food","type":"gear","fields":{"enc":4}},{"id":"gear.profession-item","type":"gear","fields":{"enc":1}},{"id":"gear.purification-tablets","type":"gear","fields":{"enc":0,"techLevel":3}},{"id":"gear.radio","type":"gear","fields":{"enc":2,"cost":250,"techLevel":3}},{"id":"gear.ration","type":"gear","tags":["bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.rope-fiber","type":"gear","fields":{"enc":2,"techLevel":0}},{"id":"gear.rope","type":"gear","fields":{"enc":1,"cost":5}},{"id":"gear.salvaged-tech","type":"gear","fields":{"enc":1,"techLevel":4}},{"id":"gear.scrap-tl2","type":"gear","fields":{"enc":1,"cost":10,"techLevel":2}},{"id":"gear.scrap-tl3","type":"gear","fields":{"enc":1,"cost":25,"techLevel":3}},{"id":"gear.sleeping-bag","type":"gear","fields":{"enc":1,"cost":10}},{"id":"gear.smartphone","type":"gear","fields":{"enc":1,"techLevel":3}},{"id":"gear.smile","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":250,"techLevel":4}},{"id":"gear.snooze","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":50,"techLevel":4}},{"id":"gear.solar-charger","type":"gear","fields":{"enc":2,"techLevel":3}},{"id":"gear.stimulant-crude","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":2}},{"id":"gear.stimulant-refined","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":40,"techLevel":3}},{"id":"gear.surgical-kit","type":"gear","fields":{"enc":3,"cost":500}},{"id":"gear.tarp","type":"gear","fields":{"enc":2,"cost":10}},{"id":"gear.tent","type":"gear","fields":{"enc":3,"cost":20}},{"id":"gear.therapeutic-powerful","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"healSkill":1,"cost":500,"techLevel":3}},{"id":"gear.therapeutic","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"healSkill":0,"cost":100,"techLevel":3}},{"id":"gear.thunderbolt","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"healSkill":1,"cost":500,"techLevel":4}},{"id":"gear.tinderbox","type":"gear","fields":{"enc":0,"techLevel":0}},{"id":"gear.titan","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"healSkill":0,"cost":250,"techLevel":4}},{"id":"gear.toolkit","type":"gear","fields":{"enc":3,"cost":50}},{"id":"gear.torch","type":"gear","tags":["bundleable"],"fields":{"enc":1,"techLevel":0}},{"id":"gear.trauma-patch","type":"gear","tags":["drug","stim"],"fields":{"enc":1,"cost":50,"techLevel":4}},{"id":"gear.walkie-talkie","type":"gear","fields":{"enc":1,"cost":50,"techLevel":3}},{"id":"gear.water-jug","type":"gear","fields":{"enc":1,"cost":2}},{"id":"gear.water-purifier","type":"gear","fields":{"enc":2,"techLevel":3}},{"id":"gear.weeper","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":500,"techLevel":4}},{"id":"gear.zen","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":100,"techLevel":4}},{"id":"mutations.cognition.augmented-cognition","type":"mutation","fields":{"category":"cognition","roll":1},"choices":[{"id":"attribute","from":{"values":["int","wis","cha"]},"recommend":"sortList(['int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-boost' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":1}]}]},{"id":"mutations.cognition.ballistic-calculator","type":"mutation","fields":{"category":"cognition","roll":2,"bonusSkill":["shoot"]}},{"id":"mutations.cognition.eidetic-memory","type":"mutation","fields":{"category":"cognition","roll":3,"bonusSkill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]},"effects":[{"target":"skills.perLevel","op":"add","value":1}]},{"id":"mutations.cognition.internal-map","type":"mutation","fields":{"category":"cognition","roll":4}},{"id":"mutations.cognition.intuitive-leap","type":"mutation","fields":{"category":"cognition","roll":5,"bonusSkill":["notice"]},"effects":[{"target":"attributes.wis.boost","op":"add","value":1}]},{"id":"mutations.cognition.memory-eater","type":"mutation","fields":{"category":"cognition","roll":6}},{"id":"mutations.cognition.mental-bifurcation","type":"mutation","fields":{"category":"cognition","roll":7}},{"id":"mutations.cognition.mind-over-body","type":"mutation","fields":{"category":"cognition","roll":8},"effects":[{"target":"hp.attributeMod","op":"atLeast","value":"max(attributes.int.mod, attributes.wis.mod)"},{"target":"saves.physicalMod","op":"atLeast","value":"max(attributes.int.mod, attributes.wis.mod)"}]},{"id":"mutations.cognition.omniglot","type":"mutation","fields":{"category":"cognition","roll":9},"effects":[{"target":"attributes.cha.bonus","op":"add","value":1}]},{"id":"mutations.cognition.predictive-analysis","type":"mutation","fields":{"category":"cognition","roll":10},"choices":[{"id":"attribute","from":{"values":["int","wis"]},"recommend":"sortList(['int', 'wis'], -fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-bonus' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":1}]}]},{"id":"mutations.exotic.chameleon-field","type":"mutation","fields":{"category":"exotic","roll":1,"bonusSkill":["sneak"]},"effects":[{"target":{"rolls":["skill.sneak"]},"op":"add","value":1}]},{"id":"mutations.exotic.electrical-generation","type":"mutation","fields":{"category":"exotic","roll":2}},{"id":"mutations.exotic.hemovore","type":"mutation","fields":{"category":"exotic","roll":3}},{"id":"mutations.exotic.image-projection","type":"mutation","fields":{"category":"exotic","roll":4}},{"id":"mutations.exotic.metamorph","type":"mutation","fields":{"category":"exotic","roll":5}},{"id":"mutations.exotic.molecular-phasing","type":"mutation","fields":{"category":"exotic","roll":6}},{"id":"mutations.exotic.natural-projectiles","type":"mutation","fields":{"category":"exotic","roll":7,"bonusSkill":["shoot"]},"standardCopies":[{"type":"weapon","where":"item.id == @weapons.natural.projectiles"}]},{"id":"mutations.exotic.pheromone-cloud","type":"mutation","fields":{"category":"exotic","roll":8}},{"id":"mutations.exotic.photon-manipulation","type":"mutation","fields":{"category":"exotic","roll":9}},{"id":"mutations.exotic.sound-generation","type":"mutation","fields":{"category":"exotic","roll":10}},{"id":"mutations.hybrid.aquatic-adaptation","type":"mutation","fields":{"category":"hybrid","roll":1}},{"id":"mutations.hybrid.arboreal-aptitude","type":"mutation","fields":{"category":"hybrid","roll":2}},{"id":"mutations.hybrid.centauroid","type":"mutation","fields":{"category":"hybrid","roll":3},"effects":[{"target":"move.base","op":"add","value":10}]},{"id":"mutations.hybrid.crushing-jaws","type":"mutation","fields":{"category":"hybrid","roll":4},"standardCopies":[{"type":"weapon","where":"item.id == @weapons.natural.jaws"}]},{"id":"mutations.hybrid.digitigrade-legs","type":"mutation","fields":{"category":"hybrid","roll":5},"effects":[{"target":"move.base","op":"add","value":5}]},{"id":"mutations.hybrid.functional-wings","type":"mutation","fields":{"category":"hybrid","roll":6}},{"id":"mutations.hybrid.prehensile-limb","type":"mutation","fields":{"category":"hybrid","roll":7}},{"id":"mutations.hybrid.savage-claws","type":"mutation","fields":{"category":"hybrid","roll":8},"standardCopies":[{"type":"weapon","where":"item.id == @weapons.natural.claws"}]},{"id":"mutations.hybrid.thick-hide","type":"mutation","fields":{"category":"hybrid","roll":9},"effects":[{"target":"ac.armor","op":"atLeast","value":"15 + floor(level / 2)"},{"target":"ac.armorVsGuns","op":"atLeast","value":"15 + floor(level / 2)"}]},{"id":"mutations.hybrid.venom-glands","type":"mutation","fields":{"category":"hybrid","roll":10}},{"id":"mutations.pseudo-psychic.force-field","type":"mutation","fields":{"category":"pseudo-psychic","roll":1}},{"id":"mutations.pseudo-psychic.induce-confusion","type":"mutation","fields":{"category":"pseudo-psychic","roll":2}},{"id":"mutations.pseudo-psychic.limited-precognition","type":"mutation","fields":{"category":"pseudo-psychic","roll":3}},{"id":"mutations.pseudo-psychic.mental-domination","type":"mutation","fields":{"category":"pseudo-psychic","roll":4}},{"id":"mutations.pseudo-psychic.mind-reader","type":"mutation","fields":{"category":"pseudo-psychic","roll":5}},{"id":"mutations.pseudo-psychic.neural-lockdown","type":"mutation","fields":{"category":"pseudo-psychic","roll":6}},{"id":"mutations.pseudo-psychic.panic-wave","type":"mutation","fields":{"category":"pseudo-psychic","roll":7}},{"id":"mutations.pseudo-psychic.spatial-displacement","type":"mutation","fields":{"category":"pseudo-psychic","roll":8}},{"id":"mutations.pseudo-psychic.telekinetic-reach","type":"mutation","fields":{"category":"pseudo-psychic","roll":9}},{"id":"mutations.pseudo-psychic.thermokinesis","type":"mutation","fields":{"category":"pseudo-psychic","roll":10}},{"id":"mutations.sense.accelerated-perception","type":"mutation","fields":{"category":"sense","roll":1}},{"id":"mutations.sense.acute-hearing","type":"mutation","tags":["hearing"],"fields":{"category":"sense","roll":2}},{"id":"mutations.sense.acute-olfaction","type":"mutation","fields":{"category":"sense","roll":3}},{"id":"mutations.sense.echolocation","type":"mutation","tags":["hearing"],"fields":{"category":"sense","roll":4}},{"id":"mutations.sense.empathic-sensitivity","type":"mutation","fields":{"category":"sense","roll":5},"effects":[{"target":{"rolls":["check"]},"op":"add","value":1,"when":"situational.social"}]},{"id":"mutations.sense.night-vision","type":"mutation","tags":["vision"],"fields":{"category":"sense","roll":6}},{"id":"mutations.sense.panoptic-vision","type":"mutation","tags":["vision"],"fields":{"category":"sense","roll":7}},{"id":"mutations.sense.tactile-analysis","type":"mutation","fields":{"category":"sense","roll":8}},{"id":"mutations.sense.telescopic-sight","type":"mutation","tags":["vision"],"fields":{"category":"sense","roll":9}},{"id":"mutations.sense.thermal-vision","type":"mutation","tags":["vision"],"fields":{"category":"sense","roll":10}},{"id":"mutations.structure.augmented-muscle","type":"mutation","fields":{"category":"structure","roll":1},"effects":[{"target":"encumbrance.strength","op":"add","value":4},{"target":"attributes.str.boost","op":"add","value":1}]},{"id":"mutations.structure.explosive-exertion","type":"mutation","fields":{"category":"structure","roll":2}},{"id":"mutations.structure.hypercontortion","type":"mutation","fields":{"category":"structure","roll":3}},{"id":"mutations.structure.improved-joints","type":"mutation","fields":{"category":"structure","roll":4},"effects":[{"target":"move.base","op":"add","value":5},{"target":"attributes.dex.boost","op":"add","value":1}]},{"id":"mutations.structure.leaper","type":"mutation","fields":{"category":"structure","roll":5}},{"id":"mutations.structure.redundant-organs","type":"mutation","fields":{"category":"structure","roll":6},"effects":[{"target":"combat.traumaTarget","op":"add","value":1}]},{"id":"mutations.structure.regenerator","type":"mutation","fields":{"category":"structure","roll":7}},{"id":"mutations.structure.reinforced-tissues","type":"mutation","fields":{"category":"structure","roll":8},"effects":[{"target":"ac.bonus","op":"add","value":2},{"target":"hp.attributeMod","op":"atLeast","value":2}]},{"id":"mutations.structure.sealed-systems","type":"mutation","fields":{"category":"structure","roll":9}},{"id":"mutations.structure.stamina-reserves","type":"mutation","fields":{"category":"structure","roll":10}},{"id":"negative-mutations.animalistic-mentality","type":"negative","fields":{"roll":1},"effects":[{"target":"attributes.cha.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.anosmia","type":"negative","fields":{"roll":3},"effects":[{"target":"attributes.wis.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.attribute-deficiency","type":"negative","fields":{"roll":81},"choices":[{"id":"attribute","from":{"values":["str","dex","con","int","wis","cha"],"where":"value in choice.picks || fieldOf('attributes.{attribute}.score', value)\n == minList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))"},"recommend":"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-penalty' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":-1,"when":"!self.light"}]}]},{"id":"negative-mutations.awkward-mouth","type":"negative","fields":{"roll":5},"effects":[{"target":"skills.talk.cap","op":"atMost","value":-1,"when":"!self.light"},{"target":"skills.lead.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.bestial-hunger","type":"negative","fields":{"roll":7}},{"id":"negative-mutations.bleeder","type":"negative","fields":{"roll":9}},{"id":"negative-mutations.blindness","type":"negative","fields":{"roll":11},"effects":[{"target":"mutations.noVision","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.chronic-seizures","type":"negative","fields":{"roll":13}},{"id":"negative-mutations.clumsy-paws","type":"negative","fields":{"roll":15}},{"id":"negative-mutations.constant-secretions","type":"negative","fields":{"roll":17},"effects":[{"target":"encumbrance.armorFactor","op":"set","value":2,"when":"!self.light"},{"target":{"rolls":["check"]},"op":"rollModifier","value":{"kind":"advantage","of":"roll"},"when":"!self.light && situational.grapple"}]},{"id":"negative-mutations.deafness","type":"negative","fields":{"roll":19},"effects":[{"target":"mutations.noHearing","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.deficient-polycephaly","type":"negative","fields":{"roll":21},"choices":[{"id":"attribute","from":{"values":["int","wis"]},"recommend":"sortList(['int', 'wis'], fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-penalty' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":-1,"when":"!self.light"}]}]},{"id":"negative-mutations.distorted-speech","type":"negative","fields":{"roll":23},"effects":[{"target":"skills.talk.cap","op":"atMost","value":-1,"when":"!self.light"},{"target":"skills.lead.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.distracted-mind","type":"negative","fields":{"roll":25}},{"id":"negative-mutations.energy-sink","type":"negative","fields":{"roll":27}},{"id":"negative-mutations.feeble-joints","type":"negative","fields":{"roll":29},"effects":[{"target":"attributes.str.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.feral-mind","type":"negative","fields":{"roll":31},"effects":[{"target":"attributes.int.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.fragile-system","type":"negative","fields":{"roll":33},"effects":[{"target":"strain.penalty","op":"add","value":-2,"when":"!self.light"},{"target":{"rolls":["save"]},"op":"add","value":-2,"when":"!self.light && (situational.versus == 'poison' || situational.versus == 'disease')"}]},{"id":"negative-mutations.glowbug","type":"negative","fields":{"roll":35},"effects":[{"target":"attributes.con.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.hemovore","type":"negative","fields":{"roll":37}},{"id":"negative-mutations.insensate-flesh","type":"negative","fields":{"roll":39},"effects":[{"target":"hp.dieBonus","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.light-sensitivity","type":"negative","fields":{"roll":41},"effects":[{"target":"defense.laserSensitive","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.loose-limbs","type":"negative","fields":{"roll":43},"effects":[{"target":"attributes.dex.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.low-resistances","type":"negative","fields":{"roll":45}},{"id":"negative-mutations.memory-damage","type":"negative","fields":{"roll":47},"effects":[{"target":"attributes.int.penalty","op":"add","value":-1,"when":"!self.light"},{"target":"skills.know.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.miasmic-stench","type":"negative","fields":{"roll":49},"effects":[{"target":{"rolls":["check"]},"op":"add","value":-1,"when":"!self.light && situational.social"}]},{"id":"negative-mutations.misshapen","type":"negative","fields":{"roll":51}},{"id":"negative-mutations.musclebound","type":"negative","fields":{"roll":53},"effects":[{"target":"attributes.dex.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.narrow-focus","type":"negative","fields":{"roll":55},"effects":[{"target":"attributes.wis.penalty","op":"add","value":-1,"when":"!self.light"},{"target":"skills.notice.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.overtaxed-physique","type":"negative","fields":{"roll":57},"effects":[{"target":"strain.penalty","op":"add","value":-3,"when":"!self.light"}]},{"id":"negative-mutations.place-blindness","type":"negative","fields":{"roll":59}},{"id":"negative-mutations.poor-eyesight","type":"negative","fields":{"roll":61},"effects":[{"target":"mutations.noVision","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.primitive-cognition","type":"negative","fields":{"roll":63},"effects":[{"target":"skills.perLevel","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.sensitive-skin","type":"negative","fields":{"roll":65},"effects":[{"target":"mutations.sensitiveSkin","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.short-lifespan","type":"negative","fields":{"roll":67}},{"id":"negative-mutations.sleep-dependence","type":"negative","fields":{"roll":69}},{"id":"negative-mutations.slow-development","type":"negative","fields":{"roll":71},"choices":[{"id":"favorite","from":{"values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]},"recommend":"sortList(['administer', 'connect', 'drive', 'exert', 'fix', 'heal', 'know', 'lead', 'notice',\n 'perform', 'program', 'punch', 'shoot', 'sneak', 'stab', 'survive', 'talk', 'trade',\n 'work'], -fieldOf('skills.{skill}.level', x))[0]","effects":[{"target":{"fields":{"where":"'skill-cap' in item.tags && !(('skill.' + pick.value) in item.tags)"}},"op":"atMost","value":"max(0, (level >= 9 ? 4 : level >= 6 ? 3 : level >= 3 ? 2 : 1) - 1)","when":"!self.light"}]}]},{"id":"negative-mutations.spindly","type":"negative","fields":{"roll":73},"effects":[{"target":"attributes.str.penalty","op":"add","value":-1,"when":"!self.light"},{"target":"skills.exert.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.vexation-field","type":"negative","fields":{"roll":75},"effects":[{"target":"attributes.cha.penalty","op":"add","value":-1,"when":"!self.light"},{"target":"skills.lead.cap","op":"atMost","value":-1,"when":"!self.light"},{"target":"skills.connect.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.voracious","type":"negative","fields":{"roll":77}},{"id":"negative-mutations.weak-heart","type":"negative","fields":{"roll":79},"effects":[{"target":"attributes.con.penalty","op":"add","value":-1,"when":"!self.light"},{"target":{"rolls":["skill.exert"]},"op":"rollModifier","value":{"kind":"disadvantage","of":"roll"},"when":"!self.light"}]},{"id":"templates.unarmed-combatant","type":"template","appliesTo":{"type":"weapon","where":"item.id == @weapons.unarmed"},"fields":{"damage":"skills.punch.level >= 4 ? 1d12 + 1 : skills.punch.level == 3 ? 1d12\n : skills.punch.level == 2 ? 1d10 : skills.punch.level == 1 ? 1d8 : 1d6","shock":"max(0, skills.punch.level)","shockAc":15,"traumaDie":"1d6","traumaRating":2}},{"id":"weapons.anti-materiel-rifle","type":"weapon","tags":["rested","two-handed"],"fields":{"damage":"3d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":1000,"rangeLong":2000,"magazine":5,"enc":3,"techLevel":3,"traumaDie":"1d12","traumaRating":3}},{"id":"weapons.automatic-rifle","type":"weapon","tags":["suppress","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":200,"rangeLong":400,"magazine":10,"enc":4,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.axe","type":"weapon","tags":["thrown"],"fields":{"damage":"1d6","skills":["stab"],"attributes":["str","dex"],"rangeNormal":5,"rangeLong":10,"shock":1,"shockAc":15,"enc":1,"cost":20,"techLevel":1,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.big-axe","type":"weapon","tags":["two-handed"],"fields":{"damage":"1d10","skills":["stab"],"attributes":["str"],"shock":3,"shockAc":15,"enc":2,"cost":40,"techLevel":1,"traumaDie":"1d8","traumaRating":4}},{"id":"weapons.big-club","type":"weapon","tags":["nonlethal","two-handed"],"fields":{"damage":"1d10","skills":["stab"],"attributes":["str"],"shock":2,"shockAc":18,"enc":2,"cost":3,"techLevel":0,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.big-sword","type":"weapon","tags":["two-handed"],"fields":{"damage":"2d6","skills":["stab"],"attributes":["str"],"shock":2,"shockAc":15,"enc":2,"cost":50,"techLevel":1,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.blackout-rifle","type":"weapon","tags":["energy","nonlethal","two-handed"],"fields":{"damage":"2d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":6,"enc":2,"techLevel":4}},{"id":"weapons.club","type":"weapon","tags":["nonlethal","thrown"],"fields":{"damage":"1d4","skills":["stab"],"attributes":["str"],"rangeNormal":10,"rangeLong":20,"shock":1,"shockAc":18,"enc":1,"techLevel":0,"traumaDie":"1d6","traumaRating":2}},{"id":"weapons.combat-rifle","type":"weapon","tags":["burst","two-handed"],"fields":{"damage":"1d12","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":30,"enc":2,"cost":300,"techLevel":3,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.combat-shotgun","type":"weapon","tags":["burst","two-handed"],"fields":{"damage":"3d4","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"magazine":12,"enc":2,"cost":300,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.cutter-rifle","type":"weapon","tags":["energy","burst","two-handed"],"fields":{"damage":"1d12","skills":["shoot"],"attributes":["dex"],"rangeNormal":200,"rangeLong":400,"magazine":15,"enc":2,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.demo-charge","type":"weapon","tags":["placed"],"fields":{"damage":"3d10","skills":["shoot"],"rangeNormal":20,"rangeLong":20,"enc":1,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.grenade-flash","type":"weapon","tags":["grenade","thrown","bundleable"],"fields":{"skills":["exert","shoot","stab"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"enc":1,"cost":10,"techLevel":3}},{"id":"weapons.grenade-frag","type":"weapon","tags":["grenade","thrown","bundleable"],"fields":{"damage":"2d6","skills":["exert","shoot","stab"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"enc":1,"cost":20,"techLevel":3,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.grenade-gas","type":"weapon","tags":["grenade","nonlethal","thrown","bundleable"],"fields":{"damage":"1d10","skills":["exert","shoot","stab"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"enc":1,"cost":10,"techLevel":3}},{"id":"weapons.grenade-launcher","type":"weapon","fields":{"skills":["shoot"],"attributes":["dex"],"rangeNormal":150,"rangeLong":350,"magazine":3,"enc":1,"techLevel":3}},{"id":"weapons.grenade-smoke","type":"weapon","tags":["grenade","thrown","bundleable"],"fields":{"skills":["exert","shoot","stab"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"enc":1,"cost":10,"techLevel":3}},{"id":"weapons.heavy-cutter","type":"weapon","tags":["energy","suppress","two-handed"],"fields":{"damage":"3d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":400,"rangeLong":1500,"magazine":10,"enc":4,"techLevel":4,"traumaDie":"1d10","traumaRating":4}},{"id":"weapons.heavy-machine-gun","type":"weapon","tags":["rested","suppress","two-handed"],"fields":{"damage":"3d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":500,"rangeLong":2000,"magazine":10,"enc":3,"techLevel":3,"traumaDie":"1d12","traumaRating":3}},{"id":"weapons.heavy-pistol","type":"weapon","fields":{"damage":"1d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":100,"magazine":8,"enc":1,"cost":100,"techLevel":3,"traumaDie":"1d6","traumaRating":3}},{"id":"weapons.knife","type":"weapon","tags":["thrown"],"fields":{"damage":"1d4","skills":["stab"],"attributes":["str","dex"],"rangeNormal":10,"rangeLong":20,"shock":1,"shockAc":15,"enc":1,"cost":5,"techLevel":0,"traumaDie":"1d6","traumaRating":3}},{"id":"weapons.laser-pistol","type":"weapon","tags":["energy","laser"],"fields":{"damage":"1d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":10,"enc":1,"techLevel":4,"traumaDie":"1d6","traumaRating":2}},{"id":"weapons.laser-rifle","type":"weapon","tags":["energy","laser","burst","two-handed"],"fields":{"damage":"1d10","skills":["shoot"],"attributes":["dex"],"rangeNormal":300,"rangeLong":500,"magazine":20,"enc":2,"techLevel":4,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.light-pistol","type":"weapon","fields":{"damage":"1d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":80,"magazine":15,"enc":1,"cost":100,"techLevel":3,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.mag-pistol","type":"weapon","fields":{"damage":"2d6 + 2","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":6,"enc":1,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.mag-rifle","type":"weapon","tags":["two-handed"],"fields":{"damage":"2d8 + 2","skills":["shoot"],"attributes":["dex"],"rangeNormal":300,"rangeLong":600,"magazine":10,"enc":2,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.mine-anti-personnel","type":"weapon","tags":["placed"],"fields":{"damage":"1d8","skills":["shoot"],"enc":1,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.mine-anti-vehicle","type":"weapon","tags":["placed"],"fields":{"damage":"3d8","skills":["shoot"],"enc":2,"techLevel":3,"traumaDie":"1d20","traumaRating":3}},{"id":"weapons.modern-bow","type":"weapon","tags":["quick-reload","two-handed"],"fields":{"damage":"1d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":30,"rangeLong":200,"magazine":1,"enc":2,"cost":50,"techLevel":3,"traumaDie":"1d8 + 1","traumaRating":3}},{"id":"weapons.mortar","type":"weapon","tags":["two-handed"],"fields":{"damage":"3d6","skills":["shoot"],"attributes":["wis"],"rangeNormal":1000,"rangeLong":2000,"magazine":1,"enc":3,"techLevel":3,"traumaDie":"1d12","traumaRating":3}},{"id":"weapons.natural.claws","type":"weapon","tags":["natural"],"fields":{"damage":"1d6 + level","skills":["punch"],"attributes":["str","dex"],"enc":0,"traumaDie":"1d6","traumaRating":3,"shock":"ceil(level / 2)","shockAc":15}},{"id":"weapons.natural.jaws","type":"weapon","tags":["natural"],"fields":{"damage":"1d12","skills":["punch"],"attributes":["str","dex"],"enc":0,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.natural.projectiles","type":"weapon","tags":["natural"],"fields":{"damage":"1d10 + 2 + (level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0)","skills":["shoot"],"attributes":["dex"],"rangeNormal":200,"rangeLong":400,"enc":0,"traumaDie":"1d8","traumaRating":3,"hitBonus":"level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0"}},{"id":"weapons.neutron-blaster","type":"weapon","tags":["energy","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":30,"rangeLong":30,"magazine":6,"enc":2,"techLevel":5,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.plasma-projector","type":"weapon","tags":["energy","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":50,"rangeLong":100,"magazine":6,"enc":2,"techLevel":4,"traumaDie":"1d12","traumaRating":2}},{"id":"weapons.primitive-bow","type":"weapon","tags":["quick-reload","two-handed"],"fields":{"damage":"1d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":20,"rangeLong":100,"magazine":1,"enc":2,"cost":20,"techLevel":0,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.rifle","type":"weapon","tags":["two-handed"],"fields":{"damage":"1d10 + 2","skills":["shoot"],"attributes":["dex"],"rangeNormal":200,"rangeLong":400,"magazine":6,"enc":2,"cost":200,"techLevel":2,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.rocket-launcher","type":"weapon","tags":["two-handed"],"fields":{"damage":"3d10","skills":["shoot"],"attributes":["dex"],"rangeNormal":2000,"rangeLong":4000,"enc":2,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.semi-auto-shotgun","type":"weapon","tags":["two-handed"],"fields":{"damage":"3d4","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"magazine":6,"enc":2,"cost":200,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.shear-rifle","type":"weapon","tags":["energy","burst","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":10,"enc":2,"techLevel":5,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.shotgun","type":"weapon","tags":["two-handed"],"fields":{"damage":"3d4","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"magazine":2,"enc":2,"cost":100,"techLevel":2,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.sniper-rifle","type":"weapon","tags":["quick-reload","rested","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":1000,"rangeLong":2000,"magazine":1,"enc":2,"cost":250,"techLevel":3,"traumaDie":"1d10","traumaRating":4}},{"id":"weapons.spear","type":"weapon","tags":["thrown"],"fields":{"damage":"1d6","skills":["stab"],"attributes":["str","dex"],"rangeNormal":10,"rangeLong":20,"shock":2,"shockAc":13,"enc":1,"cost":5,"techLevel":0,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.spike-thrower","type":"weapon","tags":["burst","two-handed"],"fields":{"damage":"3d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":20,"rangeLong":40,"magazine":15,"enc":2,"techLevel":4,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.submachine-gun","type":"weapon","tags":["burst"],"fields":{"damage":"1d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":30,"rangeLong":100,"magazine":20,"enc":1,"cost":200,"techLevel":3,"traumaDie":"1d6","traumaRating":2}},{"id":"weapons.sword","type":"weapon","fields":{"damage":"1d8","skills":["stab"],"attributes":["str","dex"],"shock":2,"shockAc":13,"enc":1,"cost":30,"techLevel":1,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.thermal-pistol","type":"weapon","tags":["energy"],"fields":{"damage":"2d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":25,"rangeLong":50,"magazine":5,"enc":1,"techLevel":4,"traumaDie":"1d10","traumaRating":2}},{"id":"weapons.tl4-big-sword","type":"weapon","tags":["two-handed"],"fields":{"damage":"2d8","skills":["stab"],"attributes":["str"],"shock":4,"shockAc":15,"enc":2,"cost":400,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.tl4-club","type":"weapon","tags":["nonlethal"],"fields":{"damage":"1d8","skills":["stab"],"attributes":["str"],"shock":2,"shockAc":18,"enc":1,"cost":300,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.tl4-knife","type":"weapon","tags":["thrown"],"fields":{"damage":"1d6","skills":["stab"],"attributes":["str","dex"],"rangeNormal":10,"rangeLong":20,"shock":2,"shockAc":15,"enc":1,"cost":200,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.tl4-sword","type":"weapon","fields":{"damage":"1d10","skills":["stab"],"attributes":["str","dex"],"shock":3,"shockAc":15,"enc":1,"cost":300,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.unarmed","type":"weapon","tags":["nonlethal"],"fields":{"damage":"1d2","skills":["punch"],"attributes":["str","dex"],"enc":0,"traumaDie":"1d6","traumaRating":1}},{"id":"weapons.whip-beam","type":"weapon","tags":["energy","two-handed"],"fields":{"damage":"2d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":30,"rangeLong":60,"magazine":6,"enc":2,"techLevel":5,"traumaDie":"1d8","traumaRating":4}}],"upgrades":[],"formulas":{"!(params.entry in ['any-stat-1', 'physical2', 'mental2'])":{"text":"!(params.entry in ['any-stat-1', 'physical2', 'mental2'])","tree":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["params","entry"]},"right":{"type":"list","items":[{"type":"string","value":"any-stat-1"},{"type":"string","value":"physical2"},{"type":"string","value":"mental2"}]}}}},"!character.creating":{"text":"!character.creating","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}}},"!character.creating && !edges.underdog && attributes.boosts < 5":{"text":"!character.creating && !edges.underdog && attributes.boosts < 5","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["edges","underdog"]}}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["attributes","boosts"]},"right":{"type":"int","value":5}}}},"!character.creating && edges.count < edges.allowed":{"text":"!character.creating && edges.count < edges.allowed","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["edges","count"]},"right":{"type":"name","path":["edges","allowed"]}}}},"!character.creating && foci.count < foci.allowed":{"text":"!character.creating && foci.count < foci.allowed","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["foci","count"]},"right":{"type":"name","path":["foci","allowed"]}}}},"!character.creating && level < 10":{"text":"!character.creating && level < 10","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["level"]},"right":{"type":"int","value":10}}}},"!character.creating && level < 10 && xp.current >= xp.next":{"text":"!character.creating && level < 10 && xp.current >= xp.next","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["level"]},"right":{"type":"int","value":10}}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["xp","current"]},"right":{"type":"name","path":["xp","next"]}}}},"!character.creating && steps.edge.picked == @edges.educated":{"text":"!character.creating && steps.edge.picked == @edges.educated","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","edge","picked"]},"right":{"type":"ref","id":"edges.educated"}}}},"!character.creating && steps.edge.picked == @edges.mutant":{"text":"!character.creating && steps.edge.picked == @edges.mutant","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","edge","picked"]},"right":{"type":"ref","id":"edges.mutant"}}}},"!character.creating && steps.edge.picked == @edges.mutation-acceleration\n && mutations.points.left >= 1":{"text":"!character.creating && steps.edge.picked == @edges.mutation-acceleration && mutations.points.left >= 1","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","edge","picked"]},"right":{"type":"ref","id":"edges.mutation-acceleration"}}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["mutations","points","left"]},"right":{"type":"int","value":1}}}},"!character.creating || !edges.underdog || attributes.baseTotal <= -1":{"text":"!character.creating || !edges.underdog || attributes.baseTotal <= -1","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["edges","underdog"]}}},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","baseTotal"]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}}},"!character.creating || countCopies(copy.type == 'background') > 0":{"text":"!character.creating || countCopies(copy.type == 'background') > 0","tree":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"background"}}]},"right":{"type":"int","value":0}}}},"!character.creating || skills.highest <= 1":{"text":"!character.creating || skills.highest <= 1","tree":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["skills","highest"]},"right":{"type":"int","value":1}}}},"!edges.underdog":{"text":"!edges.underdog","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["edges","underdog"]}}},"!flags.light && flags.added == @negative-mutations.awkward-mouth\n && countCopies(copy.item == @mutations.hybrid.crushing-jaws) == 0":{"text":"!flags.light && flags.added == @negative-mutations.awkward-mouth && countCopies(copy.item == @mutations.hybrid.crushing-jaws) == 0","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","light"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["flags","added"]},"right":{"type":"ref","id":"negative-mutations.awkward-mouth"}}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"ref","id":"mutations.hybrid.crushing-jaws"}}]},"right":{"type":"int","value":0}}}},"!flags.light && flags.added == @negative-mutations.blindness":{"text":"!flags.light && flags.added == @negative-mutations.blindness","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","light"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["flags","added"]},"right":{"type":"ref","id":"negative-mutations.blindness"}}}},"!flags.new":{"text":"!flags.new","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","new"]}}},"!flags.ok1":{"text":"!flags.ok1","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","ok1"]}}},"!flags.ok1 && !flags.ok2":{"text":"!flags.ok1 && !flags.ok2","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","ok1"]}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","ok2"]}}}},"!flags.roll":{"text":"!flags.roll","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","roll"]}}},"!has(params.category)":{"text":"!has(params.category)","tree":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["params","category"]}]}}},"!has(params.targetAc) ? 'rolled' : steps.roll.band":{"text":"!has(params.targetAc) ? 'rolled' : steps.roll.band","tree":{"type":"conditional","test":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["params","targetAc"]}]}},"then":{"type":"string","value":"rolled"},"else":{"type":"name","path":["steps","roll","band"]}}},"!has(steps.damage) && self.shockDamage > 0\n && (self.shockAnyAc || flags.ac <= item.shockAc) ? self.shockDamage : 0":{"text":"!has(steps.damage) && self.shockDamage > 0 && (self.shockAnyAc || flags.ac <= item.shockAc) ? self.shockDamage : 0","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","damage"]}]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["self","shockDamage"]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":"||","left":{"type":"name","path":["self","shockAnyAc"]},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["flags","ac"]},"right":{"type":"name","path":["item","shockAc"]}}}},"then":{"type":"name","path":["self","shockDamage"]},"else":{"type":"int","value":0}}},"!has(steps.exact)":{"text":"!has(steps.exact)","tree":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","exact"]}]}}},"!has(steps.specialty)":{"text":"!has(steps.specialty)","tree":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","specialty"]}]}}},"!item.multiple":{"text":"!item.multiple","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["item","multiple"]}}},"!mutations.mutant":{"text":"!mutations.mutant","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["mutations","mutant"]}}},"!mutations.sensitiveSkin || countCopies(copy.type == 'armor' && copy.equipped && copy.fields.enc > 1) == 0":{"text":"!mutations.sensitiveSkin || countCopies(copy.type == 'armor' && copy.equipped && copy.fields.enc > 1) == 0","tree":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"name","path":["mutations","sensitiveSkin"]}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["copy","fields","enc"]},"right":{"type":"int","value":1}}}]},"right":{"type":"int","value":0}}}},"!params.random":{"text":"!params.random","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["params","random"]}}},"!self.equipped && has(item.enc) && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max + 8":{"text":"!self.equipped && has(item.enc) && item.enc > 0 && encumbrance.stowed > encumbrance.stowed.max + 8","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","equipped"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["item","enc"]}]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["item","enc"]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","stowed"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["encumbrance","stowed","max"]},"right":{"type":"int","value":8}}}}},"!self.equipped && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max + 8":{"text":"!self.equipped && item.enc > 0 && encumbrance.stowed > encumbrance.stowed.max + 8","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","equipped"]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["item","enc"]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","stowed"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["encumbrance","stowed","max"]},"right":{"type":"int","value":8}}}}},"!self.light":{"text":"!self.light","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["self","light"]}}},"!self.light && (situational.versus == 'poison' || situational.versus == 'disease')":{"text":"!self.light && (situational.versus == 'poison' || situational.versus == 'disease')","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","light"]}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"poison"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"disease"}}}}},"!self.light && situational.grapple":{"text":"!self.light && situational.grapple","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","light"]}},"right":{"type":"name","path":["situational","grapple"]}}},"!self.light && situational.social":{"text":"!self.light && situational.social","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","light"]}},"right":{"type":"name","path":["situational","social"]}}},"''":{"text":"''","tree":{"type":"string","value":""}},"'1'":{"text":"'1'","tree":{"type":"string","value":"1"}},"'added'":{"text":"'added'","tree":{"type":"string","value":"added"}},"'advanced'":{"text":"'advanced'","tree":{"type":"string","value":"advanced"}},"'advancement' in item.tags":{"text":"'advancement' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"advancement"},"right":{"type":"name","path":["item","tags"]}}},"'armor.leathers'":{"text":"'armor.leathers'","tree":{"type":"string","value":"armor.leathers"}},"'armor.plate-carrier'":{"text":"'armor.plate-carrier'","tree":{"type":"string","value":"armor.plate-carrier"}},"'armor.protective-sport-gear'":{"text":"'armor.protective-sport-gear'","tree":{"type":"string","value":"armor.protective-sport-gear"}},"'armor.scrap-mail'":{"text":"'armor.scrap-mail'","tree":{"type":"string","value":"armor.scrap-mail"}},"'attack' in item.tags":{"text":"'attack' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"attack"},"right":{"type":"name","path":["item","tags"]}}},"'attribute' in item.tags":{"text":"'attribute' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"attribute"},"right":{"type":"name","path":["item","tags"]}}},"'attribute' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attribute' in item.tags || 'attribute-mod' in item.tags":{"text":"'attribute' in item.tags || 'attribute-mod' in item.tags","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-mod"},"right":{"type":"name","path":["item","tags"]}}}},"'attribute-base' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute-base' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-base"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attribute-bonus' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute-bonus' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-bonus"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attribute-boost' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute-boost' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-boost"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attribute-mod' in item.tags":{"text":"'attribute-mod' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-mod"},"right":{"type":"name","path":["item","tags"]}}},"'attribute-penalty' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute-penalty' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-penalty"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attributes.' + params.attribute + '.score'":{"text":"'attributes.' + params.attribute + '.score'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"attributes."},"right":{"type":"name","path":["params","attribute"]}},"right":{"type":"string","value":".score"}}},"'attributes.' + picked.value + '.score'":{"text":"'attributes.' + picked.value + '.score'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"attributes."},"right":{"type":"name","path":["picked","value"]}},"right":{"type":"string","value":".score"}}},"'barred'":{"text":"'barred'","tree":{"type":"string","value":"barred"}},"'bought'":{"text":"'bought'","tree":{"type":"string","value":"bought"}},"'burst' in action.item.tags":{"text":"'burst' in action.item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"burst"},"right":{"type":"name","path":["action","item","tags"]}}},"'category'":{"text":"'category'","tree":{"type":"string","value":"category"}},"'check' in item.tags || 'save' in item.tags":{"text":"'check' in item.tags || 'save' in item.tags","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"string","value":"check"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"save"},"right":{"type":"name","path":["item","tags"]}}}},"'chosen'":{"text":"'chosen'","tree":{"type":"string","value":"chosen"}},"'created'":{"text":"'created'","tree":{"type":"string","value":"created"}},"'creation' in item.tags":{"text":"'creation' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"creation"},"right":{"type":"name","path":["item","tags"]}}},"'equipped'":{"text":"'equipped'","tree":{"type":"string","value":"equipped"}},"'free'":{"text":"'free'","tree":{"type":"string","value":"free"}},"'gained'":{"text":"'gained'","tree":{"type":"string","value":"gained"}},"'gear.ammo'":{"text":"'gear.ammo'","tree":{"type":"string","value":"gear.ammo"}},"'gear.arrows'":{"text":"'gear.arrows'","tree":{"type":"string","value":"gear.arrows"}},"'gear.backpack'":{"text":"'gear.backpack'","tree":{"type":"string","value":"gear.backpack"}},"'gear.batteries-rechargeable'":{"text":"'gear.batteries-rechargeable'","tree":{"type":"string","value":"gear.batteries-rechargeable"}},"'gear.binoculars'":{"text":"'gear.binoculars'","tree":{"type":"string","value":"gear.binoculars"}},"'gear.camping-kit'":{"text":"'gear.camping-kit'","tree":{"type":"string","value":"gear.camping-kit"}},"'gear.cash'":{"text":"'gear.cash'","tree":{"type":"string","value":"gear.cash"}},"'gear.clothes'":{"text":"'gear.clothes'","tree":{"type":"string","value":"gear.clothes"}},"'gear.clothes-cold-weather'":{"text":"'gear.clothes-cold-weather'","tree":{"type":"string","value":"gear.clothes-cold-weather"}},"'gear.clothes-fine'":{"text":"'gear.clothes-fine'","tree":{"type":"string","value":"gear.clothes-fine"}},"'gear.crowbar'":{"text":"'gear.crowbar'","tree":{"type":"string","value":"gear.crowbar"}},"'gear.energy-cell-a'":{"text":"'gear.energy-cell-a'","tree":{"type":"string","value":"gear.energy-cell-a"}},"'gear.first-aid-kit'":{"text":"'gear.first-aid-kit'","tree":{"type":"string","value":"gear.first-aid-kit"}},"'gear.flashlight'":{"text":"'gear.flashlight'","tree":{"type":"string","value":"gear.flashlight"}},"'gear.hand-tool'":{"text":"'gear.hand-tool'","tree":{"type":"string","value":"gear.hand-tool"}},"'gear.jewelry'":{"text":"'gear.jewelry'","tree":{"type":"string","value":"gear.jewelry"}},"'gear.keepsake'":{"text":"'gear.keepsake'","tree":{"type":"string","value":"gear.keepsake"}},"'gear.lantern'":{"text":"'gear.lantern'","tree":{"type":"string","value":"gear.lantern"}},"'gear.laptop'":{"text":"'gear.laptop'","tree":{"type":"string","value":"gear.laptop"}},"'gear.lighters'":{"text":"'gear.lighters'","tree":{"type":"string","value":"gear.lighters"}},"'gear.lockpick-kit'":{"text":"'gear.lockpick-kit'","tree":{"type":"string","value":"gear.lockpick-kit"}},"'gear.magazine'":{"text":"'gear.magazine'","tree":{"type":"string","value":"gear.magazine"}},"'gear.oil-flask'":{"text":"'gear.oil-flask'","tree":{"type":"string","value":"gear.oil-flask"}},"'gear.perpetual-lighter'":{"text":"'gear.perpetual-lighter'","tree":{"type":"string","value":"gear.perpetual-lighter"}},"'gear.preserved-food'":{"text":"'gear.preserved-food'","tree":{"type":"string","value":"gear.preserved-food"}},"'gear.profession-item'":{"text":"'gear.profession-item'","tree":{"type":"string","value":"gear.profession-item"}},"'gear.purification-tablets'":{"text":"'gear.purification-tablets'","tree":{"type":"string","value":"gear.purification-tablets"}},"'gear.radio'":{"text":"'gear.radio'","tree":{"type":"string","value":"gear.radio"}},"'gear.ration'":{"text":"'gear.ration'","tree":{"type":"string","value":"gear.ration"}},"'gear.rope'":{"text":"'gear.rope'","tree":{"type":"string","value":"gear.rope"}},"'gear.rope-fiber'":{"text":"'gear.rope-fiber'","tree":{"type":"string","value":"gear.rope-fiber"}},"'gear.salvaged-tech'":{"text":"'gear.salvaged-tech'","tree":{"type":"string","value":"gear.salvaged-tech"}},"'gear.scrap-tl2'":{"text":"'gear.scrap-tl2'","tree":{"type":"string","value":"gear.scrap-tl2"}},"'gear.sleeping-bag'":{"text":"'gear.sleeping-bag'","tree":{"type":"string","value":"gear.sleeping-bag"}},"'gear.smartphone'":{"text":"'gear.smartphone'","tree":{"type":"string","value":"gear.smartphone"}},"'gear.solar-charger'":{"text":"'gear.solar-charger'","tree":{"type":"string","value":"gear.solar-charger"}},"'gear.tent'":{"text":"'gear.tent'","tree":{"type":"string","value":"gear.tent"}},"'gear.tinderbox'":{"text":"'gear.tinderbox'","tree":{"type":"string","value":"gear.tinderbox"}},"'gear.toolkit'":{"text":"'gear.toolkit'","tree":{"type":"string","value":"gear.toolkit"}},"'gear.torch'":{"text":"'gear.torch'","tree":{"type":"string","value":"gear.torch"}},"'gear.walkie-talkie'":{"text":"'gear.walkie-talkie'","tree":{"type":"string","value":"gear.walkie-talkie"}},"'gear.water-purifier'":{"text":"'gear.water-purifier'","tree":{"type":"string","value":"gear.water-purifier"}},"'improved'":{"text":"'improved'","tree":{"type":"string","value":"improved"}},"'laser' in item.tags && has(participants.target) && size(participants.target) > 0\n && participants.target[0].defense.laserSensitive":{"text":"'laser' in item.tags && has(participants.target) && size(participants.target) > 0 && participants.target[0].defense.laserSensitive","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"laser"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["participants","target"]}]}},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["participants","target"]}]},"right":{"type":"int","value":0}}},"right":{"type":"member","object":{"type":"member","object":{"type":"index","object":{"type":"name","path":["participants","target"]},"index":{"type":"int","value":0}},"name":"defense"},"name":"laserSensitive"}}},"'level-too-low'":{"text":"'level-too-low'","tree":{"type":"string","value":"level-too-low"}},"'maxed'":{"text":"'maxed'","tree":{"type":"string","value":"maxed"}},"'mutated'":{"text":"'mutated'","tree":{"type":"string","value":"mutated"}},"'mutations.hybrid.crushing-jaws'":{"text":"'mutations.hybrid.crushing-jaws'","tree":{"type":"string","value":"mutations.hybrid.crushing-jaws"}},"'not-enough-points'":{"text":"'not-enough-points'","tree":{"type":"string","value":"not-enough-points"}},"'raise'":{"text":"'raise'","tree":{"type":"string","value":"raise"}},"'random'":{"text":"'random'","tree":{"type":"string","value":"random"}},"'reassigned'":{"text":"'reassigned'","tree":{"type":"string","value":"reassigned"}},"'roll'":{"text":"'roll'","tree":{"type":"string","value":"roll"}},"'rolled'":{"text":"'rolled'","tree":{"type":"string","value":"rolled"}},"'save' in item.tags":{"text":"'save' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"save"},"right":{"type":"name","path":["item","tags"]}}},"'skill' in item.tags":{"text":"'skill' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"skill"},"right":{"type":"name","path":["item","tags"]}}},"'skill-cap' in item.tags && !(('skill.' + pick.value) in item.tags)":{"text":"'skill-cap' in item.tags && !('skill.' + pick.value in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"skill-cap"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"skill."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}}},"'skills.' + params.skill + '.credit'":{"text":"'skills.' + params.skill + '.credit'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"skills."},"right":{"type":"name","path":["params","skill"]}},"right":{"type":"string","value":".credit"}}},"'skills.' + params.skill + '.level'":{"text":"'skills.' + params.skill + '.level'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"skills."},"right":{"type":"name","path":["params","skill"]}},"right":{"type":"string","value":".level"}}},"'skills.' + picked.value + '.level'":{"text":"'skills.' + picked.value + '.level'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"skills."},"right":{"type":"name","path":["picked","value"]}},"right":{"type":"string","value":".level"}}},"'skills.' + steps.skill.picked + '.credit'":{"text":"'skills.' + steps.skill.picked + '.credit'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"skills."},"right":{"type":"name","path":["steps","skill","picked"]}},"right":{"type":"string","value":".credit"}}},"'skills.' + steps.skill.picked + '.level'":{"text":"'skills.' + steps.skill.picked + '.level'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"skills."},"right":{"type":"name","path":["steps","skill","picked"]}},"right":{"type":"string","value":".level"}}},"'skills.' + x + '.level'":{"text":"'skills.' + x + '.level'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"skills."},"right":{"type":"name","path":["x"]}},"right":{"type":"string","value":".level"}}},"'spent'":{"text":"'spent'","tree":{"type":"string","value":"spent"}},"'stab' in item.skills || 'thrown' in item.tags":{"text":"'stab' in item.skills || 'thrown' in item.tags","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"string","value":"stab"},"right":{"type":"name","path":["item","skills"]}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"thrown"},"right":{"type":"name","path":["item","tags"]}}}},"'underdog'":{"text":"'underdog'","tree":{"type":"string","value":"underdog"}},"'unstable'":{"text":"'unstable'","tree":{"type":"string","value":"unstable"}},"'visible'":{"text":"'visible'","tree":{"type":"string","value":"visible"}},"'wasteland'":{"text":"'wasteland'","tree":{"type":"string","value":"wasteland"}},"'weapons.grenade-frag'":{"text":"'weapons.grenade-frag'","tree":{"type":"string","value":"weapons.grenade-frag"}},"'weapons.heavy-pistol'":{"text":"'weapons.heavy-pistol'","tree":{"type":"string","value":"weapons.heavy-pistol"}},"'weapons.knife'":{"text":"'weapons.knife'","tree":{"type":"string","value":"weapons.knife"}},"'weapons.light-pistol'":{"text":"'weapons.light-pistol'","tree":{"type":"string","value":"weapons.light-pistol"}},"'weapons.primitive-bow'":{"text":"'weapons.primitive-bow'","tree":{"type":"string","value":"weapons.primitive-bow"}},"'weapons.rifle'":{"text":"'weapons.rifle'","tree":{"type":"string","value":"weapons.rifle"}},"'weapons.semi-auto-shotgun'":{"text":"'weapons.semi-auto-shotgun'","tree":{"type":"string","value":"weapons.semi-auto-shotgun"}},"'weapons.shotgun'":{"text":"'weapons.shotgun'","tree":{"type":"string","value":"weapons.shotgun"}},"(!(item.id in edges.held) || item.id == @edges.focused)\n && (item.id != @edges.forged-by-fire || (character.creating && edges.count == 0))\n && (item.id != @edges.mutation-acceleration || mutations.mutant)\n && (item.id != @edges.mutant || !(@edges.hardened-genetics in edges.held))\n && (item.id != @edges.hardened-genetics || !mutations.mutant)\n && (item.id != @edges.prodigy || !edges.underdog)":{"text":"(!(item.id in edges.held) || item.id == @edges.focused) && (item.id != @edges.forged-by-fire || character.creating && edges.count == 0) && (item.id != @edges.mutation-acceleration || mutations.mutant) && (item.id != @edges.mutant || !(@edges.hardened-genetics in edges.held)) && (item.id != @edges.hardened-genetics || !mutations.mutant) && (item.id != @edges.prodigy || !edges.underdog)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["item","id"]},"right":{"type":"name","path":["edges","held"]}}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"edges.focused"}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"edges.forged-by-fire"}},"right":{"type":"binary","op":"&&","left":{"type":"name","path":["character","creating"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["edges","count"]},"right":{"type":"int","value":0}}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"edges.mutation-acceleration"}},"right":{"type":"name","path":["mutations","mutant"]}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"edges.mutant"}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"ref","id":"edges.hardened-genetics"},"right":{"type":"name","path":["edges","held"]}}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"edges.hardened-genetics"}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["mutations","mutant"]}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"edges.prodigy"}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["edges","underdog"]}}}}},"(!has(params.category) || item.category == params.category)\n && countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)":{"text":"(!has(params.category) || item.category == params.category) && countCopies(copy.item == item.id) == 0 && !(mutations.noVision && 'vision' in item.tags) && !(mutations.noHearing && 'hearing' in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["params","category"]}]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["item","category"]},"right":{"type":"name","path":["params","category"]}}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noVision"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"vision"},"right":{"type":"name","path":["item","tags"]}}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noHearing"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"hearing"},"right":{"type":"name","path":["item","tags"]}}}}}},"('skill.' + pick.value) in roll.tags":{"text":"'skill.' + pick.value in roll.tags","tree":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"skill."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["roll","tags"]}}},"(ac.shield ? (ac.armor >= 14 ? ac.armor + 1 : 14) : ac.armor) + attributes.dex.mod\n + ac.bonus":{"text":"(ac.shield ? (ac.armor >= 14 ? ac.armor + 1 : 14) : ac.armor) + attributes.dex.mod + ac.bonus","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"name","path":["ac","shield"]},"then":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["ac","armor"]},"right":{"type":"int","value":14}},"then":{"type":"binary","op":"+","left":{"type":"name","path":["ac","armor"]},"right":{"type":"int","value":1}},"else":{"type":"int","value":14}},"else":{"type":"name","path":["ac","armor"]}},"right":{"type":"name","path":["attributes","dex","mod"]}},"right":{"type":"name","path":["ac","bonus"]}}},"(countCopies(copy.item == item.id) == 0 || item.multiple\n || countCopies(copy.item == item.id && copy.state.level < item.maxLevel) > 0)\n && !(item.id in foci.held && countCopies(copy.item == item.id) == 0)\n && (item.id != @foci.unstable-mutant || mutations.mutant)":{"text":"(countCopies(copy.item == item.id) == 0 || item.multiple || countCopies(copy.item == item.id && copy.state.level < item.maxLevel) > 0) && !(item.id in foci.held && countCopies(copy.item == item.id) == 0) && (item.id != @foci.unstable-mutant || mutations.mutant)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"||","left":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}},"right":{"type":"name","path":["item","multiple"]}},"right":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["copy","state","level"]},"right":{"type":"name","path":["item","maxLevel"]}}}]},"right":{"type":"int","value":0}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"name","path":["item","id"]},"right":{"type":"name","path":["foci","held"]}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"foci.unstable-mutant"}},"right":{"type":"name","path":["mutations","mutant"]}}}},"(edges.forgedByFire ? 1 + min(3, level - 1) : 2) + (level >= 5 ? 1 : 0)\n + (edges.underdog ? 1 : 0) + (variant.giftedSurvivors && level >= 3 ? 1 : 0)":{"text":"(edges.forgedByFire ? 1 + min(3, level - 1) : 2) + (level >= 5 ? 1 : 0) + (edges.underdog ? 1 : 0) + (variant.giftedSurvivors && level >= 3 ? 1 : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"name","path":["edges","forgedByFire"]},"then":{"type":"binary","op":"+","left":{"type":"int","value":1},"right":{"type":"call","fn":"min","args":[{"type":"int","value":3},{"type":"binary","op":"-","left":{"type":"name","path":["level"]},"right":{"type":"int","value":1}}]}},"else":{"type":"int","value":2}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":5}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"name","path":["edges","underdog"]},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"name","path":["variant","giftedSurvivors"]},"right":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":3}}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}}},"(flags.near && (params.entry == 11 || params.entry == 14))\n || (flags.waste && (params.entry == 5 || params.entry == 18))":{"text":"flags.near && (params.entry == 11 || params.entry == 14) || flags.waste && (params.entry == 5 || params.entry == 18)","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":11}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":14}}}},"right":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":5}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":18}}}}}},"(flags.quick[0] == 'any-combat' ? flags.combat : [flags.quick[0]])\n + (flags.quick[1] == 'any-combat' ? flags.combat : [flags.quick[1]])":{"text":"(flags.quick[0] == 'any-combat' ? flags.combat : [flags.quick[0]]) + (flags.quick[1] == 'any-combat' ? flags.combat : [flags.quick[1]])","tree":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"index","object":{"type":"name","path":["flags","quick"]},"index":{"type":"int","value":0}},"right":{"type":"string","value":"any-combat"}},"then":{"type":"name","path":["flags","combat"]},"else":{"type":"list","items":[{"type":"index","object":{"type":"name","path":["flags","quick"]},"index":{"type":"int","value":0}}]}},"right":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"index","object":{"type":"name","path":["flags","quick"]},"index":{"type":"int","value":1}},"right":{"type":"string","value":"any-combat"}},"then":{"type":"name","path":["flags","combat"]},"else":{"type":"list","items":[{"type":"index","object":{"type":"name","path":["flags","quick"]},"index":{"type":"int","value":1}}]}}}},"(flags.rolled > flags.old ? flags.rolled : flags.old + 1) - flags.old":{"text":"(flags.rolled > flags.old ? flags.rolled : flags.old + 1) - flags.old","tree":{"type":"binary","op":"-","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["flags","rolled"]},"right":{"type":"name","path":["flags","old"]}},"then":{"type":"name","path":["flags","rolled"]},"else":{"type":"binary","op":"+","left":{"type":"name","path":["flags","old"]},"right":{"type":"int","value":1}}},"right":{"type":"name","path":["flags","old"]}}},"(has(steps.exact) && size(steps.exact.item.bonusSkill) > 0)\n || (has(steps.fallback) && size(steps.fallback.item.bonusSkill) > 0)":{"text":"has(steps.exact) && size(steps.exact.item.bonusSkill) > 0 || has(steps.fallback) && size(steps.fallback.item.bonusSkill) > 0","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","exact"]}]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","exact","item","bonusSkill"]}]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","fallback"]}]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","fallback","item","bonusSkill"]}]},"right":{"type":"int","value":0}}}}},"(level)d6":{"text":"(level)d6","tree":{"type":"dice","count":{"type":"name","path":["level"]},"sides":6,"modifiers":[]}},"(mutations.mutant ? 2 : 0) + (@edges.mutation-acceleration in edges.held ? 2 : 0)\n + 2 * mutations.negatives":{"text":"(mutations.mutant ? 2 : 0) + (@edges.mutation-acceleration in edges.held ? 2 : 0) + 2 * mutations.negatives","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"name","path":["mutations","mutant"]},"then":{"type":"int","value":2},"else":{"type":"int","value":0}},"right":{"type":"conditional","test":{"type":"binary","op":"in","left":{"type":"ref","id":"edges.mutation-acceleration"},"right":{"type":"name","path":["edges","held"]}},"then":{"type":"int","value":2},"else":{"type":"int","value":0}}},"right":{"type":"binary","op":"*","left":{"type":"int","value":2},"right":{"type":"name","path":["mutations","negatives"]}}}},"(steps.nature.total == 1\n ? ['bright-hue', 'chromed', 'gemlike', 'gradient-hue', 'iridescent', 'luminescent',\n 'neon', 'opalescent', 'patchy', 'strobing', 'transparent', 'whorled']\n : steps.nature.total == 2\n ? ['beetle', 'bird', 'bovine', 'canine', 'equine', 'feline', 'fish', 'lizard',\n 'mollusk', 'snake', 'spider', 'turtle']\n : steps.nature.total == 4\n ? ['bark', 'flowers', 'fragrance', 'fronds', 'fungal', 'gnarled', 'insects',\n 'leaves', 'moss', 'pollen', 'sap', 'vegetative']\n : ['chitinous', 'feathered', 'fibrous', 'finned', 'furred', 'glassy', 'metallic',\n 'plated', 'scabrous', 'scaled', 'slimy', 'stony'])[steps.detail.total - 1]":{"text":"(steps.nature.total == 1 ? ['bright-hue', 'chromed', 'gemlike', 'gradient-hue', 'iridescent', 'luminescent', 'neon', 'opalescent', 'patchy', 'strobing', 'transparent', 'whorled'] : steps.nature.total == 2 ? ['beetle', 'bird', 'bovine', 'canine', 'equine', 'feline', 'fish', 'lizard', 'mollusk', 'snake', 'spider', 'turtle'] : steps.nature.total == 4 ? ['bark', 'flowers', 'fragrance', 'fronds', 'fungal', 'gnarled', 'insects', 'leaves', 'moss', 'pollen', 'sap', 'vegetative'] : ['chitinous', 'feathered', 'fibrous', 'finned', 'furred', 'glassy', 'metallic', 'plated', 'scabrous', 'scaled', 'slimy', 'stony'])[steps.detail.total - 1]","tree":{"type":"index","object":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","nature","total"]},"right":{"type":"int","value":1}},"then":{"type":"list","items":[{"type":"string","value":"bright-hue"},{"type":"string","value":"chromed"},{"type":"string","value":"gemlike"},{"type":"string","value":"gradient-hue"},{"type":"string","value":"iridescent"},{"type":"string","value":"luminescent"},{"type":"string","value":"neon"},{"type":"string","value":"opalescent"},{"type":"string","value":"patchy"},{"type":"string","value":"strobing"},{"type":"string","value":"transparent"},{"type":"string","value":"whorled"}]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","nature","total"]},"right":{"type":"int","value":2}},"then":{"type":"list","items":[{"type":"string","value":"beetle"},{"type":"string","value":"bird"},{"type":"string","value":"bovine"},{"type":"string","value":"canine"},{"type":"string","value":"equine"},{"type":"string","value":"feline"},{"type":"string","value":"fish"},{"type":"string","value":"lizard"},{"type":"string","value":"mollusk"},{"type":"string","value":"snake"},{"type":"string","value":"spider"},{"type":"string","value":"turtle"}]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","nature","total"]},"right":{"type":"int","value":4}},"then":{"type":"list","items":[{"type":"string","value":"bark"},{"type":"string","value":"flowers"},{"type":"string","value":"fragrance"},{"type":"string","value":"fronds"},{"type":"string","value":"fungal"},{"type":"string","value":"gnarled"},{"type":"string","value":"insects"},{"type":"string","value":"leaves"},{"type":"string","value":"moss"},{"type":"string","value":"pollen"},{"type":"string","value":"sap"},{"type":"string","value":"vegetative"}]},"else":{"type":"list","items":[{"type":"string","value":"chitinous"},{"type":"string","value":"feathered"},{"type":"string","value":"fibrous"},{"type":"string","value":"finned"},{"type":"string","value":"furred"},{"type":"string","value":"glassy"},{"type":"string","value":"metallic"},{"type":"string","value":"plated"},{"type":"string","value":"scabrous"},{"type":"string","value":"scaled"},{"type":"string","value":"slimy"},{"type":"string","value":"stony"}]}}}},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","detail","total"]},"right":{"type":"int","value":1}}}},"(strain.penalty < 0\n ? max(min(3, attributes.con.score), attributes.con.score + strain.penalty)\n : attributes.con.score) + max(0, min(strain.bonus,\n strain.bonusCap - attributes.con.score))":{"text":"(strain.penalty < 0 ? max(min(3, attributes.con.score), attributes.con.score + strain.penalty) : attributes.con.score) + max(0, min(strain.bonus, strain.bonusCap - attributes.con.score))","tree":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":"<","left":{"type":"name","path":["strain","penalty"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"call","fn":"min","args":[{"type":"int","value":3},{"type":"name","path":["attributes","con","score"]}]},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"name","path":["strain","penalty"]}}]},"else":{"type":"name","path":["attributes","con","score"]}},"right":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"call","fn":"min","args":[{"type":"name","path":["strain","bonus"]},{"type":"binary","op":"-","left":{"type":"name","path":["strain","bonusCap"]},"right":{"type":"name","path":["attributes","con","score"]}}]}]}}},"-flags.cost":{"text":"-flags.cost","tree":{"type":"unary","op":"-","operand":{"type":"name","path":["flags","cost"]}}},"1 + (level >= 2 ? 1 : 0) + (level >= 5 ? 1 : 0) + (level >= 7 ? 1 : 0)\n + (level >= 10 ? 1 : 0) + foci.bonus":{"text":"1 + (level >= 2 ? 1 : 0) + (level >= 5 ? 1 : 0) + (level >= 7 ? 1 : 0) + (level >= 10 ? 1 : 0) + foci.bonus","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"int","value":1},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":2}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":5}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":7}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":10}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"name","path":["foci","bonus"]}}},"15 + floor(level / 2)":{"text":"15 + floor(level / 2)","tree":{"type":"binary","op":"+","left":{"type":"int","value":15},"right":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"name","path":["level"]},"right":{"type":"int","value":2}}]}}},"16 - level":{"text":"16 - level","tree":{"type":"binary","op":"-","left":{"type":"int","value":16},"right":{"type":"name","path":["level"]}}},"16 - level - saves.evasionMod":{"text":"16 - level - saves.evasionMod","tree":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"int","value":16},"right":{"type":"name","path":["level"]}},"right":{"type":"name","path":["saves","evasionMod"]}}},"16 - level - saves.mentalMod":{"text":"16 - level - saves.mentalMod","tree":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"int","value":16},"right":{"type":"name","path":["level"]}},"right":{"type":"name","path":["saves","mentalMod"]}}},"16 - level - saves.physicalMod":{"text":"16 - level - saves.physicalMod","tree":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"int","value":16},"right":{"type":"name","path":["level"]}},"right":{"type":"name","path":["saves","physicalMod"]}}},"1d10":{"text":"1d10","tree":{"type":"dice","count":1,"sides":10,"modifiers":[]}},"1d10 + 2":{"text":"1d10 + 2","tree":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":10,"modifiers":[]},"right":{"type":"int","value":2}}},"1d10 + 2 + (level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0)":{"text":"1d10 + 2 + (level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":10,"modifiers":[]},"right":{"type":"int","value":2}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":9}},"then":{"type":"int","value":3},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":6}},"then":{"type":"int","value":2},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":3}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}}}}},"1d100":{"text":"1d100","tree":{"type":"dice","count":1,"sides":100,"modifiers":[]}},"1d12":{"text":"1d12","tree":{"type":"dice","count":1,"sides":12,"modifiers":[]}},"1d2":{"text":"1d2","tree":{"type":"dice","count":1,"sides":2,"modifiers":[]}},"1d20":{"text":"1d20","tree":{"type":"dice","count":1,"sides":20,"modifiers":[]}},"1d4":{"text":"1d4","tree":{"type":"dice","count":1,"sides":4,"modifiers":[]}},"1d5":{"text":"1d5","tree":{"type":"dice","count":1,"sides":5,"modifiers":[]}},"1d6":{"text":"1d6","tree":{"type":"dice","count":1,"sides":6,"modifiers":[]}},"1d6 + level":{"text":"1d6 + level","tree":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":6,"modifiers":[]},"right":{"type":"name","path":["level"]}}},"1d8":{"text":"1d8","tree":{"type":"dice","count":1,"sides":8,"modifiers":[]}},"1d8 + 1":{"text":"1d8 + 1","tree":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":8,"modifiers":[]},"right":{"type":"int","value":1}}},"2d6":{"text":"2d6","tree":{"type":"dice","count":2,"sides":6,"modifiers":[]}},"2d6 + 2":{"text":"2d6 + 2","tree":{"type":"binary","op":"+","left":{"type":"dice","count":2,"sides":6,"modifiers":[]},"right":{"type":"int","value":2}}},"2d6kh2":{"text":"2d6kh2","tree":{"type":"dice","count":2,"sides":6,"modifiers":[{"type":"keepHighest","count":2}]}},"2d8":{"text":"2d8","tree":{"type":"dice","count":2,"sides":8,"modifiers":[]}},"2d8 + 2":{"text":"2d8 + 2","tree":{"type":"binary","op":"+","left":{"type":"dice","count":2,"sides":8,"modifiers":[]},"right":{"type":"int","value":2}}},"3d10":{"text":"3d10","tree":{"type":"dice","count":3,"sides":10,"modifiers":[]}},"3d4":{"text":"3d4","tree":{"type":"dice","count":3,"sides":4,"modifiers":[]}},"3d6":{"text":"3d6","tree":{"type":"dice","count":3,"sides":6,"modifiers":[]}},"3d8":{"text":"3d8","tree":{"type":"dice","count":3,"sides":8,"modifiers":[]}},"6 + maxCopies(copy.fields.traumaMod, copy.type == 'armor' && copy.equipped\n && has(copy.fields.traumaMod))":{"text":"6 + maxCopies(copy.fields.traumaMod, copy.type == 'armor' && copy.equipped && has(copy.fields.traumaMod))","tree":{"type":"binary","op":"+","left":{"type":"int","value":6},"right":{"type":"call","fn":"maxCopies","args":[{"type":"name","path":["copy","fields","traumaMod"]},{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["copy","fields","traumaMod"]}]}}]}}},"@edges.forged-by-fire in edges.held":{"text":"@edges.forged-by-fire in edges.held","tree":{"type":"binary","op":"in","left":{"type":"ref","id":"edges.forged-by-fire"},"right":{"type":"name","path":["edges","held"]}}},"@edges.mutant in edges.held":{"text":"@edges.mutant in edges.held","tree":{"type":"binary","op":"in","left":{"type":"ref","id":"edges.mutant"},"right":{"type":"name","path":["edges","held"]}}},"['appearance', 'animal', 'size', 'plant', 'amorphous', 'mineral'][steps.nature.total - 1]":{"text":"['appearance', 'animal', 'size', 'plant', 'amorphous', 'mineral'][steps.nature.total - 1]","tree":{"type":"index","object":{"type":"list","items":[{"type":"string","value":"appearance"},{"type":"string","value":"animal"},{"type":"string","value":"size"},{"type":"string","value":"plant"},{"type":"string","value":"amorphous"},{"type":"string","value":"mineral"}]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","nature","total"]},"right":{"type":"int","value":1}}}},"['head', 'arms', 'legs', 'torso', 'senses'][(steps.part.total == 6\n ? steps.extra1.total : steps.part.total) - 1]":{"text":"['head', 'arms', 'legs', 'torso', 'senses'][(steps.part.total == 6 ? steps.extra1.total : steps.part.total) - 1]","tree":{"type":"index","object":{"type":"list","items":[{"type":"string","value":"head"},{"type":"string","value":"arms"},{"type":"string","value":"legs"},{"type":"string","value":"torso"},{"type":"string","value":"senses"}]},"index":{"type":"binary","op":"-","left":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","part","total"]},"right":{"type":"int","value":6}},"then":{"type":"name","path":["steps","extra1","total"]},"else":{"type":"name","path":["steps","part","total"]}},"right":{"type":"int","value":1}}}},"[2, 2, 3, 6, 9][attributes.boosts]":{"text":"[2, 2, 3, 6, 9][attributes.boosts]","tree":{"type":"index","object":{"type":"list","items":[{"type":"int","value":2},{"type":"int","value":2},{"type":"int","value":3},{"type":"int","value":6},{"type":"int","value":9}]},"index":{"type":"name","path":["attributes","boosts"]}}},"[@negative-mutations.animalistic-mentality, @negative-mutations.anosmia,\n @negative-mutations.awkward-mouth, @negative-mutations.bestial-hunger,\n @negative-mutations.bleeder, @negative-mutations.blindness,\n @negative-mutations.chronic-seizures, @negative-mutations.clumsy-paws,\n @negative-mutations.constant-secretions, @negative-mutations.deafness,\n @negative-mutations.deficient-polycephaly, @negative-mutations.distorted-speech,\n @negative-mutations.distracted-mind, @negative-mutations.energy-sink,\n @negative-mutations.feeble-joints, @negative-mutations.feral-mind,\n @negative-mutations.fragile-system, @negative-mutations.glowbug,\n @negative-mutations.hemovore, @negative-mutations.insensate-flesh,\n @negative-mutations.light-sensitivity, @negative-mutations.loose-limbs,\n @negative-mutations.low-resistances, @negative-mutations.memory-damage,\n @negative-mutations.miasmic-stench, @negative-mutations.misshapen,\n @negative-mutations.musclebound, @negative-mutations.narrow-focus,\n @negative-mutations.overtaxed-physique, @negative-mutations.place-blindness,\n @negative-mutations.poor-eyesight, @negative-mutations.primitive-cognition,\n @negative-mutations.sensitive-skin, @negative-mutations.short-lifespan,\n @negative-mutations.sleep-dependence, @negative-mutations.slow-development,\n @negative-mutations.spindly, @negative-mutations.vexation-field,\n @negative-mutations.voracious, @negative-mutations.weak-heart,\n @negative-mutations.attribute-deficiency]":{"text":"[@negative-mutations.animalistic-mentality, @negative-mutations.anosmia, @negative-mutations.awkward-mouth, @negative-mutations.bestial-hunger, @negative-mutations.bleeder, @negative-mutations.blindness, @negative-mutations.chronic-seizures, @negative-mutations.clumsy-paws, @negative-mutations.constant-secretions, @negative-mutations.deafness, @negative-mutations.deficient-polycephaly, @negative-mutations.distorted-speech, @negative-mutations.distracted-mind, @negative-mutations.energy-sink, @negative-mutations.feeble-joints, @negative-mutations.feral-mind, @negative-mutations.fragile-system, @negative-mutations.glowbug, @negative-mutations.hemovore, @negative-mutations.insensate-flesh, @negative-mutations.light-sensitivity, @negative-mutations.loose-limbs, @negative-mutations.low-resistances, @negative-mutations.memory-damage, @negative-mutations.miasmic-stench, @negative-mutations.misshapen, @negative-mutations.musclebound, @negative-mutations.narrow-focus, @negative-mutations.overtaxed-physique, @negative-mutations.place-blindness, @negative-mutations.poor-eyesight, @negative-mutations.primitive-cognition, @negative-mutations.sensitive-skin, @negative-mutations.short-lifespan, @negative-mutations.sleep-dependence, @negative-mutations.slow-development, @negative-mutations.spindly, @negative-mutations.vexation-field, @negative-mutations.voracious, @negative-mutations.weak-heart, @negative-mutations.attribute-deficiency]","tree":{"type":"list","items":[{"type":"ref","id":"negative-mutations.animalistic-mentality"},{"type":"ref","id":"negative-mutations.anosmia"},{"type":"ref","id":"negative-mutations.awkward-mouth"},{"type":"ref","id":"negative-mutations.bestial-hunger"},{"type":"ref","id":"negative-mutations.bleeder"},{"type":"ref","id":"negative-mutations.blindness"},{"type":"ref","id":"negative-mutations.chronic-seizures"},{"type":"ref","id":"negative-mutations.clumsy-paws"},{"type":"ref","id":"negative-mutations.constant-secretions"},{"type":"ref","id":"negative-mutations.deafness"},{"type":"ref","id":"negative-mutations.deficient-polycephaly"},{"type":"ref","id":"negative-mutations.distorted-speech"},{"type":"ref","id":"negative-mutations.distracted-mind"},{"type":"ref","id":"negative-mutations.energy-sink"},{"type":"ref","id":"negative-mutations.feeble-joints"},{"type":"ref","id":"negative-mutations.feral-mind"},{"type":"ref","id":"negative-mutations.fragile-system"},{"type":"ref","id":"negative-mutations.glowbug"},{"type":"ref","id":"negative-mutations.hemovore"},{"type":"ref","id":"negative-mutations.insensate-flesh"},{"type":"ref","id":"negative-mutations.light-sensitivity"},{"type":"ref","id":"negative-mutations.loose-limbs"},{"type":"ref","id":"negative-mutations.low-resistances"},{"type":"ref","id":"negative-mutations.memory-damage"},{"type":"ref","id":"negative-mutations.miasmic-stench"},{"type":"ref","id":"negative-mutations.misshapen"},{"type":"ref","id":"negative-mutations.musclebound"},{"type":"ref","id":"negative-mutations.narrow-focus"},{"type":"ref","id":"negative-mutations.overtaxed-physique"},{"type":"ref","id":"negative-mutations.place-blindness"},{"type":"ref","id":"negative-mutations.poor-eyesight"},{"type":"ref","id":"negative-mutations.primitive-cognition"},{"type":"ref","id":"negative-mutations.sensitive-skin"},{"type":"ref","id":"negative-mutations.short-lifespan"},{"type":"ref","id":"negative-mutations.sleep-dependence"},{"type":"ref","id":"negative-mutations.slow-development"},{"type":"ref","id":"negative-mutations.spindly"},{"type":"ref","id":"negative-mutations.vexation-field"},{"type":"ref","id":"negative-mutations.voracious"},{"type":"ref","id":"negative-mutations.weak-heart"},{"type":"ref","id":"negative-mutations.attribute-deficiency"}]}},"[steps.background.item.growth1, steps.background.item.growth2,\n steps.background.item.growth3, steps.background.item.growth4,\n steps.background.item.growth5, steps.background.item.growth6]":{"text":"[steps.background.item.growth1, steps.background.item.growth2, steps.background.item.growth3, steps.background.item.growth4, steps.background.item.growth5, steps.background.item.growth6]","tree":{"type":"list","items":[{"type":"name","path":["steps","background","item","growth1"]},{"type":"name","path":["steps","background","item","growth2"]},{"type":"name","path":["steps","background","item","growth3"]},{"type":"name","path":["steps","background","item","growth4"]},{"type":"name","path":["steps","background","item","growth5"]},{"type":"name","path":["steps","background","item","growth6"]}]}},"[steps.background.item.learning1, steps.background.item.learning2,\n steps.background.item.learning3, steps.background.item.learning4,\n steps.background.item.learning5, steps.background.item.learning6,\n steps.background.item.learning7, steps.background.item.learning8]":{"text":"[steps.background.item.learning1, steps.background.item.learning2, steps.background.item.learning3, steps.background.item.learning4, steps.background.item.learning5, steps.background.item.learning6, steps.background.item.learning7, steps.background.item.learning8]","tree":{"type":"list","items":[{"type":"name","path":["steps","background","item","learning1"]},{"type":"name","path":["steps","background","item","learning2"]},{"type":"name","path":["steps","background","item","learning3"]},{"type":"name","path":["steps","background","item","learning4"]},{"type":"name","path":["steps","background","item","learning5"]},{"type":"name","path":["steps","background","item","learning6"]},{"type":"name","path":["steps","background","item","learning7"]},{"type":"name","path":["steps","background","item","learning8"]}]}},"[steps.background.item.quickSkill1, steps.background.item.quickSkill2]":{"text":"[steps.background.item.quickSkill1, steps.background.item.quickSkill2]","tree":{"type":"list","items":[{"type":"name","path":["steps","background","item","quickSkill1"]},{"type":"name","path":["steps","background","item","quickSkill2"]}]}},"ac.armorVsGuns + attributes.dex.mod + ac.bonus":{"text":"ac.armorVsGuns + attributes.dex.mod + ac.bonus","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["ac","armorVsGuns"]},"right":{"type":"name","path":["attributes","dex","mod"]}},"right":{"type":"name","path":["ac","bonus"]}}},"attributes.baseTotal <= -1":{"text":"attributes.baseTotal <= -1","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","baseTotal"]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}},"attributes.boosts + 1":{"text":"attributes.boosts + 1","tree":{"type":"binary","op":"+","left":{"type":"name","path":["attributes","boosts"]},"right":{"type":"int","value":1}}},"attributes.cha.score <= 3 ? -2 : attributes.cha.score <= 7 ? -1\n : attributes.cha.score <= 13 ? 0 : attributes.cha.score <= 17 ? 1 : 2":{"text":"attributes.cha.score <= 3 ? -2 : attributes.cha.score <= 7 ? -1 : attributes.cha.score <= 13 ? 0 : attributes.cha.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","cha","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","cha","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","cha","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","cha","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.con.mod":{"text":"attributes.con.mod","tree":{"type":"name","path":["attributes","con","mod"]}},"attributes.con.score <= 3 ? -2 : attributes.con.score <= 7 ? -1\n : attributes.con.score <= 13 ? 0 : attributes.con.score <= 17 ? 1 : 2":{"text":"attributes.con.score <= 3 ? -2 : attributes.con.score <= 7 ? -1 : attributes.con.score <= 13 ? 0 : attributes.con.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.dex.mod > attributes.str.mod ? ['shoot', 'stab', 'punch'] : ['stab', 'shoot', 'punch']":{"text":"attributes.dex.mod > attributes.str.mod ? ['shoot', 'stab', 'punch'] : ['stab', 'shoot', 'punch']","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","dex","mod"]},"right":{"type":"name","path":["attributes","str","mod"]}},"then":{"type":"list","items":[{"type":"string","value":"shoot"},{"type":"string","value":"stab"},{"type":"string","value":"punch"}]},"else":{"type":"list","items":[{"type":"string","value":"stab"},{"type":"string","value":"shoot"},{"type":"string","value":"punch"}]}}},"attributes.dex.score <= 3 ? -2 : attributes.dex.score <= 7 ? -1\n : attributes.dex.score <= 13 ? 0 : attributes.dex.score <= 17 ? 1 : 2":{"text":"attributes.dex.score <= 3 ? -2 : attributes.dex.score <= 7 ? -1 : attributes.dex.score <= 13 ? 0 : attributes.dex.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","dex","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","dex","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","dex","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","dex","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.int.score <= 3 ? -2 : attributes.int.score <= 7 ? -1\n : attributes.int.score <= 13 ? 0 : attributes.int.score <= 17 ? 1 : 2":{"text":"attributes.int.score <= 3 ? -2 : attributes.int.score <= 7 ? -1 : attributes.int.score <= 13 ? 0 : attributes.int.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","int","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","int","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","int","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","int","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.str.base + attributes.dex.base + attributes.con.base + attributes.int.base\n + attributes.wis.base + attributes.cha.base":{"text":"attributes.str.base + attributes.dex.base + attributes.con.base + attributes.int.base + attributes.wis.base + attributes.cha.base","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["attributes","str","base"]},"right":{"type":"name","path":["attributes","dex","base"]}},"right":{"type":"name","path":["attributes","con","base"]}},"right":{"type":"name","path":["attributes","int","base"]}},"right":{"type":"name","path":["attributes","wis","base"]}},"right":{"type":"name","path":["attributes","cha","base"]}}},"attributes.str.score":{"text":"attributes.str.score","tree":{"type":"name","path":["attributes","str","score"]}},"attributes.str.score <= 3 ? -2 : attributes.str.score <= 7 ? -1\n : attributes.str.score <= 13 ? 0 : attributes.str.score <= 17 ? 1 : 2":{"text":"attributes.str.score <= 3 ? -2 : attributes.str.score <= 7 ? -1 : attributes.str.score <= 13 ? 0 : attributes.str.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","str","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","str","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","str","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","str","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.wis.score":{"text":"attributes.wis.score","tree":{"type":"name","path":["attributes","wis","score"]}},"attributes.wis.score <= 3 ? -2 : attributes.wis.score <= 7 ? -1\n : attributes.wis.score <= 13 ? 0 : attributes.wis.score <= 17 ? 1 : 2":{"text":"attributes.wis.score <= 3 ? -2 : attributes.wis.score <= 7 ? -1 : attributes.wis.score <= 13 ? 0 : attributes.wis.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","wis","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","wis","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","wis","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","wis","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"ceil(level / 2)":{"text":"ceil(level / 2)","tree":{"type":"call","fn":"ceil","args":[{"type":"binary","op":"/","left":{"type":"name","path":["level"]},"right":{"type":"int","value":2}}]}},"character.creating":{"text":"character.creating","tree":{"type":"name","path":["character","creating"]}},"character.creating && countCopies(copy.type == 'background') == 0":{"text":"character.creating && countCopies(copy.type == 'background') == 0","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["character","creating"]},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"background"}}]},"right":{"type":"int","value":0}}}},"character.creating || encumbrance.overload <= 2":{"text":"character.creating || encumbrance.overload <= 2","tree":{"type":"binary","op":"||","left":{"type":"name","path":["character","creating"]},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["encumbrance","overload"]},"right":{"type":"int","value":2}}}},"combat.attackBonus + (self.skillLevel < 0 ? -2 : self.skillLevel) + self.attributeMod\n + item.hitBonus + ('energy' in item.tags ? 1 : 0) + (self.close ? combat.melee.hit : 0)\n + (self.armed ? combat.armed.hit : 0)":{"text":"combat.attackBonus + (self.skillLevel < 0 ? -2 : self.skillLevel) + self.attributeMod + item.hitBonus + ('energy' in item.tags ? 1 : 0) + (self.close ? combat.melee.hit : 0) + (self.armed ? combat.armed.hit : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["combat","attackBonus"]},"right":{"type":"conditional","test":{"type":"binary","op":"<","left":{"type":"name","path":["self","skillLevel"]},"right":{"type":"int","value":0}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"name","path":["self","skillLevel"]}}},"right":{"type":"name","path":["self","attributeMod"]}},"right":{"type":"name","path":["item","hitBonus"]}},"right":{"type":"conditional","test":{"type":"binary","op":"in","left":{"type":"string","value":"energy"},"right":{"type":"name","path":["item","tags"]}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"name","path":["self","close"]},"then":{"type":"name","path":["combat","melee","hit"]},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"name","path":["self","armed"]},"then":{"type":"name","path":["combat","armed","hit"]},"else":{"type":"int","value":0}}}},"countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)":{"text":"countCopies(copy.item == item.id) == 0 && !(mutations.noVision && 'vision' in item.tags) && !(mutations.noHearing && 'hearing' in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noVision"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"vision"},"right":{"type":"name","path":["item","tags"]}}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noHearing"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"hearing"},"right":{"type":"name","path":["item","tags"]}}}}}},"countCopies(copy.item == item.id) == 0\n && (item.id != @negative-mutations.attribute-deficiency || flags.deficiency)":{"text":"countCopies(copy.item == item.id) == 0 && (item.id != @negative-mutations.attribute-deficiency || flags.deficiency)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"negative-mutations.attribute-deficiency"}},"right":{"type":"name","path":["flags","deficiency"]}}}},"countCopies(copy.item == item.id) == 1":{"text":"countCopies(copy.item == item.id) == 1","tree":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":1}}},"countCopies(copy.item == steps.focus.picked) == 0\n || (has(steps.raise) && steps.raise.picked == 'new')":{"text":"countCopies(copy.item == steps.focus.picked) == 0 || has(steps.raise) && steps.raise.picked == 'new'","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["steps","focus","picked"]}}]},"right":{"type":"int","value":0}},"right":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","raise"]}]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","raise","picked"]},"right":{"type":"string","value":"new"}}}}},"countCopies(copy.type == 'armor' && copy.equipped && !('shield' in copy.tags)) <= 1":{"text":"countCopies(copy.type == 'armor' && copy.equipped && !('shield' in copy.tags)) <= 1","tree":{"type":"binary","op":"<=","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"shield"},"right":{"type":"name","path":["copy","tags"]}}}}]},"right":{"type":"int","value":1}}},"countCopies(copy.type == 'armor' && copy.equipped && 'shield' in copy.tags) > 0":{"text":"countCopies(copy.type == 'armor' && copy.equipped && 'shield' in copy.tags) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"shield"},"right":{"type":"name","path":["copy","tags"]}}}]},"right":{"type":"int","value":0}}},"countCopies(copy.type == 'edge' && copy.item != @edges.focused) == size(edges.held)\n - (@edges.focused in edges.held ? 1 : 0)":{"text":"countCopies(copy.type == 'edge' && copy.item != @edges.focused) == size(edges.held) - (@edges.focused in edges.held ? 1 : 0)","tree":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"edge"}},"right":{"type":"binary","op":"!=","left":{"type":"name","path":["copy","item"]},"right":{"type":"ref","id":"edges.focused"}}}]},"right":{"type":"binary","op":"-","left":{"type":"call","fn":"size","args":[{"type":"name","path":["edges","held"]}]},"right":{"type":"conditional","test":{"type":"binary","op":"in","left":{"type":"ref","id":"edges.focused"},"right":{"type":"name","path":["edges","held"]}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}}}},"countCopies(copy.type == 'edge')":{"text":"countCopies(copy.type == 'edge')","tree":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"edge"}}]}},"countCopies(copy.type == 'mutation' && copy.state.origin == 'random')\n + 3 * countCopies(copy.type == 'mutation' && copy.state.origin == 'chosen')\n + 3 * ceil(countCopies(copy.type == 'mutation' && copy.state.origin == 'category') / 2)\n + (mutations.stigmaConcealed ? 1 : 0)":{"text":"countCopies(copy.type == 'mutation' && copy.state.origin == 'random') + 3 * countCopies(copy.type == 'mutation' && copy.state.origin == 'chosen') + 3 * ceil(countCopies(copy.type == 'mutation' && copy.state.origin == 'category') / 2) + (mutations.stigmaConcealed ? 1 : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"mutation"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["copy","state","origin"]},"right":{"type":"string","value":"random"}}}]},"right":{"type":"binary","op":"*","left":{"type":"int","value":3},"right":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"mutation"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["copy","state","origin"]},"right":{"type":"string","value":"chosen"}}}]}}},"right":{"type":"binary","op":"*","left":{"type":"int","value":3},"right":{"type":"call","fn":"ceil","args":[{"type":"binary","op":"/","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"mutation"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["copy","state","origin"]},"right":{"type":"string","value":"category"}}}]},"right":{"type":"int","value":2}}]}}},"right":{"type":"conditional","test":{"type":"name","path":["mutations","stigmaConcealed"]},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}}},"countCopies(copy.type == 'negative')":{"text":"countCopies(copy.type == 'negative')","tree":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"negative"}}]}},"countList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x) == flags.lowest\n && fieldOf('attributes.{attribute}.mod', x) > -2) > 0":{"text":"countList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.score', x) == flags.lowest && fieldOf('attributes.{attribute}.mod', x) > -2) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"countList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]},"right":{"type":"name","path":["flags","lowest"]}},"right":{"type":"binary","op":">","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["x"]}]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":2}}}}]},"right":{"type":"int","value":0}}},"countList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x)) == 0":{"text":"countList(keysOf('skill'), fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x)) == 0","tree":{"type":"binary","op":"==","left":{"type":"call","fn":"countList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"binary","op":">","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]},"right":{"type":"int","value":0}}},"edges.count < edges.allowed":{"text":"edges.count < edges.allowed","tree":{"type":"binary","op":"<","left":{"type":"name","path":["edges","count"]},"right":{"type":"name","path":["edges","allowed"]}}},"edges.count <= edges.allowed":{"text":"edges.count <= edges.allowed","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["edges","count"]},"right":{"type":"name","path":["edges","allowed"]}}},"encumbrance.overload <= 0 ? move.base\n : encumbrance.overload == 1 ? floor(move.base * 7 / 10) : floor(move.base / 2)":{"text":"encumbrance.overload <= 0 ? move.base : encumbrance.overload == 1 ? floor(move.base * 7 / 10) : floor(move.base / 2)","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["encumbrance","overload"]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["move","base"]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["encumbrance","overload"]},"right":{"type":"int","value":1}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"*","left":{"type":"name","path":["move","base"]},"right":{"type":"int","value":7}},"right":{"type":"int","value":10}}]},"else":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"name","path":["move","base"]},"right":{"type":"int","value":2}}]}}}},"encumbrance.overload > 2":{"text":"encumbrance.overload > 2","tree":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","overload"]},"right":{"type":"int","value":2}}},"encumbrance.strength":{"text":"encumbrance.strength","tree":{"type":"name","path":["encumbrance","strength"]}},"fieldOf('attributes.{attribute}.score', params.attribute)":{"text":"fieldOf('attributes.{attribute}.score', params.attribute)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["params","attribute"]}]}},"fieldOf('attributes.{attribute}.score', value) < 18":{"text":"fieldOf('attributes.{attribute}.score', value) < 18","tree":{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["value"]}]},"right":{"type":"int","value":18}}},"fieldOf('skills.{skill}.cap', params.skill)":{"text":"fieldOf('skills.{skill}.cap', params.skill)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["params","skill"]}]}},"fieldOf('skills.{skill}.credit', params.skill)":{"text":"fieldOf('skills.{skill}.credit', params.skill)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.credit"},{"type":"name","path":["params","skill"]}]}},"fieldOf('skills.{skill}.credit', steps.skill.picked) + params.points":{"text":"fieldOf('skills.{skill}.credit', steps.skill.picked) + params.points","tree":{"type":"binary","op":"+","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.credit"},{"type":"name","path":["steps","skill","picked"]}]},"right":{"type":"name","path":["params","points"]}}},"fieldOf('skills.{skill}.level', params.skill)":{"text":"fieldOf('skills.{skill}.level', params.skill)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["params","skill"]}]}},"fieldOf('skills.{skill}.level', steps.skill.picked)":{"text":"fieldOf('skills.{skill}.level', steps.skill.picked)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["steps","skill","picked"]}]}},"filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x))":{"text":"filterList(keysOf('skill'), fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x))","tree":{"type":"call","fn":"filterList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"binary","op":">","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]}},"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))":{"text":"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'), fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))","tree":{"type":"call","fn":"filterList","args":[{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["params","skills"]}]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["params","skills"]},"else":{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]}},{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]}},"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))":{"text":"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'), fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))","tree":{"type":"call","fn":"filterList","args":[{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["params","skills"]}]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["params","skills"]},"else":{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]}},{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"min","args":[{"type":"int","value":1},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}]}}]}},"flags.allowed":{"text":"flags.allowed","tree":{"type":"name","path":["flags","allowed"]}},"flags.barred":{"text":"flags.barred","tree":{"type":"name","path":["flags","barred"]}},"flags.budget":{"text":"flags.budget","tree":{"type":"name","path":["flags","budget"]}},"flags.burst ? -3 : -1":{"text":"flags.burst ? -3 : -1","tree":{"type":"conditional","test":{"type":"name","path":["flags","burst"]},"then":{"type":"unary","op":"-","operand":{"type":"int","value":3}},"else":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}},"flags.combat":{"text":"flags.combat","tree":{"type":"name","path":["flags","combat"]}},"flags.credit - flags.fromCredit":{"text":"flags.credit - flags.fromCredit","tree":{"type":"binary","op":"-","left":{"type":"name","path":["flags","credit"]},"right":{"type":"name","path":["flags","fromCredit"]}}},"flags.credit3":{"text":"flags.credit3","tree":{"type":"name","path":["flags","credit3"]}},"flags.fromCredit - flags.cost":{"text":"flags.fromCredit - flags.cost","tree":{"type":"binary","op":"-","left":{"type":"name","path":["flags","fromCredit"]},"right":{"type":"name","path":["flags","cost"]}}},"flags.id":{"text":"flags.id","tree":{"type":"name","path":["flags","id"]}},"flags.id != ''":{"text":"flags.id != ''","tree":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id"]},"right":{"type":"string","value":""}}},"flags.id != '' ? flags.id : steps.fallback.picked":{"text":"flags.id != '' ? flags.id : steps.fallback.picked","tree":{"type":"conditional","test":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id"]},"right":{"type":"string","value":""}},"then":{"type":"name","path":["flags","id"]},"else":{"type":"name","path":["steps","fallback","picked"]}}},"flags.id == ''":{"text":"flags.id == ''","tree":{"type":"binary","op":"==","left":{"type":"name","path":["flags","id"]},"right":{"type":"string","value":""}}},"flags.id1":{"text":"flags.id1","tree":{"type":"name","path":["flags","id1"]}},"flags.id1 != '' && !(flags.id1 in flags.held)\n && (flags.id1 != @negative-mutations.attribute-deficiency || flags.deficiency)":{"text":"flags.id1 != '' && !(flags.id1 in flags.held) && (flags.id1 != @negative-mutations.attribute-deficiency || flags.deficiency)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id1"]},"right":{"type":"string","value":""}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["flags","id1"]},"right":{"type":"name","path":["flags","held"]}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id1"]},"right":{"type":"ref","id":"negative-mutations.attribute-deficiency"}},"right":{"type":"name","path":["flags","deficiency"]}}}},"flags.id2":{"text":"flags.id2","tree":{"type":"name","path":["flags","id2"]}},"flags.id2 != '' && !(flags.id2 in flags.held)\n && (flags.id2 != @negative-mutations.attribute-deficiency || flags.deficiency)":{"text":"flags.id2 != '' && !(flags.id2 in flags.held) && (flags.id2 != @negative-mutations.attribute-deficiency || flags.deficiency)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id2"]},"right":{"type":"string","value":""}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["flags","id2"]},"right":{"type":"name","path":["flags","held"]}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id2"]},"right":{"type":"ref","id":"negative-mutations.attribute-deficiency"}},"right":{"type":"name","path":["flags","deficiency"]}}}},"flags.id3":{"text":"flags.id3","tree":{"type":"name","path":["flags","id3"]}},"flags.level + 1":{"text":"flags.level + 1","tree":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":1}}},"flags.level + 1 > flags.cap":{"text":"flags.level + 1 > flags.cap","tree":{"type":"binary","op":">","left":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":1}},"right":{"type":"name","path":["flags","cap"]}}},"flags.level + 2":{"text":"flags.level + 2","tree":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":2}}},"flags.level >= 4":{"text":"flags.level >= 4","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":4}}},"flags.level >= 4 ? 99 : [1, 1, 3, 6, 9][flags.level + 1]":{"text":"flags.level >= 4 ? 99 : [1, 1, 3, 6, 9][flags.level + 1]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":4}},"then":{"type":"int","value":99},"else":{"type":"index","object":{"type":"list","items":[{"type":"int","value":1},{"type":"int","value":1},{"type":"int","value":3},{"type":"int","value":6},{"type":"int","value":9}]},"index":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":1}}}}},"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.credit0 - flags.level0 - 2 : flags.credit0":{"text":"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.credit0 - flags.level0 - 2 : flags.credit0","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit0"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"name","path":["flags","credit0"]},"right":{"type":"name","path":["flags","level0"]}},"right":{"type":"int","value":2}},"else":{"type":"name","path":["flags","credit0"]}}},"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.level0 + 1 : flags.level0":{"text":"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.level0 + 1 : flags.level0","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit0"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":1}},"else":{"type":"name","path":["flags","level0"]}}},"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.credit1 - flags.level1 - 2 : flags.credit1":{"text":"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.credit1 - flags.level1 - 2 : flags.credit1","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit1"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"name","path":["flags","credit1"]},"right":{"type":"name","path":["flags","level1"]}},"right":{"type":"int","value":2}},"else":{"type":"name","path":["flags","credit1"]}}},"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.level1 + 1 : flags.level1":{"text":"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.level1 + 1 : flags.level1","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit1"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":1}},"else":{"type":"name","path":["flags","level1"]}}},"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.credit2 - flags.level2 - 2 : flags.credit2":{"text":"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.credit2 - flags.level2 - 2 : flags.credit2","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit2"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"name","path":["flags","credit2"]},"right":{"type":"name","path":["flags","level2"]}},"right":{"type":"int","value":2}},"else":{"type":"name","path":["flags","credit2"]}}},"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.level2 + 1 : flags.level2":{"text":"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.level2 + 1 : flags.level2","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit2"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":1}},"else":{"type":"name","path":["flags","level2"]}}},"flags.level3":{"text":"flags.level3","tree":{"type":"name","path":["flags","level3"]}},"flags.light":{"text":"flags.light","tree":{"type":"name","path":["flags","light"]}},"flags.lost > 0":{"text":"flags.lost > 0","tree":{"type":"binary","op":">","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":0}}},"flags.lost >= 1":{"text":"flags.lost >= 1","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":1}}},"flags.lost >= 2":{"text":"flags.lost >= 2","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":2}}},"flags.lost >= 3":{"text":"flags.lost >= 3","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":3}}},"flags.lost >= 4":{"text":"flags.lost >= 4","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":4}}},"flags.near && (params.entry == 1 || params.entry == 9 || params.entry == 17)":{"text":"flags.near && (params.entry == 1 || params.entry == 9 || params.entry == 17)","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":1}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":9}}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":17}}}}},"flags.near && params.entry == 1":{"text":"flags.near && params.entry == 1","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":1}}}},"flags.near && params.entry == 10":{"text":"flags.near && params.entry == 10","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":10}}}},"flags.near && params.entry == 11":{"text":"flags.near && params.entry == 11","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":11}}}},"flags.near && params.entry == 12":{"text":"flags.near && params.entry == 12","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":12}}}},"flags.near && params.entry == 13":{"text":"flags.near && params.entry == 13","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":13}}}},"flags.near && params.entry == 14":{"text":"flags.near && params.entry == 14","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":14}}}},"flags.near && params.entry == 15":{"text":"flags.near && params.entry == 15","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":15}}}},"flags.near && params.entry == 16":{"text":"flags.near && params.entry == 16","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":16}}}},"flags.near && params.entry == 17":{"text":"flags.near && params.entry == 17","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":17}}}},"flags.near && params.entry == 18":{"text":"flags.near && params.entry == 18","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":18}}}},"flags.near && params.entry == 19":{"text":"flags.near && params.entry == 19","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":19}}}},"flags.near && params.entry == 2":{"text":"flags.near && params.entry == 2","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":2}}}},"flags.near && params.entry == 20":{"text":"flags.near && params.entry == 20","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":20}}}},"flags.near && params.entry == 3":{"text":"flags.near && params.entry == 3","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":3}}}},"flags.near && params.entry == 4":{"text":"flags.near && params.entry == 4","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":4}}}},"flags.near && params.entry == 5":{"text":"flags.near && params.entry == 5","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":5}}}},"flags.near && params.entry == 6":{"text":"flags.near && params.entry == 6","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":6}}}},"flags.near && params.entry == 7":{"text":"flags.near && params.entry == 7","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":7}}}},"flags.near && params.entry == 8":{"text":"flags.near && params.entry == 8","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":8}}}},"flags.near && params.entry == 9":{"text":"flags.near && params.entry == 9","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":9}}}},"flags.new":{"text":"flags.new","tree":{"type":"name","path":["flags","new"]}},"flags.new && size(steps.focus.item.bonusSkill) > 0":{"text":"flags.new && size(steps.focus.item.bonusSkill) > 0","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","new"]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","focus","item","bonusSkill"]}]},"right":{"type":"int","value":0}}}},"flags.new && size(steps.focus.item.bonusSkill2) > 0":{"text":"flags.new && size(steps.focus.item.bonusSkill2) > 0","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","new"]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","focus","item","bonusSkill2"]}]},"right":{"type":"int","value":0}}}},"flags.new && steps.focus.item.specialty":{"text":"flags.new && steps.focus.item.specialty","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","new"]},"right":{"type":"name","path":["steps","focus","item","specialty"]}}},"flags.new && steps.focus.picked == @foci.unstable-mutant":{"text":"flags.new && steps.focus.picked == @foci.unstable-mutant","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","new"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","focus","picked"]},"right":{"type":"ref","id":"foci.unstable-mutant"}}}},"flags.offered":{"text":"flags.offered","tree":{"type":"name","path":["flags","offered"]}},"flags.offered[0]":{"text":"flags.offered[0]","tree":{"type":"index","object":{"type":"name","path":["flags","offered"]},"index":{"type":"int","value":0}}},"flags.ok1":{"text":"flags.ok1","tree":{"type":"name","path":["flags","ok1"]}},"flags.prefer":{"text":"flags.prefer","tree":{"type":"name","path":["flags","prefer"]}},"flags.roll":{"text":"flags.roll","tree":{"type":"name","path":["flags","roll"]}},"flags.rolled > flags.old ? flags.rolled : flags.old + 1":{"text":"flags.rolled > flags.old ? flags.rolled : flags.old + 1","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["flags","rolled"]},"right":{"type":"name","path":["flags","old"]}},"then":{"type":"name","path":["flags","rolled"]},"else":{"type":"binary","op":"+","left":{"type":"name","path":["flags","old"]},"right":{"type":"int","value":1}}}},"flags.score >= 18":{"text":"flags.score >= 18","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","score"]},"right":{"type":"int","value":18}}},"flags.suggest":{"text":"flags.suggest","tree":{"type":"name","path":["flags","suggest"]}},"flags.target":{"text":"flags.target","tree":{"type":"name","path":["flags","target"]}},"flags.waste && params.entry == 1":{"text":"flags.waste && params.entry == 1","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":1}}}},"flags.waste && params.entry == 10":{"text":"flags.waste && params.entry == 10","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":10}}}},"flags.waste && params.entry == 11":{"text":"flags.waste && params.entry == 11","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":11}}}},"flags.waste && params.entry == 12":{"text":"flags.waste && params.entry == 12","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":12}}}},"flags.waste && params.entry == 13":{"text":"flags.waste && params.entry == 13","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":13}}}},"flags.waste && params.entry == 14":{"text":"flags.waste && params.entry == 14","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":14}}}},"flags.waste && params.entry == 18":{"text":"flags.waste && params.entry == 18","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":18}}}},"flags.waste && params.entry == 19":{"text":"flags.waste && params.entry == 19","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":19}}}},"flags.waste && params.entry == 2":{"text":"flags.waste && params.entry == 2","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":2}}}},"flags.waste && params.entry == 20":{"text":"flags.waste && params.entry == 20","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":20}}}},"flags.waste && params.entry == 3":{"text":"flags.waste && params.entry == 3","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":3}}}},"flags.waste && params.entry == 4":{"text":"flags.waste && params.entry == 4","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":4}}}},"flags.waste && params.entry == 5":{"text":"flags.waste && params.entry == 5","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":5}}}},"flags.waste && params.entry == 5 ? 1d6 + 4 : flags.waste ? 1d4 + 2 : 1d4":{"text":"flags.waste && params.entry == 5 ? 1d6 + 4 : flags.waste ? 1d4 + 2 : 1d4","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":5}}},"then":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":6,"modifiers":[]},"right":{"type":"int","value":4}},"else":{"type":"conditional","test":{"type":"name","path":["flags","waste"]},"then":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":4,"modifiers":[]},"right":{"type":"int","value":2}},"else":{"type":"dice","count":1,"sides":4,"modifiers":[]}}}},"flags.waste && params.entry == 6":{"text":"flags.waste && params.entry == 6","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":6}}}},"flags.waste && params.entry == 7":{"text":"flags.waste && params.entry == 7","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":7}}}},"flags.waste && params.entry == 8":{"text":"flags.waste && params.entry == 8","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":8}}}},"flags.waste && params.entry == 9":{"text":"flags.waste && params.entry == 9","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":9}}}},"flags.waste && params.entry >= 15 && params.entry <= 17":{"text":"flags.waste && params.entry >= 15 && params.entry <= 17","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":">=","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":15}}},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":17}}}},"floor(encumbrance.strength / 2)":{"text":"floor(encumbrance.strength / 2)","tree":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"name","path":["encumbrance","strength"]},"right":{"type":"int","value":2}}]}},"floor(level / 2)":{"text":"floor(level / 2)","tree":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"name","path":["level"]},"right":{"type":"int","value":2}}]}},"foci.count < foci.allowed":{"text":"foci.count < foci.allowed","tree":{"type":"binary","op":"<","left":{"type":"name","path":["foci","count"]},"right":{"type":"name","path":["foci","allowed"]}}},"foci.count <= foci.allowed":{"text":"foci.count <= foci.allowed","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["foci","count"]},"right":{"type":"name","path":["foci","allowed"]}}},"has(flags.allowed)":{"text":"has(flags.allowed)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["flags","allowed"]}]}},"has(flags.id3) && flags.id3 != '' && !(flags.id3 in flags.held)\n && (flags.id3 != @negative-mutations.attribute-deficiency || flags.deficiency)":{"text":"has(flags.id3) && flags.id3 != '' && !(flags.id3 in flags.held) && (flags.id3 != @negative-mutations.attribute-deficiency || flags.deficiency)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["flags","id3"]}]},"right":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id3"]},"right":{"type":"string","value":""}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["flags","id3"]},"right":{"type":"name","path":["flags","held"]}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id3"]},"right":{"type":"ref","id":"negative-mutations.attribute-deficiency"}},"right":{"type":"name","path":["flags","deficiency"]}}}},"has(flags.ok2) && flags.ok2":{"text":"has(flags.ok2) && flags.ok2","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["flags","ok2"]}]},"right":{"type":"name","path":["flags","ok2"]}}},"has(item.damage) && (steps.roll.band == 'hit' || !has(params.targetAc))":{"text":"has(item.damage) && (steps.roll.band == 'hit' || !has(params.targetAc))","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","damage"]}]},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["steps","roll","band"]},"right":{"type":"string","value":"hit"}},"right":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["params","targetAc"]}]}}}}},"has(item.magazine)":{"text":"has(item.magazine)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["item","magazine"]}]}},"has(item.magazine) && self.shots > 0":{"text":"has(item.magazine) && self.shots > 0","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","magazine"]}]},"right":{"type":"binary","op":">","left":{"type":"name","path":["self","shots"]},"right":{"type":"int","value":0}}}},"has(item.magazine) ? item.magazine : 0":{"text":"has(item.magazine) ? item.magazine : 0","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["item","magazine"]}]},"then":{"type":"name","path":["item","magazine"]},"else":{"type":"int","value":0}}},"has(item.techLevel) && item.techLevel <= 1 && !('grenade' in item.tags)\n && ('stab' in item.skills || item.id == @weapons.primitive-bow)":{"text":"has(item.techLevel) && item.techLevel <= 1 && !('grenade' in item.tags) && ('stab' in item.skills || item.id == @weapons.primitive-bow)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","techLevel"]}]},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["item","techLevel"]},"right":{"type":"int","value":1}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"grenade"},"right":{"type":"name","path":["item","tags"]}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"string","value":"stab"},"right":{"type":"name","path":["item","skills"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.primitive-bow"}}}}},"has(item.techLevel) && item.techLevel <= 2 && 'stab' in item.skills\n && !('grenade' in item.tags)":{"text":"has(item.techLevel) && item.techLevel <= 2 && 'stab' in item.skills && !('grenade' in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","techLevel"]}]},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["item","techLevel"]},"right":{"type":"int","value":2}}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"stab"},"right":{"type":"name","path":["item","skills"]}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"grenade"},"right":{"type":"name","path":["item","tags"]}}}}},"has(params.category) ? params.category\n : ['structure', 'sense', 'hybrid', 'cognition', 'pseudo-psychic',\n 'exotic'][steps.categoryRoll.total - 1]":{"text":"has(params.category) ? params.category : ['structure', 'sense', 'hybrid', 'cognition', 'pseudo-psychic', 'exotic'][steps.categoryRoll.total - 1]","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["params","category"]}]},"then":{"type":"name","path":["params","category"]},"else":{"type":"index","object":{"type":"list","items":[{"type":"string","value":"structure"},{"type":"string","value":"sense"},{"type":"string","value":"hybrid"},{"type":"string","value":"cognition"},{"type":"string","value":"pseudo-psychic"},{"type":"string","value":"exotic"}]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","categoryRoll","total"]},"right":{"type":"int","value":1}}}}},"has(params.difficulty)":{"text":"has(params.difficulty)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["params","difficulty"]}]}},"has(params.difficulty) && roll.total >= params.difficulty":{"text":"has(params.difficulty) && roll.total >= params.difficulty","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["params","difficulty"]}]},"right":{"type":"binary","op":">=","left":{"type":"name","path":["roll","total"]},"right":{"type":"name","path":["params","difficulty"]}}}},"has(params.targetAc) ? params.targetAc : 0":{"text":"has(params.targetAc) ? params.targetAc : 0","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["params","targetAc"]}]},"then":{"type":"name","path":["params","targetAc"]},"else":{"type":"int","value":0}}},"has(steps.chosen) && size(steps.chosen.item.bonusSkill) > 0":{"text":"has(steps.chosen) && size(steps.chosen.item.bonusSkill) > 0","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","chosen"]}]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","chosen","item","bonusSkill"]}]},"right":{"type":"int","value":0}}}},"has(steps.damage) ? max(steps.damage.total, self.shockDamage) : 0":{"text":"has(steps.damage) ? max(steps.damage.total, self.shockDamage) : 0","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","damage"]}]},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["steps","damage","total"]},{"type":"name","path":["self","shockDamage"]}]},"else":{"type":"int","value":0}}},"has(steps.entry)":{"text":"has(steps.entry)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","entry"]}]}},"has(steps.exact) ? steps.exact.item.bonusSkill : steps.fallback.item.bonusSkill":{"text":"has(steps.exact) ? steps.exact.item.bonusSkill : steps.fallback.item.bonusSkill","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","exact"]}]},"then":{"type":"name","path":["steps","exact","item","bonusSkill"]},"else":{"type":"name","path":["steps","fallback","item","bonusSkill"]}}},"has(steps.extra) && steps.extra.picked == 'pick'":{"text":"has(steps.extra) && steps.extra.picked == 'pick'","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","extra"]}]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","extra","picked"]},"right":{"type":"string","value":"pick"}}}},"has(steps.extra) && steps.extra.picked == 'roll'":{"text":"has(steps.extra) && steps.extra.picked == 'roll'","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","extra"]}]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","extra","picked"]},"right":{"type":"string","value":"roll"}}}},"has(steps.roll1)":{"text":"has(steps.roll1)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","roll1"]}]}},"has(steps.roll2)":{"text":"has(steps.roll2)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","roll2"]}]}},"has(steps.roll3)":{"text":"has(steps.roll3)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","roll3"]}]}},"has(steps.specialty)":{"text":"has(steps.specialty)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","specialty"]}]}},"has(steps.specialty) ? [steps.specialty.value] : steps.focus.item.bonusSkill":{"text":"has(steps.specialty) ? [steps.specialty.value] : steps.focus.item.bonusSkill","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","specialty"]}]},"then":{"type":"list","items":[{"type":"name","path":["steps","specialty","value"]}]},"else":{"type":"name","path":["steps","focus","item","bonusSkill"]}}},"has(steps.split)":{"text":"has(steps.split)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","split"]}]}},"has(steps.weapon)":{"text":"has(steps.weapon)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","weapon"]}]}},"hp.attributeMod":{"text":"hp.attributeMod","tree":{"type":"name","path":["hp","attributeMod"]}},"hp.max":{"text":"hp.max","tree":{"type":"name","path":["hp","max"]}},"item.category == 'sense' && !('vision' in item.tags)\n && countCopies(copy.item == item.id) == 0":{"text":"item.category == 'sense' && !('vision' in item.tags) && countCopies(copy.item == item.id) == 0","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["item","category"]},"right":{"type":"string","value":"sense"}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"vision"},"right":{"type":"name","path":["item","tags"]}}}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}}}},"item.category == flags.category && item.roll == steps.roll.total\n && countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)":{"text":"item.category == flags.category && item.roll == steps.roll.total && countCopies(copy.item == item.id) == 0 && !(mutations.noVision && 'vision' in item.tags) && !(mutations.noHearing && 'hearing' in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["item","category"]},"right":{"type":"name","path":["flags","category"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["item","roll"]},"right":{"type":"name","path":["steps","roll","total"]}}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noVision"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"vision"},"right":{"type":"name","path":["item","tags"]}}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noHearing"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"hearing"},"right":{"type":"name","path":["item","tags"]}}}}}},"item.damage":{"text":"item.damage","tree":{"type":"name","path":["item","damage"]}},"item.enc":{"text":"item.enc","tree":{"type":"name","path":["item","enc"]}},"item.id":{"text":"item.id","tree":{"type":"name","path":["item","id"]}},"item.id == @weapons.natural.claws":{"text":"item.id == @weapons.natural.claws","tree":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.natural.claws"}}},"item.id == @weapons.natural.jaws":{"text":"item.id == @weapons.natural.jaws","tree":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.natural.jaws"}}},"item.id == @weapons.natural.projectiles":{"text":"item.id == @weapons.natural.projectiles","tree":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.natural.projectiles"}}},"item.id == @weapons.unarmed":{"text":"item.id == @weapons.unarmed","tree":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.unarmed"}}},"item.id == steps.focus.picked && self.level < item.maxLevel":{"text":"item.id == steps.focus.picked && self.level < item.maxLevel","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"name","path":["steps","focus","picked"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["self","level"]},"right":{"type":"name","path":["item","maxLevel"]}}}},"item.maxLevel":{"text":"item.maxLevel","tree":{"type":"name","path":["item","maxLevel"]}},"item.shock > 0 && (combat.melee.shockAnyAc || (self.armed && combat.armed.shockAnyAc))":{"text":"item.shock > 0 && (combat.melee.shockAnyAc || self.armed && combat.armed.shockAnyAc)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":">","left":{"type":"name","path":["item","shock"]},"right":{"type":"int","value":0}},"right":{"type":"binary","op":"||","left":{"type":"name","path":["combat","melee","shockAnyAc"]},"right":{"type":"binary","op":"&&","left":{"type":"name","path":["self","armed"]},"right":{"type":"name","path":["combat","armed","shockAnyAc"]}}}}},"item.shock > 0 ? item.shock + self.attributeMod + combat.melee.shock\n + (self.armed ? combat.armed.shock : 0) : 0":{"text":"item.shock > 0 ? item.shock + self.attributeMod + combat.melee.shock + (self.armed ? combat.armed.shock : 0) : 0","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["item","shock"]},"right":{"type":"int","value":0}},"then":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["item","shock"]},"right":{"type":"name","path":["self","attributeMod"]}},"right":{"type":"name","path":["combat","melee","shock"]}},"right":{"type":"conditional","test":{"type":"name","path":["self","armed"]},"then":{"type":"name","path":["combat","armed","shock"]},"else":{"type":"int","value":0}}},"else":{"type":"int","value":0}}},"level":{"text":"level","tree":{"type":"name","path":["level"]}},"level + 1":{"text":"level + 1","tree":{"type":"binary","op":"+","left":{"type":"name","path":["level"]},"right":{"type":"int","value":1}}},"level - 1":{"text":"level - 1","tree":{"type":"binary","op":"-","left":{"type":"name","path":["level"]},"right":{"type":"int","value":1}}},"level < flags.minimum":{"text":"level < flags.minimum","tree":{"type":"binary","op":"<","left":{"type":"name","path":["level"]},"right":{"type":"name","path":["flags","minimum"]}}},"level >= 10 ? 0 : (xp.rate == 'fast' ? [0, 3, 6, 12, 18, 27, 39, 54, 72, 93]\n : [0, 6, 15, 24, 36, 51, 69, 87, 105, 139])[level]":{"text":"level >= 10 ? 0 : (xp.rate == 'fast' ? [0, 3, 6, 12, 18, 27, 39, 54, 72, 93] : [0, 6, 15, 24, 36, 51, 69, 87, 105, 139])[level]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":10}},"then":{"type":"int","value":0},"else":{"type":"index","object":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["xp","rate"]},"right":{"type":"string","value":"fast"}},"then":{"type":"list","items":[{"type":"int","value":0},{"type":"int","value":3},{"type":"int","value":6},{"type":"int","value":12},{"type":"int","value":18},{"type":"int","value":27},{"type":"int","value":39},{"type":"int","value":54},{"type":"int","value":72},{"type":"int","value":93}]},"else":{"type":"list","items":[{"type":"int","value":0},{"type":"int","value":6},{"type":"int","value":15},{"type":"int","value":24},{"type":"int","value":36},{"type":"int","value":51},{"type":"int","value":69},{"type":"int","value":87},{"type":"int","value":105},{"type":"int","value":139}]}},"index":{"type":"name","path":["level"]}}}},"level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0":{"text":"level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":9}},"then":{"type":"int","value":3},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":6}},"then":{"type":"int","value":2},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":3}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}}}},"mapList(filterList(character.features, x.type == 'negative'), x.item)":{"text":"mapList(filterList(character.features, x.type == 'negative'), x.item)","tree":{"type":"call","fn":"mapList","args":[{"type":"call","fn":"filterList","args":[{"type":"name","path":["character","features"]},{"type":"binary","op":"==","left":{"type":"name","path":["x","type"]},"right":{"type":"string","value":"negative"}}]},{"type":"name","path":["x","item"]}]}},"max(-1, fieldOf('skills.{skill}.cap', x))":{"text":"max(-1, fieldOf('skills.{skill}.cap', x))","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":1}},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}]}},"max(-2, (attributes.cha.boost > 0\n ? max(attributes.cha.base,\n min(2, attributes.cha.base + attributes.cha.boost))\n : attributes.cha.base)\n + attributes.cha.bonus + attributes.cha.penalty)":{"text":"max(-2, (attributes.cha.boost > 0 ? max(attributes.cha.base, min(2, attributes.cha.base + attributes.cha.boost)) : attributes.cha.base) + attributes.cha.bonus + attributes.cha.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","cha","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","cha","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","cha","base"]},"right":{"type":"name","path":["attributes","cha","boost"]}}]}]},"else":{"type":"name","path":["attributes","cha","base"]}},"right":{"type":"name","path":["attributes","cha","bonus"]}},"right":{"type":"name","path":["attributes","cha","penalty"]}}]}},"max(-2, (attributes.con.boost > 0\n ? max(attributes.con.base,\n min(2, attributes.con.base + attributes.con.boost))\n : attributes.con.base)\n + attributes.con.bonus + attributes.con.penalty)":{"text":"max(-2, (attributes.con.boost > 0 ? max(attributes.con.base, min(2, attributes.con.base + attributes.con.boost)) : attributes.con.base) + attributes.con.bonus + attributes.con.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","con","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","con","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","con","base"]},"right":{"type":"name","path":["attributes","con","boost"]}}]}]},"else":{"type":"name","path":["attributes","con","base"]}},"right":{"type":"name","path":["attributes","con","bonus"]}},"right":{"type":"name","path":["attributes","con","penalty"]}}]}},"max(-2, (attributes.dex.boost > 0\n ? max(attributes.dex.base,\n min(2, attributes.dex.base + attributes.dex.boost))\n : attributes.dex.base)\n + attributes.dex.bonus + attributes.dex.penalty)":{"text":"max(-2, (attributes.dex.boost > 0 ? max(attributes.dex.base, min(2, attributes.dex.base + attributes.dex.boost)) : attributes.dex.base) + attributes.dex.bonus + attributes.dex.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","dex","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","dex","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","dex","base"]},"right":{"type":"name","path":["attributes","dex","boost"]}}]}]},"else":{"type":"name","path":["attributes","dex","base"]}},"right":{"type":"name","path":["attributes","dex","bonus"]}},"right":{"type":"name","path":["attributes","dex","penalty"]}}]}},"max(-2, (attributes.int.boost > 0\n ? max(attributes.int.base,\n min(2, attributes.int.base + attributes.int.boost))\n : attributes.int.base)\n + attributes.int.bonus + attributes.int.penalty)":{"text":"max(-2, (attributes.int.boost > 0 ? max(attributes.int.base, min(2, attributes.int.base + attributes.int.boost)) : attributes.int.base) + attributes.int.bonus + attributes.int.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","int","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","int","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","int","base"]},"right":{"type":"name","path":["attributes","int","boost"]}}]}]},"else":{"type":"name","path":["attributes","int","base"]}},"right":{"type":"name","path":["attributes","int","bonus"]}},"right":{"type":"name","path":["attributes","int","penalty"]}}]}},"max(-2, (attributes.str.boost > 0\n ? max(attributes.str.base,\n min(2, attributes.str.base + attributes.str.boost))\n : attributes.str.base)\n + attributes.str.bonus + attributes.str.penalty)":{"text":"max(-2, (attributes.str.boost > 0 ? max(attributes.str.base, min(2, attributes.str.base + attributes.str.boost)) : attributes.str.base) + attributes.str.bonus + attributes.str.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","str","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","str","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","str","base"]},"right":{"type":"name","path":["attributes","str","boost"]}}]}]},"else":{"type":"name","path":["attributes","str","base"]}},"right":{"type":"name","path":["attributes","str","bonus"]}},"right":{"type":"name","path":["attributes","str","penalty"]}}]}},"max(-2, (attributes.wis.boost > 0\n ? max(attributes.wis.base,\n min(2, attributes.wis.base + attributes.wis.boost))\n : attributes.wis.base)\n + attributes.wis.bonus + attributes.wis.penalty)":{"text":"max(-2, (attributes.wis.boost > 0 ? max(attributes.wis.base, min(2, attributes.wis.base + attributes.wis.boost)) : attributes.wis.base) + attributes.wis.bonus + attributes.wis.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","wis","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","wis","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","wis","base"]},"right":{"type":"name","path":["attributes","wis","boost"]}}]}]},"else":{"type":"name","path":["attributes","wis","base"]}},"right":{"type":"name","path":["attributes","wis","bonus"]}},"right":{"type":"name","path":["attributes","wis","penalty"]}}]}},"max(0, (level >= 9 ? 4 : level >= 6 ? 3 : level >= 3 ? 2 : 1) - 1)":{"text":"max(0, (level >= 9 ? 4 : level >= 6 ? 3 : level >= 3 ? 2 : 1) - 1)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"binary","op":"-","left":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":9}},"then":{"type":"int","value":4},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":6}},"then":{"type":"int","value":3},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":3}},"then":{"type":"int","value":2},"else":{"type":"int","value":1}}}},"right":{"type":"int","value":1}}]}},"max(0, ceil((encumbrance.readied - encumbrance.readied.max) / 2),\n ceil((encumbrance.stowed - encumbrance.stowed.max) / 4))":{"text":"max(0, ceil((encumbrance.readied - encumbrance.readied.max) / 2), ceil((encumbrance.stowed - encumbrance.stowed.max) / 4))","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"call","fn":"ceil","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["encumbrance","readied"]},"right":{"type":"name","path":["encumbrance","readied","max"]}},"right":{"type":"int","value":2}}]},{"type":"call","fn":"ceil","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["encumbrance","stowed"]},"right":{"type":"name","path":["encumbrance","stowed","max"]}},"right":{"type":"int","value":4}}]}]}},"max(0, skills.connect.level + 1) + max(0, skills.know.level + 1)":{"text":"max(0, skills.connect.level + 1) + max(0, skills.know.level + 1)","tree":{"type":"binary","op":"+","left":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"binary","op":"+","left":{"type":"name","path":["skills","connect","level"]},"right":{"type":"int","value":1}}]},"right":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"binary","op":"+","left":{"type":"name","path":["skills","know","level"]},"right":{"type":"int","value":1}}]}}},"max(0, skills.punch.level)":{"text":"max(0, skills.punch.level)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"name","path":["skills","punch","level"]}]}},"max(0, skills.shoot.level)":{"text":"max(0, skills.shoot.level)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"name","path":["skills","shoot","level"]}]}},"max(0, skills.stab.level)":{"text":"max(0, skills.stab.level)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"name","path":["skills","stab","level"]}]}},"max(1, steps.hp.total + hp.dieBonus)":{"text":"max(1, steps.hp.total + hp.dieBonus)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":1},{"type":"binary","op":"+","left":{"type":"name","path":["steps","hp","total"]},"right":{"type":"name","path":["hp","dieBonus"]}}]}},"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped\n && !('shield' in copy.tags) && !('primitive' in copy.tags)))":{"text":"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped && !('shield' in copy.tags) && !('primitive' in copy.tags)))","tree":{"type":"call","fn":"max","args":[{"type":"int","value":10},{"type":"call","fn":"maxCopies","args":[{"type":"name","path":["copy","fields","ac"]},{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"shield"},"right":{"type":"name","path":["copy","tags"]}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"primitive"},"right":{"type":"name","path":["copy","tags"]}}}}]}]}},"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped\n && !('shield' in copy.tags)))":{"text":"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped && !('shield' in copy.tags)))","tree":{"type":"call","fn":"max","args":[{"type":"int","value":10},{"type":"call","fn":"maxCopies","args":[{"type":"name","path":["copy","fields","ac"]},{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"shield"},"right":{"type":"name","path":["copy","tags"]}}}}]}]}},"max(attributes.int.mod, attributes.dex.mod)":{"text":"max(attributes.int.mod, attributes.dex.mod)","tree":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","int","mod"]},{"type":"name","path":["attributes","dex","mod"]}]}},"max(attributes.int.mod, attributes.wis.mod)":{"text":"max(attributes.int.mod, attributes.wis.mod)","tree":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","int","mod"]},{"type":"name","path":["attributes","wis","mod"]}]}},"max(attributes.str.mod, attributes.con.mod)":{"text":"max(attributes.str.mod, attributes.con.mod)","tree":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","str","mod"]},{"type":"name","path":["attributes","con","mod"]}]}},"max(attributes.wis.mod, attributes.cha.mod)":{"text":"max(attributes.wis.mod, attributes.cha.mod)","tree":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","wis","mod"]},{"type":"name","path":["attributes","cha","mod"]}]}},"maxFields(f.value, 'skill' in f.tags)":{"text":"maxFields(f.value, 'skill' in f.tags)","tree":{"type":"call","fn":"maxFields","args":[{"type":"name","path":["f","value"]},{"type":"binary","op":"in","left":{"type":"string","value":"skill"},"right":{"type":"name","path":["f","tags"]}}]}},"maxList(item.skills, fieldOf('skills.{skill}.level', x))":{"text":"maxList(item.skills, fieldOf('skills.{skill}.level', x))","tree":{"type":"call","fn":"maxList","args":[{"type":"name","path":["item","skills"]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]}]}},"min(flags.credit, flags.level + 2)":{"text":"min(flags.credit, flags.level + 2)","tree":{"type":"call","fn":"min","args":[{"type":"name","path":["flags","credit"]},{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":2}}]}},"minList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))":{"text":"minList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.score', x))","tree":{"type":"call","fn":"minList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}]}},"minList([steps.str.total, steps.dex.total, steps.con.total, steps.int.total,\n steps.wis.total, steps.cha.total], x) >= 14 ? 'none'\n : ['str', 'dex', 'con', 'int', 'wis', 'cha'][indexOf([steps.str.total,\n steps.dex.total, steps.con.total, steps.int.total, steps.wis.total,\n steps.cha.total], minList([steps.str.total, steps.dex.total, steps.con.total,\n steps.int.total, steps.wis.total, steps.cha.total], x))]":{"text":"minList([steps.str.total, steps.dex.total, steps.con.total, steps.int.total, steps.wis.total, steps.cha.total], x) >= 14 ? 'none' : ['str', 'dex', 'con', 'int', 'wis', 'cha'][indexOf([steps.str.total, steps.dex.total, steps.con.total, steps.int.total, steps.wis.total, steps.cha.total], minList([steps.str.total, steps.dex.total, steps.con.total, steps.int.total, steps.wis.total, steps.cha.total], x))]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"call","fn":"minList","args":[{"type":"list","items":[{"type":"name","path":["steps","str","total"]},{"type":"name","path":["steps","dex","total"]},{"type":"name","path":["steps","con","total"]},{"type":"name","path":["steps","int","total"]},{"type":"name","path":["steps","wis","total"]},{"type":"name","path":["steps","cha","total"]}]},{"type":"name","path":["x"]}]},"right":{"type":"int","value":14}},"then":{"type":"string","value":"none"},"else":{"type":"index","object":{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},"index":{"type":"call","fn":"indexOf","args":[{"type":"list","items":[{"type":"name","path":["steps","str","total"]},{"type":"name","path":["steps","dex","total"]},{"type":"name","path":["steps","con","total"]},{"type":"name","path":["steps","int","total"]},{"type":"name","path":["steps","wis","total"]},{"type":"name","path":["steps","cha","total"]}]},{"type":"call","fn":"minList","args":[{"type":"list","items":[{"type":"name","path":["steps","str","total"]},{"type":"name","path":["steps","dex","total"]},{"type":"name","path":["steps","con","total"]},{"type":"name","path":["steps","int","total"]},{"type":"name","path":["steps","wis","total"]},{"type":"name","path":["steps","cha","total"]}]},{"type":"name","path":["x"]}]}]}}}},"mutations.mutant":{"text":"mutations.mutant","tree":{"type":"name","path":["mutations","mutant"]}},"mutations.mutant || countCopies(copy.type == 'mutation' || copy.type == 'negative') == 0":{"text":"mutations.mutant || countCopies(copy.type == 'mutation' || copy.type == 'negative') == 0","tree":{"type":"binary","op":"||","left":{"type":"name","path":["mutations","mutant"]},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"mutation"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"negative"}}}]},"right":{"type":"int","value":0}}}},"mutations.negatives <= 3":{"text":"mutations.negatives <= 3","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["mutations","negatives"]},"right":{"type":"int","value":3}}},"mutations.points.left >= 1":{"text":"mutations.points.left >= 1","tree":{"type":"binary","op":">=","left":{"type":"name","path":["mutations","points","left"]},"right":{"type":"int","value":1}}},"mutations.points.left >= 3":{"text":"mutations.points.left >= 3","tree":{"type":"binary","op":">=","left":{"type":"name","path":["mutations","points","left"]},"right":{"type":"int","value":3}}},"mutations.points.spent <= mutations.points.total":{"text":"mutations.points.spent <= mutations.points.total","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["mutations","points","spent"]},"right":{"type":"name","path":["mutations","points","total"]}}},"mutations.points.total - mutations.points.spent":{"text":"mutations.points.total - mutations.points.spent","tree":{"type":"binary","op":"-","left":{"type":"name","path":["mutations","points","total"]},"right":{"type":"name","path":["mutations","points","spent"]}}},"options[0]":{"text":"options[0]","tree":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"int","value":0}}},"params.attribute.id":{"text":"params.attribute.id","tree":{"type":"name","path":["params","attribute","id"]}},"params.entry == 'any-combat' ? ['punch', 'shoot', 'stab']\n : params.entry == 'any-skill' ? [] : [params.entry]":{"text":"params.entry == 'any-combat' ? ['punch', 'shoot', 'stab'] : params.entry == 'any-skill' ? [] : [params.entry]","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"any-combat"}},"then":{"type":"list","items":[{"type":"string","value":"punch"},{"type":"string","value":"shoot"},{"type":"string","value":"stab"}]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"any-skill"}},"then":{"type":"list","items":[]},"else":{"type":"list","items":[{"type":"name","path":["params","entry"]}]}}}},"params.entry == 'any-stat-1' ? 1 : 2":{"text":"params.entry == 'any-stat-1' ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"any-stat-1"}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}},"params.entry == 'physical2' ? ['str', 'dex', 'con']\n : params.entry == 'mental2' ? ['int', 'wis', 'cha']\n : ['str', 'dex', 'con', 'int', 'wis', 'cha']":{"text":"params.entry == 'physical2' ? ['str', 'dex', 'con'] : params.entry == 'mental2' ? ['int', 'wis', 'cha'] : ['str', 'dex', 'con', 'int', 'wis', 'cha']","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"physical2"}},"then":{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"}]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"mental2"}},"then":{"type":"list","items":[{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},"else":{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]}}}},"params.entry in ['any-stat-1', 'physical2', 'mental2']":{"text":"params.entry in ['any-stat-1', 'physical2', 'mental2']","tree":{"type":"binary","op":"in","left":{"type":"name","path":["params","entry"]},"right":{"type":"list","items":[{"type":"string","value":"any-stat-1"},{"type":"string","value":"physical2"},{"type":"string","value":"mental2"}]}}},"params.origin":{"text":"params.origin","tree":{"type":"name","path":["params","origin"]}},"params.prefer":{"text":"params.prefer","tree":{"type":"name","path":["params","prefer"]}},"params.random":{"text":"params.random","tree":{"type":"name","path":["params","random"]}},"params.random ? 'roll' : 'pick'":{"text":"params.random ? 'roll' : 'pick'","tree":{"type":"conditional","test":{"type":"name","path":["params","random"]},"then":{"type":"string","value":"roll"},"else":{"type":"string","value":"pick"}}},"params.random ? options[steps.negativesRoll.total - 1] : options[0]":{"text":"params.random ? options[steps.negativesRoll.total - 1] : options[0]","tree":{"type":"conditional","test":{"type":"name","path":["params","random"]},"then":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","negativesRoll","total"]},"right":{"type":"int","value":1}}},"else":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"int","value":0}}}},"params.random || steps.method.picked == 'roll'":{"text":"params.random || steps.method.picked == 'roll'","tree":{"type":"binary","op":"||","left":{"type":"name","path":["params","random"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","method","picked"]},"right":{"type":"string","value":"roll"}}}},"params.save.tags":{"text":"params.save.tags","tree":{"type":"name","path":["params","save","tags"]}},"params.save.value":{"text":"params.save.value","tree":{"type":"name","path":["params","save","value"]}},"params.skill.id":{"text":"params.skill.id","tree":{"type":"name","path":["params","skill","id"]}},"params.skill.tags":{"text":"params.skill.tags","tree":{"type":"name","path":["params","skill","tags"]}},"params.skills":{"text":"params.skills","tree":{"type":"name","path":["params","skills"]}},"params.table != 'near-future'":{"text":"params.table != 'near-future'","tree":{"type":"binary","op":"!=","left":{"type":"name","path":["params","table"]},"right":{"type":"string","value":"near-future"}}},"params.table == 'near-future'":{"text":"params.table == 'near-future'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["params","table"]},"right":{"type":"string","value":"near-future"}}},"picked.id":{"text":"picked.id","tree":{"type":"name","path":["picked","id"]}},"picked.id == 'concealed'":{"text":"picked.id == 'concealed'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["picked","id"]},"right":{"type":"string","value":"concealed"}}},"picked.id == @weapons.primitive-bow":{"text":"picked.id == @weapons.primitive-bow","tree":{"type":"binary","op":"==","left":{"type":"name","path":["picked","id"]},"right":{"type":"ref","id":"weapons.primitive-bow"}}},"picks == 0":{"text":"picks == 0","tree":{"type":"binary","op":"==","left":{"type":"name","path":["picks"]},"right":{"type":"int","value":0}}},"roll.kept[0] == 20 || (roll.kept[0] != 1 && roll.total >= flags.ac)":{"text":"roll.kept[0] == 20 || roll.kept[0] != 1 && roll.total >= flags.ac","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"index","object":{"type":"name","path":["roll","kept"]},"index":{"type":"int","value":0}},"right":{"type":"int","value":20}},"right":{"type":"binary","op":"&&","left":{"type":"binary","op":"!=","left":{"type":"index","object":{"type":"name","path":["roll","kept"]},"index":{"type":"int","value":0}},"right":{"type":"int","value":1}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["roll","total"]},"right":{"type":"name","path":["flags","ac"]}}}}},"roll.total >= flags.target":{"text":"roll.total >= flags.target","tree":{"type":"binary","op":">=","left":{"type":"name","path":["roll","total"]},"right":{"type":"name","path":["flags","target"]}}},"self.armed || 'punch' in item.skills":{"text":"self.armed || 'punch' in item.skills","tree":{"type":"binary","op":"||","left":{"type":"name","path":["self","armed"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"punch"},"right":{"type":"name","path":["item","skills"]}}}},"self.attributeMod + ('punch' in item.skills ? max(0, skills.punch.level) : 0)\n + combat.damageBonus + (self.close ? combat.melee.damage : combat.ranged.damage)\n + (self.armed ? combat.armed.damage : 0)":{"text":"self.attributeMod + ('punch' in item.skills ? max(0, skills.punch.level) : 0) + combat.damageBonus + (self.close ? combat.melee.damage : combat.ranged.damage) + (self.armed ? combat.armed.damage : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["self","attributeMod"]},"right":{"type":"conditional","test":{"type":"binary","op":"in","left":{"type":"string","value":"punch"},"right":{"type":"name","path":["item","skills"]}},"then":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"name","path":["skills","punch","level"]}]},"else":{"type":"int","value":0}}},"right":{"type":"name","path":["combat","damageBonus"]}},"right":{"type":"conditional","test":{"type":"name","path":["self","close"]},"then":{"type":"name","path":["combat","melee","damage"]},"else":{"type":"name","path":["combat","ranged","damage"]}}},"right":{"type":"conditional","test":{"type":"name","path":["self","armed"]},"then":{"type":"name","path":["combat","armed","damage"]},"else":{"type":"int","value":0}}}},"self.close ? 'attack.melee' : 'attack.ranged'":{"text":"self.close ? 'attack.melee' : 'attack.ranged'","tree":{"type":"conditional","test":{"type":"name","path":["self","close"]},"then":{"type":"string","value":"attack.melee"},"else":{"type":"string","value":"attack.ranged"}}},"self.damage":{"text":"self.damage","tree":{"type":"name","path":["self","damage"]}},"self.equipped && 'heavy' in item.tags":{"text":"self.equipped && 'heavy' in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["self","equipped"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"heavy"},"right":{"type":"name","path":["item","tags"]}}}},"self.equipped && has(item.enc) && item.enc > 0\n && !(has(item.wornFree) && item.wornFree)\n && encumbrance.readied > encumbrance.readied.max + 4":{"text":"self.equipped && has(item.enc) && item.enc > 0 && !(has(item.wornFree) && item.wornFree) && encumbrance.readied > encumbrance.readied.max + 4","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["self","equipped"]},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["item","enc"]}]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["item","enc"]},"right":{"type":"int","value":0}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","wornFree"]}]},"right":{"type":"name","path":["item","wornFree"]}}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","readied"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["encumbrance","readied","max"]},"right":{"type":"int","value":4}}}}},"self.equipped && item.enc > 0\n && encumbrance.readied > encumbrance.readied.max + 4":{"text":"self.equipped && item.enc > 0 && encumbrance.readied > encumbrance.readied.max + 4","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["self","equipped"]},"right":{"type":"binary","op":">","left":{"type":"name","path":["item","enc"]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","readied"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["encumbrance","readied","max"]},"right":{"type":"int","value":4}}}}},"self.equipped || item.id == @weapons.unarmed":{"text":"self.equipped || item.id == @weapons.unarmed","tree":{"type":"binary","op":"||","left":{"type":"name","path":["self","equipped"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.unarmed"}}}},"self.hit":{"text":"self.hit","tree":{"type":"name","path":["self","hit"]}},"self.level >= 2":{"text":"self.level >= 2","tree":{"type":"binary","op":">=","left":{"type":"name","path":["self","level"]},"right":{"type":"int","value":2}}},"self.level >= 2 ? 2 : 1":{"text":"self.level >= 2 ? 2 : 1","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["self","level"]},"right":{"type":"int","value":2}},"then":{"type":"int","value":2},"else":{"type":"int","value":1}}},"self.level >= 2 ? 4 : 2":{"text":"self.level >= 2 ? 4 : 2","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["self","level"]},"right":{"type":"int","value":2}},"then":{"type":"int","value":4},"else":{"type":"int","value":2}}},"situational.burst && 'burst' in item.tags && has(item.magazine) && self.shots >= 3":{"text":"situational.burst && 'burst' in item.tags && has(item.magazine) && self.shots >= 3","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["situational","burst"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"burst"},"right":{"type":"name","path":["item","tags"]}}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["item","magazine"]}]}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["self","shots"]},"right":{"type":"int","value":3}}}},"situational.foraging":{"text":"situational.foraging","tree":{"type":"name","path":["situational","foraging"]}},"situational.social":{"text":"situational.social","tree":{"type":"name","path":["situational","social"]}},"situational.versus == 'disease'":{"text":"situational.versus == 'disease'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"disease"}}},"situational.versus == 'poison' || situational.versus == 'disease'":{"text":"situational.versus == 'poison' || situational.versus == 'disease'","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"poison"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"disease"}}}},"situational.versus == 'radiation'":{"text":"situational.versus == 'radiation'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"radiation"}}},"size(filterList(['knife', 'first-aid-kit', 'preserved-food', 'backpack'], x in options)) > 0\n ? filterList(['knife', 'first-aid-kit', 'preserved-food', 'backpack'], x in options)[0]\n : options[0]":{"text":"size(filterList(['knife', 'first-aid-kit', 'preserved-food', 'backpack'], x in options)) > 0 ? filterList(['knife', 'first-aid-kit', 'preserved-food', 'backpack'], x in options)[0] : options[0]","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"call","fn":"filterList","args":[{"type":"list","items":[{"type":"string","value":"knife"},{"type":"string","value":"first-aid-kit"},{"type":"string","value":"preserved-food"},{"type":"string","value":"backpack"}]},{"type":"binary","op":"in","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["options"]}}]}]},"right":{"type":"int","value":0}},"then":{"type":"index","object":{"type":"call","fn":"filterList","args":[{"type":"list","items":[{"type":"string","value":"knife"},{"type":"string","value":"first-aid-kit"},{"type":"string","value":"preserved-food"},{"type":"string","value":"backpack"}]},{"type":"binary","op":"in","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["options"]}}]},"index":{"type":"int","value":0}},"else":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"int","value":0}}}},"size(filterList(params.prefer, x in flags.offered)) > 0\n ? filterList(params.prefer, x in flags.offered)[0] : flags.offered[0]":{"text":"size(filterList(params.prefer, x in flags.offered)) > 0 ? filterList(params.prefer, x in flags.offered)[0] : flags.offered[0]","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"call","fn":"filterList","args":[{"type":"name","path":["params","prefer"]},{"type":"binary","op":"in","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["flags","offered"]}}]}]},"right":{"type":"int","value":0}},"then":{"type":"index","object":{"type":"call","fn":"filterList","args":[{"type":"name","path":["params","prefer"]},{"type":"binary","op":"in","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["flags","offered"]}}]},"index":{"type":"int","value":0}},"else":{"type":"index","object":{"type":"name","path":["flags","offered"]},"index":{"type":"int","value":0}}}},"size(flags.best) > 0 ? flags.best[0] : options[0]":{"text":"size(flags.best) > 0 ? flags.best[0] : options[0]","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["flags","best"]}]},"right":{"type":"int","value":0}},"then":{"type":"index","object":{"type":"name","path":["flags","best"]},"index":{"type":"int","value":0}},"else":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"int","value":0}}}},"size(flags.open) > 0 ? flags.open\n : filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))":{"text":"size(flags.open) > 0 ? flags.open : filterList(keysOf('skill'), fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["flags","open"]}]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["flags","open"]},"else":{"type":"call","fn":"filterList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]}}},"size(flags.open) > 0 ? flags.open\n : filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))":{"text":"size(flags.open) > 0 ? flags.open : filterList(keysOf('skill'), fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["flags","open"]}]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["flags","open"]},"else":{"type":"call","fn":"filterList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"min","args":[{"type":"int","value":1},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}]}}]}}},"size(item.attributes) == 0 ? 0 : maxList(item.attributes, fieldOf('attributes.{attribute}.mod', x))":{"text":"size(item.attributes) == 0 ? 0 : maxList(item.attributes, fieldOf('attributes.{attribute}.mod', x))","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"call","fn":"size","args":[{"type":"name","path":["item","attributes"]}]},"right":{"type":"int","value":0}},"then":{"type":"int","value":0},"else":{"type":"call","fn":"maxList","args":[{"type":"name","path":["item","attributes"]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["x"]}]}]}}},"size(steps.edge.item.bonusSkill) > 0":{"text":"size(steps.edge.item.bonusSkill) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","edge","item","bonusSkill"]}]},"right":{"type":"int","value":0}}},"skills.perLevel":{"text":"skills.perLevel","tree":{"type":"name","path":["skills","perLevel"]}},"skills.points + flags.credit < flags.cost":{"text":"skills.points + flags.credit < flags.cost","tree":{"type":"binary","op":"<","left":{"type":"binary","op":"+","left":{"type":"name","path":["skills","points"]},"right":{"type":"name","path":["flags","credit"]}},"right":{"type":"name","path":["flags","cost"]}}},"skills.points < flags.cost":{"text":"skills.points < flags.cost","tree":{"type":"binary","op":"<","left":{"type":"name","path":["skills","points"]},"right":{"type":"name","path":["flags","cost"]}}},"skills.punch.level >= 4 ? 1d12 + 1 : skills.punch.level == 3 ? 1d12\n : skills.punch.level == 2 ? 1d10 : skills.punch.level == 1 ? 1d8 : 1d6":{"text":"skills.punch.level >= 4 ? 1d12 + 1 : skills.punch.level == 3 ? 1d12 : skills.punch.level == 2 ? 1d10 : skills.punch.level == 1 ? 1d8 : 1d6","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["skills","punch","level"]},"right":{"type":"int","value":4}},"then":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":12,"modifiers":[]},"right":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["skills","punch","level"]},"right":{"type":"int","value":3}},"then":{"type":"dice","count":1,"sides":12,"modifiers":[]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["skills","punch","level"]},"right":{"type":"int","value":2}},"then":{"type":"dice","count":1,"sides":10,"modifiers":[]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["skills","punch","level"]},"right":{"type":"int","value":1}},"then":{"type":"dice","count":1,"sides":8,"modifiers":[]},"else":{"type":"dice","count":1,"sides":6,"modifiers":[]}}}}}},"sortList(['administer', 'connect', 'drive', 'exert', 'fix', 'heal', 'know', 'lead', 'notice',\n 'perform', 'program', 'punch', 'shoot', 'sneak', 'stab', 'survive', 'talk', 'trade',\n 'work'], -fieldOf('skills.{skill}.level', x))[0]":{"text":"sortList(['administer', 'connect', 'drive', 'exert', 'fix', 'heal', 'know', 'lead', 'notice', 'perform', 'program', 'punch', 'shoot', 'sneak', 'stab', 'survive', 'talk', 'trade', 'work'], -fieldOf('skills.{skill}.level', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"administer"},{"type":"string","value":"connect"},{"type":"string","value":"drive"},{"type":"string","value":"exert"},{"type":"string","value":"fix"},{"type":"string","value":"heal"},{"type":"string","value":"know"},{"type":"string","value":"lead"},{"type":"string","value":"notice"},{"type":"string","value":"perform"},{"type":"string","value":"program"},{"type":"string","value":"punch"},{"type":"string","value":"shoot"},{"type":"string","value":"sneak"},{"type":"string","value":"stab"},{"type":"string","value":"survive"},{"type":"string","value":"talk"},{"type":"string","value":"trade"},{"type":"string","value":"work"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(['int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(['int', 'wis'], -fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['int', 'wis'], -fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"int"},{"type":"string","value":"wis"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(['int', 'wis'], fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['int', 'wis'], fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"int"},{"type":"string","value":"wis"}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}]},"index":{"type":"int","value":0}}},"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n -fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}]},"index":{"type":"int","value":0}}},"sortList(['str', 'dex', 'int', 'wis', 'cha'],\n -fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['str', 'dex', 'int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(filterList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.mod', x) >= -1),\n fieldOf('attributes.{attribute}.mod', x))[0]":{"text":"sortList(filterList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.mod', x) >= -1), fieldOf('attributes.{attribute}.mod', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"call","fn":"filterList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"binary","op":">=","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["x"]}]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["x"]}]}]},"index":{"type":"int","value":0}}},"sortList(filterList(flags.allowed,\n fieldOf('attributes.{attribute}.score', x) <= 18 - flags.budget),\n -fieldOf('attributes.{attribute}.score', x))":{"text":"sortList(filterList(flags.allowed, fieldOf('attributes.{attribute}.score', x) <= 18 - flags.budget), -fieldOf('attributes.{attribute}.score', x))","tree":{"type":"call","fn":"sortList","args":[{"type":"call","fn":"filterList","args":[{"type":"name","path":["flags","allowed"]},{"type":"binary","op":"<=","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]},"right":{"type":"binary","op":"-","left":{"type":"int","value":18},"right":{"type":"name","path":["flags","budget"]}}}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]}},"sortList(item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]":{"text":"sortList(item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"name","path":["item","bonusSkill"]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(steps.focus.item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]":{"text":"sortList(steps.focus.item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"name","path":["steps","focus","item","bonusSkill"]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"steps.add.added[0]":{"text":"steps.add.added[0]","tree":{"type":"index","object":{"type":"name","path":["steps","add","added"]},"index":{"type":"int","value":0}}},"steps.background.item.freeSkill":{"text":"steps.background.item.freeSkill","tree":{"type":"name","path":["steps","background","item","freeSkill"]}},"steps.category.picked":{"text":"steps.category.picked","tree":{"type":"name","path":["steps","category","picked"]}},"steps.chosen.item.bonusSkill":{"text":"steps.chosen.item.bonusSkill","tree":{"type":"name","path":["steps","chosen","item","bonusSkill"]}},"steps.count.total":{"text":"steps.count.total","tree":{"type":"name","path":["steps","count","total"]}},"steps.edge.item.bonusSkill":{"text":"steps.edge.item.bonusSkill","tree":{"type":"name","path":["steps","edge","item","bonusSkill"]}},"steps.entry.value":{"text":"steps.entry.value","tree":{"type":"name","path":["steps","entry","value"]}},"steps.focus.item.bonusSkill":{"text":"steps.focus.item.bonusSkill","tree":{"type":"name","path":["steps","focus","item","bonusSkill"]}},"steps.focus.item.bonusSkill2":{"text":"steps.focus.item.bonusSkill2","tree":{"type":"name","path":["steps","focus","item","bonusSkill2"]}},"steps.focus.item.multiple && countCopies(copy.item == steps.focus.picked\n && copy.state.level < steps.focus.item.maxLevel) > 0":{"text":"steps.focus.item.multiple && countCopies(copy.item == steps.focus.picked && copy.state.level < steps.focus.item.maxLevel) > 0","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["steps","focus","item","multiple"]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["steps","focus","picked"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["copy","state","level"]},"right":{"type":"name","path":["steps","focus","item","maxLevel"]}}}]},"right":{"type":"int","value":0}}}},"steps.focus.picked":{"text":"steps.focus.picked","tree":{"type":"name","path":["steps","focus","picked"]}},"steps.food.total":{"text":"steps.food.total","tree":{"type":"name","path":["steps","food","total"]}},"steps.fourteen.picked == 'cha' ? 14 : steps.cha.total":{"text":"steps.fourteen.picked == 'cha' ? 14 : steps.cha.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"cha"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","cha","total"]}}},"steps.fourteen.picked == 'con' ? 14 : steps.con.total":{"text":"steps.fourteen.picked == 'con' ? 14 : steps.con.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"con"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","con","total"]}}},"steps.fourteen.picked == 'dex' ? 14 : steps.dex.total":{"text":"steps.fourteen.picked == 'dex' ? 14 : steps.dex.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"dex"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","dex","total"]}}},"steps.fourteen.picked == 'int' ? 14 : steps.int.total":{"text":"steps.fourteen.picked == 'int' ? 14 : steps.int.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"int"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","int","total"]}}},"steps.fourteen.picked == 'str' ? 14 : steps.str.total":{"text":"steps.fourteen.picked == 'str' ? 14 : steps.str.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"str"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","str","total"]}}},"steps.fourteen.picked == 'wis' ? 14 : steps.wis.total":{"text":"steps.fourteen.picked == 'wis' ? 14 : steps.wis.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"wis"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","wis","total"]}}},"steps.how.picked == 'category'":{"text":"steps.how.picked == 'category'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","how","picked"]},"right":{"type":"string","value":"category"}}},"steps.how.picked == 'chosen'":{"text":"steps.how.picked == 'chosen'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","how","picked"]},"right":{"type":"string","value":"chosen"}}},"steps.how.picked == 'random'":{"text":"steps.how.picked == 'random'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","how","picked"]},"right":{"type":"string","value":"random"}}},"steps.kit.picked":{"text":"steps.kit.picked","tree":{"type":"name","path":["steps","kit","picked"]}},"steps.kit.picked == 'near-future' || steps.kit.picked == 'wasteland'":{"text":"steps.kit.picked == 'near-future' || steps.kit.picked == 'wasteland'","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["steps","kit","picked"]},"right":{"type":"string","value":"near-future"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","kit","picked"]},"right":{"type":"string","value":"wasteland"}}}},"steps.kit.picked == 'prepared'":{"text":"steps.kit.picked == 'prepared'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","kit","picked"]},"right":{"type":"string","value":"prepared"}}},"steps.kit.picked == 'wasteland' ? '10' : '4'":{"text":"steps.kit.picked == 'wasteland' ? '10' : '4'","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","kit","picked"]},"right":{"type":"string","value":"wasteland"}},"then":{"type":"string","value":"10"},"else":{"type":"string","value":"4"}}},"steps.negatives.value >= 1":{"text":"steps.negatives.value >= 1","tree":{"type":"binary","op":">=","left":{"type":"name","path":["steps","negatives","value"]},"right":{"type":"int","value":1}}},"steps.negatives.value >= 2":{"text":"steps.negatives.value >= 2","tree":{"type":"binary","op":">=","left":{"type":"name","path":["steps","negatives","value"]},"right":{"type":"int","value":2}}},"steps.negatives.value >= 3":{"text":"steps.negatives.value >= 3","tree":{"type":"binary","op":">=","left":{"type":"name","path":["steps","negatives","value"]},"right":{"type":"int","value":3}}},"steps.part.total == 6":{"text":"steps.part.total == 6","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","part","total"]},"right":{"type":"int","value":6}}},"steps.part.total == 6 && steps.extra2.total != steps.extra1.total\n ? ['head', 'arms', 'legs', 'torso', 'senses'][steps.extra2.total - 1] : 'none'":{"text":"steps.part.total == 6 && steps.extra2.total != steps.extra1.total ? ['head', 'arms', 'legs', 'torso', 'senses'][steps.extra2.total - 1] : 'none'","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["steps","part","total"]},"right":{"type":"int","value":6}},"right":{"type":"binary","op":"!=","left":{"type":"name","path":["steps","extra2","total"]},"right":{"type":"name","path":["steps","extra1","total"]}}},"then":{"type":"index","object":{"type":"list","items":[{"type":"string","value":"head"},{"type":"string","value":"arms"},{"type":"string","value":"legs"},{"type":"string","value":"torso"},{"type":"string","value":"senses"}]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","extra2","total"]},"right":{"type":"int","value":1}}},"else":{"type":"string","value":"none"}}},"steps.roll.band":{"text":"steps.roll.band","tree":{"type":"name","path":["steps","roll","band"]}},"steps.roll.total":{"text":"steps.roll.total","tree":{"type":"name","path":["steps","roll","total"]}},"steps.roll1.total":{"text":"steps.roll1.total","tree":{"type":"name","path":["steps","roll1","total"]}},"steps.roll1.total >= 91":{"text":"steps.roll1.total >= 91","tree":{"type":"binary","op":">=","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":91}}},"steps.roll1.total >= 91 ? ''\n : flags.table[steps.roll1.total <= 80 ? floor((steps.roll1.total - 1) / 2) : 40]":{"text":"steps.roll1.total >= 91 ? '' : flags.table[steps.roll1.total <= 80 ? floor((steps.roll1.total - 1) / 2) : 40]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":91}},"then":{"type":"string","value":""},"else":{"type":"index","object":{"type":"name","path":["flags","table"]},"index":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":80}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":1}},"right":{"type":"int","value":2}}]},"else":{"type":"int","value":40}}}}},"steps.roll2.total":{"text":"steps.roll2.total","tree":{"type":"name","path":["steps","roll2","total"]}},"steps.roll2.total >= 91 ? ''\n : flags.table[steps.roll2.total <= 80 ? floor((steps.roll2.total - 1) / 2) : 40]":{"text":"steps.roll2.total >= 91 ? '' : flags.table[steps.roll2.total <= 80 ? floor((steps.roll2.total - 1) / 2) : 40]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":91}},"then":{"type":"string","value":""},"else":{"type":"index","object":{"type":"name","path":["flags","table"]},"index":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":80}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":1}},"right":{"type":"int","value":2}}]},"else":{"type":"int","value":40}}}}},"steps.roll3.total":{"text":"steps.roll3.total","tree":{"type":"name","path":["steps","roll3","total"]}},"steps.roll3.total >= 91 ? ''\n : flags.table[steps.roll3.total <= 80 ? floor((steps.roll3.total - 1) / 2) : 40]":{"text":"steps.roll3.total >= 91 ? '' : flags.table[steps.roll3.total <= 80 ? floor((steps.roll3.total - 1) / 2) : 40]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":91}},"then":{"type":"string","value":""},"else":{"type":"index","object":{"type":"name","path":["flags","table"]},"index":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":80}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":1}},"right":{"type":"int","value":2}}]},"else":{"type":"int","value":40}}}}},"steps.skillMethod.picked == 'pick'":{"text":"steps.skillMethod.picked == 'pick'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","skillMethod","picked"]},"right":{"type":"string","value":"pick"}}},"steps.skillMethod.picked == 'roll'":{"text":"steps.skillMethod.picked == 'roll'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","skillMethod","picked"]},"right":{"type":"string","value":"roll"}}},"steps.specialty.value":{"text":"steps.specialty.value","tree":{"type":"name","path":["steps","specialty","value"]}},"steps.split.value >= 1 ? 1d6 : 1d8":{"text":"steps.split.value >= 1 ? 1d6 : 1d8","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":1}},"then":{"type":"dice","count":1,"sides":6,"modifiers":[]},"else":{"type":"dice","count":1,"sides":8,"modifiers":[]}}},"steps.split.value >= 1 ? flags.growth[steps.roll1.total - 1]\n : flags.learning[steps.roll1.total - 1]":{"text":"steps.split.value >= 1 ? flags.growth[steps.roll1.total - 1] : flags.learning[steps.roll1.total - 1]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":1}},"then":{"type":"index","object":{"type":"name","path":["flags","growth"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":1}}},"else":{"type":"index","object":{"type":"name","path":["flags","learning"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":1}}}}},"steps.split.value >= 2 ? 1d6 : 1d8":{"text":"steps.split.value >= 2 ? 1d6 : 1d8","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":2}},"then":{"type":"dice","count":1,"sides":6,"modifiers":[]},"else":{"type":"dice","count":1,"sides":8,"modifiers":[]}}},"steps.split.value >= 2 ? flags.growth[steps.roll2.total - 1]\n : flags.learning[steps.roll2.total - 1]":{"text":"steps.split.value >= 2 ? flags.growth[steps.roll2.total - 1] : flags.learning[steps.roll2.total - 1]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":2}},"then":{"type":"index","object":{"type":"name","path":["flags","growth"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":1}}},"else":{"type":"index","object":{"type":"name","path":["flags","learning"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":1}}}}},"steps.split.value >= 3 ? 1d6 : 1d8":{"text":"steps.split.value >= 3 ? 1d6 : 1d8","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":3}},"then":{"type":"dice","count":1,"sides":6,"modifiers":[]},"else":{"type":"dice","count":1,"sides":8,"modifiers":[]}}},"steps.split.value >= 3 ? flags.growth[steps.roll3.total - 1]\n : flags.learning[steps.roll3.total - 1]":{"text":"steps.split.value >= 3 ? flags.growth[steps.roll3.total - 1] : flags.learning[steps.roll3.total - 1]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":3}},"then":{"type":"index","object":{"type":"name","path":["flags","growth"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":1}}},"else":{"type":"index","object":{"type":"name","path":["flags","learning"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":1}}}}},"strain.max":{"text":"strain.max","tree":{"type":"name","path":["strain","max"]}},"sumCopies(copy.fields.enc * ('bundleable' in copy.tags ? floor((copy.quantity + 2) / 3) : copy.quantity),\n !copy.equipped && has(copy.fields.enc))":{"text":"sumCopies(copy.fields.enc * ('bundleable' in copy.tags ? floor((copy.quantity + 2) / 3) : copy.quantity), !copy.equipped && has(copy.fields.enc))","tree":{"type":"call","fn":"sumCopies","args":[{"type":"binary","op":"*","left":{"type":"name","path":["copy","fields","enc"]},"right":{"type":"conditional","test":{"type":"binary","op":"in","left":{"type":"string","value":"bundleable"},"right":{"type":"name","path":["copy","tags"]}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"+","left":{"type":"name","path":["copy","quantity"]},"right":{"type":"int","value":2}},"right":{"type":"int","value":3}}]},"else":{"type":"name","path":["copy","quantity"]}}},{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["copy","equipped"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["copy","fields","enc"]}]}}]}},"sumCopies(copy.fields.enc * copy.quantity * (copy.type == 'armor' ? encumbrance.armorFactor : 1),\n copy.equipped && has(copy.fields.enc)\n && !(has(copy.fields.wornFree) && copy.fields.wornFree))":{"text":"sumCopies(copy.fields.enc * copy.quantity * (copy.type == 'armor' ? encumbrance.armorFactor : 1), copy.equipped && has(copy.fields.enc) && !(has(copy.fields.wornFree) && copy.fields.wornFree))","tree":{"type":"call","fn":"sumCopies","args":[{"type":"binary","op":"*","left":{"type":"binary","op":"*","left":{"type":"name","path":["copy","fields","enc"]},"right":{"type":"name","path":["copy","quantity"]}},"right":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"then":{"type":"name","path":["encumbrance","armorFactor"]},"else":{"type":"int","value":1}}},{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["copy","equipped"]},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["copy","fields","enc"]}]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["copy","fields","wornFree"]}]},"right":{"type":"name","path":["copy","fields","wornFree"]}}}}]}},"sumCopies(copy.state.level, copy.type == 'focus')":{"text":"sumCopies(copy.state.level, copy.type == 'focus')","tree":{"type":"call","fn":"sumCopies","args":[{"type":"name","path":["copy","state","level"]},{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"focus"}}]}},"sumList(keysOf('skill'),\n max(0, fieldOf('skills.{skill}.level', x) - fieldOf('skills.{skill}.cap', x)))":{"text":"sumList(keysOf('skill'), max(0, fieldOf('skills.{skill}.level', x) - fieldOf('skills.{skill}.cap', x)))","tree":{"type":"call","fn":"sumList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"binary","op":"-","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]}]}},"sumList(steps.hp.faces, max(1, x + hp.dieBonus))":{"text":"sumList(steps.hp.faces, max(1, x + hp.dieBonus))","tree":{"type":"call","fn":"sumList","args":[{"type":"name","path":["steps","hp","faces"]},{"type":"call","fn":"max","args":[{"type":"int","value":1},{"type":"binary","op":"+","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["hp","dieBonus"]}}]}]}},"value in choice.picks || fieldOf('attributes.{attribute}.mod', value) >= -1":{"text":"value in choice.picks || fieldOf('attributes.{attribute}.mod', value) >= -1","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"name","path":["value"]},"right":{"type":"name","path":["choice","picks"]}},"right":{"type":"binary","op":">=","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["value"]}]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}}},"value in choice.picks || fieldOf('attributes.{attribute}.score', value)\n == minList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))":{"text":"value in choice.picks || fieldOf('attributes.{attribute}.score', value) == minList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.score', x))","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"name","path":["value"]},"right":{"type":"name","path":["choice","picks"]}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["value"]}]},"right":{"type":"call","fn":"minList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}]}}}}}};
|
|
2
|
+
export default {"manifest":{"id":"awn-core","version":"0.2.0","specVersion":"0.3.0","license":"LicenseRef-sine-nomine-free-edition","credit":"Text from Ashes Without Number (Free Edition), © 2025 Sine Nomine Publishing, Inc., by Kevin Crawford. Used with the author's permission.","notices":{"permission":"The content of the free edition of Ashes Without Number is reproduced here with the author's permission; nothing from the game's paid edition is included.","not-affiliated":"Ashes Without Number is a game by Kevin Crawford, published by Sine Nomine Publishing. This pack is an unofficial model of its character rules: it is not affiliated with or endorsed by Sine Nomine Publishing."},"defaultLanguage":"en"},"rules":{"fields":{"xp.current":{"type":"integer","input":true,"default":0,"min":0},"xp.rate":{"type":"enum","input":true,"default":"fast","values":["fast","slow"]},"xp.next":{"type":"integer","formula":"level >= 10 ? 0 : (xp.rate == 'fast' ? [0, 3, 6, 12, 18, 27, 39, 54, 72, 93]\n : [0, 6, 15, 24, 36, 51, 69, 87, 105, 139])[level]"},"attributes.boosts":{"type":"integer","input":true,"default":0,"min":0,"max":5},"hp.max":{"type":"integer","input":true,"default":1,"min":1},"hp.current":{"type":"integer","input":true,"default":1,"min":0,"max":"hp.max"},"hp.attributeMod":{"type":"integer","formula":"attributes.con.mod"},"hp.dieBonus":{"type":"integer","formula":"hp.attributeMod"},"combat.attackBonus":{"type":"integer","formula":"floor(level / 2)"},"combat.damageBonus":{"type":"integer","formula":0},"combat.melee.hit":{"type":"integer","formula":0},"combat.melee.damage":{"type":"integer","formula":0},"combat.melee.shock":{"type":"integer","formula":0},"combat.melee.shockAnyAc":{"type":"boolean","formula":false},"combat.armed.hit":{"type":"integer","formula":0},"combat.armed.damage":{"type":"integer","formula":0},"combat.armed.shock":{"type":"integer","formula":0},"combat.armed.shockAnyAc":{"type":"boolean","formula":false},"combat.ranged.damage":{"type":"integer","formula":0},"combat.traumaTarget":{"type":"integer","formula":"6 + maxCopies(copy.fields.traumaMod, copy.type == 'armor' && copy.equipped\n && has(copy.fields.traumaMod))"},"move.base":{"type":"integer","formula":10},"move.value":{"type":"integer","formula":"encumbrance.overload <= 0 ? move.base\n : encumbrance.overload == 1 ? floor(move.base * 7 / 10) : floor(move.base / 2)"},"ac.armor":{"type":"integer","formula":"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped\n && !('shield' in copy.tags)))"},"ac.armorVsGuns":{"type":"integer","formula":"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped\n && !('shield' in copy.tags) && !('primitive' in copy.tags)))"},"ac.shield":{"type":"boolean","formula":"countCopies(copy.type == 'armor' && copy.equipped && 'shield' in copy.tags) > 0"},"ac.bonus":{"type":"integer","formula":0},"ac.value":{"type":"integer","formula":"(ac.shield ? (ac.armor >= 14 ? ac.armor + 1 : 14) : ac.armor) + attributes.dex.mod\n + ac.bonus"},"ac.vsGuns":{"type":"integer","formula":"ac.armorVsGuns + attributes.dex.mod + ac.bonus"},"saves.physicalMod":{"type":"integer","formula":"max(attributes.str.mod, attributes.con.mod)"},"saves.evasionMod":{"type":"integer","formula":"max(attributes.int.mod, attributes.dex.mod)"},"saves.mentalMod":{"type":"integer","formula":"max(attributes.wis.mod, attributes.cha.mod)"},"saves.physical":{"type":"integer","formula":"16 - level - saves.physicalMod","tags":["save","save.physical"]},"saves.evasion":{"type":"integer","formula":"16 - level - saves.evasionMod","tags":["save","save.evasion"]},"saves.mental":{"type":"integer","formula":"16 - level - saves.mentalMod","tags":["save","save.mental"]},"saves.luck":{"type":"integer","formula":"16 - level","tags":["save","save.luck"]},"strain.penalty":{"type":"integer","formula":0},"strain.bonus":{"type":"integer","formula":0},"strain.bonusCap":{"type":"integer","formula":20},"strain.max":{"type":"integer","formula":"(strain.penalty < 0\n ? max(min(3, attributes.con.score), attributes.con.score + strain.penalty)\n : attributes.con.score) + max(0, min(strain.bonus,\n strain.bonusCap - attributes.con.score))"},"strain.current":{"type":"integer","input":true,"default":0,"min":0,"max":"strain.max"},"stress.current":{"type":"integer","input":true,"default":0,"min":0},"stress.limit":{"type":"integer","formula":"attributes.wis.score"},"stress.immune":{"type":"boolean","formula":false},"defense.laserSensitive":{"type":"boolean","formula":false},"level":{"type":"integer","input":true,"default":1,"min":1,"max":10},"attributes.str.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.str"]},"attributes.dex.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.dex"]},"attributes.con.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.con"]},"attributes.int.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.int"]},"attributes.wis.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.wis"]},"attributes.cha.score":{"type":"integer","input":true,"default":10,"min":3,"max":18,"tags":["attribute","attribute.cha"]},"attributes.str.base":{"type":"integer","tags":["attribute-base","attribute.str"],"formula":"attributes.str.score <= 3 ? -2 : attributes.str.score <= 7 ? -1\n : attributes.str.score <= 13 ? 0 : attributes.str.score <= 17 ? 1 : 2"},"attributes.dex.base":{"type":"integer","tags":["attribute-base","attribute.dex"],"formula":"attributes.dex.score <= 3 ? -2 : attributes.dex.score <= 7 ? -1\n : attributes.dex.score <= 13 ? 0 : attributes.dex.score <= 17 ? 1 : 2"},"attributes.con.base":{"type":"integer","tags":["attribute-base","attribute.con"],"formula":"attributes.con.score <= 3 ? -2 : attributes.con.score <= 7 ? -1\n : attributes.con.score <= 13 ? 0 : attributes.con.score <= 17 ? 1 : 2"},"attributes.int.base":{"type":"integer","tags":["attribute-base","attribute.int"],"formula":"attributes.int.score <= 3 ? -2 : attributes.int.score <= 7 ? -1\n : attributes.int.score <= 13 ? 0 : attributes.int.score <= 17 ? 1 : 2"},"attributes.wis.base":{"type":"integer","tags":["attribute-base","attribute.wis"],"formula":"attributes.wis.score <= 3 ? -2 : attributes.wis.score <= 7 ? -1\n : attributes.wis.score <= 13 ? 0 : attributes.wis.score <= 17 ? 1 : 2"},"attributes.cha.base":{"type":"integer","tags":["attribute-base","attribute.cha"],"formula":"attributes.cha.score <= 3 ? -2 : attributes.cha.score <= 7 ? -1\n : attributes.cha.score <= 13 ? 0 : attributes.cha.score <= 17 ? 1 : 2"},"attributes.str.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.str"]},"attributes.dex.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.dex"]},"attributes.con.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.con"]},"attributes.int.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.int"]},"attributes.wis.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.wis"]},"attributes.cha.boost":{"type":"integer","formula":0,"tags":["attribute-boost","attribute.cha"]},"attributes.str.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.str"]},"attributes.dex.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.dex"]},"attributes.con.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.con"]},"attributes.int.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.int"]},"attributes.wis.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.wis"]},"attributes.cha.bonus":{"type":"integer","formula":0,"tags":["attribute-bonus","attribute.cha"]},"attributes.str.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.str"]},"attributes.dex.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.dex"]},"attributes.con.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.con"]},"attributes.int.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.int"]},"attributes.wis.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.wis"]},"attributes.cha.penalty":{"type":"integer","formula":0,"tags":["attribute-penalty","attribute.cha"]},"attributes.str.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.str"],"formula":"max(-2, (attributes.str.boost > 0\n ? max(attributes.str.base,\n min(2, attributes.str.base + attributes.str.boost))\n : attributes.str.base)\n + attributes.str.bonus + attributes.str.penalty)"},"attributes.dex.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.dex"],"formula":"max(-2, (attributes.dex.boost > 0\n ? max(attributes.dex.base,\n min(2, attributes.dex.base + attributes.dex.boost))\n : attributes.dex.base)\n + attributes.dex.bonus + attributes.dex.penalty)"},"attributes.con.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.con"],"formula":"max(-2, (attributes.con.boost > 0\n ? max(attributes.con.base,\n min(2, attributes.con.base + attributes.con.boost))\n : attributes.con.base)\n + attributes.con.bonus + attributes.con.penalty)"},"attributes.int.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.int"],"formula":"max(-2, (attributes.int.boost > 0\n ? max(attributes.int.base,\n min(2, attributes.int.base + attributes.int.boost))\n : attributes.int.base)\n + attributes.int.bonus + attributes.int.penalty)"},"attributes.wis.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.wis"],"formula":"max(-2, (attributes.wis.boost > 0\n ? max(attributes.wis.base,\n min(2, attributes.wis.base + attributes.wis.boost))\n : attributes.wis.base)\n + attributes.wis.bonus + attributes.wis.penalty)"},"attributes.cha.mod":{"type":"integer","tags":["attribute-mod","attribute-mod.cha"],"formula":"max(-2, (attributes.cha.boost > 0\n ? max(attributes.cha.base,\n min(2, attributes.cha.base + attributes.cha.boost))\n : attributes.cha.base)\n + attributes.cha.bonus + attributes.cha.penalty)"},"attributes.baseTotal":{"type":"integer","formula":"attributes.str.base + attributes.dex.base + attributes.con.base + attributes.int.base\n + attributes.wis.base + attributes.cha.base"},"edges.held":{"type":"set","of":"edge"},"foci.held":{"type":"set","of":"focus"},"edges.underdog":{"type":"boolean","input":true,"default":false},"variant.giftedSurvivors":{"type":"boolean","input":true,"default":false},"edges.forgedByFire":{"type":"boolean","formula":"countCopies(copy.type == 'edge' && 'first-edge' in copy.tags) > 0"},"edges.allowed":{"type":"integer","formula":"(edges.forgedByFire ? 1 + min(3, level - 1) : 2) + (level >= 5 ? 1 : 0)\n + (edges.underdog ? 1 : 0) + (variant.giftedSurvivors && level >= 3 ? 1 : 0)"},"edges.count":{"type":"integer","formula":"countCopies(copy.type == 'edge')"},"foci.bonus":{"type":"integer","formula":0},"foci.allowed":{"type":"integer","formula":"1 + (level >= 2 ? 1 : 0) + (level >= 5 ? 1 : 0) + (level >= 7 ? 1 : 0)\n + (level >= 10 ? 1 : 0) + foci.bonus"},"foci.count":{"type":"integer","formula":"sumCopies(copy.state.level, copy.type == 'focus')"},"encumbrance.strength":{"type":"integer","formula":"attributes.str.score"},"encumbrance.armorFactor":{"type":"integer","formula":1},"encumbrance.readied.max":{"type":"integer","formula":"floor(encumbrance.strength / 2)"},"encumbrance.stowed.max":{"type":"integer","formula":"encumbrance.strength"},"encumbrance.readied":{"type":"integer","formula":"sumCopies(copy.fields.enc * copy.quantity * (copy.type == 'armor' ? encumbrance.armorFactor : 1),\n copy.equipped && has(copy.fields.enc)\n && !(has(copy.fields.wornFree) && copy.fields.wornFree))"},"encumbrance.stowed":{"type":"integer","formula":"sumCopies(copy.fields.enc * ('bundleable' in copy.tags ? floor((copy.quantity + 2) / 3) : copy.quantity),\n !copy.equipped && has(copy.fields.enc))"},"encumbrance.overload":{"type":"integer","formula":"max(0, ceil((encumbrance.readied - encumbrance.readied.max) / 2),\n ceil((encumbrance.stowed - encumbrance.stowed.max) / 4))"},"mutations.mutant":{"type":"boolean","formula":"countCopies(copy.type == 'edge' && 'makes-mutant' in copy.tags) > 0"},"mutations.barred":{"type":"boolean","formula":"countCopies(copy.type == 'edge' && 'not-mutant' in copy.tags) > 0"},"mutations.points.edges":{"type":"integer","formula":0},"mutations.negatives":{"type":"integer","formula":"countCopies(copy.type == 'negative')"},"mutations.points.total":{"type":"integer","formula":"mutations.points.edges + 2 * mutations.negatives"},"mutations.stigmaConcealed":{"type":"boolean","input":true,"default":false},"mutations.points.spent":{"type":"integer","formula":"countCopies(copy.type == 'mutation' && copy.state.origin == 'random')\n + 3 * countCopies(copy.type == 'mutation' && copy.state.origin == 'chosen')\n + 3 * ceil(countCopies(copy.type == 'mutation' && copy.state.origin == 'category') / 2)\n + (mutations.stigmaConcealed ? 1 : 0)"},"mutations.points.left":{"type":"integer","formula":"mutations.points.total - mutations.points.spent"},"mutations.noVision":{"type":"boolean","formula":false},"mutations.noHearing":{"type":"boolean","formula":false},"mutations.sensitiveSkin":{"type":"boolean","formula":false},"stigma.part":{"type":"enum","input":true,"open":true,"default":"none","values":["none","head","arms","legs","torso","senses"]},"stigma.part2":{"type":"enum","input":true,"open":true,"default":"none","values":["none","head","arms","legs","torso","senses"]},"stigma.nature":{"type":"enum","input":true,"open":true,"default":"none","values":["none","appearance","animal","size","plant","amorphous","mineral"]},"stigma.detail":{"type":"enum","input":true,"open":true,"default":"none","values":["none","chitinous","feathered","fibrous","finned","furred","glassy","metallic","plated","scabrous","scaled","slimy","stony","bright-hue","chromed","gemlike","gradient-hue","iridescent","luminescent","neon","opalescent","patchy","strobing","transparent","whorled","beetle","bird","bovine","canine","equine","feline","fish","lizard","mollusk","snake","spider","turtle","bark","flowers","fragrance","fronds","fungal","gnarled","insects","leaves","moss","pollen","sap","vegetative"]},"skills.administer.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.administer"]},"skills.connect.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.connect"]},"skills.drive.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.drive"]},"skills.exert.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.exert"]},"skills.fix.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.fix"]},"skills.heal.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.heal"]},"skills.know.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.know"]},"skills.lead.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.lead"]},"skills.notice.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.notice"]},"skills.perform.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.perform"]},"skills.program.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.program"]},"skills.punch.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.punch"]},"skills.shoot.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.shoot"]},"skills.sneak.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.sneak"]},"skills.stab.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.stab"]},"skills.survive.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.survive"]},"skills.talk.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.talk"]},"skills.trade.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.trade"]},"skills.work.level":{"type":"integer","input":true,"default":-1,"min":-1,"max":4,"tags":["skill","skill.work"]},"skills.administer.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.connect.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.drive.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.exert.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.fix.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.heal.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.know.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.lead.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.notice.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.perform.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.program.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.punch.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.shoot.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.sneak.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.stab.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.survive.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.talk.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.trade.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.work.credit":{"type":"integer","input":true,"default":0,"min":0},"skills.administer.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.administer"]},"skills.connect.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.connect"]},"skills.drive.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.drive"]},"skills.exert.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.exert"]},"skills.fix.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.fix"]},"skills.heal.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.heal"]},"skills.know.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.know"]},"skills.lead.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.lead"]},"skills.notice.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.notice"]},"skills.perform.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.perform"]},"skills.program.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.program"]},"skills.punch.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.punch"]},"skills.shoot.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.shoot"]},"skills.sneak.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.sneak"]},"skills.stab.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.stab"]},"skills.survive.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.survive"]},"skills.talk.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.talk"]},"skills.trade.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.trade"]},"skills.work.cap":{"type":"integer","formula":4,"tags":["skill-cap","skill.work"]},"skills.points":{"type":"integer","input":true,"default":0,"min":0},"skills.perLevel":{"type":"integer","formula":3,"min":0},"skills.highest":{"type":"integer","formula":"maxFields(f.value, 'skill' in f.tags)"},"languages.extra":{"type":"integer","formula":"max(0, skills.connect.level + 1) + max(0, skills.know.level + 1)"}},"actions":[{"id":"level-up","tags":["advancement"],"available":"!character.creating && level < 10 && xp.current >= xp.next","params":{"random":{"type":"boolean","default":false}},"results":["advanced"],"steps":[{"id":"up","tags":["advancement.level"],"kind":"changes","changes":[{"type":"set","field":"level","value":"level + 1"},{"type":"adjust","field":"skills.points","by":"skills.perLevel"}]},{"id":"edge","kind":"action","sheet":"proposed","when":"edges.count < edges.allowed","use":"gain-edge","params":{"random":"params.random"}},{"id":"focus1","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"focus2","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"picks","kind":"choice","options":{"pending":{}},"random":"params.random"},{"id":"hp","kind":"roll","sheet":"proposed","tags":["hit-points"],"parts":[{"dice":"(level)d6"}]},{"id":"rolled","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"rolled":"sumList(steps.hp.faces, max(1, x + hp.dieBonus))","old":"hp.max"}}]},{"id":"hpSet","kind":"changes","changes":[{"type":"set","field":"hp.max","value":"flags.rolled > flags.old ? flags.rolled : flags.old + 1"},{"type":"adjust","field":"hp.current","by":"(flags.rolled > flags.old ? flags.rolled : flags.old + 1) - flags.old"}]},{"id":"result","kind":"outcome","result":"'advanced'","data":{"hitPoints":"flags.rolled > flags.old ? flags.rolled : flags.old + 1"}}]},{"id":"gain-edge","available":"edges.count < edges.allowed","tags":["advancement"],"params":{"random":{"type":"boolean","default":false}},"results":["gained"],"steps":[{"id":"edge","kind":"choice","sheet":"proposed","options":{"content":{"type":"edge","where":"(!(item.id in edges.held) || 'repeatable' in item.tags)\n && (!('first-edge' in item.tags) || (character.creating && edges.count == 0))\n && !('needs-mutant' in item.tags && !mutations.mutant)\n && !('makes-mutant' in item.tags && mutations.barred)\n && !('not-mutant' in item.tags && mutations.mutant)\n && !('not-underdog' in item.tags && edges.underdog)"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id"}}]},{"id":"skill","kind":"action","when":"size(steps.edge.item.bonusSkill) > 0","use":"bonus-skill","params":{"skills":"steps.edge.item.bonusSkill","random":"params.random"}},{"id":"part","kind":"action","sheet":"proposed","when":"steps.edge.item.gainPart","entry":"steps.edge.added[0]","use":"gain-part","params":{"random":"params.random"}},{"id":"result","kind":"outcome","result":"'gained'"}]},{"id":"gain-focus","available":"foci.count < foci.allowed","tags":["advancement"],"params":{"random":{"type":"boolean","default":false}},"results":["gained"],"steps":[{"id":"focus","kind":"choice","sheet":"proposed","options":{"content":{"type":"focus","where":"(countCopies(copy.item == item.id) == 0 || item.multiple\n || countCopies(copy.item == item.id && copy.state.level < item.maxLevel) > 0)\n && !(item.id in foci.held && countCopies(copy.item == item.id) == 0)\n && !('needs-mutant' in item.tags && !mutations.mutant)"}},"random":"params.random","recommend":"options[0]"},{"id":"raise","kind":"choice","sheet":"proposed","when":"steps.focus.item.multiple && countCopies(copy.item == steps.focus.picked\n && copy.state.level < steps.focus.item.maxLevel) > 0","options":[{"id":"raise"},{"id":"new"}],"recommend":"'raise'"},{"id":"mode","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"new":"countCopies(copy.item == steps.focus.picked) == 0\n || (has(steps.raise) && steps.raise.picked == 'new')"}}]},{"id":"specialty","kind":"choice","sheet":"proposed","when":"flags.new && steps.focus.item.specialty","options":{"values":{"formula":"steps.focus.item.bonusSkill"}},"random":"params.random","recommend":"sortList(steps.focus.item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]"},{"id":"add","kind":"changes","when":"flags.new","changes":[{"type":"addItem","when":"!has(steps.specialty)","entry":{"item":"steps.focus.picked"}},{"type":"addItem","when":"has(steps.specialty)","entry":{"item":"steps.focus.picked","choices":{"skill":[{"option":{"formula":"steps.specialty.value"}}]}}}]},{"id":"picks","kind":"choice","when":"flags.new","options":{"pending":{"entry":"steps.add.added[0]"}},"random":"params.random"},{"id":"up","kind":"changes","when":"!flags.new","changes":[{"type":"adjustState","copies":{"type":"focus","where":"item.id == steps.focus.picked && self.level < item.maxLevel"},"limit":1,"key":"level","by":1}]},{"id":"skill1","kind":"action","when":"flags.new && size(steps.focus.item.bonusSkill) > 0","use":"bonus-skill","params":{"skills":"has(steps.specialty) ? [steps.specialty.value] : steps.focus.item.bonusSkill","random":"params.random"}},{"id":"skill2","kind":"action","when":"flags.new && size(steps.focus.item.bonusSkill2) > 0","use":"bonus-skill","params":{"skills":"steps.focus.item.bonusSkill2","random":"params.random"}},{"id":"part","kind":"action","sheet":"proposed","when":"flags.new && steps.focus.item.gainPart","entry":"steps.add.added[0]","use":"gain-part","params":{"random":"params.random"}},{"id":"result","kind":"outcome","result":"'gained'"}]},{"id":"bonus-skill","listed":false,"params":{"skills":{"type":"set","of":"string","default":[]},"random":{"type":"boolean","default":false}},"results":["gained"],"steps":[{"id":"pick","kind":"action","when":"character.creating","use":"gain-skill","params":{"skills":"params.skills","random":"params.random"}},{"id":"points","kind":"action","when":"!character.creating","use":"skill-points-toward","params":{"skills":"params.skills","points":3,"random":"params.random"}},{"id":"result","kind":"outcome","result":"'gained'"}]},{"id":"skill-points-toward","listed":false,"params":{"skills":{"type":"set","of":"string","default":[]},"points":{"type":"integer","default":3,"min":0},"random":{"type":"boolean","default":false}},"results":["spent","none"],"steps":[{"id":"offer","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"open":"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))"}}]},{"id":"offered","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"offered":"size(flags.open) > 0 ? flags.open\n : filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))"}}]},{"id":"none","kind":"outcome","when":"size(flags.offered) == 0","result":"'none'"},{"id":"skill","kind":"choice","options":{"values":{"formula":"flags.offered"}},"random":"params.random","recommend":"flags.offered[0]"},{"id":"start","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"level0":"fieldOf('skills.{skill}.level', steps.skill.picked)","credit0":"fieldOf('skills.{skill}.credit', steps.skill.picked) + params.points"}}]},{"id":"raise1","kind":"branch","cases":[{"when":true,"flags":{"level1":"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.level0 + 1 : flags.level0","credit1":"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.credit0 - flags.level0 - 2 : flags.credit0"}}]},{"id":"raise2","kind":"branch","cases":[{"when":true,"flags":{"level2":"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.level1 + 1 : flags.level1","credit2":"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.credit1 - flags.level1 - 2 : flags.credit1"}}]},{"id":"raise3","kind":"branch","cases":[{"when":true,"flags":{"level3":"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.level2 + 1 : flags.level2","credit3":"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.credit2 - flags.level2 - 2 : flags.credit2"}}]},{"id":"save","kind":"changes","changes":[{"type":"set","field":{"formula":"fieldId('skills.{skill}.level', steps.skill.picked)"},"value":"flags.level3"},{"type":"set","field":{"formula":"fieldId('skills.{skill}.credit', steps.skill.picked)"},"value":"flags.credit3"}]},{"id":"result","kind":"outcome","result":"'spent'","data":{"level":"flags.level3","credit":"flags.credit3"}}]},{"id":"improve-skill","tags":["advancement"],"available":"!character.creating && (skills.points > 0 || maxList(keysOf('skill'), fieldOf('skills.{skill}.credit', x)) > 0)","params":{"skill":{"type":"enum","open":true,"values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]}},"results":["improved","maxed","barred","level-too-low","not-enough-points"],"steps":[{"id":"cost","kind":"branch","cases":[{"when":true,"flags":{"level":"fieldOf('skills.{skill}.level', params.skill)","credit":"fieldOf('skills.{skill}.credit', params.skill)","cap":"fieldOf('skills.{skill}.cap', params.skill)"}}]},{"id":"price","kind":"branch","cases":[{"when":true,"flags":{"cost":"flags.level + 2","minimum":"flags.level >= 4 ? 99 : [1, 1, 3, 6, 9][flags.level + 1]","fromCredit":"min(flags.credit, flags.level + 2)"}}]},{"id":"maxed","kind":"outcome","when":"flags.level >= 4","result":"'maxed'"},{"id":"barred","kind":"outcome","when":"flags.level + 1 > flags.cap","result":"'barred'"},{"id":"tooLow","kind":"outcome","when":"level < flags.minimum","result":"'level-too-low'"},{"id":"short","kind":"outcome","when":"skills.points + flags.credit < flags.cost","result":"'not-enough-points'"},{"id":"buy","kind":"changes","changes":[{"type":"set","field":{"formula":"fieldId('skills.{skill}.level', params.skill)"},"value":"flags.level + 1"},{"type":"set","field":{"formula":"fieldId('skills.{skill}.credit', params.skill)"},"value":"flags.credit - flags.fromCredit"},{"type":"adjust","field":"skills.points","by":"flags.fromCredit - flags.cost"}]},{"id":"result","kind":"outcome","result":"'improved'"}]},{"id":"improve-attribute","tags":["advancement"],"available":"!character.creating && !edges.underdog && attributes.boosts < 5\n && skills.points > attributes.boosts && level >= [2, 2, 3, 6, 9][attributes.boosts]","params":{"attribute":{"type":"enum","values":["str","dex","con","int","wis","cha"]}},"results":["improved","maxed","level-too-low","not-enough-points"],"steps":[{"id":"cost","kind":"branch","cases":[{"when":true,"flags":{"cost":"attributes.boosts + 1","minimum":"[2, 2, 3, 6, 9][attributes.boosts]","score":"fieldOf('attributes.{attribute}.score', params.attribute)"}}]},{"id":"maxed","kind":"outcome","when":"flags.score >= 18","result":"'maxed'"},{"id":"tooLow","kind":"outcome","when":"level < flags.minimum","result":"'level-too-low'"},{"id":"short","kind":"outcome","when":"skills.points < flags.cost","result":"'not-enough-points'"},{"id":"buy","kind":"changes","changes":[{"type":"adjust","field":{"formula":"'attributes.' + params.attribute + '.score'"},"by":1},{"type":"adjust","field":"attributes.boosts","by":1},{"type":"adjust","field":"skills.points","by":"-flags.cost"}]},{"id":"result","kind":"outcome","result":"'improved'"}]},{"id":"save","tags":["save"],"params":{"save":{"type":"id","of":"field","where":"'save' in item.tags"}},"results":{"bands":"save"},"steps":[{"id":"target","kind":"branch","cases":[{"when":true,"flags":{"target":"params.save.value"}}]},{"id":"roll","kind":"roll","tags":[{"formula":"params.save.tags"}],"bands":"save","parts":[{"dice":"1d20"}]},{"id":"result","kind":"outcome","result":"steps.roll.band","data":{"roll":"steps.roll.total","target":"flags.target"}}]},{"id":"create-character","tags":["creation"],"available":"character.creating && countCopies(copy.type == 'background') == 0","params":{"random":{"type":"boolean","default":false}},"results":["created"],"steps":[{"id":"method","kind":"choice","when":"!params.random","options":[{"id":"roll"},{"id":"array"}],"recommend":"'roll'"},{"id":"rolled","kind":"branch","cases":[{"when":true,"flags":{"roll":"params.random || steps.method.picked == 'roll'"}}]},{"id":"str","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"dex","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"con","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"int","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"wis","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"cha","kind":"roll","tags":["creation"],"when":"flags.roll","parts":[{"dice":"3d6"}]},{"id":"fourteen","kind":"choice","when":"flags.roll","options":{"values":["str","dex","con","int","wis","cha","none"]},"recommend":"minList([steps.str.total, steps.dex.total, steps.con.total, steps.int.total,\n steps.wis.total, steps.cha.total], x) >= 14 ? 'none'\n : ['str', 'dex', 'con', 'int', 'wis', 'cha'][indexOf([steps.str.total,\n steps.dex.total, steps.con.total, steps.int.total, steps.wis.total,\n steps.cha.total], minList([steps.str.total, steps.dex.total, steps.con.total,\n steps.int.total, steps.wis.total, steps.cha.total], x))]"},{"id":"scores","kind":"changes","when":"flags.roll","changes":[{"type":"set","field":"attributes.str.score","value":"steps.fourteen.picked == 'str' ? 14 : steps.str.total"},{"type":"set","field":"attributes.dex.score","value":"steps.fourteen.picked == 'dex' ? 14 : steps.dex.total"},{"type":"set","field":"attributes.con.score","value":"steps.fourteen.picked == 'con' ? 14 : steps.con.total"},{"type":"set","field":"attributes.int.score","value":"steps.fourteen.picked == 'int' ? 14 : steps.int.total"},{"type":"set","field":"attributes.wis.score","value":"steps.fourteen.picked == 'wis' ? 14 : steps.wis.total"},{"type":"set","field":"attributes.cha.score","value":"steps.fourteen.picked == 'cha' ? 14 : steps.cha.total"}]},{"id":"array","kind":"allocate","when":"!flags.roll","fields":{"type":"field","where":"'attribute' in item.tags"},"values":[14,12,11,10,9,7],"recommend":{"attributes.str.score":14,"attributes.dex.score":12,"attributes.con.score":11,"attributes.int.score":10,"attributes.wis.score":9,"attributes.cha.score":7}},{"id":"background","kind":"choice","options":{"content":{"type":"background"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"id":"background","item":"picked.id"}}]},{"id":"tables","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"combat":"attributes.dex.mod > attributes.str.mod ? ['shoot', 'stab', 'punch'] : ['stab', 'shoot', 'punch']","quick":"[steps.background.item.quickSkill1, steps.background.item.quickSkill2]","growth":"[steps.background.item.growth1, steps.background.item.growth2,\n steps.background.item.growth3, steps.background.item.growth4,\n steps.background.item.growth5, steps.background.item.growth6]","learning":"[steps.background.item.learning1, steps.background.item.learning2,\n steps.background.item.learning3, steps.background.item.learning4,\n steps.background.item.learning5, steps.background.item.learning6,\n steps.background.item.learning7, steps.background.item.learning8]"}}]},{"id":"prefer","kind":"branch","cases":[{"when":true,"flags":{"prefer":"(flags.quick[0] == 'any-combat' ? flags.combat : [flags.quick[0]])\n + (flags.quick[1] == 'any-combat' ? flags.combat : [flags.quick[1]])"}}]},{"id":"free","kind":"action","use":"gain-benefit","params":{"entry":"steps.background.item.freeSkill","prefer":"flags.combat","random":"params.random"}},{"id":"skillMethod","kind":"choice","options":[{"id":"pick"},{"id":"roll"}],"recommend":"params.random ? 'roll' : 'pick'"},{"id":"pick1","kind":"action","when":"steps.skillMethod.picked == 'pick'","use":"gain-skill","params":{"prefer":"flags.prefer","random":"params.random"}},{"id":"pick2","kind":"action","when":"steps.skillMethod.picked == 'pick'","use":"gain-skill","params":{"prefer":"flags.prefer","random":"params.random"}},{"id":"split","kind":"choice","when":"steps.skillMethod.picked == 'roll'","options":{"values":[0,1,2,3]},"recommend":"'1'"},{"id":"roll1","kind":"roll","tags":["creation"],"when":"has(steps.split)","parts":[{"dice":"steps.split.value >= 1 ? 1d6 : 1d8"}]},{"id":"benefit1","kind":"action","when":"has(steps.split)","use":"gain-benefit","params":{"entry":"steps.split.value >= 1 ? flags.growth[steps.roll1.total - 1]\n : flags.learning[steps.roll1.total - 1]","prefer":"flags.prefer","random":"params.random"}},{"id":"roll2","kind":"roll","tags":["creation"],"when":"has(steps.split)","parts":[{"dice":"steps.split.value >= 2 ? 1d6 : 1d8"}]},{"id":"benefit2","kind":"action","when":"has(steps.split)","use":"gain-benefit","params":{"entry":"steps.split.value >= 2 ? flags.growth[steps.roll2.total - 1]\n : flags.learning[steps.roll2.total - 1]","prefer":"flags.prefer","random":"params.random"}},{"id":"roll3","kind":"roll","tags":["creation"],"when":"has(steps.split)","parts":[{"dice":"steps.split.value >= 3 ? 1d6 : 1d8"}]},{"id":"benefit3","kind":"action","when":"has(steps.split)","use":"gain-benefit","params":{"entry":"steps.split.value >= 3 ? flags.growth[steps.roll3.total - 1]\n : flags.learning[steps.roll3.total - 1]","prefer":"flags.prefer","random":"params.random"}},{"id":"underdog","kind":"choice","sheet":"proposed","when":"attributes.baseTotal <= -1","options":[{"id":"underdog","changes":[{"type":"set","field":"edges.underdog","value":true}]},{"id":"no"}],"recommend":"'underdog'"},{"id":"edge1","kind":"action","sheet":"proposed","when":"edges.count < edges.allowed","use":"gain-edge","params":{"random":"params.random"}},{"id":"edge2","kind":"action","sheet":"proposed","when":"edges.count < edges.allowed","use":"gain-edge","params":{"random":"params.random"}},{"id":"edge3","kind":"action","sheet":"proposed","when":"edges.count < edges.allowed","use":"gain-edge","params":{"random":"params.random"}},{"id":"mutations","kind":"action","sheet":"proposed","when":"mutations.mutant","use":"mutate","params":{"random":"params.random"}},{"id":"focus1","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"focus2","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"focus3","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"focus4","kind":"action","sheet":"proposed","when":"foci.count < foci.allowed","use":"gain-focus","params":{"random":"params.random"}},{"id":"picks","kind":"choice","options":{"pending":{}}},{"id":"barred","kind":"action","use":"reassign-barred-skills","params":{"random":"params.random"}},{"id":"freeSkill","kind":"action","use":"gain-skill","params":{"prefer":"flags.prefer","random":"params.random"}},{"id":"hp","kind":"roll","tags":["creation","hit-points"],"parts":[{"dice":"1d6"}]},{"id":"hpSet","kind":"changes","sheet":"proposed","changes":[{"type":"set","field":"hp.max","value":"max(1, steps.hp.total + hp.dieBonus)"},{"type":"set","field":"hp.current","value":"max(1, steps.hp.total + hp.dieBonus)"}]},{"id":"equipment","kind":"action","use":"starting-equipment","params":{"random":"params.random"}},{"id":"stowGear","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 0","repeat":{"max":20,"min":20},"options":{"copies":{"type":"gear","where":"self.equipped && has(item.enc) && item.enc > 0\n && !(has(item.wornFree) && item.wornFree)\n && encumbrance.readied > encumbrance.readied.max"}},"prefer":"item.enc","changes":[{"type":"equip","entry":"picked","equipped":false}]},{"id":"stowWeapon","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 0","repeat":{"max":20,"min":20},"options":{"copies":{"type":"weapon","where":"self.equipped && item.enc > 0\n && encumbrance.readied > encumbrance.readied.max"}},"prefer":"item.enc","changes":[{"type":"equip","entry":"picked","equipped":false}]},{"id":"stowArmor","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 0","repeat":{"max":20,"min":20},"options":{"copies":{"type":"armor","where":"self.equipped && item.enc > 0\n && encumbrance.readied > encumbrance.readied.max"}},"prefer":"item.enc","changes":[{"type":"equip","entry":"picked","equipped":false}]},{"id":"readyGear","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 0","repeat":{"max":20,"min":20},"options":{"copies":{"type":"gear","where":"!self.equipped && has(item.enc) && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max\n && encumbrance.readied + item.enc * self.quantity <= encumbrance.readied.max"}},"prefer":"item.enc","changes":[{"type":"equip","entry":"picked","equipped":true}]},{"id":"dropGear","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 0","repeat":{"max":20,"min":20},"options":{"copies":{"type":"gear","where":"!self.equipped && has(item.enc) && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max"}},"prefer":"item.enc * ('bundleable' in item.tags ? floor((self.quantity + 2) / 3) : self.quantity)","changes":[{"type":"removeItem","entry":"picked"}]},{"id":"dropWeapon","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 0","repeat":{"max":20,"min":20},"options":{"copies":{"type":"weapon","where":"!self.equipped && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max"}},"prefer":"item.enc","changes":[{"type":"removeItem","entry":"picked"}]},{"id":"dropArmor","kind":"choice","sheet":"proposed","when":"encumbrance.overload > 0","repeat":{"max":20,"min":20},"options":{"copies":{"type":"armor","where":"!self.equipped && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max"}},"prefer":"item.enc","changes":[{"type":"removeItem","entry":"picked"}]},{"id":"finish","tags":["creation.finish"],"kind":"changes","sheet":"proposed","changes":[{"type":"finishCreation"}]},{"id":"result","kind":"outcome","result":"'created'"}]},{"id":"gain-benefit","available":"character.creating","params":{"entry":{"type":"enum","open":true,"values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"]},"prefer":{"type":"set","of":"string","default":[]},"random":{"type":"boolean","default":false}},"results":["gained","none"],"steps":[{"id":"skill","kind":"action","when":"!(params.entry in ['any-stat-1', 'physical2', 'mental2'])","use":"gain-skill","params":{"skills":"params.entry == 'any-combat' ? ['punch', 'shoot', 'stab']\n : params.entry == 'any-skill' ? [] : [params.entry]","prefer":"params.prefer","random":"params.random"}},{"id":"plan","kind":"branch","sheet":"proposed","when":"params.entry in ['any-stat-1', 'physical2', 'mental2']","cases":[{"when":true,"flags":{"allowed":"params.entry == 'physical2' ? ['str', 'dex', 'con']\n : params.entry == 'mental2' ? ['int', 'wis', 'cha']\n : ['str', 'dex', 'con', 'int', 'wis', 'cha']","budget":"params.entry == 'any-stat-1' ? 1 : 2"}}]},{"id":"best","kind":"branch","sheet":"proposed","when":"has(flags.allowed)","cases":[{"when":true,"flags":{"best":"sortList(filterList(flags.allowed,\n fieldOf('attributes.{attribute}.score', x) <= 18 - flags.budget),\n -fieldOf('attributes.{attribute}.score', x))"}}]},{"id":"stat","kind":"choice","sheet":"proposed","when":"has(flags.allowed)","options":{"values":{"formula":"flags.allowed"},"where":"fieldOf('attributes.{attribute}.score', value) < 18"},"repeat":{"max":"flags.budget"},"recommend":"size(flags.best) > 0 ? flags.best[0] : options[0]","changes":[{"type":"adjust","field":{"formula":"'attributes.' + picked.value + '.score'"},"by":1}]},{"id":"result","kind":"outcome","result":"has(steps.skill) && steps.skill.result == 'none' ? 'none' : 'gained'"}]},{"id":"attack","tags":["attack"],"available":"self.equipped || item.id == @weapons.unarmed","params":{"targetAc":{"type":"integer","min":0,"optional":true}},"participants":{"target":{"max":1,"fields":{"defense.laserSensitive":{"type":"boolean","default":false}}}},"results":["hit","miss","rolled"],"steps":[{"id":"target","kind":"branch","cases":[{"when":true,"flags":{"ac":"has(params.targetAc) ? params.targetAc : 0","burst":"situational.burst && 'burst' in item.tags && has(item.magazine) && self.shots >= 3"}}]},{"id":"roll","kind":"roll","tags":["attack",{"formula":"self.close ? 'attack.melee' : 'attack.ranged'"}],"bands":"attack","parts":[{"dice":"1d20"},{"value":"self.hit"}]},{"id":"damage","kind":"roll","tags":["damage"],"when":"has(item.damage) && (steps.roll.band == 'hit' || !has(params.targetAc))","parts":[{"dice":"item.damage"},{"value":"self.damage"}]},{"id":"shots","kind":"changes","when":"has(item.magazine) && self.shots > 0","changes":[{"type":"adjustState","entry":"self","key":"shots","by":"flags.burst ? -3 : -1"}]},{"id":"result","kind":"outcome","result":"!has(params.targetAc) ? 'rolled' : steps.roll.band","data":{"attack":"steps.roll.total","damage":"has(steps.damage) ? max(steps.damage.total, self.shockDamage) : 0","shock":"!has(steps.damage) && self.shockDamage > 0\n && (self.shockAnyAc || flags.ac <= item.shockAc) ? self.shockDamage : 0"}}]},{"id":"mutate","available":"character.creating","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["mutated"],"steps":[{"id":"negativesRoll","kind":"roll","tags":["creation"],"when":"params.random","parts":[{"dice":"1d4"}]},{"id":"negatives","kind":"choice","options":{"values":[0,1,2,3]},"recommend":"params.random ? options[steps.negativesRoll.total - 1] : options[0]"},{"id":"negative1","kind":"action","when":"steps.negatives.value >= 1","use":"roll-negative-mutation","params":{"random":"params.random"}},{"id":"negative2","kind":"action","when":"steps.negatives.value >= 2","use":"roll-negative-mutation","params":{"random":"params.random"}},{"id":"negative3","kind":"action","when":"steps.negatives.value >= 3","use":"roll-negative-mutation","params":{"random":"params.random"}},{"id":"barred","kind":"action","use":"reassign-barred-skills","params":{"random":"params.random"}},{"id":"stigma","kind":"action","use":"roll-stigma"},{"id":"concealed","kind":"choice","options":[{"id":"visible"},{"id":"concealed"}],"recommend":"'visible'","changes":[{"type":"set","field":"mutations.stigmaConcealed","value":"picked.id == 'concealed'"}]},{"id":"buy1","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy2","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy3","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy4","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy5","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy6","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy7","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy8","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy9","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy10","kind":"action","sheet":"proposed","when":"mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"result","kind":"outcome","result":"'mutated'"}]},{"id":"roll-stigma","available":"character.creating","tags":["creation"],"results":["rolled"],"steps":[{"id":"part","kind":"roll","tags":["creation"],"parts":[{"dice":"1d6"}]},{"id":"extra1","kind":"roll","tags":["creation"],"when":"steps.part.total == 6","parts":[{"dice":"1d5"}]},{"id":"extra2","kind":"roll","tags":["creation"],"when":"steps.part.total == 6","parts":[{"dice":"1d5"}]},{"id":"nature","kind":"roll","tags":["creation"],"parts":[{"dice":"1d6"}]},{"id":"detail","kind":"roll","tags":["creation"],"parts":[{"dice":"1d12"}]},{"id":"save","kind":"changes","changes":[{"type":"set","field":"stigma.part","value":"['head', 'arms', 'legs', 'torso', 'senses'][(steps.part.total == 6\n ? steps.extra1.total : steps.part.total) - 1]"},{"type":"set","field":"stigma.part2","value":"steps.part.total == 6 && steps.extra2.total != steps.extra1.total\n ? ['head', 'arms', 'legs', 'torso', 'senses'][steps.extra2.total - 1] : 'none'"},{"type":"set","field":"stigma.nature","value":"['appearance', 'animal', 'size', 'plant', 'amorphous', 'mineral'][steps.nature.total - 1]"},{"type":"set","field":"stigma.detail","value":"(steps.nature.total == 1\n ? ['bright-hue', 'chromed', 'gemlike', 'gradient-hue', 'iridescent', 'luminescent',\n 'neon', 'opalescent', 'patchy', 'strobing', 'transparent', 'whorled']\n : steps.nature.total == 2\n ? ['beetle', 'bird', 'bovine', 'canine', 'equine', 'feline', 'fish', 'lizard',\n 'mollusk', 'snake', 'spider', 'turtle']\n : steps.nature.total == 4\n ? ['bark', 'flowers', 'fragrance', 'fronds', 'fungal', 'gnarled', 'insects',\n 'leaves', 'moss', 'pollen', 'sap', 'vegetative']\n : ['chitinous', 'feathered', 'fibrous', 'finned', 'furred', 'glassy', 'metallic',\n 'plated', 'scabrous', 'scaled', 'slimy', 'stony'])[steps.detail.total - 1]"}]},{"id":"result","kind":"outcome","result":"'rolled'"}]},{"id":"roll-negative-mutation","available":"character.creating","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["rolled"],"steps":[{"id":"ids","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"table":"[@negative-mutations.animalistic-mentality, @negative-mutations.anosmia,\n @negative-mutations.awkward-mouth, @negative-mutations.bestial-hunger,\n @negative-mutations.bleeder, @negative-mutations.blindness,\n @negative-mutations.chronic-seizures, @negative-mutations.clumsy-paws,\n @negative-mutations.constant-secretions, @negative-mutations.deafness,\n @negative-mutations.deficient-polycephaly, @negative-mutations.distorted-speech,\n @negative-mutations.distracted-mind, @negative-mutations.energy-sink,\n @negative-mutations.feeble-joints, @negative-mutations.feral-mind,\n @negative-mutations.fragile-system, @negative-mutations.glowbug,\n @negative-mutations.hemovore, @negative-mutations.insensate-flesh,\n @negative-mutations.light-sensitivity, @negative-mutations.loose-limbs,\n @negative-mutations.low-resistances, @negative-mutations.memory-damage,\n @negative-mutations.miasmic-stench, @negative-mutations.misshapen,\n @negative-mutations.musclebound, @negative-mutations.narrow-focus,\n @negative-mutations.overtaxed-physique, @negative-mutations.place-blindness,\n @negative-mutations.poor-eyesight, @negative-mutations.primitive-cognition,\n @negative-mutations.sensitive-skin, @negative-mutations.short-lifespan,\n @negative-mutations.sleep-dependence, @negative-mutations.slow-development,\n @negative-mutations.spindly, @negative-mutations.vexation-field,\n @negative-mutations.voracious, @negative-mutations.weak-heart,\n @negative-mutations.attribute-deficiency]","held":"mapList(filterList(character.features, x.type == 'negative'), x.item)","lowest":"minList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))"}}]},{"id":"deficiency","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"deficiency":"countList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x) == flags.lowest\n && fieldOf('attributes.{attribute}.mod', x) > -2) > 0"}}]},{"id":"roll1","kind":"roll","tags":["creation"],"parts":[{"dice":"1d100"}]},{"id":"first","kind":"branch","cases":[{"when":true,"flags":{"light":"steps.roll1.total >= 91","id1":"steps.roll1.total >= 91 ? ''\n : flags.table[steps.roll1.total <= 80 ? floor((steps.roll1.total - 1) / 2) : 40]"}}]},{"id":"firstValid","kind":"branch","cases":[{"when":true,"flags":{"ok1":"flags.id1 != '' && !(flags.id1 in flags.held)\n && (flags.id1 != @negative-mutations.attribute-deficiency || flags.deficiency)"}}]},{"id":"roll2","kind":"roll","tags":["creation"],"when":"!flags.ok1","parts":[{"dice":"1d100"}]},{"id":"second","kind":"branch","when":"!flags.ok1","cases":[{"when":true,"flags":{"id2":"steps.roll2.total >= 91 ? ''\n : flags.table[steps.roll2.total <= 80 ? floor((steps.roll2.total - 1) / 2) : 40]"}}]},{"id":"secondValid","kind":"branch","when":"!flags.ok1","cases":[{"when":true,"flags":{"ok2":"flags.id2 != '' && !(flags.id2 in flags.held)\n && (flags.id2 != @negative-mutations.attribute-deficiency || flags.deficiency)"}}]},{"id":"roll3","kind":"roll","tags":["creation"],"when":"!flags.ok1 && !flags.ok2","parts":[{"dice":"1d100"}]},{"id":"third","kind":"branch","when":"!flags.ok1 && !flags.ok2","cases":[{"when":true,"flags":{"id3":"steps.roll3.total >= 91 ? ''\n : flags.table[steps.roll3.total <= 80 ? floor((steps.roll3.total - 1) / 2) : 40]"}}]},{"id":"rolled","kind":"branch","cases":[{"when":"flags.ok1","flags":{"id":"flags.id1"}},{"when":"has(flags.ok2) && flags.ok2","flags":{"id":"flags.id2"}},{"when":"has(flags.id3) && flags.id3 != '' && !(flags.id3 in flags.held)\n && (flags.id3 != @negative-mutations.attribute-deficiency || flags.deficiency)","flags":{"id":"flags.id3"}},{"when":true,"flags":{"id":"''"}}]},{"id":"add","kind":"changes","when":"flags.id != ''","changes":[{"type":"addItem","entry":{"item":"flags.id","state":{"light":"flags.light"}}}]},{"id":"fallback","kind":"choice","sheet":"proposed","when":"flags.id == ''","options":{"content":{"type":"negative","where":"countCopies(copy.item == item.id) == 0\n && (item.id != @negative-mutations.attribute-deficiency || flags.deficiency)"}},"random":true,"changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"light":"flags.light"}}}]},{"id":"added","kind":"branch","cases":[{"when":true,"flags":{"added":"flags.id != '' ? flags.id : steps.fallback.picked"}}]},{"id":"jaws","kind":"changes","sheet":"proposed","when":"!flags.light && flags.added == @negative-mutations.awkward-mouth\n && countCopies(copy.item == @mutations.hybrid.crushing-jaws) == 0","changes":[{"type":"addItem","entry":{"item":"'mutations.hybrid.crushing-jaws'","state":{"origin":"'free'"}}}]},{"id":"sense","kind":"choice","sheet":"proposed","when":"!flags.light && flags.added == @negative-mutations.blindness","options":{"content":{"type":"mutation","where":"item.category == @mutation-categories.sense && !('vision' in item.tags)\n && countCopies(copy.item == item.id) == 0"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"origin":"'free'"}}}]},{"id":"result","kind":"outcome","result":"'rolled'"}]},{"id":"buy-mutation","available":"character.creating","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["bought"],"steps":[{"id":"how","tags":["creation.mutation"],"kind":"choice","sheet":"proposed","options":[{"id":"random"},{"id":"category","when":"mutations.points.left >= 3"},{"id":"chosen","when":"mutations.points.left >= 3"}],"recommend":"'random'"},{"id":"rolled","kind":"action","when":"steps.how.picked == 'random'","use":"roll-mutation","params":{"origin":"'random'","random":"params.random"}},{"id":"category","kind":"choice","when":"steps.how.picked == 'category'","options":{"content":{"type":"mutationCategory"}},"random":"params.random","recommend":"filterList([@mutation-categories.structure, options[0]], x in options)[0]"},{"id":"pair1","kind":"action","when":"steps.how.picked == 'category'","use":"roll-mutation","params":{"origin":"'category'","category":"steps.category.picked","random":"params.random"}},{"id":"pair2","kind":"action","sheet":"proposed","when":"steps.how.picked == 'category'","use":"roll-mutation","params":{"origin":"'category'","category":"steps.category.picked","random":"params.random"}},{"id":"chosen","kind":"choice","sheet":"proposed","when":"steps.how.picked == 'chosen'","options":{"content":{"type":"mutation","where":"countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"origin":"'chosen'"}}}]},{"id":"chosenSkill","kind":"action","when":"has(steps.chosen) && size(steps.chosen.item.bonusSkill) > 0","use":"bonus-skill","params":{"skills":"steps.chosen.item.bonusSkill","random":"params.random"}},{"id":"result","kind":"outcome","result":"'bought'"}]},{"id":"roll-mutation","available":"character.creating","tags":["creation"],"params":{"origin":{"type":"enum","values":["random","category","chosen","free","unstable"],"default":"random"},"category":{"type":"id","of":"mutationCategory","optional":true},"random":{"type":"boolean","default":false}},"results":["rolled"],"steps":[{"id":"categoryRoll","kind":"roll","tags":["creation"],"when":"!has(params.category)","parts":[{"dice":"1d6"}]},{"id":"which","kind":"branch","cases":[{"when":true,"flags":{"category":"has(params.category) ? params.category\n : [@mutation-categories.structure, @mutation-categories.sense,\n @mutation-categories.hybrid, @mutation-categories.cognition,\n @mutation-categories.pseudo-psychic,\n @mutation-categories.exotic][steps.categoryRoll.total - 1]"}}]},{"id":"roll","kind":"roll","tags":["creation"],"parts":[{"dice":"1d10"}]},{"id":"exact","kind":"choice","sheet":"proposed","options":{"content":{"type":"mutation","where":"item.category == flags.category && item.roll == steps.roll.total\n && countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)"}},"recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"origin":"params.origin"}}}]},{"id":"fallback","kind":"choice","sheet":"proposed","when":"!has(steps.exact)","options":{"content":{"type":"mutation","where":"(!has(params.category) || item.category == params.category)\n && countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)"}},"random":true,"changes":[{"type":"addItem","entry":{"item":"picked.id","state":{"origin":"params.origin"}}}]},{"id":"skill","kind":"action","when":"(has(steps.exact) && size(steps.exact.item.bonusSkill) > 0)\n || (has(steps.fallback) && size(steps.fallback.item.bonusSkill) > 0)","use":"bonus-skill","params":{"skills":"has(steps.exact) ? steps.exact.item.bonusSkill : steps.fallback.item.bonusSkill","random":"params.random"}},{"id":"result","kind":"outcome","result":"'rolled'"}]},{"id":"reassign-barred-skills","available":"character.creating","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["reassigned"],"steps":[{"id":"forbidden","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"lost":"sumList(keysOf('skill'),\n max(0, fieldOf('skills.{skill}.level', x) - fieldOf('skills.{skill}.cap', x)))","barred":"filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x))"}}]},{"id":"unlearn","kind":"changes","sheet":"proposed","when":"flags.lost > 0","changes":[{"type":"set","forEach":"flags.barred","field":{"formula":"fieldId('skills.{skill}.level', x)"},"value":"max(-1, fieldOf('skills.{skill}.cap', x))"}]},{"id":"relearn1","kind":"action","when":"flags.lost >= 1","use":"gain-skill","params":{"random":"params.random"}},{"id":"relearn2","kind":"action","when":"flags.lost >= 2","use":"gain-skill","params":{"random":"params.random"}},{"id":"relearn3","kind":"action","when":"flags.lost >= 3","use":"gain-skill","params":{"random":"params.random"}},{"id":"relearn4","kind":"action","when":"flags.lost >= 4","use":"gain-skill","params":{"random":"params.random"}},{"id":"result","kind":"outcome","result":"'reassigned'"}]},{"id":"skill-check","tags":["check"],"params":{"skill":{"type":"id","of":"field","where":"'skill' in item.tags"},"attribute":{"type":"id","of":"field","where":"'attribute-mod' in item.tags"},"difficulty":{"type":"integer","optional":true}},"results":{"bands":"check"},"steps":[{"id":"roll","kind":"roll","tags":["check",{"formula":"params.skill.tags"}],"bands":"check","parts":[{"dice":"2d6kh2"},{"field":"params.attribute.id"},{"field":"params.skill.id"}]},{"id":"result","kind":"outcome","result":"steps.roll.band","data":{"total":"steps.roll.total"}}]},{"id":"gain-skill","listed":false,"params":{"skills":{"type":"set","of":"string","default":[]},"prefer":{"type":"set","of":"string","default":[]},"random":{"type":"boolean","default":false}},"results":["gained","none"],"steps":[{"id":"open","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"open":"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))"}}]},{"id":"fallback","kind":"branch","sheet":"proposed","cases":[{"when":true,"flags":{"offered":"size(flags.open) > 0 ? flags.open\n : filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))"}}]},{"id":"suggest","kind":"branch","cases":[{"when":true,"flags":{"suggest":"size(filterList(params.prefer, x in flags.offered)) > 0\n ? filterList(params.prefer, x in flags.offered)[0]\n : size(flags.offered) > 0 ? flags.offered[0] : ''"}}]},{"id":"skill","kind":"choice","when":"size(flags.offered) > 0","options":{"values":{"formula":"flags.offered"}},"random":"params.random","recommend":"flags.suggest","changes":[{"type":"adjust","field":{"formula":"fieldId('skills.{skill}.level', picked.value)"},"by":1}]},{"id":"result","kind":"outcome","result":"has(steps.skill) ? 'gained' : 'none'"}]},{"id":"starting-equipment","available":"character.creating","tags":["creation"],"params":{"random":{"type":"boolean","default":false}},"results":["equipped"],"steps":[{"id":"kit","tags":["creation.kit"],"kind":"choice","options":[{"id":"innocents"},{"id":"prepared"},{"id":"near-future"},{"id":"wasteland"}],"recommend":"'wasteland'"},{"id":"prepared","kind":"choice","when":"steps.kit.picked == 'prepared'","repeat":{"max":4,"min":4},"random":"params.random","recommend":"size(filterList([@prepared.knife, @prepared.first-aid-kit, @prepared.preserved-food,\n @prepared.backpack], x in options)) > 0\n ? filterList([@prepared.knife, @prepared.first-aid-kit, @prepared.preserved-food,\n @prepared.backpack], x in options)[0]\n : options[0]","options":{"content":{"type":"prepared","where":"picks == 0"}},"changes":[{"type":"addItem","entry":{"item":"picked.item.gear","quantity":"picked.item.quantity","equipped":"picked.item.equipped"}},{"type":"addItem","when":"has(picked.item.extra)","entry":{"item":"picked.item.extra","quantity":"picked.item.extraQuantity"}}]},{"id":"weapon","kind":"choice","when":"steps.kit.picked == 'near-future' || steps.kit.picked == 'wasteland'","options":{"content":{"type":"weapon","where":"has(item.techLevel) && item.techLevel <= 1 && !('grenade' in item.tags)\n && ('stab' in item.skills || has(item.kitAmmo))"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id","equipped":true}},{"type":"addItem","when":"has(picked.item.kitAmmo)","entry":{"item":"picked.item.kitAmmo"}}]},{"id":"food","kind":"roll","tags":["creation"],"when":"has(steps.weapon)","parts":[{"dice":"1d4"}]},{"id":"warriorKit","kind":"changes","when":"has(steps.weapon)","changes":[{"type":"addItem","entry":{"item":"'weapons.knife'"}},{"type":"addItem","entry":{"item":"'gear.backpack'","equipped":true}},{"type":"addItem","entry":{"item":"'gear.sleeping-bag'"}},{"type":"addItem","entry":{"item":"'gear.tinderbox'"}},{"type":"addItem","entry":{"item":"'gear.torch'","quantity":3}},{"type":"addItem","entry":{"item":"'gear.clothes'","equipped":true}},{"type":"addItem","entry":{"item":"'gear.ration'","quantity":"steps.food.total"}}]},{"id":"extra","kind":"choice","when":"has(steps.weapon)","options":[{"id":"pick"},{"id":"roll"}],"recommend":"'roll'"},{"id":"entry","kind":"choice","when":"has(steps.extra) && steps.extra.picked == 'pick'","options":{"values":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]},"recommend":"steps.kit.picked == 'wasteland' ? '10' : '4'"},{"id":"picked","kind":"action","when":"has(steps.entry)","use":"kit-entry","params":{"table":"steps.kit.picked","entry":"steps.entry.value","random":"params.random"}},{"id":"roll1","kind":"roll","tags":["creation"],"when":"has(steps.extra) && steps.extra.picked == 'roll'","parts":[{"dice":"1d20"}]},{"id":"entry1","kind":"action","when":"has(steps.roll1)","use":"kit-entry","params":{"table":"steps.kit.picked","entry":"steps.roll1.total","random":"params.random"}},{"id":"roll2","kind":"roll","tags":["creation"],"when":"has(steps.roll1)","parts":[{"dice":"1d20"}]},{"id":"entry2","kind":"action","when":"has(steps.roll2)","use":"kit-entry","params":{"table":"steps.kit.picked","entry":"steps.roll2.total","random":"params.random"}},{"id":"roll3","kind":"roll","tags":["creation"],"when":"has(steps.roll1)","parts":[{"dice":"1d20"}]},{"id":"entry3","kind":"action","when":"has(steps.roll3)","use":"kit-entry","params":{"table":"steps.kit.picked","entry":"steps.roll3.total","random":"params.random"}},{"id":"result","kind":"outcome","result":"'equipped'","data":{"kit":"steps.kit.picked"}}]},{"id":"kit-entry","available":"character.creating","tags":["creation"],"params":{"table":{"type":"string"},"entry":{"type":"integer","min":1,"max":20},"random":{"type":"boolean","default":false}},"results":["added"],"steps":[{"id":"flags","kind":"branch","cases":[{"when":true,"flags":{"near":"params.table == 'near-future'","waste":"params.table != 'near-future'"}}]},{"id":"count","kind":"roll","tags":["creation"],"when":"(flags.near && (params.entry == 11 || params.entry == 14))\n || (flags.waste && (params.entry == 5 || params.entry == 18))","parts":[{"dice":"flags.waste && params.entry == 5 ? 1d6 + 4 : flags.waste ? 1d4 + 2 : 1d4"}]},{"id":"melee","kind":"choice","when":"flags.waste && params.entry == 11","options":{"content":{"type":"weapon","where":"has(item.techLevel) && item.techLevel <= 2 && 'stab' in item.skills\n && !('grenade' in item.tags)"}},"random":"params.random","recommend":"options[0]","changes":[{"type":"addItem","entry":{"item":"picked.id"}}]},{"id":"add","kind":"changes","changes":[{"type":"addItem","when":"flags.near && params.entry == 1","entry":{"item":"'weapons.light-pistol'"}},{"type":"addItem","when":"flags.near && (params.entry == 1 || params.entry == 9 || params.entry == 17)","entry":{"item":"'gear.magazine'","quantity":2}},{"type":"addItem","when":"flags.near && params.entry == 2","entry":{"item":"'gear.camping-kit'"}},{"type":"addItem","when":"flags.near && params.entry == 3","entry":{"item":"'gear.hand-tool'"}},{"type":"addItem","when":"flags.near && params.entry == 4","entry":{"item":"'armor.plate-carrier'"}},{"type":"addItem","when":"flags.near && params.entry == 5","entry":{"item":"'gear.crowbar'"}},{"type":"addItem","when":"flags.near && params.entry == 6","entry":{"item":"'gear.lockpick-kit'"}},{"type":"addItem","when":"flags.near && params.entry == 7","entry":{"item":"'gear.binoculars'"}},{"type":"addItem","when":"flags.near && params.entry == 8","entry":{"item":"'gear.flashlight'"}},{"type":"addItem","when":"flags.near && params.entry == 9","entry":{"item":"'weapons.rifle'"}},{"type":"addItem","when":"flags.near && params.entry == 10","entry":{"item":"'gear.walkie-talkie'","quantity":2}},{"type":"addItem","when":"flags.near && params.entry == 11","entry":{"item":"'weapons.grenade-frag'","quantity":"steps.count.total"}},{"type":"addItem","when":"flags.near && params.entry == 12","entry":{"item":"'gear.jewelry'"}},{"type":"addItem","when":"flags.near && params.entry == 13","entry":{"item":"'armor.protective-sport-gear'"}},{"type":"addItem","when":"flags.near && params.entry == 14","entry":{"item":"'gear.ration'","quantity":"steps.count.total"}},{"type":"addItem","when":"flags.near && params.entry == 15","entry":{"item":"'gear.first-aid-kit'"}},{"type":"addItem","when":"flags.near && params.entry == 16","entry":{"item":"'gear.toolkit'"}},{"type":"addItem","when":"flags.near && params.entry == 17","entry":{"item":"'weapons.semi-auto-shotgun'"}},{"type":"addItem","when":"flags.near && params.entry == 18","entry":{"item":"'gear.batteries-rechargeable'"}},{"type":"addItem","when":"flags.near && params.entry == 19","entry":{"item":"'gear.rope'"}},{"type":"addItem","when":"flags.near && params.entry == 20","entry":{"item":"'gear.profession-item'"}},{"type":"addItem","when":"flags.waste && params.entry == 1","entry":{"item":"'weapons.primitive-bow'"}},{"type":"addItem","when":"flags.waste && params.entry == 1","entry":{"item":"'gear.arrows'"}},{"type":"addItem","when":"flags.waste && params.entry == 2","entry":{"item":"'armor.leathers'"}},{"type":"addItem","when":"flags.waste && params.entry == 3","entry":{"item":"'gear.ammo'","quantity":4}},{"type":"addItem","when":"flags.waste && params.entry == 4","entry":{"item":"'gear.first-aid-kit'"}},{"type":"addItem","when":"flags.waste && params.entry == 5","entry":{"item":"'gear.scrap-tl2'","quantity":"steps.count.total"}},{"type":"addItem","when":"flags.waste && params.entry == 6","entry":{"item":"'gear.camping-kit'"}},{"type":"addItem","when":"flags.waste && params.entry == 7","entry":{"item":"'gear.energy-cell-a'"}},{"type":"addItem","when":"flags.waste && params.entry == 8","entry":{"item":"'gear.clothes-fine'"}},{"type":"addItem","when":"flags.waste && params.entry == 9","entry":{"item":"'gear.lantern'"}},{"type":"addItem","when":"flags.waste && params.entry == 9","entry":{"item":"'gear.oil-flask'","quantity":2}},{"type":"addItem","when":"flags.waste && params.entry == 10","entry":{"item":"'armor.scrap-mail'"}},{"type":"addItem","when":"flags.waste && params.entry == 12","entry":{"item":"'gear.keepsake'"}},{"type":"addItem","when":"flags.waste && params.entry == 13","entry":{"item":"'gear.perpetual-lighter'"}},{"type":"addItem","when":"flags.waste && params.entry == 14","entry":{"item":"'gear.toolkit'"}},{"type":"addItem","when":"flags.waste && params.entry >= 15 && params.entry <= 17","entry":{"item":"'gear.salvaged-tech'"}},{"type":"addItem","when":"flags.waste && params.entry == 18","entry":{"item":"'gear.ration'","quantity":"steps.count.total"}},{"type":"addItem","when":"flags.waste && params.entry == 19","entry":{"item":"'gear.rope-fiber'"}},{"type":"addItem","when":"flags.waste && params.entry == 20","entry":{"item":"'weapons.shotgun'","state":{"shots":1}}}]},{"id":"result","kind":"outcome","result":"'added'"}]}],"followUps":[{"id":"level-up","while":"!character.creating && level < 10 && xp.current >= xp.next","action":"level-up"},{"id":"edge-due","while":"!character.creating && edges.count < edges.allowed","action":"gain-edge"},{"id":"focus-due","while":"!character.creating && foci.count < foci.allowed","action":"gain-focus"}],"contentTypes":{"background":{"copies":{"max":1},"fields":{"freeSkill":{"type":"enum","open":true,"values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true},"quickSkill1":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"quickSkill2":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"growth1":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"growth2":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"growth3":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"growth4":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"growth5":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"growth6":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"learning1":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"learning2":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"learning3":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"learning4":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"learning5":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"learning6":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"learning7":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true},"learning8":{"type":"enum","values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work","any-combat","any-skill","any-stat-1","physical2","mental2"],"required":true,"open":true}}},"edge":{"fields":{"bonusSkill":{"type":"set","of":"string","default":[]},"gainPart":{"type":"boolean","default":false}},"effects":[{"target":"edges.held","op":"grant","value":{"formula":"item.id"}}]},"focus":{"fields":{"maxLevel":{"type":"integer","default":2,"min":1,"max":2},"multiple":{"type":"boolean","default":false},"specialty":{"type":"boolean","default":false},"bonusSkill":{"type":"set","of":"string","default":[]},"bonusSkill2":{"type":"set","of":"string","default":[]},"gainPart":{"type":"boolean","default":false}},"state":{"level":{"type":"integer","default":1,"min":1,"max":"item.maxLevel"}},"effects":[{"target":"foci.held","op":"grant","value":{"formula":"item.id"}}]},"weapon":{"carried":true,"equippable":true,"fields":{"damage":{"type":"dice"},"skills":{"type":"set","of":"string","required":true},"attributes":{"type":"set","of":"string","default":[]},"rangeNormal":{"type":"integer","min":0},"rangeLong":{"type":"integer","min":0},"shock":{"type":"integer","default":0,"min":0},"shockAc":{"type":"integer","default":0,"min":0},"magazine":{"type":"integer","min":0},"hitBonus":{"type":"integer","default":0},"enc":{"type":"integer","default":1,"min":0},"cost":{"type":"integer","min":0},"techLevel":{"type":"integer","min":0,"max":5},"traumaDie":{"type":"dice"},"traumaRating":{"type":"integer","min":1},"kitAmmo":{"type":"id","of":"gear"}},"state":{"shots":{"type":"integer","min":0,"default":"has(item.magazine) ? item.magazine : 0"}},"computed":{"skillLevel":{"type":"integer","formula":"maxList(item.skills, fieldOf('skills.{skill}.level', x))"},"attributeMod":{"type":"integer","formula":"size(item.attributes) == 0 ? 0 : maxList(item.attributes, fieldOf('attributes.{attribute}.mod', x))"},"armed":{"type":"boolean","formula":"'stab' in item.skills || 'thrown' in item.tags"},"close":{"type":"boolean","formula":"self.armed || 'punch' in item.skills"},"hit":{"type":"integer","formula":"combat.attackBonus + (self.skillLevel < 0 ? -2 : self.skillLevel) + self.attributeMod\n + item.hitBonus + ('energy' in item.tags ? 1 : 0) + (self.close ? combat.melee.hit : 0)\n + (self.armed ? combat.armed.hit : 0)"},"damage":{"type":"integer","formula":"self.attributeMod + ('punch' in item.skills ? max(0, skills.punch.level) : 0)\n + combat.damageBonus + (self.close ? combat.melee.damage : combat.ranged.damage)\n + (self.armed ? combat.armed.damage : 0)"},"shockDamage":{"type":"integer","formula":"item.shock > 0 ? item.shock + self.attributeMod + combat.melee.shock\n + (self.armed ? combat.armed.shock : 0) : 0"},"shockAnyAc":{"type":"boolean","formula":"item.shock > 0 && (combat.melee.shockAnyAc || (self.armed && combat.armed.shockAnyAc))"}},"effects":[{"target":{"rolls":["damage"],"from":"self"},"op":"rollModifier","value":{"kind":"advantage","of":"roll"},"when":"'laser' in item.tags && has(participants.target) && size(participants.target) > 0\n && participants.target[0].defense.laserSensitive"}],"actions":[{"use":"attack"}]},"armor":{"carried":true,"equippable":true,"fields":{"ac":{"type":"integer","required":true,"min":10},"enc":{"type":"integer","default":1,"min":0},"traumaMod":{"type":"integer","default":0},"subtle":{"type":"boolean","default":false},"cost":{"type":"integer","min":0},"techLevel":{"type":"integer","min":0,"max":5}},"effects":[{"target":{"rolls":["skill.sneak","skill.exert"]},"op":"add","value":-1,"when":"self.equipped && 'heavy' in item.tags","stackKey":"heavy-armor"}]},"gear":{"carried":true,"equippable":true,"fields":{"enc":{"type":"integer","default":1,"min":0},"wornFree":{"type":"boolean","default":false},"cost":{"type":"integer","min":0},"techLevel":{"type":"integer","min":0,"max":5},"healSkill":{"type":"integer","min":0}}},"prepared":{"grantOnly":true,"carried":false,"copies":{"max":0},"fields":{"gear":{"type":"string","required":true},"quantity":{"type":"integer","default":1,"min":1},"equipped":{"type":"boolean","default":false},"extra":{"type":"string"},"extraQuantity":{"type":"integer","default":1,"min":1}}},"mutationCategory":{"grantOnly":true,"carried":false,"copies":{"max":0}},"mutation":{"fields":{"category":{"type":"id","of":"mutationCategory","required":true},"roll":{"type":"integer","required":true,"min":1,"max":10},"bonusSkill":{"type":"set","of":"string","default":[]}},"state":{"origin":{"type":"enum","values":["random","category","chosen","free","unstable"],"default":"chosen"}}},"negative":{"fields":{"roll":{"type":"integer","required":true,"min":1,"max":100}},"state":{"light":{"type":"boolean","default":false}}}},"constraints":[{"id":"creation-background","check":"!character.creating || countCopies(copy.type == 'background') > 0"},{"id":"edge-limit","check":"edges.count <= edges.allowed"},{"id":"focus-limit","check":"foci.count <= foci.allowed"},{"id":"underdog","check":"!character.creating || !edges.underdog || attributes.baseTotal <= -1"},{"id":"edge-once","copies":{"type":"edge","where":"!('repeatable' in item.tags)"},"check":"countCopies(copy.item == item.id) == 1"},{"id":"focus-once","copies":{"type":"focus","where":"!item.multiple"},"check":"countCopies(copy.item == item.id) == 1"},{"id":"encumbrance-limit","check":"character.creating || encumbrance.overload <= 2"},{"id":"one-armor","check":"countCopies(copy.type == 'armor' && copy.equipped && !('shield' in copy.tags)) <= 1"},{"id":"sensitive-skin","check":"!mutations.sensitiveSkin || countCopies(copy.type == 'armor' && copy.equipped && copy.fields.enc > 1) == 0"},{"id":"mutation-points","check":"mutations.points.spent <= mutations.points.total"},{"id":"negative-mutation-limit","check":"mutations.negatives <= 3"},{"id":"mutant-only","check":"mutations.mutant || countCopies(copy.type == 'mutation' || copy.type == 'negative') == 0"},{"id":"mutation-once","copies":{"type":"mutation"},"check":"countCopies(copy.item == item.id) == 1"},{"id":"negative-mutation-once","copies":{"type":"negative"},"check":"countCopies(copy.item == item.id) == 1"},{"id":"creation-skill-limit","check":"!character.creating || skills.highest <= 1"},{"id":"forbidden-skill","check":"countList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x)) == 0"}],"resultBands":{"check":[{"id":"success","when":"has(params.difficulty) && roll.total >= params.difficulty","success":true},{"id":"failure","when":"has(params.difficulty)"},{"id":"rolled","when":true}],"save":[{"id":"success","when":"roll.total >= flags.target","success":true},{"id":"failure","when":true}],"attack":[{"id":"hit","when":"roll.kept[0] == 20 || (roll.kept[0] != 1 && roll.total >= flags.ac)","success":true},{"id":"miss","when":true}]},"situational":[{"id":"versus","type":"enum","values":["other","poison","disease","radiation"],"default":"other","rolls":["save"]},{"id":"social","type":"boolean","default":false,"rolls":["check"]},{"id":"grapple","type":"boolean","default":false,"rolls":["check"]},{"id":"foraging","type":"boolean","default":false,"rolls":["check"]},{"id":"burst","type":"boolean","default":false,"rolls":["attack.ranged","damage"],"effects":[{"target":{"rolls":["attack.ranged","damage"]},"op":"add","value":2,"when":"'burst' in action.item.tags"}]}],"families":{"attribute":["str","dex","con","int","wis","cha"],"skill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]},"settings":{"rounding":"floor"},"creation":[{"id":"guided","action":"create-character"},{"id":"random","action":"create-character","params":{"random":true},"random":true}],"standardCopies":[{"type":"weapon","where":"item.id == @weapons.unarmed"}],"display":{"groups":[{"id":"attributes","priority":0,"members":{"type":"field","where":"'attribute' in item.tags || 'attribute-mod' in item.tags"}},{"id":"skills","priority":0,"members":{"type":"field","where":"'skill' in item.tags"}},{"id":"combat","priority":0},{"id":"saves","priority":0,"members":{"type":"field","where":"'save' in item.tags"}},{"id":"condition","priority":0},{"id":"advancement","priority":1},{"id":"encumbrance","priority":1},{"id":"mutations","priority":1},{"id":"background","kind":"content","priority":0,"members":{"type":"background"}},{"id":"edges","kind":"content","priority":0,"members":{"type":"edge"}},{"id":"foci","kind":"content","priority":0,"members":{"type":"focus"}},{"id":"positive-mutations","kind":"content","priority":1,"members":{"type":"mutation"}},{"id":"negative-mutations","kind":"content","priority":1,"members":{"type":"negative"}},{"id":"weapons","kind":"content","priority":1,"members":{"type":"weapon"}},{"id":"armor","kind":"content","priority":1,"members":{"type":"armor"}},{"id":"gear","kind":"content","priority":1,"members":{"type":"gear"}},{"id":"checks","kind":"actions","priority":0,"members":{"type":"action","where":"'check' in item.tags || 'save' in item.tags"}},{"id":"attacks","kind":"actions","priority":0,"members":{"type":"action","where":"'attack' in item.tags"}},{"id":"advancement-actions","kind":"actions","priority":2,"members":{"type":"action","where":"'advancement' in item.tags"}},{"id":"creation","kind":"actions","priority":3,"visibility":"background","members":{"type":"action","where":"'creation' in item.tags"}}],"fields":{"attributes.str.base":{"hidden":true},"attributes.dex.base":{"hidden":true},"attributes.con.base":{"hidden":true},"attributes.int.base":{"hidden":true},"attributes.wis.base":{"hidden":true},"attributes.cha.base":{"hidden":true},"attributes.str.boost":{"hidden":true},"attributes.dex.boost":{"hidden":true},"attributes.con.boost":{"hidden":true},"attributes.int.boost":{"hidden":true},"attributes.wis.boost":{"hidden":true},"attributes.cha.boost":{"hidden":true},"attributes.str.bonus":{"hidden":true},"attributes.dex.bonus":{"hidden":true},"attributes.con.bonus":{"hidden":true},"attributes.int.bonus":{"hidden":true},"attributes.wis.bonus":{"hidden":true},"attributes.cha.bonus":{"hidden":true},"attributes.str.penalty":{"hidden":true},"attributes.dex.penalty":{"hidden":true},"attributes.con.penalty":{"hidden":true},"attributes.int.penalty":{"hidden":true},"attributes.wis.penalty":{"hidden":true},"attributes.cha.penalty":{"hidden":true},"skills.administer.credit":{"hidden":true},"skills.connect.credit":{"hidden":true},"skills.drive.credit":{"hidden":true},"skills.exert.credit":{"hidden":true},"skills.fix.credit":{"hidden":true},"skills.heal.credit":{"hidden":true},"skills.know.credit":{"hidden":true},"skills.lead.credit":{"hidden":true},"skills.notice.credit":{"hidden":true},"skills.perform.credit":{"hidden":true},"skills.program.credit":{"hidden":true},"skills.punch.credit":{"hidden":true},"skills.shoot.credit":{"hidden":true},"skills.sneak.credit":{"hidden":true},"skills.stab.credit":{"hidden":true},"skills.survive.credit":{"hidden":true},"skills.talk.credit":{"hidden":true},"skills.trade.credit":{"hidden":true},"skills.work.credit":{"hidden":true},"skills.administer.cap":{"hidden":true},"skills.connect.cap":{"hidden":true},"skills.drive.cap":{"hidden":true},"skills.exert.cap":{"hidden":true},"skills.fix.cap":{"hidden":true},"skills.heal.cap":{"hidden":true},"skills.know.cap":{"hidden":true},"skills.lead.cap":{"hidden":true},"skills.notice.cap":{"hidden":true},"skills.perform.cap":{"hidden":true},"skills.program.cap":{"hidden":true},"skills.punch.cap":{"hidden":true},"skills.shoot.cap":{"hidden":true},"skills.sneak.cap":{"hidden":true},"skills.stab.cap":{"hidden":true},"skills.survive.cap":{"hidden":true},"skills.talk.cap":{"hidden":true},"skills.trade.cap":{"hidden":true},"skills.work.cap":{"hidden":true},"skills.highest":{"hidden":true},"attributes.baseTotal":{"hidden":true},"hp.attributeMod":{"hidden":true},"hp.dieBonus":{"hidden":true},"combat.damageBonus":{"hidden":true},"combat.melee.hit":{"hidden":true},"combat.melee.damage":{"hidden":true},"combat.melee.shock":{"hidden":true},"combat.melee.shockAnyAc":{"hidden":true},"combat.armed.hit":{"hidden":true},"combat.armed.damage":{"hidden":true},"combat.armed.shock":{"hidden":true},"combat.armed.shockAnyAc":{"hidden":true},"combat.ranged.damage":{"hidden":true},"move.base":{"hidden":true},"ac.armor":{"hidden":true},"ac.armorVsGuns":{"hidden":true},"ac.shield":{"hidden":true},"ac.bonus":{"hidden":true},"saves.physicalMod":{"hidden":true},"saves.evasionMod":{"hidden":true},"saves.mentalMod":{"hidden":true},"strain.penalty":{"hidden":true},"strain.bonus":{"hidden":true},"strain.bonusCap":{"hidden":true},"stress.immune":{"hidden":true},"edges.held":{"hidden":true},"foci.held":{"hidden":true},"edges.forgedByFire":{"hidden":true},"foci.bonus":{"hidden":true},"encumbrance.armorFactor":{"hidden":true},"mutations.mutant":{"hidden":true},"mutations.barred":{"hidden":true},"mutations.points.edges":{"hidden":true},"mutations.noVision":{"hidden":true},"mutations.noHearing":{"hidden":true},"mutations.sensitiveSkin":{"hidden":true},"level":{"groups":["advancement"],"priority":0,"visibility":"primary"},"xp.current":{"groups":["advancement"],"priority":0,"with":[{"field":"xp.next","as":"max"}]},"xp.next":{"groups":["advancement"],"priority":1},"xp.rate":{"groups":["advancement"],"priority":2},"skills.points":{"groups":["advancement"],"priority":0},"skills.perLevel":{"groups":["advancement"],"priority":2},"attributes.boosts":{"groups":["advancement"],"priority":2},"edges.count":{"groups":["advancement"],"priority":1,"with":[{"field":"edges.allowed","as":"max"}]},"edges.allowed":{"groups":["advancement"],"priority":2},"edges.underdog":{"groups":["advancement"],"priority":2},"variant.giftedSurvivors":{"groups":["advancement"],"priority":3},"foci.count":{"groups":["advancement"],"priority":1,"with":[{"field":"foci.allowed","as":"max"}]},"foci.allowed":{"groups":["advancement"],"priority":2},"languages.extra":{"groups":["advancement"],"priority":2},"hp.current":{"groups":["condition"],"priority":0,"visibility":"primary","with":[{"field":"hp.max","as":"max"}]},"hp.max":{"groups":["condition"],"priority":1},"strain.current":{"groups":["condition"],"priority":0,"with":[{"field":"strain.max","as":"max"}]},"strain.max":{"groups":["condition"],"priority":1},"stress.current":{"groups":["condition"],"priority":1,"with":[{"field":"stress.limit","as":"max"}]},"stress.limit":{"groups":["condition"],"priority":2},"ac.value":{"groups":["combat"],"priority":0,"visibility":"primary"},"ac.vsGuns":{"groups":["combat"],"priority":1},"combat.attackBonus":{"groups":["combat"],"priority":0},"combat.traumaTarget":{"groups":["combat"],"priority":2},"move.value":{"groups":["combat"],"priority":1},"encumbrance.readied":{"groups":["encumbrance"],"priority":0,"with":[{"field":"encumbrance.readied.max","as":"max"}]},"encumbrance.readied.max":{"groups":["encumbrance"],"priority":1},"encumbrance.stowed":{"groups":["encumbrance"],"priority":0,"with":[{"field":"encumbrance.stowed.max","as":"max"}]},"encumbrance.stowed.max":{"groups":["encumbrance"],"priority":1},"encumbrance.strength":{"groups":["encumbrance"],"priority":2},"encumbrance.overload":{"groups":["encumbrance"],"priority":1},"mutations.points.total":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"mutations.points.spent":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"mutations.points.left":{"groups":["mutations"],"priority":0,"showWhen":"mutations.mutant"},"mutations.negatives":{"groups":["mutations"],"priority":2,"showWhen":"mutations.mutant"},"mutations.stigmaConcealed":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"stigma.part":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"stigma.part2":{"groups":["mutations"],"priority":2,"showWhen":"mutations.mutant"},"stigma.nature":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"stigma.detail":{"groups":["mutations"],"priority":1,"showWhen":"mutations.mutant"},"skills.administer.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.administer.level"}}]},"skills.connect.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.connect.level"}}]},"skills.drive.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.drive.level"}}]},"skills.exert.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.exert.level"}}]},"skills.fix.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.fix.level"}}]},"skills.heal.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.heal.level"}}]},"skills.know.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.know.level"}}]},"skills.lead.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.lead.level"}}]},"skills.notice.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.notice.level"}}]},"skills.perform.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.perform.level"}}]},"skills.program.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.program.level"}}]},"skills.punch.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.punch.level"}}]},"skills.shoot.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.shoot.level"}}]},"skills.sneak.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.sneak.level"}}]},"skills.stab.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.stab.level"}}]},"skills.survive.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.survive.level"}}]},"skills.talk.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.talk.level"}}]},"skills.trade.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.trade.level"}}]},"skills.work.level":{"rolls":[{"action":"skill-check","params":{"skill":"skills.work.level"}}]},"saves.physical":{"rolls":[{"action":"save","params":{"save":"saves.physical"}}]},"saves.evasion":{"rolls":[{"action":"save","params":{"save":"saves.evasion"}}]},"saves.mental":{"rolls":[{"action":"save","params":{"save":"saves.mental"}}]},"saves.luck":{"rolls":[{"action":"save","params":{"save":"saves.luck"}}]}},"types":{"background":{"quantity":{"hidden":true}},"edge":{"quantity":{"hidden":true}},"focus":{"quantity":{"hidden":true}},"mutation":{"quantity":{"hidden":true}},"negative":{"quantity":{"hidden":true}},"weapon":{"state":{"shots":{"priority":0,"input":{"widget":"track"},"showWhen":"has(item.magazine)"}},"fields":{"damage":{"format":"dice"}}}}},"tags":["attribute.str","attribute.dex","attribute.con","attribute.int","attribute.wis","attribute.cha","attribute-mod.str","attribute-mod.dex","attribute-mod.con","attribute-mod.int","attribute-mod.wis","attribute-mod.cha","attribute-base","attribute-boost","attribute-bonus","attribute-penalty","skill-cap","skill.administer","skill.connect","skill.drive","skill.exert","skill.fix","skill.heal","skill.know","skill.lead","skill.notice","skill.perform","skill.program","skill.punch","skill.shoot","skill.sneak","skill.stab","skill.survive","skill.talk","skill.trade","skill.work","check","creation","creation.kit","creation.mutation","creation.finish","save.physical","save.evasion","save.mental","save.luck","attack.melee","attack.ranged","damage","hit-points","advancement","advancement.level","hearing","vision","primitive","heavy","shield","sealed","powered","burst","suppress","two-handed","nonlethal","energy","laser","quick-reload","rested","thrown","grenade","bundleable","placed","natural","animal","drug","stim","repeatable","first-edge","needs-mutant","makes-mutant","not-mutant","not-underdog"]},"content":[{"id":"armor.assault-suit","type":"armor","tags":["sealed","powered"],"fields":{"ac":18,"enc":2,"traumaMod":2,"techLevel":4}},{"id":"armor.harmony-armor","type":"armor","fields":{"ac":18,"enc":0,"traumaMod":1,"cost":1500,"techLevel":4}},{"id":"armor.high-tech-street-clothing","type":"armor","fields":{"ac":13,"enc":0,"subtle":true,"cost":200,"techLevel":4}},{"id":"armor.insurgent-armor","type":"armor","fields":{"ac":18,"enc":1,"traumaMod":1,"cost":1000,"techLevel":4}},{"id":"armor.leathers","type":"armor","tags":["primitive"],"fields":{"ac":13,"enc":1,"subtle":true,"cost":25,"techLevel":0}},{"id":"armor.military-body-armor","type":"armor","tags":["heavy"],"fields":{"ac":16,"enc":2,"traumaMod":1,"cost":300,"techLevel":3}},{"id":"armor.plate-carrier","type":"armor","fields":{"ac":14,"enc":1,"traumaMod":1,"cost":200,"techLevel":3}},{"id":"armor.protection-field","type":"armor","tags":["powered"],"fields":{"ac":18,"enc":0,"subtle":true,"techLevel":5}},{"id":"armor.protective-sport-gear","type":"armor","tags":["primitive"],"fields":{"ac":14,"enc":1,"cost":50,"techLevel":3}},{"id":"armor.scrap-mail","type":"armor","tags":["primitive","heavy"],"fields":{"ac":15,"enc":2,"traumaMod":1,"cost":100,"techLevel":2}},{"id":"armor.scrap-plate","type":"armor","tags":["primitive","heavy"],"fields":{"ac":18,"enc":3,"traumaMod":1,"cost":300,"techLevel":2}},{"id":"armor.shield","type":"armor","tags":["primitive","shield"],"fields":{"ac":14,"enc":1,"techLevel":0}},{"id":"armor.terran-explorer-suit","type":"armor","fields":{"ac":16,"enc":0,"traumaMod":1,"subtle":true,"cost":500,"techLevel":4}},{"id":"armor.vacc-suit","type":"armor","tags":["sealed"],"fields":{"ac":13,"enc":1,"cost":250,"techLevel":4}},{"id":"armor.vanguard-plate","type":"armor","tags":["sealed","powered"],"fields":{"ac":20,"enc":2,"traumaMod":3,"techLevel":5}},{"id":"backgrounds.courtesan","type":"background","fields":{"freeSkill":"talk","quickSkill1":"perform","quickSkill2":"connect","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"physical2","growth4":"mental2","growth5":"talk","growth6":"any-skill","learning1":"talk","learning2":"perform","learning3":"connect","learning4":"trade","learning5":"sneak","learning6":"notice","learning7":"heal","learning8":"any-skill"}},{"id":"backgrounds.crafter","type":"background","fields":{"freeSkill":"fix","quickSkill1":"trade","quickSkill2":"connect","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"physical2","growth5":"fix","growth6":"any-skill","learning1":"fix","learning2":"trade","learning3":"connect","learning4":"notice","learning5":"sneak","learning6":"know","learning7":"program","learning8":"any-skill"}},{"id":"backgrounds.diplomat","type":"background","fields":{"freeSkill":"talk","quickSkill1":"lead","quickSkill2":"connect","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"mental2","growth5":"talk","growth6":"any-skill","learning1":"lead","learning2":"talk","learning3":"connect","learning4":"perform","learning5":"know","learning6":"sneak","learning7":"notice","learning8":"any-skill"}},{"id":"backgrounds.entertainer","type":"background","fields":{"freeSkill":"perform","quickSkill1":"lead","quickSkill2":"connect","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"mental2","growth4":"physical2","growth5":"perform","growth6":"any-skill","learning1":"perform","learning2":"lead","learning3":"connect","learning4":"talk","learning5":"trade","learning6":"sneak","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.farmer","type":"background","fields":{"freeSkill":"work","quickSkill1":"survive","quickSkill2":"exert","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"physical2","growth5":"any-skill","growth6":"any-skill","learning1":"any-combat","learning2":"survive","learning3":"work","learning4":"notice","learning5":"exert","learning6":"heal","learning7":"fix","learning8":"any-skill"}},{"id":"backgrounds.healer","type":"background","fields":{"freeSkill":"heal","quickSkill1":"notice","quickSkill2":"know","growth1":"any-stat-1","growth2":"physical2","growth3":"mental2","growth4":"mental2","growth5":"heal","growth6":"any-skill","learning1":"heal","learning2":"notice","learning3":"know","learning4":"talk","learning5":"administer","learning6":"connect","learning7":"drive","learning8":"any-skill"}},{"id":"backgrounds.hunter","type":"background","fields":{"freeSkill":"survive","quickSkill1":"shoot","quickSkill2":"sneak","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"mental2","growth5":"survive","growth6":"any-skill","learning1":"shoot","learning2":"survive","learning3":"sneak","learning4":"notice","learning5":"drive","learning6":"heal","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.noble","type":"background","fields":{"freeSkill":"lead","quickSkill1":"notice","quickSkill2":"connect","growth1":"any-stat-1","growth2":"physical2","growth3":"mental2","growth4":"mental2","growth5":"lead","growth6":"any-skill","learning1":"lead","learning2":"connect","learning3":"notice","learning4":"any-combat","learning5":"trade","learning6":"administer","learning7":"talk","learning8":"any-skill"}},{"id":"backgrounds.outcast","type":"background","fields":{"freeSkill":"survive","quickSkill1":"sneak","quickSkill2":"any-combat","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"physical2","growth4":"mental2","growth5":"survive","growth6":"any-skill","learning1":"any-combat","learning2":"survive","learning3":"sneak","learning4":"connect","learning5":"heal","learning6":"exert","learning7":"talk","learning8":"any-skill"}},{"id":"backgrounds.priest","type":"background","fields":{"freeSkill":"lead","quickSkill1":"talk","quickSkill2":"connect","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"mental2","growth5":"connect","growth6":"any-skill","learning1":"lead","learning2":"talk","learning3":"connect","learning4":"perform","learning5":"know","learning6":"heal","learning7":"notice","learning8":"any-skill"}},{"id":"backgrounds.raider","type":"background","fields":{"freeSkill":"any-combat","quickSkill1":"survive","quickSkill2":"notice","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"mental2","growth5":"any-combat","growth6":"any-skill","learning1":"survive","learning2":"notice","learning3":"fix","learning4":"lead","learning5":"sneak","learning6":"connect","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.rider","type":"background","fields":{"freeSkill":"drive","quickSkill1":"any-combat","quickSkill2":"survive","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"mental2","growth5":"drive","growth6":"any-skill","learning1":"drive","learning2":"any-combat","learning3":"survive","learning4":"notice","learning5":"trade","learning6":"exert","learning7":"connect","learning8":"any-skill"}},{"id":"backgrounds.savage","type":"background","fields":{"freeSkill":"survive","quickSkill1":"any-combat","quickSkill2":"sneak","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"physical2","growth5":"survive","growth6":"any-skill","learning1":"any-combat","learning2":"sneak","learning3":"survive","learning4":"exert","learning5":"notice","learning6":"heal","learning7":"survive","learning8":"any-skill"}},{"id":"backgrounds.scavenger","type":"background","fields":{"freeSkill":"notice","quickSkill1":"fix","quickSkill2":"survive","growth1":"any-stat-1","growth2":"mental2","growth3":"physical2","growth4":"physical2","growth5":"notice","growth6":"any-skill","learning1":"survive","learning2":"drive","learning3":"fix","learning4":"trade","learning5":"sneak","learning6":"notice","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.scholar","type":"background","fields":{"freeSkill":"know","quickSkill1":"talk","quickSkill2":"administer","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"mental2","growth5":"know","growth6":"any-skill","learning1":"know","learning2":"talk","learning3":"administer","learning4":"connect","learning5":"heal","learning6":"fix","learning7":"program","learning8":"any-skill"}},{"id":"backgrounds.scout","type":"background","fields":{"freeSkill":"sneak","quickSkill1":"notice","quickSkill2":"survive","growth1":"any-stat-1","growth2":"mental2","growth3":"physical2","growth4":"physical2","growth5":"sneak","growth6":"any-skill","learning1":"any-combat","learning2":"sneak","learning3":"notice","learning4":"survive","learning5":"connect","learning6":"exert","learning7":"drive","learning8":"any-skill"}},{"id":"backgrounds.slave","type":"background","fields":{"freeSkill":"exert","quickSkill1":"sneak","quickSkill2":"survive","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"mental2","growth4":"physical2","growth5":"exert","growth6":"any-skill","learning1":"exert","learning2":"sneak","learning3":"survive","learning4":"talk","learning5":"heal","learning6":"perform","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.trader","type":"background","fields":{"freeSkill":"trade","quickSkill1":"notice","quickSkill2":"connect","growth1":"any-stat-1","growth2":"mental2","growth3":"mental2","growth4":"physical2","growth5":"trade","growth6":"any-skill","learning1":"trade","learning2":"notice","learning3":"connect","learning4":"fix","learning5":"talk","learning6":"administer","learning7":"any-combat","learning8":"any-skill"}},{"id":"backgrounds.wanderer","type":"background","fields":{"freeSkill":"survive","quickSkill1":"sneak","quickSkill2":"any-combat","growth1":"any-stat-1","growth2":"any-stat-1","growth3":"physical2","growth4":"mental2","growth5":"survive","growth6":"any-skill","learning1":"any-combat","learning2":"survive","learning3":"sneak","learning4":"talk","learning5":"connect","learning6":"notice","learning7":"exert","learning8":"any-skill"}},{"id":"backgrounds.warrior","type":"background","fields":{"freeSkill":"any-combat","quickSkill1":"exert","quickSkill2":"lead","growth1":"any-stat-1","growth2":"physical2","growth3":"physical2","growth4":"physical2","growth5":"any-combat","growth6":"any-skill","learning1":"any-combat","learning2":"exert","learning3":"lead","learning4":"notice","learning5":"survive","learning6":"heal","learning7":"drive","learning8":"any-skill"}},{"id":"edges.beacon-of-hope","type":"edge","fields":{"bonusSkill":["lead"]},"effects":[{"target":"attributes.cha.boost","op":"add","value":1}]},{"id":"edges.cold-blood","type":"edge","effects":[{"target":"stress.immune","op":"set","value":true}]},{"id":"edges.comrade","type":"edge"},{"id":"edges.educated","type":"edge","fields":{"gainPart":true,"bonusSkill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]},"effects":[{"target":"skills.perLevel","op":"add","value":1}],"actions":[{"id":"gain-part","listed":false,"steps":[{"id":"points","kind":"changes","when":"!character.creating","changes":[{"type":"adjust","field":"skills.points","by":"level - 1"}]}]}]},{"id":"edges.faceless","type":"edge","fields":{"bonusSkill":["sneak"]},"grants":[{"item":"foci.gray-man","state":{"level":2}}],"effects":[{"target":"attributes.cha.mod","op":"set","value":0}]},{"id":"edges.focused","type":"edge","tags":["repeatable"],"effects":[{"target":"foci.bonus","op":"add","value":1}]},{"id":"edges.forged-by-fire","type":"edge","tags":["first-edge"]},{"id":"edges.ghost","type":"edge","fields":{"bonusSkill":["sneak"]}},{"id":"edges.hard-to-kill","type":"edge","effects":[{"target":"hp.dieBonus","op":"add","value":2},{"target":"combat.traumaTarget","op":"add","value":1}]},{"id":"edges.hardened-genetics","type":"edge","tags":["not-mutant"],"prerequisites":[{"id":"not-mutant","when":"!mutations.mutant"}],"effects":[{"target":{"rolls":["save"]},"op":"add","value":4,"when":"situational.versus == 'radiation'"}],"choices":[{"id":"attribute","from":{"values":["str","dex","con","int","wis","cha"]},"recommend":"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n -fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-boost' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":1}]}]},{"id":"edges.killing-blow","type":"edge","fields":{"bonusSkill":["punch","shoot","stab"]},"effects":[{"target":"combat.damageBonus","op":"add","value":"ceil(level / 2)"}]},{"id":"edges.masterful-expertise","type":"edge"},{"id":"edges.mutant","type":"edge","tags":["makes-mutant"],"fields":{"gainPart":true},"effects":[{"target":"mutations.points.edges","op":"add","value":2}],"choices":[{"id":"penalty","from":{"values":["str","dex","con","int","wis","cha"],"where":"value in choice.picks || fieldOf('attributes.{attribute}.mod', value) >= -1"},"recommend":"sortList(filterList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.mod', x) >= -1),\n fieldOf('attributes.{attribute}.mod', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-penalty' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":-1}]}],"actions":[{"id":"gain-part","listed":false,"params":{"random":{"type":"boolean","default":false}},"steps":[{"id":"mutate","kind":"action","when":"!character.creating","use":"mutate","params":{"random":"params.random"}}]}]},{"id":"edges.mutation-acceleration","type":"edge","tags":["needs-mutant"],"prerequisites":[{"id":"mutant","when":"mutations.mutant"}],"fields":{"gainPart":true},"effects":[{"target":"mutations.points.edges","op":"add","value":2}],"actions":[{"id":"gain-part","listed":false,"params":{"random":{"type":"boolean","default":false}},"steps":[{"id":"buy1","kind":"action","sheet":"proposed","when":"!character.creating && mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}},{"id":"buy2","kind":"action","sheet":"proposed","when":"!character.creating && mutations.points.left >= 1","use":"buy-mutation","params":{"random":"params.random"}}]}]},{"id":"edges.on-target","type":"edge","fields":{"bonusSkill":["punch","shoot","stab"]},"effects":[{"target":"combat.attackBonus","op":"set","value":"level"}]},{"id":"edges.prodigy","type":"edge","tags":["not-underdog"],"prerequisites":[{"id":"not-underdog","when":"!edges.underdog"}],"choices":[{"id":"attribute","from":{"values":["str","dex","int","wis","cha"]},"recommend":"sortList(['str', 'dex', 'int', 'wis', 'cha'],\n -fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"atLeast","value":18},{"target":{"fields":{"where":"'attribute-base' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"atLeast","value":3}]}]},{"id":"edges.survivors-fortune","type":"edge"},{"id":"edges.systemic-immunity","type":"edge","grants":[{"item":"foci.natural-immunity","state":{"level":2}}],"effects":[{"target":"attributes.con.boost","op":"add","value":1}]},{"id":"edges.theyre-here","type":"edge","fields":{"bonusSkill":["notice"]},"effects":[{"target":"attributes.wis.boost","op":"add","value":1}]},{"id":"edges.veterans-luck","type":"edge"},{"id":"foci.alert","type":"focus","fields":{"bonusSkill":["notice"]}},{"id":"foci.apex-predator","type":"focus","fields":{"bonusSkill":["survive"],"bonusSkill2":["shoot"]}},{"id":"foci.armsmaster","type":"focus","fields":{"bonusSkill":["stab"]},"effects":[{"target":"combat.armed.damage","op":"add","value":"max(0, skills.stab.level)"},{"target":"combat.armed.shock","op":"add","value":"max(0, skills.stab.level)"},{"target":"combat.armed.shockAnyAc","op":"set","value":true,"when":"self.level >= 2"},{"target":"combat.armed.hit","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.assassin","type":"focus","fields":{"bonusSkill":["sneak"]}},{"id":"foci.authority","type":"focus","fields":{"bonusSkill":["lead"]}},{"id":"foci.close-combatant","type":"focus","fields":{"bonusSkill":["punch","shoot","stab"]},"effects":[{"target":"combat.melee.shockAnyAc","op":"set","value":true,"when":"self.level >= 2"}]},{"id":"foci.deadeye","type":"focus","fields":{"bonusSkill":["shoot"]},"effects":[{"target":"combat.ranged.damage","op":"add","value":"max(0, skills.shoot.level)"}]},{"id":"foci.diplomat","type":"focus","fields":{"bonusSkill":["talk"]}},{"id":"foci.gray-man","type":"focus","fields":{"bonusSkill":["sneak"]}},{"id":"foci.healer","type":"focus","fields":{"bonusSkill":["heal"]},"effects":[{"target":{"rolls":["skill.heal"]},"op":"rollModifier","value":{"kind":"poolDice","count":1},"stackKey":"skill-dice"}]},{"id":"foci.henchkeeper","type":"focus","fields":{"bonusSkill":["lead"]}},{"id":"foci.iron-stomach","type":"focus","fields":{"bonusSkill":["survive"]},"effects":[{"target":{"rolls":["save"]},"op":"add","value":2,"when":"situational.versus == 'poison' || situational.versus == 'disease'"},{"target":"strain.bonus","op":"add","value":2,"when":"self.level >= 2"}]},{"id":"foci.natural-immunity","type":"focus","effects":[{"target":{"rolls":["save"]},"op":"add","value":4,"when":"situational.versus == 'disease'"},{"target":"strain.bonus","op":"add","value":"self.level >= 2 ? 4 : 2"},{"target":"strain.bonusCap","op":"atLeast","value":22,"when":"self.level >= 2"}]},{"id":"foci.pathfinder","type":"focus","fields":{"bonusSkill":["survive"]}},{"id":"foci.road-warrior","type":"focus","fields":{"bonusSkill":["drive"]}},{"id":"foci.robot-whisperer","type":"focus","fields":{"bonusSkill":["fix","program"]}},{"id":"foci.scrapsmith","type":"focus","fields":{"bonusSkill":["fix"]}},{"id":"foci.shocking-assault","type":"focus","fields":{"bonusSkill":["punch","stab"]},"effects":[{"target":"combat.melee.shockAnyAc","op":"set","value":true},{"target":"combat.melee.shock","op":"add","value":2,"when":"self.level >= 2"}]},{"id":"foci.skilled-combat-rider","type":"focus","fields":{"bonusSkill":["drive"]}},{"id":"foci.slippery","type":"focus","fields":{"bonusSkill":["punch","exert"]},"effects":[{"target":"attributes.dex.boost","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.snipers-eye","type":"focus","fields":{"bonusSkill":["shoot"]}},{"id":"foci.spark-of-brilliance","type":"focus","fields":{"maxLevel":1,"bonusSkill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]}},{"id":"foci.specialist","type":"focus","fields":{"multiple":true,"specialty":true,"bonusSkill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","sneak","survive","talk","trade","work"]},"repeatable":true,"choices":[{"id":"skill","from":{"values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","sneak","survive","talk","trade","work"]},"effects":[{"target":{"rolls":["check"]},"op":"rollModifier","value":{"kind":"poolDice","count":"self.level >= 2 ? 2 : 1"},"when":"('skill.' + pick.value) in roll.tags","stackKey":"skill-dice"}],"recommend":"sortList(item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]"}]},{"id":"foci.strong-back","type":"focus","fields":{"bonusSkill":["exert"]},"effects":[{"target":"encumbrance.strength","op":"atLeast","value":18},{"target":"attributes.str.boost","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.survivalist","type":"focus","fields":{"bonusSkill":["survive"]},"effects":[{"target":{"rolls":["check"]},"op":"rollModifier","value":{"kind":"advantage","of":"roll"},"when":"situational.foraging"},{"target":"attributes.con.boost","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.tinker","type":"focus","fields":{"bonusSkill":["fix"]}},{"id":"foci.unarmed-combatant","type":"focus","fields":{"bonusSkill":["punch"]},"keepsTemplates":[{"template":"templates.unarmed-combatant","copies":{"type":"weapon","where":"item.id == @weapons.unarmed"}}]},{"id":"foci.unique-gift","type":"focus","fields":{"maxLevel":1}},{"id":"foci.unnumbered-friends","type":"focus","fields":{"bonusSkill":["connect"]},"effects":[{"target":"attributes.cha.boost","op":"add","value":1,"when":"self.level >= 2"}]},{"id":"foci.unstable-mutant","type":"focus","tags":["needs-mutant"],"prerequisites":[{"id":"mutant","when":"mutations.mutant"}],"fields":{"gainPart":true},"actions":[{"id":"gain-part","listed":false,"params":{"random":{"type":"boolean","default":false}},"steps":[{"id":"mutation","kind":"action","use":"roll-mutation","params":{"origin":"'unstable'","random":"params.random"}}]}]},{"id":"foci.whirlwind-assault","type":"focus","fields":{"bonusSkill":["stab","punch"]}},{"id":"foci.zombie-smasher","type":"focus"},{"id":"gear.alcohol-excellent","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":10}},{"id":"gear.alcohol","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.ammo","type":"gear","fields":{"enc":0,"cost":1}},{"id":"gear.antibiotics-powerful","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"healSkill":0,"cost":200,"techLevel":3}},{"id":"gear.antibiotics","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"healSkill":0,"cost":50,"techLevel":3}},{"id":"gear.arrows","type":"gear","fields":{"enc":1,"techLevel":0}},{"id":"gear.backpack","type":"gear","fields":{"enc":1,"wornFree":true,"cost":5}},{"id":"gear.batteries-rechargeable","type":"gear","fields":{"enc":1,"techLevel":3}},{"id":"gear.batteries","type":"gear","fields":{"enc":0,"cost":2,"techLevel":3}},{"id":"gear.binoculars","type":"gear","fields":{"enc":1,"cost":25}},{"id":"gear.bounce","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":100,"techLevel":4}},{"id":"gear.camping-kit","type":"gear","fields":{"enc":2,"cost":20}},{"id":"gear.cash","type":"gear","fields":{"enc":0}},{"id":"gear.clothes-cold-weather","type":"gear","fields":{"enc":2,"wornFree":true,"cost":30}},{"id":"gear.clothes-fine","type":"gear","fields":{"enc":2,"wornFree":true}},{"id":"gear.clothes","type":"gear","fields":{"enc":1,"wornFree":true,"cost":10}},{"id":"gear.compressed-fuel","type":"gear","fields":{"enc":1,"cost":1}},{"id":"gear.crowbar","type":"gear","fields":{"enc":1,"cost":10}},{"id":"gear.depressant-crude","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.depressant-refined","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":20,"techLevel":3}},{"id":"gear.dog","type":"gear","tags":["animal"],"fields":{"enc":0,"cost":50}},{"id":"gear.drone","type":"gear","fields":{"enc":3,"cost":200,"techLevel":3}},{"id":"gear.energy-cell-a-plus","type":"gear","tags":["bundleable"],"fields":{"enc":1,"techLevel":4}},{"id":"gear.energy-cell-a","type":"gear","tags":["bundleable"],"fields":{"enc":1,"cost":25,"techLevel":4}},{"id":"gear.energy-cell-b-plus","type":"gear","fields":{"enc":3,"techLevel":4}},{"id":"gear.energy-cell-b","type":"gear","fields":{"enc":3,"cost":100,"techLevel":4}},{"id":"gear.first-aid-kit","type":"gear","fields":{"enc":1,"cost":25}},{"id":"gear.flashlight","type":"gear","fields":{"enc":1,"cost":10,"techLevel":3}},{"id":"gear.gas-mask","type":"gear","fields":{"enc":1,"cost":50,"techLevel":3}},{"id":"gear.glow","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"healSkill":1,"cost":500,"techLevel":4}},{"id":"gear.hallucinogen-crude","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":2}},{"id":"gear.hallucinogen-refined","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":40,"techLevel":3}},{"id":"gear.hand-cart","type":"gear","fields":{"enc":0,"cost":50}},{"id":"gear.hand-tool","type":"gear","fields":{"enc":1,"cost":10}},{"id":"gear.horse","type":"gear","tags":["animal"],"fields":{"enc":0,"cost":250}},{"id":"gear.jewelry","type":"gear","fields":{"enc":0}},{"id":"gear.keepsake","type":"gear","fields":{"enc":0}},{"id":"gear.lantern","type":"gear","fields":{"enc":1,"cost":20}},{"id":"gear.laptop","type":"gear","fields":{"enc":1,"techLevel":3}},{"id":"gear.lifestyle","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":100,"techLevel":4}},{"id":"gear.lighters","type":"gear","fields":{"enc":0,"techLevel":3}},{"id":"gear.lockpick-kit","type":"gear","fields":{"enc":1,"cost":50}},{"id":"gear.magazine","type":"gear","tags":["bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.morning-after","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":50,"techLevel":4}},{"id":"gear.mule","type":"gear","tags":["animal"],"fields":{"enc":0,"cost":100}},{"id":"gear.night-vision-gear","type":"gear","fields":{"enc":1,"cost":150,"techLevel":3}},{"id":"gear.oil-flask","type":"gear","tags":["bundleable"],"fields":{"enc":1,"cost":2}},{"id":"gear.opioid-crude","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.opioid-refined","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":20,"techLevel":3}},{"id":"gear.panacea","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"healSkill":2,"cost":5000,"techLevel":4}},{"id":"gear.perpetual-lighter","type":"gear","fields":{"enc":0,"techLevel":4}},{"id":"gear.preserved-food","type":"gear","fields":{"enc":4}},{"id":"gear.profession-item","type":"gear","fields":{"enc":1}},{"id":"gear.purification-tablets","type":"gear","fields":{"enc":0,"techLevel":3}},{"id":"gear.radio","type":"gear","fields":{"enc":2,"cost":250,"techLevel":3}},{"id":"gear.ration","type":"gear","tags":["bundleable"],"fields":{"enc":1,"cost":1}},{"id":"gear.rope-fiber","type":"gear","fields":{"enc":2,"techLevel":0}},{"id":"gear.rope","type":"gear","fields":{"enc":1,"cost":5}},{"id":"gear.salvaged-tech","type":"gear","fields":{"enc":1,"techLevel":4}},{"id":"gear.scrap-tl2","type":"gear","fields":{"enc":1,"cost":10,"techLevel":2}},{"id":"gear.scrap-tl3","type":"gear","fields":{"enc":1,"cost":25,"techLevel":3}},{"id":"gear.sleeping-bag","type":"gear","fields":{"enc":1,"cost":10}},{"id":"gear.smartphone","type":"gear","fields":{"enc":1,"techLevel":3}},{"id":"gear.smile","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":250,"techLevel":4}},{"id":"gear.snooze","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":50,"techLevel":4}},{"id":"gear.solar-charger","type":"gear","fields":{"enc":2,"techLevel":3}},{"id":"gear.stimulant-crude","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":2}},{"id":"gear.stimulant-refined","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"cost":40,"techLevel":3}},{"id":"gear.surgical-kit","type":"gear","fields":{"enc":3,"cost":500}},{"id":"gear.tarp","type":"gear","fields":{"enc":2,"cost":10}},{"id":"gear.tent","type":"gear","fields":{"enc":3,"cost":20}},{"id":"gear.therapeutic-powerful","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"healSkill":1,"cost":500,"techLevel":3}},{"id":"gear.therapeutic","type":"gear","tags":["drug","bundleable"],"fields":{"enc":1,"healSkill":0,"cost":100,"techLevel":3}},{"id":"gear.thunderbolt","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"healSkill":1,"cost":500,"techLevel":4}},{"id":"gear.tinderbox","type":"gear","fields":{"enc":0,"techLevel":0}},{"id":"gear.titan","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"healSkill":0,"cost":250,"techLevel":4}},{"id":"gear.toolkit","type":"gear","fields":{"enc":3,"cost":50}},{"id":"gear.torch","type":"gear","tags":["bundleable"],"fields":{"enc":1,"techLevel":0}},{"id":"gear.trauma-patch","type":"gear","tags":["drug","stim"],"fields":{"enc":1,"cost":50,"techLevel":4}},{"id":"gear.walkie-talkie","type":"gear","fields":{"enc":1,"cost":50,"techLevel":3}},{"id":"gear.water-jug","type":"gear","fields":{"enc":1,"cost":2}},{"id":"gear.water-purifier","type":"gear","fields":{"enc":2,"techLevel":3}},{"id":"gear.weeper","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":500,"techLevel":4}},{"id":"gear.zen","type":"gear","tags":["drug","stim"],"fields":{"enc":0,"cost":100,"techLevel":4}},{"id":"mutation-categories.cognition","type":"mutationCategory"},{"id":"mutation-categories.exotic","type":"mutationCategory"},{"id":"mutation-categories.hybrid","type":"mutationCategory"},{"id":"mutation-categories.pseudo-psychic","type":"mutationCategory"},{"id":"mutation-categories.sense","type":"mutationCategory"},{"id":"mutation-categories.structure","type":"mutationCategory"},{"id":"mutations.cognition.augmented-cognition","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":1},"choices":[{"id":"attribute","from":{"values":["int","wis","cha"]},"recommend":"sortList(['int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-boost' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":1}]}]},{"id":"mutations.cognition.ballistic-calculator","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":2,"bonusSkill":["shoot"]}},{"id":"mutations.cognition.eidetic-memory","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":3,"bonusSkill":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]},"effects":[{"target":"skills.perLevel","op":"add","value":1}]},{"id":"mutations.cognition.internal-map","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":4}},{"id":"mutations.cognition.intuitive-leap","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":5,"bonusSkill":["notice"]},"effects":[{"target":"attributes.wis.boost","op":"add","value":1}]},{"id":"mutations.cognition.memory-eater","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":6}},{"id":"mutations.cognition.mental-bifurcation","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":7}},{"id":"mutations.cognition.mind-over-body","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":8},"effects":[{"target":"hp.attributeMod","op":"atLeast","value":"max(attributes.int.mod, attributes.wis.mod)"},{"target":"saves.physicalMod","op":"atLeast","value":"max(attributes.int.mod, attributes.wis.mod)"}]},{"id":"mutations.cognition.omniglot","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":9},"effects":[{"target":"attributes.cha.bonus","op":"add","value":1}]},{"id":"mutations.cognition.predictive-analysis","type":"mutation","fields":{"category":"mutation-categories.cognition","roll":10},"choices":[{"id":"attribute","from":{"values":["int","wis"]},"recommend":"sortList(['int', 'wis'], -fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-bonus' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":1}]}]},{"id":"mutations.exotic.chameleon-field","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":1,"bonusSkill":["sneak"]},"effects":[{"target":{"rolls":["skill.sneak"]},"op":"add","value":1}]},{"id":"mutations.exotic.electrical-generation","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":2}},{"id":"mutations.exotic.hemovore","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":3}},{"id":"mutations.exotic.image-projection","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":4}},{"id":"mutations.exotic.metamorph","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":5}},{"id":"mutations.exotic.molecular-phasing","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":6}},{"id":"mutations.exotic.natural-projectiles","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":7,"bonusSkill":["shoot"]},"standardCopies":[{"type":"weapon","where":"item.id == @weapons.natural.projectiles"}]},{"id":"mutations.exotic.pheromone-cloud","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":8}},{"id":"mutations.exotic.photon-manipulation","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":9}},{"id":"mutations.exotic.sound-generation","type":"mutation","fields":{"category":"mutation-categories.exotic","roll":10}},{"id":"mutations.hybrid.aquatic-adaptation","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":1}},{"id":"mutations.hybrid.arboreal-aptitude","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":2}},{"id":"mutations.hybrid.centauroid","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":3},"effects":[{"target":"move.base","op":"add","value":10}]},{"id":"mutations.hybrid.crushing-jaws","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":4},"standardCopies":[{"type":"weapon","where":"item.id == @weapons.natural.jaws"}]},{"id":"mutations.hybrid.digitigrade-legs","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":5},"effects":[{"target":"move.base","op":"add","value":5}]},{"id":"mutations.hybrid.functional-wings","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":6}},{"id":"mutations.hybrid.prehensile-limb","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":7}},{"id":"mutations.hybrid.savage-claws","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":8},"standardCopies":[{"type":"weapon","where":"item.id == @weapons.natural.claws"}]},{"id":"mutations.hybrid.thick-hide","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":9},"effects":[{"target":"ac.armor","op":"atLeast","value":"15 + floor(level / 2)"},{"target":"ac.armorVsGuns","op":"atLeast","value":"15 + floor(level / 2)"}]},{"id":"mutations.hybrid.venom-glands","type":"mutation","fields":{"category":"mutation-categories.hybrid","roll":10}},{"id":"mutations.pseudo-psychic.force-field","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":1}},{"id":"mutations.pseudo-psychic.induce-confusion","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":2}},{"id":"mutations.pseudo-psychic.limited-precognition","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":3}},{"id":"mutations.pseudo-psychic.mental-domination","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":4}},{"id":"mutations.pseudo-psychic.mind-reader","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":5}},{"id":"mutations.pseudo-psychic.neural-lockdown","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":6}},{"id":"mutations.pseudo-psychic.panic-wave","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":7}},{"id":"mutations.pseudo-psychic.spatial-displacement","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":8}},{"id":"mutations.pseudo-psychic.telekinetic-reach","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":9}},{"id":"mutations.pseudo-psychic.thermokinesis","type":"mutation","fields":{"category":"mutation-categories.pseudo-psychic","roll":10}},{"id":"mutations.sense.accelerated-perception","type":"mutation","fields":{"category":"mutation-categories.sense","roll":1}},{"id":"mutations.sense.acute-hearing","type":"mutation","tags":["hearing"],"fields":{"category":"mutation-categories.sense","roll":2}},{"id":"mutations.sense.acute-olfaction","type":"mutation","fields":{"category":"mutation-categories.sense","roll":3}},{"id":"mutations.sense.echolocation","type":"mutation","tags":["hearing"],"fields":{"category":"mutation-categories.sense","roll":4}},{"id":"mutations.sense.empathic-sensitivity","type":"mutation","fields":{"category":"mutation-categories.sense","roll":5},"effects":[{"target":{"rolls":["check"]},"op":"add","value":1,"when":"situational.social"}]},{"id":"mutations.sense.night-vision","type":"mutation","tags":["vision"],"fields":{"category":"mutation-categories.sense","roll":6}},{"id":"mutations.sense.panoptic-vision","type":"mutation","tags":["vision"],"fields":{"category":"mutation-categories.sense","roll":7}},{"id":"mutations.sense.tactile-analysis","type":"mutation","fields":{"category":"mutation-categories.sense","roll":8}},{"id":"mutations.sense.telescopic-sight","type":"mutation","tags":["vision"],"fields":{"category":"mutation-categories.sense","roll":9}},{"id":"mutations.sense.thermal-vision","type":"mutation","tags":["vision"],"fields":{"category":"mutation-categories.sense","roll":10}},{"id":"mutations.structure.augmented-muscle","type":"mutation","fields":{"category":"mutation-categories.structure","roll":1},"effects":[{"target":"encumbrance.strength","op":"add","value":4},{"target":"attributes.str.boost","op":"add","value":1}]},{"id":"mutations.structure.explosive-exertion","type":"mutation","fields":{"category":"mutation-categories.structure","roll":2}},{"id":"mutations.structure.hypercontortion","type":"mutation","fields":{"category":"mutation-categories.structure","roll":3}},{"id":"mutations.structure.improved-joints","type":"mutation","fields":{"category":"mutation-categories.structure","roll":4},"effects":[{"target":"move.base","op":"add","value":5},{"target":"attributes.dex.boost","op":"add","value":1}]},{"id":"mutations.structure.leaper","type":"mutation","fields":{"category":"mutation-categories.structure","roll":5}},{"id":"mutations.structure.redundant-organs","type":"mutation","fields":{"category":"mutation-categories.structure","roll":6},"effects":[{"target":"combat.traumaTarget","op":"add","value":1}]},{"id":"mutations.structure.regenerator","type":"mutation","fields":{"category":"mutation-categories.structure","roll":7}},{"id":"mutations.structure.reinforced-tissues","type":"mutation","fields":{"category":"mutation-categories.structure","roll":8},"effects":[{"target":"ac.bonus","op":"add","value":2},{"target":"hp.attributeMod","op":"atLeast","value":2}]},{"id":"mutations.structure.sealed-systems","type":"mutation","fields":{"category":"mutation-categories.structure","roll":9}},{"id":"mutations.structure.stamina-reserves","type":"mutation","fields":{"category":"mutation-categories.structure","roll":10}},{"id":"negative-mutations.animalistic-mentality","type":"negative","fields":{"roll":1},"effects":[{"target":"attributes.cha.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.anosmia","type":"negative","fields":{"roll":3},"effects":[{"target":"attributes.wis.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.attribute-deficiency","type":"negative","fields":{"roll":81},"choices":[{"id":"attribute","from":{"values":["str","dex","con","int","wis","cha"],"where":"value in choice.picks || fieldOf('attributes.{attribute}.score', value)\n == minList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))"},"recommend":"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-penalty' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":-1,"when":"!self.light"}]}]},{"id":"negative-mutations.awkward-mouth","type":"negative","fields":{"roll":5},"effects":[{"target":"skills.talk.cap","op":"atMost","value":-1,"when":"!self.light"},{"target":"skills.lead.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.bestial-hunger","type":"negative","fields":{"roll":7}},{"id":"negative-mutations.bleeder","type":"negative","fields":{"roll":9}},{"id":"negative-mutations.blindness","type":"negative","fields":{"roll":11},"effects":[{"target":"mutations.noVision","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.chronic-seizures","type":"negative","fields":{"roll":13}},{"id":"negative-mutations.clumsy-paws","type":"negative","fields":{"roll":15}},{"id":"negative-mutations.constant-secretions","type":"negative","fields":{"roll":17},"effects":[{"target":"encumbrance.armorFactor","op":"set","value":2,"when":"!self.light"},{"target":{"rolls":["check"]},"op":"rollModifier","value":{"kind":"advantage","of":"roll"},"when":"!self.light && situational.grapple"}]},{"id":"negative-mutations.deafness","type":"negative","fields":{"roll":19},"effects":[{"target":"mutations.noHearing","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.deficient-polycephaly","type":"negative","fields":{"roll":21},"choices":[{"id":"attribute","from":{"values":["int","wis"]},"recommend":"sortList(['int', 'wis'], fieldOf('attributes.{attribute}.score', x))[0]","effects":[{"target":{"fields":{"where":"'attribute-penalty' in item.tags && ('attribute.' + pick.value) in item.tags"}},"op":"add","value":-1,"when":"!self.light"}]}]},{"id":"negative-mutations.distorted-speech","type":"negative","fields":{"roll":23},"effects":[{"target":"skills.talk.cap","op":"atMost","value":-1,"when":"!self.light"},{"target":"skills.lead.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.distracted-mind","type":"negative","fields":{"roll":25}},{"id":"negative-mutations.energy-sink","type":"negative","fields":{"roll":27}},{"id":"negative-mutations.feeble-joints","type":"negative","fields":{"roll":29},"effects":[{"target":"attributes.str.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.feral-mind","type":"negative","fields":{"roll":31},"effects":[{"target":"attributes.int.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.fragile-system","type":"negative","fields":{"roll":33},"effects":[{"target":"strain.penalty","op":"add","value":-2,"when":"!self.light"},{"target":{"rolls":["save"]},"op":"add","value":-2,"when":"!self.light && (situational.versus == 'poison' || situational.versus == 'disease')"}]},{"id":"negative-mutations.glowbug","type":"negative","fields":{"roll":35},"effects":[{"target":"attributes.con.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.hemovore","type":"negative","fields":{"roll":37}},{"id":"negative-mutations.insensate-flesh","type":"negative","fields":{"roll":39},"effects":[{"target":"hp.dieBonus","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.light-sensitivity","type":"negative","fields":{"roll":41},"effects":[{"target":"defense.laserSensitive","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.loose-limbs","type":"negative","fields":{"roll":43},"effects":[{"target":"attributes.dex.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.low-resistances","type":"negative","fields":{"roll":45}},{"id":"negative-mutations.memory-damage","type":"negative","fields":{"roll":47},"effects":[{"target":"attributes.int.penalty","op":"add","value":-1,"when":"!self.light"},{"target":"skills.know.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.miasmic-stench","type":"negative","fields":{"roll":49},"effects":[{"target":{"rolls":["check"]},"op":"add","value":-1,"when":"!self.light && situational.social"}]},{"id":"negative-mutations.misshapen","type":"negative","fields":{"roll":51}},{"id":"negative-mutations.musclebound","type":"negative","fields":{"roll":53},"effects":[{"target":"attributes.dex.penalty","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.narrow-focus","type":"negative","fields":{"roll":55},"effects":[{"target":"attributes.wis.penalty","op":"add","value":-1,"when":"!self.light"},{"target":"skills.notice.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.overtaxed-physique","type":"negative","fields":{"roll":57},"effects":[{"target":"strain.penalty","op":"add","value":-3,"when":"!self.light"}]},{"id":"negative-mutations.place-blindness","type":"negative","fields":{"roll":59}},{"id":"negative-mutations.poor-eyesight","type":"negative","fields":{"roll":61},"effects":[{"target":"mutations.noVision","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.primitive-cognition","type":"negative","fields":{"roll":63},"effects":[{"target":"skills.perLevel","op":"add","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.sensitive-skin","type":"negative","fields":{"roll":65},"effects":[{"target":"mutations.sensitiveSkin","op":"set","value":true,"when":"!self.light"}]},{"id":"negative-mutations.short-lifespan","type":"negative","fields":{"roll":67}},{"id":"negative-mutations.sleep-dependence","type":"negative","fields":{"roll":69}},{"id":"negative-mutations.slow-development","type":"negative","fields":{"roll":71},"choices":[{"id":"favorite","from":{"values":["administer","connect","drive","exert","fix","heal","know","lead","notice","perform","program","punch","shoot","sneak","stab","survive","talk","trade","work"]},"recommend":"sortList(['administer', 'connect', 'drive', 'exert', 'fix', 'heal', 'know', 'lead', 'notice',\n 'perform', 'program', 'punch', 'shoot', 'sneak', 'stab', 'survive', 'talk', 'trade',\n 'work'], -fieldOf('skills.{skill}.level', x))[0]","effects":[{"target":{"fields":{"where":"'skill-cap' in item.tags && !(('skill.' + pick.value) in item.tags)"}},"op":"atMost","value":"max(0, (level >= 9 ? 4 : level >= 6 ? 3 : level >= 3 ? 2 : 1) - 1)","when":"!self.light"}]}]},{"id":"negative-mutations.spindly","type":"negative","fields":{"roll":73},"effects":[{"target":"attributes.str.penalty","op":"add","value":-1,"when":"!self.light"},{"target":"skills.exert.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.vexation-field","type":"negative","fields":{"roll":75},"effects":[{"target":"attributes.cha.penalty","op":"add","value":-1,"when":"!self.light"},{"target":"skills.lead.cap","op":"atMost","value":-1,"when":"!self.light"},{"target":"skills.connect.cap","op":"atMost","value":-1,"when":"!self.light"}]},{"id":"negative-mutations.voracious","type":"negative","fields":{"roll":77}},{"id":"negative-mutations.weak-heart","type":"negative","fields":{"roll":79},"effects":[{"target":"attributes.con.penalty","op":"add","value":-1,"when":"!self.light"},{"target":{"rolls":["skill.exert"]},"op":"rollModifier","value":{"kind":"disadvantage","of":"roll"},"when":"!self.light"}]},{"id":"prepared.backpack","type":"prepared","fields":{"gear":"gear.backpack","equipped":true}},{"id":"prepared.binoculars","type":"prepared","fields":{"gear":"gear.binoculars"}},{"id":"prepared.camping-kit","type":"prepared","fields":{"gear":"gear.camping-kit"}},{"id":"prepared.cash","type":"prepared","fields":{"gear":"gear.cash"}},{"id":"prepared.cold-weather-clothes","type":"prepared","fields":{"gear":"gear.clothes-cold-weather","equipped":true}},{"id":"prepared.criminal-firearm","type":"prepared","fields":{"gear":"weapons.semi-auto-shotgun","equipped":true,"extra":"gear.magazine","extraQuantity":2}},{"id":"prepared.first-aid-kit","type":"prepared","fields":{"gear":"gear.first-aid-kit"}},{"id":"prepared.flashlight","type":"prepared","fields":{"gear":"gear.flashlight"}},{"id":"prepared.heavy-pistol","type":"prepared","fields":{"gear":"weapons.heavy-pistol","equipped":true,"extra":"gear.magazine","extraQuantity":2}},{"id":"prepared.knife","type":"prepared","fields":{"gear":"weapons.knife","equipped":true}},{"id":"prepared.laptop","type":"prepared","fields":{"gear":"gear.laptop"}},{"id":"prepared.light-pistol","type":"prepared","fields":{"gear":"weapons.light-pistol","equipped":true,"extra":"gear.magazine","extraQuantity":2}},{"id":"prepared.lighters","type":"prepared","fields":{"gear":"gear.lighters"}},{"id":"prepared.lockpick-kit","type":"prepared","fields":{"gear":"gear.lockpick-kit"}},{"id":"prepared.preserved-food","type":"prepared","fields":{"gear":"gear.preserved-food"}},{"id":"prepared.profession-item","type":"prepared","fields":{"gear":"gear.profession-item"}},{"id":"prepared.purification-tablets","type":"prepared","fields":{"gear":"gear.purification-tablets"}},{"id":"prepared.radio","type":"prepared","fields":{"gear":"gear.radio"}},{"id":"prepared.rifle","type":"prepared","fields":{"gear":"weapons.rifle","equipped":true,"extra":"gear.magazine","extraQuantity":2}},{"id":"prepared.shotgun","type":"prepared","fields":{"gear":"weapons.shotgun","equipped":true,"extra":"gear.ammo","extraQuantity":2}},{"id":"prepared.sleeping-bag","type":"prepared","fields":{"gear":"gear.sleeping-bag"}},{"id":"prepared.smartphone","type":"prepared","fields":{"gear":"gear.smartphone"}},{"id":"prepared.solar-charger","type":"prepared","fields":{"gear":"gear.solar-charger"}},{"id":"prepared.tent","type":"prepared","fields":{"gear":"gear.tent"}},{"id":"prepared.toolkit","type":"prepared","fields":{"gear":"gear.toolkit"}},{"id":"prepared.walkie-talkies","type":"prepared","fields":{"gear":"gear.walkie-talkie","quantity":2}},{"id":"prepared.water-purifier","type":"prepared","fields":{"gear":"gear.water-purifier"}},{"id":"templates.unarmed-combatant","type":"template","appliesTo":{"type":"weapon","where":"item.id == @weapons.unarmed"},"fields":{"damage":"skills.punch.level >= 4 ? 1d12 + 1 : skills.punch.level == 3 ? 1d12\n : skills.punch.level == 2 ? 1d10 : skills.punch.level == 1 ? 1d8 : 1d6","shock":"max(0, skills.punch.level)","shockAc":15,"traumaDie":"1d6","traumaRating":2}},{"id":"weapons.anti-materiel-rifle","type":"weapon","tags":["rested","two-handed"],"fields":{"damage":"3d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":1000,"rangeLong":2000,"magazine":5,"enc":3,"techLevel":3,"traumaDie":"1d12","traumaRating":3}},{"id":"weapons.automatic-rifle","type":"weapon","tags":["suppress","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":200,"rangeLong":400,"magazine":10,"enc":4,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.axe","type":"weapon","tags":["thrown"],"fields":{"damage":"1d6","skills":["stab"],"attributes":["str","dex"],"rangeNormal":5,"rangeLong":10,"shock":1,"shockAc":15,"enc":1,"cost":20,"techLevel":1,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.big-axe","type":"weapon","tags":["two-handed"],"fields":{"damage":"1d10","skills":["stab"],"attributes":["str"],"shock":3,"shockAc":15,"enc":2,"cost":40,"techLevel":1,"traumaDie":"1d8","traumaRating":4}},{"id":"weapons.big-club","type":"weapon","tags":["nonlethal","two-handed"],"fields":{"damage":"1d10","skills":["stab"],"attributes":["str"],"shock":2,"shockAc":18,"enc":2,"cost":3,"techLevel":0,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.big-sword","type":"weapon","tags":["two-handed"],"fields":{"damage":"2d6","skills":["stab"],"attributes":["str"],"shock":2,"shockAc":15,"enc":2,"cost":50,"techLevel":1,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.blackout-rifle","type":"weapon","tags":["energy","nonlethal","two-handed"],"fields":{"damage":"2d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":6,"enc":2,"techLevel":4}},{"id":"weapons.club","type":"weapon","tags":["nonlethal","thrown"],"fields":{"damage":"1d4","skills":["stab"],"attributes":["str"],"rangeNormal":10,"rangeLong":20,"shock":1,"shockAc":18,"enc":1,"techLevel":0,"traumaDie":"1d6","traumaRating":2}},{"id":"weapons.combat-rifle","type":"weapon","tags":["burst","two-handed"],"fields":{"damage":"1d12","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":30,"enc":2,"cost":300,"techLevel":3,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.combat-shotgun","type":"weapon","tags":["burst","two-handed"],"fields":{"damage":"3d4","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"magazine":12,"enc":2,"cost":300,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.cutter-rifle","type":"weapon","tags":["energy","burst","two-handed"],"fields":{"damage":"1d12","skills":["shoot"],"attributes":["dex"],"rangeNormal":200,"rangeLong":400,"magazine":15,"enc":2,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.demo-charge","type":"weapon","tags":["placed"],"fields":{"damage":"3d10","skills":["shoot"],"rangeNormal":20,"rangeLong":20,"enc":1,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.grenade-flash","type":"weapon","tags":["grenade","thrown","bundleable"],"fields":{"skills":["exert","shoot","stab"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"enc":1,"cost":10,"techLevel":3}},{"id":"weapons.grenade-frag","type":"weapon","tags":["grenade","thrown","bundleable"],"fields":{"damage":"2d6","skills":["exert","shoot","stab"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"enc":1,"cost":20,"techLevel":3,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.grenade-gas","type":"weapon","tags":["grenade","nonlethal","thrown","bundleable"],"fields":{"damage":"1d10","skills":["exert","shoot","stab"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"enc":1,"cost":10,"techLevel":3}},{"id":"weapons.grenade-launcher","type":"weapon","fields":{"skills":["shoot"],"attributes":["dex"],"rangeNormal":150,"rangeLong":350,"magazine":3,"enc":1,"techLevel":3}},{"id":"weapons.grenade-smoke","type":"weapon","tags":["grenade","thrown","bundleable"],"fields":{"skills":["exert","shoot","stab"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"enc":1,"cost":10,"techLevel":3}},{"id":"weapons.heavy-cutter","type":"weapon","tags":["energy","suppress","two-handed"],"fields":{"damage":"3d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":400,"rangeLong":1500,"magazine":10,"enc":4,"techLevel":4,"traumaDie":"1d10","traumaRating":4}},{"id":"weapons.heavy-machine-gun","type":"weapon","tags":["rested","suppress","two-handed"],"fields":{"damage":"3d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":500,"rangeLong":2000,"magazine":10,"enc":3,"techLevel":3,"traumaDie":"1d12","traumaRating":3}},{"id":"weapons.heavy-pistol","type":"weapon","fields":{"damage":"1d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":100,"magazine":8,"enc":1,"cost":100,"techLevel":3,"traumaDie":"1d6","traumaRating":3}},{"id":"weapons.knife","type":"weapon","tags":["thrown"],"fields":{"damage":"1d4","skills":["stab"],"attributes":["str","dex"],"rangeNormal":10,"rangeLong":20,"shock":1,"shockAc":15,"enc":1,"cost":5,"techLevel":0,"traumaDie":"1d6","traumaRating":3}},{"id":"weapons.laser-pistol","type":"weapon","tags":["energy","laser"],"fields":{"damage":"1d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":10,"enc":1,"techLevel":4,"traumaDie":"1d6","traumaRating":2}},{"id":"weapons.laser-rifle","type":"weapon","tags":["energy","laser","burst","two-handed"],"fields":{"damage":"1d10","skills":["shoot"],"attributes":["dex"],"rangeNormal":300,"rangeLong":500,"magazine":20,"enc":2,"techLevel":4,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.light-pistol","type":"weapon","fields":{"damage":"1d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":80,"magazine":15,"enc":1,"cost":100,"techLevel":3,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.mag-pistol","type":"weapon","fields":{"damage":"2d6 + 2","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":6,"enc":1,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.mag-rifle","type":"weapon","tags":["two-handed"],"fields":{"damage":"2d8 + 2","skills":["shoot"],"attributes":["dex"],"rangeNormal":300,"rangeLong":600,"magazine":10,"enc":2,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.mine-anti-personnel","type":"weapon","tags":["placed"],"fields":{"damage":"1d8","skills":["shoot"],"enc":1,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.mine-anti-vehicle","type":"weapon","tags":["placed"],"fields":{"damage":"3d8","skills":["shoot"],"enc":2,"techLevel":3,"traumaDie":"1d20","traumaRating":3}},{"id":"weapons.modern-bow","type":"weapon","tags":["quick-reload","two-handed"],"fields":{"damage":"1d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":30,"rangeLong":200,"magazine":1,"enc":2,"cost":50,"techLevel":3,"traumaDie":"1d8 + 1","traumaRating":3}},{"id":"weapons.mortar","type":"weapon","tags":["two-handed"],"fields":{"damage":"3d6","skills":["shoot"],"attributes":["wis"],"rangeNormal":1000,"rangeLong":2000,"magazine":1,"enc":3,"techLevel":3,"traumaDie":"1d12","traumaRating":3}},{"id":"weapons.natural.claws","type":"weapon","tags":["natural"],"fields":{"damage":"1d6 + level","skills":["punch"],"attributes":["str","dex"],"enc":0,"traumaDie":"1d6","traumaRating":3,"shock":"ceil(level / 2)","shockAc":15}},{"id":"weapons.natural.jaws","type":"weapon","tags":["natural"],"fields":{"damage":"1d12","skills":["punch"],"attributes":["str","dex"],"enc":0,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.natural.projectiles","type":"weapon","tags":["natural"],"fields":{"damage":"1d10 + 2 + (level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0)","skills":["shoot"],"attributes":["dex"],"rangeNormal":200,"rangeLong":400,"enc":0,"traumaDie":"1d8","traumaRating":3,"hitBonus":"level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0"}},{"id":"weapons.neutron-blaster","type":"weapon","tags":["energy","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":30,"rangeLong":30,"magazine":6,"enc":2,"techLevel":5,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.plasma-projector","type":"weapon","tags":["energy","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":50,"rangeLong":100,"magazine":6,"enc":2,"techLevel":4,"traumaDie":"1d12","traumaRating":2}},{"id":"weapons.primitive-bow","type":"weapon","tags":["quick-reload","two-handed"],"fields":{"damage":"1d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":20,"rangeLong":100,"magazine":1,"enc":2,"cost":20,"techLevel":0,"traumaDie":"1d8","traumaRating":3,"kitAmmo":"gear.arrows"}},{"id":"weapons.rifle","type":"weapon","tags":["two-handed"],"fields":{"damage":"1d10 + 2","skills":["shoot"],"attributes":["dex"],"rangeNormal":200,"rangeLong":400,"magazine":6,"enc":2,"cost":200,"techLevel":2,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.rocket-launcher","type":"weapon","tags":["two-handed"],"fields":{"damage":"3d10","skills":["shoot"],"attributes":["dex"],"rangeNormal":2000,"rangeLong":4000,"enc":2,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.semi-auto-shotgun","type":"weapon","tags":["two-handed"],"fields":{"damage":"3d4","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"magazine":6,"enc":2,"cost":200,"techLevel":3,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.shear-rifle","type":"weapon","tags":["energy","burst","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":100,"rangeLong":300,"magazine":10,"enc":2,"techLevel":5,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.shotgun","type":"weapon","tags":["two-handed"],"fields":{"damage":"3d4","skills":["shoot"],"attributes":["dex"],"rangeNormal":10,"rangeLong":30,"magazine":2,"enc":2,"cost":100,"techLevel":2,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.sniper-rifle","type":"weapon","tags":["quick-reload","rested","two-handed"],"fields":{"damage":"2d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":1000,"rangeLong":2000,"magazine":1,"enc":2,"cost":250,"techLevel":3,"traumaDie":"1d10","traumaRating":4}},{"id":"weapons.spear","type":"weapon","tags":["thrown"],"fields":{"damage":"1d6","skills":["stab"],"attributes":["str","dex"],"rangeNormal":10,"rangeLong":20,"shock":2,"shockAc":13,"enc":1,"cost":5,"techLevel":0,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.spike-thrower","type":"weapon","tags":["burst","two-handed"],"fields":{"damage":"3d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":20,"rangeLong":40,"magazine":15,"enc":2,"techLevel":4,"traumaDie":"1d10","traumaRating":3}},{"id":"weapons.submachine-gun","type":"weapon","tags":["burst"],"fields":{"damage":"1d8","skills":["shoot"],"attributes":["dex"],"rangeNormal":30,"rangeLong":100,"magazine":20,"enc":1,"cost":200,"techLevel":3,"traumaDie":"1d6","traumaRating":2}},{"id":"weapons.sword","type":"weapon","fields":{"damage":"1d8","skills":["stab"],"attributes":["str","dex"],"shock":2,"shockAc":13,"enc":1,"cost":30,"techLevel":1,"traumaDie":"1d8","traumaRating":2}},{"id":"weapons.thermal-pistol","type":"weapon","tags":["energy"],"fields":{"damage":"2d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":25,"rangeLong":50,"magazine":5,"enc":1,"techLevel":4,"traumaDie":"1d10","traumaRating":2}},{"id":"weapons.tl4-big-sword","type":"weapon","tags":["two-handed"],"fields":{"damage":"2d8","skills":["stab"],"attributes":["str"],"shock":4,"shockAc":15,"enc":2,"cost":400,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.tl4-club","type":"weapon","tags":["nonlethal"],"fields":{"damage":"1d8","skills":["stab"],"attributes":["str"],"shock":2,"shockAc":18,"enc":1,"cost":300,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.tl4-knife","type":"weapon","tags":["thrown"],"fields":{"damage":"1d6","skills":["stab"],"attributes":["str","dex"],"rangeNormal":10,"rangeLong":20,"shock":2,"shockAc":15,"enc":1,"cost":200,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.tl4-sword","type":"weapon","fields":{"damage":"1d10","skills":["stab"],"attributes":["str","dex"],"shock":3,"shockAc":15,"enc":1,"cost":300,"techLevel":4,"traumaDie":"1d8","traumaRating":3}},{"id":"weapons.unarmed","type":"weapon","tags":["nonlethal"],"fields":{"damage":"1d2","skills":["punch"],"attributes":["str","dex"],"enc":0,"traumaDie":"1d6","traumaRating":1}},{"id":"weapons.whip-beam","type":"weapon","tags":["energy","two-handed"],"fields":{"damage":"2d6","skills":["shoot"],"attributes":["dex"],"rangeNormal":30,"rangeLong":60,"magazine":6,"enc":2,"techLevel":5,"traumaDie":"1d8","traumaRating":4}}],"upgrades":[],"formulas":{"!('repeatable' in item.tags)":{"text":"!('repeatable' in item.tags)","tree":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"repeatable"},"right":{"type":"name","path":["item","tags"]}}}},"!(params.entry in ['any-stat-1', 'physical2', 'mental2'])":{"text":"!(params.entry in ['any-stat-1', 'physical2', 'mental2'])","tree":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["params","entry"]},"right":{"type":"list","items":[{"type":"string","value":"any-stat-1"},{"type":"string","value":"physical2"},{"type":"string","value":"mental2"}]}}}},"!character.creating":{"text":"!character.creating","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}}},"!character.creating && !edges.underdog && attributes.boosts < 5\n && skills.points > attributes.boosts && level >= [2, 2, 3, 6, 9][attributes.boosts]":{"text":"!character.creating && !edges.underdog && attributes.boosts < 5 && skills.points > attributes.boosts && level >= [2, 2, 3, 6, 9][attributes.boosts]","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["edges","underdog"]}}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["attributes","boosts"]},"right":{"type":"int","value":5}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["skills","points"]},"right":{"type":"name","path":["attributes","boosts"]}}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"index","object":{"type":"list","items":[{"type":"int","value":2},{"type":"int","value":2},{"type":"int","value":3},{"type":"int","value":6},{"type":"int","value":9}]},"index":{"type":"name","path":["attributes","boosts"]}}}}},"!character.creating && (skills.points > 0 || maxList(keysOf('skill'), fieldOf('skills.{skill}.credit', x)) > 0)":{"text":"!character.creating && (skills.points > 0 || maxList(keysOf('skill'), fieldOf('skills.{skill}.credit', x)) > 0)","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":">","left":{"type":"name","path":["skills","points"]},"right":{"type":"int","value":0}},"right":{"type":"binary","op":">","left":{"type":"call","fn":"maxList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.credit"},{"type":"name","path":["x"]}]}]},"right":{"type":"int","value":0}}}}},"!character.creating && edges.count < edges.allowed":{"text":"!character.creating && edges.count < edges.allowed","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["edges","count"]},"right":{"type":"name","path":["edges","allowed"]}}}},"!character.creating && foci.count < foci.allowed":{"text":"!character.creating && foci.count < foci.allowed","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["foci","count"]},"right":{"type":"name","path":["foci","allowed"]}}}},"!character.creating && level < 10 && xp.current >= xp.next":{"text":"!character.creating && level < 10 && xp.current >= xp.next","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["level"]},"right":{"type":"int","value":10}}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["xp","current"]},"right":{"type":"name","path":["xp","next"]}}}},"!character.creating && mutations.points.left >= 1":{"text":"!character.creating && mutations.points.left >= 1","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["mutations","points","left"]},"right":{"type":"int","value":1}}}},"!character.creating || !edges.underdog || attributes.baseTotal <= -1":{"text":"!character.creating || !edges.underdog || attributes.baseTotal <= -1","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["edges","underdog"]}}},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","baseTotal"]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}}},"!character.creating || countCopies(copy.type == 'background') > 0":{"text":"!character.creating || countCopies(copy.type == 'background') > 0","tree":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"background"}}]},"right":{"type":"int","value":0}}}},"!character.creating || skills.highest <= 1":{"text":"!character.creating || skills.highest <= 1","tree":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"name","path":["character","creating"]}},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["skills","highest"]},"right":{"type":"int","value":1}}}},"!edges.underdog":{"text":"!edges.underdog","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["edges","underdog"]}}},"!flags.light && flags.added == @negative-mutations.awkward-mouth\n && countCopies(copy.item == @mutations.hybrid.crushing-jaws) == 0":{"text":"!flags.light && flags.added == @negative-mutations.awkward-mouth && countCopies(copy.item == @mutations.hybrid.crushing-jaws) == 0","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","light"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["flags","added"]},"right":{"type":"ref","id":"negative-mutations.awkward-mouth"}}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"ref","id":"mutations.hybrid.crushing-jaws"}}]},"right":{"type":"int","value":0}}}},"!flags.light && flags.added == @negative-mutations.blindness":{"text":"!flags.light && flags.added == @negative-mutations.blindness","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","light"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["flags","added"]},"right":{"type":"ref","id":"negative-mutations.blindness"}}}},"!flags.new":{"text":"!flags.new","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","new"]}}},"!flags.ok1":{"text":"!flags.ok1","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","ok1"]}}},"!flags.ok1 && !flags.ok2":{"text":"!flags.ok1 && !flags.ok2","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","ok1"]}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","ok2"]}}}},"!flags.roll":{"text":"!flags.roll","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["flags","roll"]}}},"!has(params.category)":{"text":"!has(params.category)","tree":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["params","category"]}]}}},"!has(params.targetAc) ? 'rolled' : steps.roll.band":{"text":"!has(params.targetAc) ? 'rolled' : steps.roll.band","tree":{"type":"conditional","test":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["params","targetAc"]}]}},"then":{"type":"string","value":"rolled"},"else":{"type":"name","path":["steps","roll","band"]}}},"!has(steps.damage) && self.shockDamage > 0\n && (self.shockAnyAc || flags.ac <= item.shockAc) ? self.shockDamage : 0":{"text":"!has(steps.damage) && self.shockDamage > 0 && (self.shockAnyAc || flags.ac <= item.shockAc) ? self.shockDamage : 0","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","damage"]}]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["self","shockDamage"]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":"||","left":{"type":"name","path":["self","shockAnyAc"]},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["flags","ac"]},"right":{"type":"name","path":["item","shockAc"]}}}},"then":{"type":"name","path":["self","shockDamage"]},"else":{"type":"int","value":0}}},"!has(steps.exact)":{"text":"!has(steps.exact)","tree":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","exact"]}]}}},"!has(steps.specialty)":{"text":"!has(steps.specialty)","tree":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","specialty"]}]}}},"!item.multiple":{"text":"!item.multiple","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["item","multiple"]}}},"!mutations.mutant":{"text":"!mutations.mutant","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["mutations","mutant"]}}},"!mutations.sensitiveSkin || countCopies(copy.type == 'armor' && copy.equipped && copy.fields.enc > 1) == 0":{"text":"!mutations.sensitiveSkin || countCopies(copy.type == 'armor' && copy.equipped && copy.fields.enc > 1) == 0","tree":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"name","path":["mutations","sensitiveSkin"]}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["copy","fields","enc"]},"right":{"type":"int","value":1}}}]},"right":{"type":"int","value":0}}}},"!params.random":{"text":"!params.random","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["params","random"]}}},"!self.equipped && has(item.enc) && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max":{"text":"!self.equipped && has(item.enc) && item.enc > 0 && encumbrance.stowed > encumbrance.stowed.max","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","equipped"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["item","enc"]}]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["item","enc"]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","stowed"]},"right":{"type":"name","path":["encumbrance","stowed","max"]}}}},"!self.equipped && has(item.enc) && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max\n && encumbrance.readied + item.enc * self.quantity <= encumbrance.readied.max":{"text":"!self.equipped && has(item.enc) && item.enc > 0 && encumbrance.stowed > encumbrance.stowed.max && encumbrance.readied + item.enc * self.quantity <= encumbrance.readied.max","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","equipped"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["item","enc"]}]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["item","enc"]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","stowed"]},"right":{"type":"name","path":["encumbrance","stowed","max"]}}},"right":{"type":"binary","op":"<=","left":{"type":"binary","op":"+","left":{"type":"name","path":["encumbrance","readied"]},"right":{"type":"binary","op":"*","left":{"type":"name","path":["item","enc"]},"right":{"type":"name","path":["self","quantity"]}}},"right":{"type":"name","path":["encumbrance","readied","max"]}}}},"!self.equipped && item.enc > 0\n && encumbrance.stowed > encumbrance.stowed.max":{"text":"!self.equipped && item.enc > 0 && encumbrance.stowed > encumbrance.stowed.max","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","equipped"]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["item","enc"]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","stowed"]},"right":{"type":"name","path":["encumbrance","stowed","max"]}}}},"!self.light":{"text":"!self.light","tree":{"type":"unary","op":"!","operand":{"type":"name","path":["self","light"]}}},"!self.light && (situational.versus == 'poison' || situational.versus == 'disease')":{"text":"!self.light && (situational.versus == 'poison' || situational.versus == 'disease')","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","light"]}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"poison"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"disease"}}}}},"!self.light && situational.grapple":{"text":"!self.light && situational.grapple","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","light"]}},"right":{"type":"name","path":["situational","grapple"]}}},"!self.light && situational.social":{"text":"!self.light && situational.social","tree":{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["self","light"]}},"right":{"type":"name","path":["situational","social"]}}},"''":{"text":"''","tree":{"type":"string","value":""}},"'1'":{"text":"'1'","tree":{"type":"string","value":"1"}},"'added'":{"text":"'added'","tree":{"type":"string","value":"added"}},"'advanced'":{"text":"'advanced'","tree":{"type":"string","value":"advanced"}},"'advancement' in item.tags":{"text":"'advancement' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"advancement"},"right":{"type":"name","path":["item","tags"]}}},"'armor.leathers'":{"text":"'armor.leathers'","tree":{"type":"string","value":"armor.leathers"}},"'armor.plate-carrier'":{"text":"'armor.plate-carrier'","tree":{"type":"string","value":"armor.plate-carrier"}},"'armor.protective-sport-gear'":{"text":"'armor.protective-sport-gear'","tree":{"type":"string","value":"armor.protective-sport-gear"}},"'armor.scrap-mail'":{"text":"'armor.scrap-mail'","tree":{"type":"string","value":"armor.scrap-mail"}},"'attack' in item.tags":{"text":"'attack' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"attack"},"right":{"type":"name","path":["item","tags"]}}},"'attribute' in item.tags":{"text":"'attribute' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"attribute"},"right":{"type":"name","path":["item","tags"]}}},"'attribute' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attribute' in item.tags || 'attribute-mod' in item.tags":{"text":"'attribute' in item.tags || 'attribute-mod' in item.tags","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-mod"},"right":{"type":"name","path":["item","tags"]}}}},"'attribute-base' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute-base' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-base"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attribute-bonus' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute-bonus' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-bonus"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attribute-boost' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute-boost' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-boost"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attribute-mod' in item.tags":{"text":"'attribute-mod' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-mod"},"right":{"type":"name","path":["item","tags"]}}},"'attribute-penalty' in item.tags && ('attribute.' + pick.value) in item.tags":{"text":"'attribute-penalty' in item.tags && 'attribute.' + pick.value in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"attribute-penalty"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"attribute."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}},"'attributes.' + params.attribute + '.score'":{"text":"'attributes.' + params.attribute + '.score'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"attributes."},"right":{"type":"name","path":["params","attribute"]}},"right":{"type":"string","value":".score"}}},"'attributes.' + picked.value + '.score'":{"text":"'attributes.' + picked.value + '.score'","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"string","value":"attributes."},"right":{"type":"name","path":["picked","value"]}},"right":{"type":"string","value":".score"}}},"'barred'":{"text":"'barred'","tree":{"type":"string","value":"barred"}},"'bought'":{"text":"'bought'","tree":{"type":"string","value":"bought"}},"'burst' in action.item.tags":{"text":"'burst' in action.item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"burst"},"right":{"type":"name","path":["action","item","tags"]}}},"'category'":{"text":"'category'","tree":{"type":"string","value":"category"}},"'check' in item.tags || 'save' in item.tags":{"text":"'check' in item.tags || 'save' in item.tags","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"string","value":"check"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"save"},"right":{"type":"name","path":["item","tags"]}}}},"'chosen'":{"text":"'chosen'","tree":{"type":"string","value":"chosen"}},"'created'":{"text":"'created'","tree":{"type":"string","value":"created"}},"'creation' in item.tags":{"text":"'creation' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"creation"},"right":{"type":"name","path":["item","tags"]}}},"'equipped'":{"text":"'equipped'","tree":{"type":"string","value":"equipped"}},"'free'":{"text":"'free'","tree":{"type":"string","value":"free"}},"'gained'":{"text":"'gained'","tree":{"type":"string","value":"gained"}},"'gear.ammo'":{"text":"'gear.ammo'","tree":{"type":"string","value":"gear.ammo"}},"'gear.arrows'":{"text":"'gear.arrows'","tree":{"type":"string","value":"gear.arrows"}},"'gear.backpack'":{"text":"'gear.backpack'","tree":{"type":"string","value":"gear.backpack"}},"'gear.batteries-rechargeable'":{"text":"'gear.batteries-rechargeable'","tree":{"type":"string","value":"gear.batteries-rechargeable"}},"'gear.binoculars'":{"text":"'gear.binoculars'","tree":{"type":"string","value":"gear.binoculars"}},"'gear.camping-kit'":{"text":"'gear.camping-kit'","tree":{"type":"string","value":"gear.camping-kit"}},"'gear.clothes'":{"text":"'gear.clothes'","tree":{"type":"string","value":"gear.clothes"}},"'gear.clothes-fine'":{"text":"'gear.clothes-fine'","tree":{"type":"string","value":"gear.clothes-fine"}},"'gear.crowbar'":{"text":"'gear.crowbar'","tree":{"type":"string","value":"gear.crowbar"}},"'gear.energy-cell-a'":{"text":"'gear.energy-cell-a'","tree":{"type":"string","value":"gear.energy-cell-a"}},"'gear.first-aid-kit'":{"text":"'gear.first-aid-kit'","tree":{"type":"string","value":"gear.first-aid-kit"}},"'gear.flashlight'":{"text":"'gear.flashlight'","tree":{"type":"string","value":"gear.flashlight"}},"'gear.hand-tool'":{"text":"'gear.hand-tool'","tree":{"type":"string","value":"gear.hand-tool"}},"'gear.jewelry'":{"text":"'gear.jewelry'","tree":{"type":"string","value":"gear.jewelry"}},"'gear.keepsake'":{"text":"'gear.keepsake'","tree":{"type":"string","value":"gear.keepsake"}},"'gear.lantern'":{"text":"'gear.lantern'","tree":{"type":"string","value":"gear.lantern"}},"'gear.lockpick-kit'":{"text":"'gear.lockpick-kit'","tree":{"type":"string","value":"gear.lockpick-kit"}},"'gear.magazine'":{"text":"'gear.magazine'","tree":{"type":"string","value":"gear.magazine"}},"'gear.oil-flask'":{"text":"'gear.oil-flask'","tree":{"type":"string","value":"gear.oil-flask"}},"'gear.perpetual-lighter'":{"text":"'gear.perpetual-lighter'","tree":{"type":"string","value":"gear.perpetual-lighter"}},"'gear.profession-item'":{"text":"'gear.profession-item'","tree":{"type":"string","value":"gear.profession-item"}},"'gear.ration'":{"text":"'gear.ration'","tree":{"type":"string","value":"gear.ration"}},"'gear.rope'":{"text":"'gear.rope'","tree":{"type":"string","value":"gear.rope"}},"'gear.rope-fiber'":{"text":"'gear.rope-fiber'","tree":{"type":"string","value":"gear.rope-fiber"}},"'gear.salvaged-tech'":{"text":"'gear.salvaged-tech'","tree":{"type":"string","value":"gear.salvaged-tech"}},"'gear.scrap-tl2'":{"text":"'gear.scrap-tl2'","tree":{"type":"string","value":"gear.scrap-tl2"}},"'gear.sleeping-bag'":{"text":"'gear.sleeping-bag'","tree":{"type":"string","value":"gear.sleeping-bag"}},"'gear.tinderbox'":{"text":"'gear.tinderbox'","tree":{"type":"string","value":"gear.tinderbox"}},"'gear.toolkit'":{"text":"'gear.toolkit'","tree":{"type":"string","value":"gear.toolkit"}},"'gear.torch'":{"text":"'gear.torch'","tree":{"type":"string","value":"gear.torch"}},"'gear.walkie-talkie'":{"text":"'gear.walkie-talkie'","tree":{"type":"string","value":"gear.walkie-talkie"}},"'improved'":{"text":"'improved'","tree":{"type":"string","value":"improved"}},"'laser' in item.tags && has(participants.target) && size(participants.target) > 0\n && participants.target[0].defense.laserSensitive":{"text":"'laser' in item.tags && has(participants.target) && size(participants.target) > 0 && participants.target[0].defense.laserSensitive","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"laser"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["participants","target"]}]}},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["participants","target"]}]},"right":{"type":"int","value":0}}},"right":{"type":"member","object":{"type":"member","object":{"type":"index","object":{"type":"name","path":["participants","target"]},"index":{"type":"int","value":0}},"name":"defense"},"name":"laserSensitive"}}},"'level-too-low'":{"text":"'level-too-low'","tree":{"type":"string","value":"level-too-low"}},"'maxed'":{"text":"'maxed'","tree":{"type":"string","value":"maxed"}},"'mutated'":{"text":"'mutated'","tree":{"type":"string","value":"mutated"}},"'mutations.hybrid.crushing-jaws'":{"text":"'mutations.hybrid.crushing-jaws'","tree":{"type":"string","value":"mutations.hybrid.crushing-jaws"}},"'none'":{"text":"'none'","tree":{"type":"string","value":"none"}},"'not-enough-points'":{"text":"'not-enough-points'","tree":{"type":"string","value":"not-enough-points"}},"'raise'":{"text":"'raise'","tree":{"type":"string","value":"raise"}},"'random'":{"text":"'random'","tree":{"type":"string","value":"random"}},"'reassigned'":{"text":"'reassigned'","tree":{"type":"string","value":"reassigned"}},"'roll'":{"text":"'roll'","tree":{"type":"string","value":"roll"}},"'rolled'":{"text":"'rolled'","tree":{"type":"string","value":"rolled"}},"'save' in item.tags":{"text":"'save' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"save"},"right":{"type":"name","path":["item","tags"]}}},"'skill' in item.tags":{"text":"'skill' in item.tags","tree":{"type":"binary","op":"in","left":{"type":"string","value":"skill"},"right":{"type":"name","path":["item","tags"]}}},"'skill-cap' in item.tags && !(('skill.' + pick.value) in item.tags)":{"text":"'skill-cap' in item.tags && !('skill.' + pick.value in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"skill-cap"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"skill."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["item","tags"]}}}}},"'spent'":{"text":"'spent'","tree":{"type":"string","value":"spent"}},"'stab' in item.skills || 'thrown' in item.tags":{"text":"'stab' in item.skills || 'thrown' in item.tags","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"string","value":"stab"},"right":{"type":"name","path":["item","skills"]}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"thrown"},"right":{"type":"name","path":["item","tags"]}}}},"'underdog'":{"text":"'underdog'","tree":{"type":"string","value":"underdog"}},"'unstable'":{"text":"'unstable'","tree":{"type":"string","value":"unstable"}},"'visible'":{"text":"'visible'","tree":{"type":"string","value":"visible"}},"'wasteland'":{"text":"'wasteland'","tree":{"type":"string","value":"wasteland"}},"'weapons.grenade-frag'":{"text":"'weapons.grenade-frag'","tree":{"type":"string","value":"weapons.grenade-frag"}},"'weapons.knife'":{"text":"'weapons.knife'","tree":{"type":"string","value":"weapons.knife"}},"'weapons.light-pistol'":{"text":"'weapons.light-pistol'","tree":{"type":"string","value":"weapons.light-pistol"}},"'weapons.primitive-bow'":{"text":"'weapons.primitive-bow'","tree":{"type":"string","value":"weapons.primitive-bow"}},"'weapons.rifle'":{"text":"'weapons.rifle'","tree":{"type":"string","value":"weapons.rifle"}},"'weapons.semi-auto-shotgun'":{"text":"'weapons.semi-auto-shotgun'","tree":{"type":"string","value":"weapons.semi-auto-shotgun"}},"'weapons.shotgun'":{"text":"'weapons.shotgun'","tree":{"type":"string","value":"weapons.shotgun"}},"(!(item.id in edges.held) || 'repeatable' in item.tags)\n && (!('first-edge' in item.tags) || (character.creating && edges.count == 0))\n && !('needs-mutant' in item.tags && !mutations.mutant)\n && !('makes-mutant' in item.tags && mutations.barred)\n && !('not-mutant' in item.tags && mutations.mutant)\n && !('not-underdog' in item.tags && edges.underdog)":{"text":"(!(item.id in edges.held) || 'repeatable' in item.tags) && (!('first-edge' in item.tags) || character.creating && edges.count == 0) && !('needs-mutant' in item.tags && !mutations.mutant) && !('makes-mutant' in item.tags && mutations.barred) && !('not-mutant' in item.tags && mutations.mutant) && !('not-underdog' in item.tags && edges.underdog)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["item","id"]},"right":{"type":"name","path":["edges","held"]}}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"repeatable"},"right":{"type":"name","path":["item","tags"]}}},"right":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"first-edge"},"right":{"type":"name","path":["item","tags"]}}},"right":{"type":"binary","op":"&&","left":{"type":"name","path":["character","creating"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["edges","count"]},"right":{"type":"int","value":0}}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"needs-mutant"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["mutations","mutant"]}}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"makes-mutant"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"name","path":["mutations","barred"]}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"not-mutant"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"name","path":["mutations","mutant"]}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"not-underdog"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"name","path":["edges","underdog"]}}}}},"(!has(params.category) || item.category == params.category)\n && countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)":{"text":"(!has(params.category) || item.category == params.category) && countCopies(copy.item == item.id) == 0 && !(mutations.noVision && 'vision' in item.tags) && !(mutations.noHearing && 'hearing' in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"||","left":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["params","category"]}]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["item","category"]},"right":{"type":"name","path":["params","category"]}}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noVision"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"vision"},"right":{"type":"name","path":["item","tags"]}}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noHearing"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"hearing"},"right":{"type":"name","path":["item","tags"]}}}}}},"('skill.' + pick.value) in roll.tags":{"text":"'skill.' + pick.value in roll.tags","tree":{"type":"binary","op":"in","left":{"type":"binary","op":"+","left":{"type":"string","value":"skill."},"right":{"type":"name","path":["pick","value"]}},"right":{"type":"name","path":["roll","tags"]}}},"(ac.shield ? (ac.armor >= 14 ? ac.armor + 1 : 14) : ac.armor) + attributes.dex.mod\n + ac.bonus":{"text":"(ac.shield ? (ac.armor >= 14 ? ac.armor + 1 : 14) : ac.armor) + attributes.dex.mod + ac.bonus","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"name","path":["ac","shield"]},"then":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["ac","armor"]},"right":{"type":"int","value":14}},"then":{"type":"binary","op":"+","left":{"type":"name","path":["ac","armor"]},"right":{"type":"int","value":1}},"else":{"type":"int","value":14}},"else":{"type":"name","path":["ac","armor"]}},"right":{"type":"name","path":["attributes","dex","mod"]}},"right":{"type":"name","path":["ac","bonus"]}}},"(countCopies(copy.item == item.id) == 0 || item.multiple\n || countCopies(copy.item == item.id && copy.state.level < item.maxLevel) > 0)\n && !(item.id in foci.held && countCopies(copy.item == item.id) == 0)\n && !('needs-mutant' in item.tags && !mutations.mutant)":{"text":"(countCopies(copy.item == item.id) == 0 || item.multiple || countCopies(copy.item == item.id && copy.state.level < item.maxLevel) > 0) && !(item.id in foci.held && countCopies(copy.item == item.id) == 0) && !('needs-mutant' in item.tags && !mutations.mutant)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"||","left":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}},"right":{"type":"name","path":["item","multiple"]}},"right":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["copy","state","level"]},"right":{"type":"name","path":["item","maxLevel"]}}}]},"right":{"type":"int","value":0}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"name","path":["item","id"]},"right":{"type":"name","path":["foci","held"]}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"binary","op":"in","left":{"type":"string","value":"needs-mutant"},"right":{"type":"name","path":["item","tags"]}},"right":{"type":"unary","op":"!","operand":{"type":"name","path":["mutations","mutant"]}}}}}},"(edges.forgedByFire ? 1 + min(3, level - 1) : 2) + (level >= 5 ? 1 : 0)\n + (edges.underdog ? 1 : 0) + (variant.giftedSurvivors && level >= 3 ? 1 : 0)":{"text":"(edges.forgedByFire ? 1 + min(3, level - 1) : 2) + (level >= 5 ? 1 : 0) + (edges.underdog ? 1 : 0) + (variant.giftedSurvivors && level >= 3 ? 1 : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"name","path":["edges","forgedByFire"]},"then":{"type":"binary","op":"+","left":{"type":"int","value":1},"right":{"type":"call","fn":"min","args":[{"type":"int","value":3},{"type":"binary","op":"-","left":{"type":"name","path":["level"]},"right":{"type":"int","value":1}}]}},"else":{"type":"int","value":2}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":5}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"name","path":["edges","underdog"]},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"name","path":["variant","giftedSurvivors"]},"right":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":3}}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}}},"(flags.near && (params.entry == 11 || params.entry == 14))\n || (flags.waste && (params.entry == 5 || params.entry == 18))":{"text":"flags.near && (params.entry == 11 || params.entry == 14) || flags.waste && (params.entry == 5 || params.entry == 18)","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":11}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":14}}}},"right":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":5}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":18}}}}}},"(flags.quick[0] == 'any-combat' ? flags.combat : [flags.quick[0]])\n + (flags.quick[1] == 'any-combat' ? flags.combat : [flags.quick[1]])":{"text":"(flags.quick[0] == 'any-combat' ? flags.combat : [flags.quick[0]]) + (flags.quick[1] == 'any-combat' ? flags.combat : [flags.quick[1]])","tree":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"index","object":{"type":"name","path":["flags","quick"]},"index":{"type":"int","value":0}},"right":{"type":"string","value":"any-combat"}},"then":{"type":"name","path":["flags","combat"]},"else":{"type":"list","items":[{"type":"index","object":{"type":"name","path":["flags","quick"]},"index":{"type":"int","value":0}}]}},"right":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"index","object":{"type":"name","path":["flags","quick"]},"index":{"type":"int","value":1}},"right":{"type":"string","value":"any-combat"}},"then":{"type":"name","path":["flags","combat"]},"else":{"type":"list","items":[{"type":"index","object":{"type":"name","path":["flags","quick"]},"index":{"type":"int","value":1}}]}}}},"(flags.rolled > flags.old ? flags.rolled : flags.old + 1) - flags.old":{"text":"(flags.rolled > flags.old ? flags.rolled : flags.old + 1) - flags.old","tree":{"type":"binary","op":"-","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["flags","rolled"]},"right":{"type":"name","path":["flags","old"]}},"then":{"type":"name","path":["flags","rolled"]},"else":{"type":"binary","op":"+","left":{"type":"name","path":["flags","old"]},"right":{"type":"int","value":1}}},"right":{"type":"name","path":["flags","old"]}}},"(has(steps.exact) && size(steps.exact.item.bonusSkill) > 0)\n || (has(steps.fallback) && size(steps.fallback.item.bonusSkill) > 0)":{"text":"has(steps.exact) && size(steps.exact.item.bonusSkill) > 0 || has(steps.fallback) && size(steps.fallback.item.bonusSkill) > 0","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","exact"]}]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","exact","item","bonusSkill"]}]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","fallback"]}]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","fallback","item","bonusSkill"]}]},"right":{"type":"int","value":0}}}}},"(level)d6":{"text":"(level)d6","tree":{"type":"dice","count":{"type":"name","path":["level"]},"sides":6,"modifiers":[]}},"(steps.nature.total == 1\n ? ['bright-hue', 'chromed', 'gemlike', 'gradient-hue', 'iridescent', 'luminescent',\n 'neon', 'opalescent', 'patchy', 'strobing', 'transparent', 'whorled']\n : steps.nature.total == 2\n ? ['beetle', 'bird', 'bovine', 'canine', 'equine', 'feline', 'fish', 'lizard',\n 'mollusk', 'snake', 'spider', 'turtle']\n : steps.nature.total == 4\n ? ['bark', 'flowers', 'fragrance', 'fronds', 'fungal', 'gnarled', 'insects',\n 'leaves', 'moss', 'pollen', 'sap', 'vegetative']\n : ['chitinous', 'feathered', 'fibrous', 'finned', 'furred', 'glassy', 'metallic',\n 'plated', 'scabrous', 'scaled', 'slimy', 'stony'])[steps.detail.total - 1]":{"text":"(steps.nature.total == 1 ? ['bright-hue', 'chromed', 'gemlike', 'gradient-hue', 'iridescent', 'luminescent', 'neon', 'opalescent', 'patchy', 'strobing', 'transparent', 'whorled'] : steps.nature.total == 2 ? ['beetle', 'bird', 'bovine', 'canine', 'equine', 'feline', 'fish', 'lizard', 'mollusk', 'snake', 'spider', 'turtle'] : steps.nature.total == 4 ? ['bark', 'flowers', 'fragrance', 'fronds', 'fungal', 'gnarled', 'insects', 'leaves', 'moss', 'pollen', 'sap', 'vegetative'] : ['chitinous', 'feathered', 'fibrous', 'finned', 'furred', 'glassy', 'metallic', 'plated', 'scabrous', 'scaled', 'slimy', 'stony'])[steps.detail.total - 1]","tree":{"type":"index","object":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","nature","total"]},"right":{"type":"int","value":1}},"then":{"type":"list","items":[{"type":"string","value":"bright-hue"},{"type":"string","value":"chromed"},{"type":"string","value":"gemlike"},{"type":"string","value":"gradient-hue"},{"type":"string","value":"iridescent"},{"type":"string","value":"luminescent"},{"type":"string","value":"neon"},{"type":"string","value":"opalescent"},{"type":"string","value":"patchy"},{"type":"string","value":"strobing"},{"type":"string","value":"transparent"},{"type":"string","value":"whorled"}]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","nature","total"]},"right":{"type":"int","value":2}},"then":{"type":"list","items":[{"type":"string","value":"beetle"},{"type":"string","value":"bird"},{"type":"string","value":"bovine"},{"type":"string","value":"canine"},{"type":"string","value":"equine"},{"type":"string","value":"feline"},{"type":"string","value":"fish"},{"type":"string","value":"lizard"},{"type":"string","value":"mollusk"},{"type":"string","value":"snake"},{"type":"string","value":"spider"},{"type":"string","value":"turtle"}]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","nature","total"]},"right":{"type":"int","value":4}},"then":{"type":"list","items":[{"type":"string","value":"bark"},{"type":"string","value":"flowers"},{"type":"string","value":"fragrance"},{"type":"string","value":"fronds"},{"type":"string","value":"fungal"},{"type":"string","value":"gnarled"},{"type":"string","value":"insects"},{"type":"string","value":"leaves"},{"type":"string","value":"moss"},{"type":"string","value":"pollen"},{"type":"string","value":"sap"},{"type":"string","value":"vegetative"}]},"else":{"type":"list","items":[{"type":"string","value":"chitinous"},{"type":"string","value":"feathered"},{"type":"string","value":"fibrous"},{"type":"string","value":"finned"},{"type":"string","value":"furred"},{"type":"string","value":"glassy"},{"type":"string","value":"metallic"},{"type":"string","value":"plated"},{"type":"string","value":"scabrous"},{"type":"string","value":"scaled"},{"type":"string","value":"slimy"},{"type":"string","value":"stony"}]}}}},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","detail","total"]},"right":{"type":"int","value":1}}}},"(strain.penalty < 0\n ? max(min(3, attributes.con.score), attributes.con.score + strain.penalty)\n : attributes.con.score) + max(0, min(strain.bonus,\n strain.bonusCap - attributes.con.score))":{"text":"(strain.penalty < 0 ? max(min(3, attributes.con.score), attributes.con.score + strain.penalty) : attributes.con.score) + max(0, min(strain.bonus, strain.bonusCap - attributes.con.score))","tree":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":"<","left":{"type":"name","path":["strain","penalty"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"call","fn":"min","args":[{"type":"int","value":3},{"type":"name","path":["attributes","con","score"]}]},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"name","path":["strain","penalty"]}}]},"else":{"type":"name","path":["attributes","con","score"]}},"right":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"call","fn":"min","args":[{"type":"name","path":["strain","bonus"]},{"type":"binary","op":"-","left":{"type":"name","path":["strain","bonusCap"]},"right":{"type":"name","path":["attributes","con","score"]}}]}]}}},"-flags.cost":{"text":"-flags.cost","tree":{"type":"unary","op":"-","operand":{"type":"name","path":["flags","cost"]}}},"1 + (level >= 2 ? 1 : 0) + (level >= 5 ? 1 : 0) + (level >= 7 ? 1 : 0)\n + (level >= 10 ? 1 : 0) + foci.bonus":{"text":"1 + (level >= 2 ? 1 : 0) + (level >= 5 ? 1 : 0) + (level >= 7 ? 1 : 0) + (level >= 10 ? 1 : 0) + foci.bonus","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"int","value":1},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":2}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":5}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":7}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":10}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"name","path":["foci","bonus"]}}},"15 + floor(level / 2)":{"text":"15 + floor(level / 2)","tree":{"type":"binary","op":"+","left":{"type":"int","value":15},"right":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"name","path":["level"]},"right":{"type":"int","value":2}}]}}},"16 - level":{"text":"16 - level","tree":{"type":"binary","op":"-","left":{"type":"int","value":16},"right":{"type":"name","path":["level"]}}},"16 - level - saves.evasionMod":{"text":"16 - level - saves.evasionMod","tree":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"int","value":16},"right":{"type":"name","path":["level"]}},"right":{"type":"name","path":["saves","evasionMod"]}}},"16 - level - saves.mentalMod":{"text":"16 - level - saves.mentalMod","tree":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"int","value":16},"right":{"type":"name","path":["level"]}},"right":{"type":"name","path":["saves","mentalMod"]}}},"16 - level - saves.physicalMod":{"text":"16 - level - saves.physicalMod","tree":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"int","value":16},"right":{"type":"name","path":["level"]}},"right":{"type":"name","path":["saves","physicalMod"]}}},"1d10":{"text":"1d10","tree":{"type":"dice","count":1,"sides":10,"modifiers":[]}},"1d10 + 2":{"text":"1d10 + 2","tree":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":10,"modifiers":[]},"right":{"type":"int","value":2}}},"1d10 + 2 + (level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0)":{"text":"1d10 + 2 + (level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":10,"modifiers":[]},"right":{"type":"int","value":2}},"right":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":9}},"then":{"type":"int","value":3},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":6}},"then":{"type":"int","value":2},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":3}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}}}}},"1d100":{"text":"1d100","tree":{"type":"dice","count":1,"sides":100,"modifiers":[]}},"1d12":{"text":"1d12","tree":{"type":"dice","count":1,"sides":12,"modifiers":[]}},"1d2":{"text":"1d2","tree":{"type":"dice","count":1,"sides":2,"modifiers":[]}},"1d20":{"text":"1d20","tree":{"type":"dice","count":1,"sides":20,"modifiers":[]}},"1d4":{"text":"1d4","tree":{"type":"dice","count":1,"sides":4,"modifiers":[]}},"1d5":{"text":"1d5","tree":{"type":"dice","count":1,"sides":5,"modifiers":[]}},"1d6":{"text":"1d6","tree":{"type":"dice","count":1,"sides":6,"modifiers":[]}},"1d6 + level":{"text":"1d6 + level","tree":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":6,"modifiers":[]},"right":{"type":"name","path":["level"]}}},"1d8":{"text":"1d8","tree":{"type":"dice","count":1,"sides":8,"modifiers":[]}},"1d8 + 1":{"text":"1d8 + 1","tree":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":8,"modifiers":[]},"right":{"type":"int","value":1}}},"2d6":{"text":"2d6","tree":{"type":"dice","count":2,"sides":6,"modifiers":[]}},"2d6 + 2":{"text":"2d6 + 2","tree":{"type":"binary","op":"+","left":{"type":"dice","count":2,"sides":6,"modifiers":[]},"right":{"type":"int","value":2}}},"2d6kh2":{"text":"2d6kh2","tree":{"type":"dice","count":2,"sides":6,"modifiers":[{"type":"keepHighest","count":2}]}},"2d8":{"text":"2d8","tree":{"type":"dice","count":2,"sides":8,"modifiers":[]}},"2d8 + 2":{"text":"2d8 + 2","tree":{"type":"binary","op":"+","left":{"type":"dice","count":2,"sides":8,"modifiers":[]},"right":{"type":"int","value":2}}},"3d10":{"text":"3d10","tree":{"type":"dice","count":3,"sides":10,"modifiers":[]}},"3d4":{"text":"3d4","tree":{"type":"dice","count":3,"sides":4,"modifiers":[]}},"3d6":{"text":"3d6","tree":{"type":"dice","count":3,"sides":6,"modifiers":[]}},"3d8":{"text":"3d8","tree":{"type":"dice","count":3,"sides":8,"modifiers":[]}},"6 + maxCopies(copy.fields.traumaMod, copy.type == 'armor' && copy.equipped\n && has(copy.fields.traumaMod))":{"text":"6 + maxCopies(copy.fields.traumaMod, copy.type == 'armor' && copy.equipped && has(copy.fields.traumaMod))","tree":{"type":"binary","op":"+","left":{"type":"int","value":6},"right":{"type":"call","fn":"maxCopies","args":[{"type":"name","path":["copy","fields","traumaMod"]},{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["copy","fields","traumaMod"]}]}}]}}},"['appearance', 'animal', 'size', 'plant', 'amorphous', 'mineral'][steps.nature.total - 1]":{"text":"['appearance', 'animal', 'size', 'plant', 'amorphous', 'mineral'][steps.nature.total - 1]","tree":{"type":"index","object":{"type":"list","items":[{"type":"string","value":"appearance"},{"type":"string","value":"animal"},{"type":"string","value":"size"},{"type":"string","value":"plant"},{"type":"string","value":"amorphous"},{"type":"string","value":"mineral"}]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","nature","total"]},"right":{"type":"int","value":1}}}},"['head', 'arms', 'legs', 'torso', 'senses'][(steps.part.total == 6\n ? steps.extra1.total : steps.part.total) - 1]":{"text":"['head', 'arms', 'legs', 'torso', 'senses'][(steps.part.total == 6 ? steps.extra1.total : steps.part.total) - 1]","tree":{"type":"index","object":{"type":"list","items":[{"type":"string","value":"head"},{"type":"string","value":"arms"},{"type":"string","value":"legs"},{"type":"string","value":"torso"},{"type":"string","value":"senses"}]},"index":{"type":"binary","op":"-","left":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","part","total"]},"right":{"type":"int","value":6}},"then":{"type":"name","path":["steps","extra1","total"]},"else":{"type":"name","path":["steps","part","total"]}},"right":{"type":"int","value":1}}}},"[2, 2, 3, 6, 9][attributes.boosts]":{"text":"[2, 2, 3, 6, 9][attributes.boosts]","tree":{"type":"index","object":{"type":"list","items":[{"type":"int","value":2},{"type":"int","value":2},{"type":"int","value":3},{"type":"int","value":6},{"type":"int","value":9}]},"index":{"type":"name","path":["attributes","boosts"]}}},"[@negative-mutations.animalistic-mentality, @negative-mutations.anosmia,\n @negative-mutations.awkward-mouth, @negative-mutations.bestial-hunger,\n @negative-mutations.bleeder, @negative-mutations.blindness,\n @negative-mutations.chronic-seizures, @negative-mutations.clumsy-paws,\n @negative-mutations.constant-secretions, @negative-mutations.deafness,\n @negative-mutations.deficient-polycephaly, @negative-mutations.distorted-speech,\n @negative-mutations.distracted-mind, @negative-mutations.energy-sink,\n @negative-mutations.feeble-joints, @negative-mutations.feral-mind,\n @negative-mutations.fragile-system, @negative-mutations.glowbug,\n @negative-mutations.hemovore, @negative-mutations.insensate-flesh,\n @negative-mutations.light-sensitivity, @negative-mutations.loose-limbs,\n @negative-mutations.low-resistances, @negative-mutations.memory-damage,\n @negative-mutations.miasmic-stench, @negative-mutations.misshapen,\n @negative-mutations.musclebound, @negative-mutations.narrow-focus,\n @negative-mutations.overtaxed-physique, @negative-mutations.place-blindness,\n @negative-mutations.poor-eyesight, @negative-mutations.primitive-cognition,\n @negative-mutations.sensitive-skin, @negative-mutations.short-lifespan,\n @negative-mutations.sleep-dependence, @negative-mutations.slow-development,\n @negative-mutations.spindly, @negative-mutations.vexation-field,\n @negative-mutations.voracious, @negative-mutations.weak-heart,\n @negative-mutations.attribute-deficiency]":{"text":"[@negative-mutations.animalistic-mentality, @negative-mutations.anosmia, @negative-mutations.awkward-mouth, @negative-mutations.bestial-hunger, @negative-mutations.bleeder, @negative-mutations.blindness, @negative-mutations.chronic-seizures, @negative-mutations.clumsy-paws, @negative-mutations.constant-secretions, @negative-mutations.deafness, @negative-mutations.deficient-polycephaly, @negative-mutations.distorted-speech, @negative-mutations.distracted-mind, @negative-mutations.energy-sink, @negative-mutations.feeble-joints, @negative-mutations.feral-mind, @negative-mutations.fragile-system, @negative-mutations.glowbug, @negative-mutations.hemovore, @negative-mutations.insensate-flesh, @negative-mutations.light-sensitivity, @negative-mutations.loose-limbs, @negative-mutations.low-resistances, @negative-mutations.memory-damage, @negative-mutations.miasmic-stench, @negative-mutations.misshapen, @negative-mutations.musclebound, @negative-mutations.narrow-focus, @negative-mutations.overtaxed-physique, @negative-mutations.place-blindness, @negative-mutations.poor-eyesight, @negative-mutations.primitive-cognition, @negative-mutations.sensitive-skin, @negative-mutations.short-lifespan, @negative-mutations.sleep-dependence, @negative-mutations.slow-development, @negative-mutations.spindly, @negative-mutations.vexation-field, @negative-mutations.voracious, @negative-mutations.weak-heart, @negative-mutations.attribute-deficiency]","tree":{"type":"list","items":[{"type":"ref","id":"negative-mutations.animalistic-mentality"},{"type":"ref","id":"negative-mutations.anosmia"},{"type":"ref","id":"negative-mutations.awkward-mouth"},{"type":"ref","id":"negative-mutations.bestial-hunger"},{"type":"ref","id":"negative-mutations.bleeder"},{"type":"ref","id":"negative-mutations.blindness"},{"type":"ref","id":"negative-mutations.chronic-seizures"},{"type":"ref","id":"negative-mutations.clumsy-paws"},{"type":"ref","id":"negative-mutations.constant-secretions"},{"type":"ref","id":"negative-mutations.deafness"},{"type":"ref","id":"negative-mutations.deficient-polycephaly"},{"type":"ref","id":"negative-mutations.distorted-speech"},{"type":"ref","id":"negative-mutations.distracted-mind"},{"type":"ref","id":"negative-mutations.energy-sink"},{"type":"ref","id":"negative-mutations.feeble-joints"},{"type":"ref","id":"negative-mutations.feral-mind"},{"type":"ref","id":"negative-mutations.fragile-system"},{"type":"ref","id":"negative-mutations.glowbug"},{"type":"ref","id":"negative-mutations.hemovore"},{"type":"ref","id":"negative-mutations.insensate-flesh"},{"type":"ref","id":"negative-mutations.light-sensitivity"},{"type":"ref","id":"negative-mutations.loose-limbs"},{"type":"ref","id":"negative-mutations.low-resistances"},{"type":"ref","id":"negative-mutations.memory-damage"},{"type":"ref","id":"negative-mutations.miasmic-stench"},{"type":"ref","id":"negative-mutations.misshapen"},{"type":"ref","id":"negative-mutations.musclebound"},{"type":"ref","id":"negative-mutations.narrow-focus"},{"type":"ref","id":"negative-mutations.overtaxed-physique"},{"type":"ref","id":"negative-mutations.place-blindness"},{"type":"ref","id":"negative-mutations.poor-eyesight"},{"type":"ref","id":"negative-mutations.primitive-cognition"},{"type":"ref","id":"negative-mutations.sensitive-skin"},{"type":"ref","id":"negative-mutations.short-lifespan"},{"type":"ref","id":"negative-mutations.sleep-dependence"},{"type":"ref","id":"negative-mutations.slow-development"},{"type":"ref","id":"negative-mutations.spindly"},{"type":"ref","id":"negative-mutations.vexation-field"},{"type":"ref","id":"negative-mutations.voracious"},{"type":"ref","id":"negative-mutations.weak-heart"},{"type":"ref","id":"negative-mutations.attribute-deficiency"}]}},"[steps.background.item.growth1, steps.background.item.growth2,\n steps.background.item.growth3, steps.background.item.growth4,\n steps.background.item.growth5, steps.background.item.growth6]":{"text":"[steps.background.item.growth1, steps.background.item.growth2, steps.background.item.growth3, steps.background.item.growth4, steps.background.item.growth5, steps.background.item.growth6]","tree":{"type":"list","items":[{"type":"name","path":["steps","background","item","growth1"]},{"type":"name","path":["steps","background","item","growth2"]},{"type":"name","path":["steps","background","item","growth3"]},{"type":"name","path":["steps","background","item","growth4"]},{"type":"name","path":["steps","background","item","growth5"]},{"type":"name","path":["steps","background","item","growth6"]}]}},"[steps.background.item.learning1, steps.background.item.learning2,\n steps.background.item.learning3, steps.background.item.learning4,\n steps.background.item.learning5, steps.background.item.learning6,\n steps.background.item.learning7, steps.background.item.learning8]":{"text":"[steps.background.item.learning1, steps.background.item.learning2, steps.background.item.learning3, steps.background.item.learning4, steps.background.item.learning5, steps.background.item.learning6, steps.background.item.learning7, steps.background.item.learning8]","tree":{"type":"list","items":[{"type":"name","path":["steps","background","item","learning1"]},{"type":"name","path":["steps","background","item","learning2"]},{"type":"name","path":["steps","background","item","learning3"]},{"type":"name","path":["steps","background","item","learning4"]},{"type":"name","path":["steps","background","item","learning5"]},{"type":"name","path":["steps","background","item","learning6"]},{"type":"name","path":["steps","background","item","learning7"]},{"type":"name","path":["steps","background","item","learning8"]}]}},"[steps.background.item.quickSkill1, steps.background.item.quickSkill2]":{"text":"[steps.background.item.quickSkill1, steps.background.item.quickSkill2]","tree":{"type":"list","items":[{"type":"name","path":["steps","background","item","quickSkill1"]},{"type":"name","path":["steps","background","item","quickSkill2"]}]}},"ac.armorVsGuns + attributes.dex.mod + ac.bonus":{"text":"ac.armorVsGuns + attributes.dex.mod + ac.bonus","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["ac","armorVsGuns"]},"right":{"type":"name","path":["attributes","dex","mod"]}},"right":{"type":"name","path":["ac","bonus"]}}},"attributes.baseTotal <= -1":{"text":"attributes.baseTotal <= -1","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","baseTotal"]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}},"attributes.boosts + 1":{"text":"attributes.boosts + 1","tree":{"type":"binary","op":"+","left":{"type":"name","path":["attributes","boosts"]},"right":{"type":"int","value":1}}},"attributes.cha.score <= 3 ? -2 : attributes.cha.score <= 7 ? -1\n : attributes.cha.score <= 13 ? 0 : attributes.cha.score <= 17 ? 1 : 2":{"text":"attributes.cha.score <= 3 ? -2 : attributes.cha.score <= 7 ? -1 : attributes.cha.score <= 13 ? 0 : attributes.cha.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","cha","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","cha","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","cha","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","cha","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.con.mod":{"text":"attributes.con.mod","tree":{"type":"name","path":["attributes","con","mod"]}},"attributes.con.score <= 3 ? -2 : attributes.con.score <= 7 ? -1\n : attributes.con.score <= 13 ? 0 : attributes.con.score <= 17 ? 1 : 2":{"text":"attributes.con.score <= 3 ? -2 : attributes.con.score <= 7 ? -1 : attributes.con.score <= 13 ? 0 : attributes.con.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","con","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.dex.mod > attributes.str.mod ? ['shoot', 'stab', 'punch'] : ['stab', 'shoot', 'punch']":{"text":"attributes.dex.mod > attributes.str.mod ? ['shoot', 'stab', 'punch'] : ['stab', 'shoot', 'punch']","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","dex","mod"]},"right":{"type":"name","path":["attributes","str","mod"]}},"then":{"type":"list","items":[{"type":"string","value":"shoot"},{"type":"string","value":"stab"},{"type":"string","value":"punch"}]},"else":{"type":"list","items":[{"type":"string","value":"stab"},{"type":"string","value":"shoot"},{"type":"string","value":"punch"}]}}},"attributes.dex.score <= 3 ? -2 : attributes.dex.score <= 7 ? -1\n : attributes.dex.score <= 13 ? 0 : attributes.dex.score <= 17 ? 1 : 2":{"text":"attributes.dex.score <= 3 ? -2 : attributes.dex.score <= 7 ? -1 : attributes.dex.score <= 13 ? 0 : attributes.dex.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","dex","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","dex","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","dex","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","dex","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.int.score <= 3 ? -2 : attributes.int.score <= 7 ? -1\n : attributes.int.score <= 13 ? 0 : attributes.int.score <= 17 ? 1 : 2":{"text":"attributes.int.score <= 3 ? -2 : attributes.int.score <= 7 ? -1 : attributes.int.score <= 13 ? 0 : attributes.int.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","int","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","int","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","int","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","int","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.str.base + attributes.dex.base + attributes.con.base + attributes.int.base\n + attributes.wis.base + attributes.cha.base":{"text":"attributes.str.base + attributes.dex.base + attributes.con.base + attributes.int.base + attributes.wis.base + attributes.cha.base","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["attributes","str","base"]},"right":{"type":"name","path":["attributes","dex","base"]}},"right":{"type":"name","path":["attributes","con","base"]}},"right":{"type":"name","path":["attributes","int","base"]}},"right":{"type":"name","path":["attributes","wis","base"]}},"right":{"type":"name","path":["attributes","cha","base"]}}},"attributes.str.score":{"text":"attributes.str.score","tree":{"type":"name","path":["attributes","str","score"]}},"attributes.str.score <= 3 ? -2 : attributes.str.score <= 7 ? -1\n : attributes.str.score <= 13 ? 0 : attributes.str.score <= 17 ? 1 : 2":{"text":"attributes.str.score <= 3 ? -2 : attributes.str.score <= 7 ? -1 : attributes.str.score <= 13 ? 0 : attributes.str.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","str","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","str","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","str","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","str","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"attributes.wis.score":{"text":"attributes.wis.score","tree":{"type":"name","path":["attributes","wis","score"]}},"attributes.wis.score <= 3 ? -2 : attributes.wis.score <= 7 ? -1\n : attributes.wis.score <= 13 ? 0 : attributes.wis.score <= 17 ? 1 : 2":{"text":"attributes.wis.score <= 3 ? -2 : attributes.wis.score <= 7 ? -1 : attributes.wis.score <= 13 ? 0 : attributes.wis.score <= 17 ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","wis","score"]},"right":{"type":"int","value":3}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","wis","score"]},"right":{"type":"int","value":7}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","wis","score"]},"right":{"type":"int","value":13}},"then":{"type":"int","value":0},"else":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["attributes","wis","score"]},"right":{"type":"int","value":17}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}}}}},"ceil(level / 2)":{"text":"ceil(level / 2)","tree":{"type":"call","fn":"ceil","args":[{"type":"binary","op":"/","left":{"type":"name","path":["level"]},"right":{"type":"int","value":2}}]}},"character.creating":{"text":"character.creating","tree":{"type":"name","path":["character","creating"]}},"character.creating && countCopies(copy.type == 'background') == 0":{"text":"character.creating && countCopies(copy.type == 'background') == 0","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["character","creating"]},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"background"}}]},"right":{"type":"int","value":0}}}},"character.creating || encumbrance.overload <= 2":{"text":"character.creating || encumbrance.overload <= 2","tree":{"type":"binary","op":"||","left":{"type":"name","path":["character","creating"]},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["encumbrance","overload"]},"right":{"type":"int","value":2}}}},"combat.attackBonus + (self.skillLevel < 0 ? -2 : self.skillLevel) + self.attributeMod\n + item.hitBonus + ('energy' in item.tags ? 1 : 0) + (self.close ? combat.melee.hit : 0)\n + (self.armed ? combat.armed.hit : 0)":{"text":"combat.attackBonus + (self.skillLevel < 0 ? -2 : self.skillLevel) + self.attributeMod + item.hitBonus + ('energy' in item.tags ? 1 : 0) + (self.close ? combat.melee.hit : 0) + (self.armed ? combat.armed.hit : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["combat","attackBonus"]},"right":{"type":"conditional","test":{"type":"binary","op":"<","left":{"type":"name","path":["self","skillLevel"]},"right":{"type":"int","value":0}},"then":{"type":"unary","op":"-","operand":{"type":"int","value":2}},"else":{"type":"name","path":["self","skillLevel"]}}},"right":{"type":"name","path":["self","attributeMod"]}},"right":{"type":"name","path":["item","hitBonus"]}},"right":{"type":"conditional","test":{"type":"binary","op":"in","left":{"type":"string","value":"energy"},"right":{"type":"name","path":["item","tags"]}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"name","path":["self","close"]},"then":{"type":"name","path":["combat","melee","hit"]},"else":{"type":"int","value":0}}},"right":{"type":"conditional","test":{"type":"name","path":["self","armed"]},"then":{"type":"name","path":["combat","armed","hit"]},"else":{"type":"int","value":0}}}},"countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)":{"text":"countCopies(copy.item == item.id) == 0 && !(mutations.noVision && 'vision' in item.tags) && !(mutations.noHearing && 'hearing' in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noVision"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"vision"},"right":{"type":"name","path":["item","tags"]}}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noHearing"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"hearing"},"right":{"type":"name","path":["item","tags"]}}}}}},"countCopies(copy.item == item.id) == 0\n && (item.id != @negative-mutations.attribute-deficiency || flags.deficiency)":{"text":"countCopies(copy.item == item.id) == 0 && (item.id != @negative-mutations.attribute-deficiency || flags.deficiency)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"negative-mutations.attribute-deficiency"}},"right":{"type":"name","path":["flags","deficiency"]}}}},"countCopies(copy.item == item.id) == 1":{"text":"countCopies(copy.item == item.id) == 1","tree":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":1}}},"countCopies(copy.item == steps.focus.picked) == 0\n || (has(steps.raise) && steps.raise.picked == 'new')":{"text":"countCopies(copy.item == steps.focus.picked) == 0 || has(steps.raise) && steps.raise.picked == 'new'","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["steps","focus","picked"]}}]},"right":{"type":"int","value":0}},"right":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","raise"]}]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","raise","picked"]},"right":{"type":"string","value":"new"}}}}},"countCopies(copy.type == 'armor' && copy.equipped && !('shield' in copy.tags)) <= 1":{"text":"countCopies(copy.type == 'armor' && copy.equipped && !('shield' in copy.tags)) <= 1","tree":{"type":"binary","op":"<=","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"shield"},"right":{"type":"name","path":["copy","tags"]}}}}]},"right":{"type":"int","value":1}}},"countCopies(copy.type == 'armor' && copy.equipped && 'shield' in copy.tags) > 0":{"text":"countCopies(copy.type == 'armor' && copy.equipped && 'shield' in copy.tags) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"shield"},"right":{"type":"name","path":["copy","tags"]}}}]},"right":{"type":"int","value":0}}},"countCopies(copy.type == 'edge' && 'first-edge' in copy.tags) > 0":{"text":"countCopies(copy.type == 'edge' && 'first-edge' in copy.tags) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"edge"}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"first-edge"},"right":{"type":"name","path":["copy","tags"]}}}]},"right":{"type":"int","value":0}}},"countCopies(copy.type == 'edge' && 'makes-mutant' in copy.tags) > 0":{"text":"countCopies(copy.type == 'edge' && 'makes-mutant' in copy.tags) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"edge"}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"makes-mutant"},"right":{"type":"name","path":["copy","tags"]}}}]},"right":{"type":"int","value":0}}},"countCopies(copy.type == 'edge' && 'not-mutant' in copy.tags) > 0":{"text":"countCopies(copy.type == 'edge' && 'not-mutant' in copy.tags) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"edge"}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"not-mutant"},"right":{"type":"name","path":["copy","tags"]}}}]},"right":{"type":"int","value":0}}},"countCopies(copy.type == 'edge')":{"text":"countCopies(copy.type == 'edge')","tree":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"edge"}}]}},"countCopies(copy.type == 'mutation' && copy.state.origin == 'random')\n + 3 * countCopies(copy.type == 'mutation' && copy.state.origin == 'chosen')\n + 3 * ceil(countCopies(copy.type == 'mutation' && copy.state.origin == 'category') / 2)\n + (mutations.stigmaConcealed ? 1 : 0)":{"text":"countCopies(copy.type == 'mutation' && copy.state.origin == 'random') + 3 * countCopies(copy.type == 'mutation' && copy.state.origin == 'chosen') + 3 * ceil(countCopies(copy.type == 'mutation' && copy.state.origin == 'category') / 2) + (mutations.stigmaConcealed ? 1 : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"mutation"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["copy","state","origin"]},"right":{"type":"string","value":"random"}}}]},"right":{"type":"binary","op":"*","left":{"type":"int","value":3},"right":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"mutation"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["copy","state","origin"]},"right":{"type":"string","value":"chosen"}}}]}}},"right":{"type":"binary","op":"*","left":{"type":"int","value":3},"right":{"type":"call","fn":"ceil","args":[{"type":"binary","op":"/","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"mutation"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["copy","state","origin"]},"right":{"type":"string","value":"category"}}}]},"right":{"type":"int","value":2}}]}}},"right":{"type":"conditional","test":{"type":"name","path":["mutations","stigmaConcealed"]},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}}},"countCopies(copy.type == 'negative')":{"text":"countCopies(copy.type == 'negative')","tree":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"negative"}}]}},"countList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x) == flags.lowest\n && fieldOf('attributes.{attribute}.mod', x) > -2) > 0":{"text":"countList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.score', x) == flags.lowest && fieldOf('attributes.{attribute}.mod', x) > -2) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"countList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]},"right":{"type":"name","path":["flags","lowest"]}},"right":{"type":"binary","op":">","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["x"]}]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":2}}}}]},"right":{"type":"int","value":0}}},"countList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x)) == 0":{"text":"countList(keysOf('skill'), fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x)) == 0","tree":{"type":"binary","op":"==","left":{"type":"call","fn":"countList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"binary","op":">","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]},"right":{"type":"int","value":0}}},"edges.count < edges.allowed":{"text":"edges.count < edges.allowed","tree":{"type":"binary","op":"<","left":{"type":"name","path":["edges","count"]},"right":{"type":"name","path":["edges","allowed"]}}},"edges.count <= edges.allowed":{"text":"edges.count <= edges.allowed","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["edges","count"]},"right":{"type":"name","path":["edges","allowed"]}}},"encumbrance.overload <= 0 ? move.base\n : encumbrance.overload == 1 ? floor(move.base * 7 / 10) : floor(move.base / 2)":{"text":"encumbrance.overload <= 0 ? move.base : encumbrance.overload == 1 ? floor(move.base * 7 / 10) : floor(move.base / 2)","tree":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["encumbrance","overload"]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["move","base"]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["encumbrance","overload"]},"right":{"type":"int","value":1}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"*","left":{"type":"name","path":["move","base"]},"right":{"type":"int","value":7}},"right":{"type":"int","value":10}}]},"else":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"name","path":["move","base"]},"right":{"type":"int","value":2}}]}}}},"encumbrance.overload > 0":{"text":"encumbrance.overload > 0","tree":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","overload"]},"right":{"type":"int","value":0}}},"encumbrance.strength":{"text":"encumbrance.strength","tree":{"type":"name","path":["encumbrance","strength"]}},"fieldId('skills.{skill}.credit', params.skill)":{"text":"fieldId('skills.{skill}.credit', params.skill)","tree":{"type":"call","fn":"fieldId","args":[{"type":"string","value":"skills.{skill}.credit"},{"type":"name","path":["params","skill"]}]}},"fieldId('skills.{skill}.credit', steps.skill.picked)":{"text":"fieldId('skills.{skill}.credit', steps.skill.picked)","tree":{"type":"call","fn":"fieldId","args":[{"type":"string","value":"skills.{skill}.credit"},{"type":"name","path":["steps","skill","picked"]}]}},"fieldId('skills.{skill}.level', params.skill)":{"text":"fieldId('skills.{skill}.level', params.skill)","tree":{"type":"call","fn":"fieldId","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["params","skill"]}]}},"fieldId('skills.{skill}.level', picked.value)":{"text":"fieldId('skills.{skill}.level', picked.value)","tree":{"type":"call","fn":"fieldId","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["picked","value"]}]}},"fieldId('skills.{skill}.level', steps.skill.picked)":{"text":"fieldId('skills.{skill}.level', steps.skill.picked)","tree":{"type":"call","fn":"fieldId","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["steps","skill","picked"]}]}},"fieldId('skills.{skill}.level', x)":{"text":"fieldId('skills.{skill}.level', x)","tree":{"type":"call","fn":"fieldId","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]}},"fieldOf('attributes.{attribute}.score', params.attribute)":{"text":"fieldOf('attributes.{attribute}.score', params.attribute)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["params","attribute"]}]}},"fieldOf('attributes.{attribute}.score', value) < 18":{"text":"fieldOf('attributes.{attribute}.score', value) < 18","tree":{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["value"]}]},"right":{"type":"int","value":18}}},"fieldOf('skills.{skill}.cap', params.skill)":{"text":"fieldOf('skills.{skill}.cap', params.skill)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["params","skill"]}]}},"fieldOf('skills.{skill}.credit', params.skill)":{"text":"fieldOf('skills.{skill}.credit', params.skill)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.credit"},{"type":"name","path":["params","skill"]}]}},"fieldOf('skills.{skill}.credit', steps.skill.picked) + params.points":{"text":"fieldOf('skills.{skill}.credit', steps.skill.picked) + params.points","tree":{"type":"binary","op":"+","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.credit"},{"type":"name","path":["steps","skill","picked"]}]},"right":{"type":"name","path":["params","points"]}}},"fieldOf('skills.{skill}.level', params.skill)":{"text":"fieldOf('skills.{skill}.level', params.skill)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["params","skill"]}]}},"fieldOf('skills.{skill}.level', steps.skill.picked)":{"text":"fieldOf('skills.{skill}.level', steps.skill.picked)","tree":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["steps","skill","picked"]}]}},"filterList([@mutation-categories.structure, options[0]], x in options)[0]":{"text":"filterList([@mutation-categories.structure, options[0]], x in options)[0]","tree":{"type":"index","object":{"type":"call","fn":"filterList","args":[{"type":"list","items":[{"type":"ref","id":"mutation-categories.structure"},{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"int","value":0}}]},{"type":"binary","op":"in","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["options"]}}]},"index":{"type":"int","value":0}}},"filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x))":{"text":"filterList(keysOf('skill'), fieldOf('skills.{skill}.level', x) > fieldOf('skills.{skill}.cap', x))","tree":{"type":"call","fn":"filterList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"binary","op":">","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]}},"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))":{"text":"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'), fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))","tree":{"type":"call","fn":"filterList","args":[{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["params","skills"]}]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["params","skills"]},"else":{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]}},{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]}},"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))":{"text":"filterList(size(params.skills) > 0 ? params.skills : keysOf('skill'), fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))","tree":{"type":"call","fn":"filterList","args":[{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["params","skills"]}]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["params","skills"]},"else":{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]}},{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"min","args":[{"type":"int","value":1},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}]}}]}},"flags.allowed":{"text":"flags.allowed","tree":{"type":"name","path":["flags","allowed"]}},"flags.barred":{"text":"flags.barred","tree":{"type":"name","path":["flags","barred"]}},"flags.budget":{"text":"flags.budget","tree":{"type":"name","path":["flags","budget"]}},"flags.burst ? -3 : -1":{"text":"flags.burst ? -3 : -1","tree":{"type":"conditional","test":{"type":"name","path":["flags","burst"]},"then":{"type":"unary","op":"-","operand":{"type":"int","value":3}},"else":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}},"flags.combat":{"text":"flags.combat","tree":{"type":"name","path":["flags","combat"]}},"flags.credit - flags.fromCredit":{"text":"flags.credit - flags.fromCredit","tree":{"type":"binary","op":"-","left":{"type":"name","path":["flags","credit"]},"right":{"type":"name","path":["flags","fromCredit"]}}},"flags.credit3":{"text":"flags.credit3","tree":{"type":"name","path":["flags","credit3"]}},"flags.fromCredit - flags.cost":{"text":"flags.fromCredit - flags.cost","tree":{"type":"binary","op":"-","left":{"type":"name","path":["flags","fromCredit"]},"right":{"type":"name","path":["flags","cost"]}}},"flags.id":{"text":"flags.id","tree":{"type":"name","path":["flags","id"]}},"flags.id != ''":{"text":"flags.id != ''","tree":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id"]},"right":{"type":"string","value":""}}},"flags.id != '' ? flags.id : steps.fallback.picked":{"text":"flags.id != '' ? flags.id : steps.fallback.picked","tree":{"type":"conditional","test":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id"]},"right":{"type":"string","value":""}},"then":{"type":"name","path":["flags","id"]},"else":{"type":"name","path":["steps","fallback","picked"]}}},"flags.id == ''":{"text":"flags.id == ''","tree":{"type":"binary","op":"==","left":{"type":"name","path":["flags","id"]},"right":{"type":"string","value":""}}},"flags.id1":{"text":"flags.id1","tree":{"type":"name","path":["flags","id1"]}},"flags.id1 != '' && !(flags.id1 in flags.held)\n && (flags.id1 != @negative-mutations.attribute-deficiency || flags.deficiency)":{"text":"flags.id1 != '' && !(flags.id1 in flags.held) && (flags.id1 != @negative-mutations.attribute-deficiency || flags.deficiency)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id1"]},"right":{"type":"string","value":""}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["flags","id1"]},"right":{"type":"name","path":["flags","held"]}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id1"]},"right":{"type":"ref","id":"negative-mutations.attribute-deficiency"}},"right":{"type":"name","path":["flags","deficiency"]}}}},"flags.id2":{"text":"flags.id2","tree":{"type":"name","path":["flags","id2"]}},"flags.id2 != '' && !(flags.id2 in flags.held)\n && (flags.id2 != @negative-mutations.attribute-deficiency || flags.deficiency)":{"text":"flags.id2 != '' && !(flags.id2 in flags.held) && (flags.id2 != @negative-mutations.attribute-deficiency || flags.deficiency)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id2"]},"right":{"type":"string","value":""}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["flags","id2"]},"right":{"type":"name","path":["flags","held"]}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id2"]},"right":{"type":"ref","id":"negative-mutations.attribute-deficiency"}},"right":{"type":"name","path":["flags","deficiency"]}}}},"flags.id3":{"text":"flags.id3","tree":{"type":"name","path":["flags","id3"]}},"flags.level + 1":{"text":"flags.level + 1","tree":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":1}}},"flags.level + 1 > flags.cap":{"text":"flags.level + 1 > flags.cap","tree":{"type":"binary","op":">","left":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":1}},"right":{"type":"name","path":["flags","cap"]}}},"flags.level + 2":{"text":"flags.level + 2","tree":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":2}}},"flags.level >= 4":{"text":"flags.level >= 4","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":4}}},"flags.level >= 4 ? 99 : [1, 1, 3, 6, 9][flags.level + 1]":{"text":"flags.level >= 4 ? 99 : [1, 1, 3, 6, 9][flags.level + 1]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":4}},"then":{"type":"int","value":99},"else":{"type":"index","object":{"type":"list","items":[{"type":"int","value":1},{"type":"int","value":1},{"type":"int","value":3},{"type":"int","value":6},{"type":"int","value":9}]},"index":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":1}}}}},"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.credit0 - flags.level0 - 2 : flags.credit0":{"text":"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.credit0 - flags.level0 - 2 : flags.credit0","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit0"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"name","path":["flags","credit0"]},"right":{"type":"name","path":["flags","level0"]}},"right":{"type":"int","value":2}},"else":{"type":"name","path":["flags","credit0"]}}},"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.level0 + 1 : flags.level0":{"text":"flags.level0 < 4 && flags.credit0 >= flags.level0 + 2 ? flags.level0 + 1 : flags.level0","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit0"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level0"]},"right":{"type":"int","value":1}},"else":{"type":"name","path":["flags","level0"]}}},"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.credit1 - flags.level1 - 2 : flags.credit1":{"text":"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.credit1 - flags.level1 - 2 : flags.credit1","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit1"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"name","path":["flags","credit1"]},"right":{"type":"name","path":["flags","level1"]}},"right":{"type":"int","value":2}},"else":{"type":"name","path":["flags","credit1"]}}},"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.level1 + 1 : flags.level1":{"text":"flags.level1 < 4 && flags.credit1 >= flags.level1 + 2 ? flags.level1 + 1 : flags.level1","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit1"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level1"]},"right":{"type":"int","value":1}},"else":{"type":"name","path":["flags","level1"]}}},"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.credit2 - flags.level2 - 2 : flags.credit2":{"text":"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.credit2 - flags.level2 - 2 : flags.credit2","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit2"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"-","left":{"type":"binary","op":"-","left":{"type":"name","path":["flags","credit2"]},"right":{"type":"name","path":["flags","level2"]}},"right":{"type":"int","value":2}},"else":{"type":"name","path":["flags","credit2"]}}},"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.level2 + 1 : flags.level2":{"text":"flags.level2 < 4 && flags.credit2 >= flags.level2 + 2 ? flags.level2 + 1 : flags.level2","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"<","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":4}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["flags","credit2"]},"right":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":2}}}},"then":{"type":"binary","op":"+","left":{"type":"name","path":["flags","level2"]},"right":{"type":"int","value":1}},"else":{"type":"name","path":["flags","level2"]}}},"flags.level3":{"text":"flags.level3","tree":{"type":"name","path":["flags","level3"]}},"flags.light":{"text":"flags.light","tree":{"type":"name","path":["flags","light"]}},"flags.lost > 0":{"text":"flags.lost > 0","tree":{"type":"binary","op":">","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":0}}},"flags.lost >= 1":{"text":"flags.lost >= 1","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":1}}},"flags.lost >= 2":{"text":"flags.lost >= 2","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":2}}},"flags.lost >= 3":{"text":"flags.lost >= 3","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":3}}},"flags.lost >= 4":{"text":"flags.lost >= 4","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","lost"]},"right":{"type":"int","value":4}}},"flags.near && (params.entry == 1 || params.entry == 9 || params.entry == 17)":{"text":"flags.near && (params.entry == 1 || params.entry == 9 || params.entry == 17)","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":1}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":9}}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":17}}}}},"flags.near && params.entry == 1":{"text":"flags.near && params.entry == 1","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":1}}}},"flags.near && params.entry == 10":{"text":"flags.near && params.entry == 10","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":10}}}},"flags.near && params.entry == 11":{"text":"flags.near && params.entry == 11","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":11}}}},"flags.near && params.entry == 12":{"text":"flags.near && params.entry == 12","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":12}}}},"flags.near && params.entry == 13":{"text":"flags.near && params.entry == 13","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":13}}}},"flags.near && params.entry == 14":{"text":"flags.near && params.entry == 14","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":14}}}},"flags.near && params.entry == 15":{"text":"flags.near && params.entry == 15","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":15}}}},"flags.near && params.entry == 16":{"text":"flags.near && params.entry == 16","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":16}}}},"flags.near && params.entry == 17":{"text":"flags.near && params.entry == 17","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":17}}}},"flags.near && params.entry == 18":{"text":"flags.near && params.entry == 18","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":18}}}},"flags.near && params.entry == 19":{"text":"flags.near && params.entry == 19","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":19}}}},"flags.near && params.entry == 2":{"text":"flags.near && params.entry == 2","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":2}}}},"flags.near && params.entry == 20":{"text":"flags.near && params.entry == 20","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":20}}}},"flags.near && params.entry == 3":{"text":"flags.near && params.entry == 3","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":3}}}},"flags.near && params.entry == 4":{"text":"flags.near && params.entry == 4","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":4}}}},"flags.near && params.entry == 5":{"text":"flags.near && params.entry == 5","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":5}}}},"flags.near && params.entry == 6":{"text":"flags.near && params.entry == 6","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":6}}}},"flags.near && params.entry == 7":{"text":"flags.near && params.entry == 7","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":7}}}},"flags.near && params.entry == 8":{"text":"flags.near && params.entry == 8","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":8}}}},"flags.near && params.entry == 9":{"text":"flags.near && params.entry == 9","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","near"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":9}}}},"flags.new":{"text":"flags.new","tree":{"type":"name","path":["flags","new"]}},"flags.new && size(steps.focus.item.bonusSkill) > 0":{"text":"flags.new && size(steps.focus.item.bonusSkill) > 0","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","new"]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","focus","item","bonusSkill"]}]},"right":{"type":"int","value":0}}}},"flags.new && size(steps.focus.item.bonusSkill2) > 0":{"text":"flags.new && size(steps.focus.item.bonusSkill2) > 0","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","new"]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","focus","item","bonusSkill2"]}]},"right":{"type":"int","value":0}}}},"flags.new && steps.focus.item.gainPart":{"text":"flags.new && steps.focus.item.gainPart","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","new"]},"right":{"type":"name","path":["steps","focus","item","gainPart"]}}},"flags.new && steps.focus.item.specialty":{"text":"flags.new && steps.focus.item.specialty","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","new"]},"right":{"type":"name","path":["steps","focus","item","specialty"]}}},"flags.offered":{"text":"flags.offered","tree":{"type":"name","path":["flags","offered"]}},"flags.offered[0]":{"text":"flags.offered[0]","tree":{"type":"index","object":{"type":"name","path":["flags","offered"]},"index":{"type":"int","value":0}}},"flags.ok1":{"text":"flags.ok1","tree":{"type":"name","path":["flags","ok1"]}},"flags.prefer":{"text":"flags.prefer","tree":{"type":"name","path":["flags","prefer"]}},"flags.roll":{"text":"flags.roll","tree":{"type":"name","path":["flags","roll"]}},"flags.rolled > flags.old ? flags.rolled : flags.old + 1":{"text":"flags.rolled > flags.old ? flags.rolled : flags.old + 1","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["flags","rolled"]},"right":{"type":"name","path":["flags","old"]}},"then":{"type":"name","path":["flags","rolled"]},"else":{"type":"binary","op":"+","left":{"type":"name","path":["flags","old"]},"right":{"type":"int","value":1}}}},"flags.score >= 18":{"text":"flags.score >= 18","tree":{"type":"binary","op":">=","left":{"type":"name","path":["flags","score"]},"right":{"type":"int","value":18}}},"flags.suggest":{"text":"flags.suggest","tree":{"type":"name","path":["flags","suggest"]}},"flags.target":{"text":"flags.target","tree":{"type":"name","path":["flags","target"]}},"flags.waste && params.entry == 1":{"text":"flags.waste && params.entry == 1","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":1}}}},"flags.waste && params.entry == 10":{"text":"flags.waste && params.entry == 10","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":10}}}},"flags.waste && params.entry == 11":{"text":"flags.waste && params.entry == 11","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":11}}}},"flags.waste && params.entry == 12":{"text":"flags.waste && params.entry == 12","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":12}}}},"flags.waste && params.entry == 13":{"text":"flags.waste && params.entry == 13","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":13}}}},"flags.waste && params.entry == 14":{"text":"flags.waste && params.entry == 14","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":14}}}},"flags.waste && params.entry == 18":{"text":"flags.waste && params.entry == 18","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":18}}}},"flags.waste && params.entry == 19":{"text":"flags.waste && params.entry == 19","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":19}}}},"flags.waste && params.entry == 2":{"text":"flags.waste && params.entry == 2","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":2}}}},"flags.waste && params.entry == 20":{"text":"flags.waste && params.entry == 20","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":20}}}},"flags.waste && params.entry == 3":{"text":"flags.waste && params.entry == 3","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":3}}}},"flags.waste && params.entry == 4":{"text":"flags.waste && params.entry == 4","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":4}}}},"flags.waste && params.entry == 5":{"text":"flags.waste && params.entry == 5","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":5}}}},"flags.waste && params.entry == 5 ? 1d6 + 4 : flags.waste ? 1d4 + 2 : 1d4":{"text":"flags.waste && params.entry == 5 ? 1d6 + 4 : flags.waste ? 1d4 + 2 : 1d4","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":5}}},"then":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":6,"modifiers":[]},"right":{"type":"int","value":4}},"else":{"type":"conditional","test":{"type":"name","path":["flags","waste"]},"then":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":4,"modifiers":[]},"right":{"type":"int","value":2}},"else":{"type":"dice","count":1,"sides":4,"modifiers":[]}}}},"flags.waste && params.entry == 6":{"text":"flags.waste && params.entry == 6","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":6}}}},"flags.waste && params.entry == 7":{"text":"flags.waste && params.entry == 7","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":7}}}},"flags.waste && params.entry == 8":{"text":"flags.waste && params.entry == 8","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":8}}}},"flags.waste && params.entry == 9":{"text":"flags.waste && params.entry == 9","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":9}}}},"flags.waste && params.entry >= 15 && params.entry <= 17":{"text":"flags.waste && params.entry >= 15 && params.entry <= 17","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["flags","waste"]},"right":{"type":"binary","op":">=","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":15}}},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["params","entry"]},"right":{"type":"int","value":17}}}},"floor(encumbrance.strength / 2)":{"text":"floor(encumbrance.strength / 2)","tree":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"name","path":["encumbrance","strength"]},"right":{"type":"int","value":2}}]}},"floor(level / 2)":{"text":"floor(level / 2)","tree":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"name","path":["level"]},"right":{"type":"int","value":2}}]}},"foci.count < foci.allowed":{"text":"foci.count < foci.allowed","tree":{"type":"binary","op":"<","left":{"type":"name","path":["foci","count"]},"right":{"type":"name","path":["foci","allowed"]}}},"foci.count <= foci.allowed":{"text":"foci.count <= foci.allowed","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["foci","count"]},"right":{"type":"name","path":["foci","allowed"]}}},"has(flags.allowed)":{"text":"has(flags.allowed)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["flags","allowed"]}]}},"has(flags.id3) && flags.id3 != '' && !(flags.id3 in flags.held)\n && (flags.id3 != @negative-mutations.attribute-deficiency || flags.deficiency)":{"text":"has(flags.id3) && flags.id3 != '' && !(flags.id3 in flags.held) && (flags.id3 != @negative-mutations.attribute-deficiency || flags.deficiency)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["flags","id3"]}]},"right":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id3"]},"right":{"type":"string","value":""}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"name","path":["flags","id3"]},"right":{"type":"name","path":["flags","held"]}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"!=","left":{"type":"name","path":["flags","id3"]},"right":{"type":"ref","id":"negative-mutations.attribute-deficiency"}},"right":{"type":"name","path":["flags","deficiency"]}}}},"has(flags.ok2) && flags.ok2":{"text":"has(flags.ok2) && flags.ok2","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["flags","ok2"]}]},"right":{"type":"name","path":["flags","ok2"]}}},"has(item.damage) && (steps.roll.band == 'hit' || !has(params.targetAc))":{"text":"has(item.damage) && (steps.roll.band == 'hit' || !has(params.targetAc))","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","damage"]}]},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["steps","roll","band"]},"right":{"type":"string","value":"hit"}},"right":{"type":"unary","op":"!","operand":{"type":"call","fn":"has","args":[{"type":"name","path":["params","targetAc"]}]}}}}},"has(item.magazine)":{"text":"has(item.magazine)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["item","magazine"]}]}},"has(item.magazine) && self.shots > 0":{"text":"has(item.magazine) && self.shots > 0","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","magazine"]}]},"right":{"type":"binary","op":">","left":{"type":"name","path":["self","shots"]},"right":{"type":"int","value":0}}}},"has(item.magazine) ? item.magazine : 0":{"text":"has(item.magazine) ? item.magazine : 0","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["item","magazine"]}]},"then":{"type":"name","path":["item","magazine"]},"else":{"type":"int","value":0}}},"has(item.techLevel) && item.techLevel <= 1 && !('grenade' in item.tags)\n && ('stab' in item.skills || has(item.kitAmmo))":{"text":"has(item.techLevel) && item.techLevel <= 1 && !('grenade' in item.tags) && ('stab' in item.skills || has(item.kitAmmo))","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","techLevel"]}]},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["item","techLevel"]},"right":{"type":"int","value":1}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"grenade"},"right":{"type":"name","path":["item","tags"]}}}},"right":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"string","value":"stab"},"right":{"type":"name","path":["item","skills"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["item","kitAmmo"]}]}}}},"has(item.techLevel) && item.techLevel <= 2 && 'stab' in item.skills\n && !('grenade' in item.tags)":{"text":"has(item.techLevel) && item.techLevel <= 2 && 'stab' in item.skills && !('grenade' in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","techLevel"]}]},"right":{"type":"binary","op":"<=","left":{"type":"name","path":["item","techLevel"]},"right":{"type":"int","value":2}}},"right":{"type":"binary","op":"in","left":{"type":"string","value":"stab"},"right":{"type":"name","path":["item","skills"]}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"grenade"},"right":{"type":"name","path":["item","tags"]}}}}},"has(params.category) ? params.category\n : [@mutation-categories.structure, @mutation-categories.sense,\n @mutation-categories.hybrid, @mutation-categories.cognition,\n @mutation-categories.pseudo-psychic,\n @mutation-categories.exotic][steps.categoryRoll.total - 1]":{"text":"has(params.category) ? params.category : [@mutation-categories.structure, @mutation-categories.sense, @mutation-categories.hybrid, @mutation-categories.cognition, @mutation-categories.pseudo-psychic, @mutation-categories.exotic][steps.categoryRoll.total - 1]","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["params","category"]}]},"then":{"type":"name","path":["params","category"]},"else":{"type":"index","object":{"type":"list","items":[{"type":"ref","id":"mutation-categories.structure"},{"type":"ref","id":"mutation-categories.sense"},{"type":"ref","id":"mutation-categories.hybrid"},{"type":"ref","id":"mutation-categories.cognition"},{"type":"ref","id":"mutation-categories.pseudo-psychic"},{"type":"ref","id":"mutation-categories.exotic"}]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","categoryRoll","total"]},"right":{"type":"int","value":1}}}}},"has(params.difficulty)":{"text":"has(params.difficulty)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["params","difficulty"]}]}},"has(params.difficulty) && roll.total >= params.difficulty":{"text":"has(params.difficulty) && roll.total >= params.difficulty","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["params","difficulty"]}]},"right":{"type":"binary","op":">=","left":{"type":"name","path":["roll","total"]},"right":{"type":"name","path":["params","difficulty"]}}}},"has(params.targetAc) ? params.targetAc : 0":{"text":"has(params.targetAc) ? params.targetAc : 0","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["params","targetAc"]}]},"then":{"type":"name","path":["params","targetAc"]},"else":{"type":"int","value":0}}},"has(picked.item.extra)":{"text":"has(picked.item.extra)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["picked","item","extra"]}]}},"has(picked.item.kitAmmo)":{"text":"has(picked.item.kitAmmo)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["picked","item","kitAmmo"]}]}},"has(steps.chosen) && size(steps.chosen.item.bonusSkill) > 0":{"text":"has(steps.chosen) && size(steps.chosen.item.bonusSkill) > 0","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","chosen"]}]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","chosen","item","bonusSkill"]}]},"right":{"type":"int","value":0}}}},"has(steps.damage) ? max(steps.damage.total, self.shockDamage) : 0":{"text":"has(steps.damage) ? max(steps.damage.total, self.shockDamage) : 0","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","damage"]}]},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["steps","damage","total"]},{"type":"name","path":["self","shockDamage"]}]},"else":{"type":"int","value":0}}},"has(steps.entry)":{"text":"has(steps.entry)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","entry"]}]}},"has(steps.exact) ? steps.exact.item.bonusSkill : steps.fallback.item.bonusSkill":{"text":"has(steps.exact) ? steps.exact.item.bonusSkill : steps.fallback.item.bonusSkill","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","exact"]}]},"then":{"type":"name","path":["steps","exact","item","bonusSkill"]},"else":{"type":"name","path":["steps","fallback","item","bonusSkill"]}}},"has(steps.extra) && steps.extra.picked == 'pick'":{"text":"has(steps.extra) && steps.extra.picked == 'pick'","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","extra"]}]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","extra","picked"]},"right":{"type":"string","value":"pick"}}}},"has(steps.extra) && steps.extra.picked == 'roll'":{"text":"has(steps.extra) && steps.extra.picked == 'roll'","tree":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","extra"]}]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","extra","picked"]},"right":{"type":"string","value":"roll"}}}},"has(steps.roll1)":{"text":"has(steps.roll1)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","roll1"]}]}},"has(steps.roll2)":{"text":"has(steps.roll2)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","roll2"]}]}},"has(steps.roll3)":{"text":"has(steps.roll3)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","roll3"]}]}},"has(steps.skill) && steps.skill.result == 'none' ? 'none' : 'gained'":{"text":"has(steps.skill) && steps.skill.result == 'none' ? 'none' : 'gained'","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","skill"]}]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","skill","result"]},"right":{"type":"string","value":"none"}}},"then":{"type":"string","value":"none"},"else":{"type":"string","value":"gained"}}},"has(steps.skill) ? 'gained' : 'none'":{"text":"has(steps.skill) ? 'gained' : 'none'","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","skill"]}]},"then":{"type":"string","value":"gained"},"else":{"type":"string","value":"none"}}},"has(steps.specialty)":{"text":"has(steps.specialty)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","specialty"]}]}},"has(steps.specialty) ? [steps.specialty.value] : steps.focus.item.bonusSkill":{"text":"has(steps.specialty) ? [steps.specialty.value] : steps.focus.item.bonusSkill","tree":{"type":"conditional","test":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","specialty"]}]},"then":{"type":"list","items":[{"type":"name","path":["steps","specialty","value"]}]},"else":{"type":"name","path":["steps","focus","item","bonusSkill"]}}},"has(steps.split)":{"text":"has(steps.split)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","split"]}]}},"has(steps.weapon)":{"text":"has(steps.weapon)","tree":{"type":"call","fn":"has","args":[{"type":"name","path":["steps","weapon"]}]}},"hp.attributeMod":{"text":"hp.attributeMod","tree":{"type":"name","path":["hp","attributeMod"]}},"hp.max":{"text":"hp.max","tree":{"type":"name","path":["hp","max"]}},"item.category == @mutation-categories.sense && !('vision' in item.tags)\n && countCopies(copy.item == item.id) == 0":{"text":"item.category == @mutation-categories.sense && !('vision' in item.tags) && countCopies(copy.item == item.id) == 0","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["item","category"]},"right":{"type":"ref","id":"mutation-categories.sense"}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"vision"},"right":{"type":"name","path":["item","tags"]}}}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}}}},"item.category == flags.category && item.roll == steps.roll.total\n && countCopies(copy.item == item.id) == 0\n && !(mutations.noVision && 'vision' in item.tags)\n && !(mutations.noHearing && 'hearing' in item.tags)":{"text":"item.category == flags.category && item.roll == steps.roll.total && countCopies(copy.item == item.id) == 0 && !(mutations.noVision && 'vision' in item.tags) && !(mutations.noHearing && 'hearing' in item.tags)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["item","category"]},"right":{"type":"name","path":["flags","category"]}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["item","roll"]},"right":{"type":"name","path":["steps","roll","total"]}}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["item","id"]}}]},"right":{"type":"int","value":0}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noVision"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"vision"},"right":{"type":"name","path":["item","tags"]}}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"name","path":["mutations","noHearing"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"hearing"},"right":{"type":"name","path":["item","tags"]}}}}}},"item.damage":{"text":"item.damage","tree":{"type":"name","path":["item","damage"]}},"item.enc":{"text":"item.enc","tree":{"type":"name","path":["item","enc"]}},"item.enc * ('bundleable' in item.tags ? floor((self.quantity + 2) / 3) : self.quantity)":{"text":"item.enc * ('bundleable' in item.tags ? floor((self.quantity + 2) / 3) : self.quantity)","tree":{"type":"binary","op":"*","left":{"type":"name","path":["item","enc"]},"right":{"type":"conditional","test":{"type":"binary","op":"in","left":{"type":"string","value":"bundleable"},"right":{"type":"name","path":["item","tags"]}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"+","left":{"type":"name","path":["self","quantity"]},"right":{"type":"int","value":2}},"right":{"type":"int","value":3}}]},"else":{"type":"name","path":["self","quantity"]}}}},"item.id":{"text":"item.id","tree":{"type":"name","path":["item","id"]}},"item.id == @weapons.natural.claws":{"text":"item.id == @weapons.natural.claws","tree":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.natural.claws"}}},"item.id == @weapons.natural.jaws":{"text":"item.id == @weapons.natural.jaws","tree":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.natural.jaws"}}},"item.id == @weapons.natural.projectiles":{"text":"item.id == @weapons.natural.projectiles","tree":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.natural.projectiles"}}},"item.id == @weapons.unarmed":{"text":"item.id == @weapons.unarmed","tree":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.unarmed"}}},"item.id == steps.focus.picked && self.level < item.maxLevel":{"text":"item.id == steps.focus.picked && self.level < item.maxLevel","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"name","path":["steps","focus","picked"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["self","level"]},"right":{"type":"name","path":["item","maxLevel"]}}}},"item.maxLevel":{"text":"item.maxLevel","tree":{"type":"name","path":["item","maxLevel"]}},"item.shock > 0 && (combat.melee.shockAnyAc || (self.armed && combat.armed.shockAnyAc))":{"text":"item.shock > 0 && (combat.melee.shockAnyAc || self.armed && combat.armed.shockAnyAc)","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":">","left":{"type":"name","path":["item","shock"]},"right":{"type":"int","value":0}},"right":{"type":"binary","op":"||","left":{"type":"name","path":["combat","melee","shockAnyAc"]},"right":{"type":"binary","op":"&&","left":{"type":"name","path":["self","armed"]},"right":{"type":"name","path":["combat","armed","shockAnyAc"]}}}}},"item.shock > 0 ? item.shock + self.attributeMod + combat.melee.shock\n + (self.armed ? combat.armed.shock : 0) : 0":{"text":"item.shock > 0 ? item.shock + self.attributeMod + combat.melee.shock + (self.armed ? combat.armed.shock : 0) : 0","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["item","shock"]},"right":{"type":"int","value":0}},"then":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["item","shock"]},"right":{"type":"name","path":["self","attributeMod"]}},"right":{"type":"name","path":["combat","melee","shock"]}},"right":{"type":"conditional","test":{"type":"name","path":["self","armed"]},"then":{"type":"name","path":["combat","armed","shock"]},"else":{"type":"int","value":0}}},"else":{"type":"int","value":0}}},"level":{"text":"level","tree":{"type":"name","path":["level"]}},"level + 1":{"text":"level + 1","tree":{"type":"binary","op":"+","left":{"type":"name","path":["level"]},"right":{"type":"int","value":1}}},"level - 1":{"text":"level - 1","tree":{"type":"binary","op":"-","left":{"type":"name","path":["level"]},"right":{"type":"int","value":1}}},"level < flags.minimum":{"text":"level < flags.minimum","tree":{"type":"binary","op":"<","left":{"type":"name","path":["level"]},"right":{"type":"name","path":["flags","minimum"]}}},"level >= 10 ? 0 : (xp.rate == 'fast' ? [0, 3, 6, 12, 18, 27, 39, 54, 72, 93]\n : [0, 6, 15, 24, 36, 51, 69, 87, 105, 139])[level]":{"text":"level >= 10 ? 0 : (xp.rate == 'fast' ? [0, 3, 6, 12, 18, 27, 39, 54, 72, 93] : [0, 6, 15, 24, 36, 51, 69, 87, 105, 139])[level]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":10}},"then":{"type":"int","value":0},"else":{"type":"index","object":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["xp","rate"]},"right":{"type":"string","value":"fast"}},"then":{"type":"list","items":[{"type":"int","value":0},{"type":"int","value":3},{"type":"int","value":6},{"type":"int","value":12},{"type":"int","value":18},{"type":"int","value":27},{"type":"int","value":39},{"type":"int","value":54},{"type":"int","value":72},{"type":"int","value":93}]},"else":{"type":"list","items":[{"type":"int","value":0},{"type":"int","value":6},{"type":"int","value":15},{"type":"int","value":24},{"type":"int","value":36},{"type":"int","value":51},{"type":"int","value":69},{"type":"int","value":87},{"type":"int","value":105},{"type":"int","value":139}]}},"index":{"type":"name","path":["level"]}}}},"level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0":{"text":"level >= 9 ? 3 : level >= 6 ? 2 : level >= 3 ? 1 : 0","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":9}},"then":{"type":"int","value":3},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":6}},"then":{"type":"int","value":2},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":3}},"then":{"type":"int","value":1},"else":{"type":"int","value":0}}}}},"mapList(filterList(character.features, x.type == 'negative'), x.item)":{"text":"mapList(filterList(character.features, x.type == 'negative'), x.item)","tree":{"type":"call","fn":"mapList","args":[{"type":"call","fn":"filterList","args":[{"type":"name","path":["character","features"]},{"type":"binary","op":"==","left":{"type":"name","path":["x","type"]},"right":{"type":"string","value":"negative"}}]},{"type":"name","path":["x","item"]}]}},"max(-1, fieldOf('skills.{skill}.cap', x))":{"text":"max(-1, fieldOf('skills.{skill}.cap', x))","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":1}},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}]}},"max(-2, (attributes.cha.boost > 0\n ? max(attributes.cha.base,\n min(2, attributes.cha.base + attributes.cha.boost))\n : attributes.cha.base)\n + attributes.cha.bonus + attributes.cha.penalty)":{"text":"max(-2, (attributes.cha.boost > 0 ? max(attributes.cha.base, min(2, attributes.cha.base + attributes.cha.boost)) : attributes.cha.base) + attributes.cha.bonus + attributes.cha.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","cha","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","cha","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","cha","base"]},"right":{"type":"name","path":["attributes","cha","boost"]}}]}]},"else":{"type":"name","path":["attributes","cha","base"]}},"right":{"type":"name","path":["attributes","cha","bonus"]}},"right":{"type":"name","path":["attributes","cha","penalty"]}}]}},"max(-2, (attributes.con.boost > 0\n ? max(attributes.con.base,\n min(2, attributes.con.base + attributes.con.boost))\n : attributes.con.base)\n + attributes.con.bonus + attributes.con.penalty)":{"text":"max(-2, (attributes.con.boost > 0 ? max(attributes.con.base, min(2, attributes.con.base + attributes.con.boost)) : attributes.con.base) + attributes.con.bonus + attributes.con.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","con","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","con","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","con","base"]},"right":{"type":"name","path":["attributes","con","boost"]}}]}]},"else":{"type":"name","path":["attributes","con","base"]}},"right":{"type":"name","path":["attributes","con","bonus"]}},"right":{"type":"name","path":["attributes","con","penalty"]}}]}},"max(-2, (attributes.dex.boost > 0\n ? max(attributes.dex.base,\n min(2, attributes.dex.base + attributes.dex.boost))\n : attributes.dex.base)\n + attributes.dex.bonus + attributes.dex.penalty)":{"text":"max(-2, (attributes.dex.boost > 0 ? max(attributes.dex.base, min(2, attributes.dex.base + attributes.dex.boost)) : attributes.dex.base) + attributes.dex.bonus + attributes.dex.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","dex","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","dex","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","dex","base"]},"right":{"type":"name","path":["attributes","dex","boost"]}}]}]},"else":{"type":"name","path":["attributes","dex","base"]}},"right":{"type":"name","path":["attributes","dex","bonus"]}},"right":{"type":"name","path":["attributes","dex","penalty"]}}]}},"max(-2, (attributes.int.boost > 0\n ? max(attributes.int.base,\n min(2, attributes.int.base + attributes.int.boost))\n : attributes.int.base)\n + attributes.int.bonus + attributes.int.penalty)":{"text":"max(-2, (attributes.int.boost > 0 ? max(attributes.int.base, min(2, attributes.int.base + attributes.int.boost)) : attributes.int.base) + attributes.int.bonus + attributes.int.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","int","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","int","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","int","base"]},"right":{"type":"name","path":["attributes","int","boost"]}}]}]},"else":{"type":"name","path":["attributes","int","base"]}},"right":{"type":"name","path":["attributes","int","bonus"]}},"right":{"type":"name","path":["attributes","int","penalty"]}}]}},"max(-2, (attributes.str.boost > 0\n ? max(attributes.str.base,\n min(2, attributes.str.base + attributes.str.boost))\n : attributes.str.base)\n + attributes.str.bonus + attributes.str.penalty)":{"text":"max(-2, (attributes.str.boost > 0 ? max(attributes.str.base, min(2, attributes.str.base + attributes.str.boost)) : attributes.str.base) + attributes.str.bonus + attributes.str.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","str","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","str","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","str","base"]},"right":{"type":"name","path":["attributes","str","boost"]}}]}]},"else":{"type":"name","path":["attributes","str","base"]}},"right":{"type":"name","path":["attributes","str","bonus"]}},"right":{"type":"name","path":["attributes","str","penalty"]}}]}},"max(-2, (attributes.wis.boost > 0\n ? max(attributes.wis.base,\n min(2, attributes.wis.base + attributes.wis.boost))\n : attributes.wis.base)\n + attributes.wis.bonus + attributes.wis.penalty)":{"text":"max(-2, (attributes.wis.boost > 0 ? max(attributes.wis.base, min(2, attributes.wis.base + attributes.wis.boost)) : attributes.wis.base) + attributes.wis.bonus + attributes.wis.penalty)","tree":{"type":"call","fn":"max","args":[{"type":"unary","op":"-","operand":{"type":"int","value":2}},{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"name","path":["attributes","wis","boost"]},"right":{"type":"int","value":0}},"then":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","wis","base"]},{"type":"call","fn":"min","args":[{"type":"int","value":2},{"type":"binary","op":"+","left":{"type":"name","path":["attributes","wis","base"]},"right":{"type":"name","path":["attributes","wis","boost"]}}]}]},"else":{"type":"name","path":["attributes","wis","base"]}},"right":{"type":"name","path":["attributes","wis","bonus"]}},"right":{"type":"name","path":["attributes","wis","penalty"]}}]}},"max(0, (level >= 9 ? 4 : level >= 6 ? 3 : level >= 3 ? 2 : 1) - 1)":{"text":"max(0, (level >= 9 ? 4 : level >= 6 ? 3 : level >= 3 ? 2 : 1) - 1)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"binary","op":"-","left":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":9}},"then":{"type":"int","value":4},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":6}},"then":{"type":"int","value":3},"else":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["level"]},"right":{"type":"int","value":3}},"then":{"type":"int","value":2},"else":{"type":"int","value":1}}}},"right":{"type":"int","value":1}}]}},"max(0, ceil((encumbrance.readied - encumbrance.readied.max) / 2),\n ceil((encumbrance.stowed - encumbrance.stowed.max) / 4))":{"text":"max(0, ceil((encumbrance.readied - encumbrance.readied.max) / 2), ceil((encumbrance.stowed - encumbrance.stowed.max) / 4))","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"call","fn":"ceil","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["encumbrance","readied"]},"right":{"type":"name","path":["encumbrance","readied","max"]}},"right":{"type":"int","value":2}}]},{"type":"call","fn":"ceil","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["encumbrance","stowed"]},"right":{"type":"name","path":["encumbrance","stowed","max"]}},"right":{"type":"int","value":4}}]}]}},"max(0, skills.connect.level + 1) + max(0, skills.know.level + 1)":{"text":"max(0, skills.connect.level + 1) + max(0, skills.know.level + 1)","tree":{"type":"binary","op":"+","left":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"binary","op":"+","left":{"type":"name","path":["skills","connect","level"]},"right":{"type":"int","value":1}}]},"right":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"binary","op":"+","left":{"type":"name","path":["skills","know","level"]},"right":{"type":"int","value":1}}]}}},"max(0, skills.punch.level)":{"text":"max(0, skills.punch.level)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"name","path":["skills","punch","level"]}]}},"max(0, skills.shoot.level)":{"text":"max(0, skills.shoot.level)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"name","path":["skills","shoot","level"]}]}},"max(0, skills.stab.level)":{"text":"max(0, skills.stab.level)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"name","path":["skills","stab","level"]}]}},"max(1, steps.hp.total + hp.dieBonus)":{"text":"max(1, steps.hp.total + hp.dieBonus)","tree":{"type":"call","fn":"max","args":[{"type":"int","value":1},{"type":"binary","op":"+","left":{"type":"name","path":["steps","hp","total"]},"right":{"type":"name","path":["hp","dieBonus"]}}]}},"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped\n && !('shield' in copy.tags) && !('primitive' in copy.tags)))":{"text":"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped && !('shield' in copy.tags) && !('primitive' in copy.tags)))","tree":{"type":"call","fn":"max","args":[{"type":"int","value":10},{"type":"call","fn":"maxCopies","args":[{"type":"name","path":["copy","fields","ac"]},{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"shield"},"right":{"type":"name","path":["copy","tags"]}}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"primitive"},"right":{"type":"name","path":["copy","tags"]}}}}]}]}},"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped\n && !('shield' in copy.tags)))":{"text":"max(10, maxCopies(copy.fields.ac, copy.type == 'armor' && copy.equipped && !('shield' in copy.tags)))","tree":{"type":"call","fn":"max","args":[{"type":"int","value":10},{"type":"call","fn":"maxCopies","args":[{"type":"name","path":["copy","fields","ac"]},{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"right":{"type":"name","path":["copy","equipped"]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"in","left":{"type":"string","value":"shield"},"right":{"type":"name","path":["copy","tags"]}}}}]}]}},"max(attributes.int.mod, attributes.dex.mod)":{"text":"max(attributes.int.mod, attributes.dex.mod)","tree":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","int","mod"]},{"type":"name","path":["attributes","dex","mod"]}]}},"max(attributes.int.mod, attributes.wis.mod)":{"text":"max(attributes.int.mod, attributes.wis.mod)","tree":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","int","mod"]},{"type":"name","path":["attributes","wis","mod"]}]}},"max(attributes.str.mod, attributes.con.mod)":{"text":"max(attributes.str.mod, attributes.con.mod)","tree":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","str","mod"]},{"type":"name","path":["attributes","con","mod"]}]}},"max(attributes.wis.mod, attributes.cha.mod)":{"text":"max(attributes.wis.mod, attributes.cha.mod)","tree":{"type":"call","fn":"max","args":[{"type":"name","path":["attributes","wis","mod"]},{"type":"name","path":["attributes","cha","mod"]}]}},"maxFields(f.value, 'skill' in f.tags)":{"text":"maxFields(f.value, 'skill' in f.tags)","tree":{"type":"call","fn":"maxFields","args":[{"type":"name","path":["f","value"]},{"type":"binary","op":"in","left":{"type":"string","value":"skill"},"right":{"type":"name","path":["f","tags"]}}]}},"maxList(item.skills, fieldOf('skills.{skill}.level', x))":{"text":"maxList(item.skills, fieldOf('skills.{skill}.level', x))","tree":{"type":"call","fn":"maxList","args":[{"type":"name","path":["item","skills"]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]}]}},"min(flags.credit, flags.level + 2)":{"text":"min(flags.credit, flags.level + 2)","tree":{"type":"call","fn":"min","args":[{"type":"name","path":["flags","credit"]},{"type":"binary","op":"+","left":{"type":"name","path":["flags","level"]},"right":{"type":"int","value":2}}]}},"minList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))":{"text":"minList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.score', x))","tree":{"type":"call","fn":"minList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}]}},"minList([steps.str.total, steps.dex.total, steps.con.total, steps.int.total,\n steps.wis.total, steps.cha.total], x) >= 14 ? 'none'\n : ['str', 'dex', 'con', 'int', 'wis', 'cha'][indexOf([steps.str.total,\n steps.dex.total, steps.con.total, steps.int.total, steps.wis.total,\n steps.cha.total], minList([steps.str.total, steps.dex.total, steps.con.total,\n steps.int.total, steps.wis.total, steps.cha.total], x))]":{"text":"minList([steps.str.total, steps.dex.total, steps.con.total, steps.int.total, steps.wis.total, steps.cha.total], x) >= 14 ? 'none' : ['str', 'dex', 'con', 'int', 'wis', 'cha'][indexOf([steps.str.total, steps.dex.total, steps.con.total, steps.int.total, steps.wis.total, steps.cha.total], minList([steps.str.total, steps.dex.total, steps.con.total, steps.int.total, steps.wis.total, steps.cha.total], x))]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"call","fn":"minList","args":[{"type":"list","items":[{"type":"name","path":["steps","str","total"]},{"type":"name","path":["steps","dex","total"]},{"type":"name","path":["steps","con","total"]},{"type":"name","path":["steps","int","total"]},{"type":"name","path":["steps","wis","total"]},{"type":"name","path":["steps","cha","total"]}]},{"type":"name","path":["x"]}]},"right":{"type":"int","value":14}},"then":{"type":"string","value":"none"},"else":{"type":"index","object":{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},"index":{"type":"call","fn":"indexOf","args":[{"type":"list","items":[{"type":"name","path":["steps","str","total"]},{"type":"name","path":["steps","dex","total"]},{"type":"name","path":["steps","con","total"]},{"type":"name","path":["steps","int","total"]},{"type":"name","path":["steps","wis","total"]},{"type":"name","path":["steps","cha","total"]}]},{"type":"call","fn":"minList","args":[{"type":"list","items":[{"type":"name","path":["steps","str","total"]},{"type":"name","path":["steps","dex","total"]},{"type":"name","path":["steps","con","total"]},{"type":"name","path":["steps","int","total"]},{"type":"name","path":["steps","wis","total"]},{"type":"name","path":["steps","cha","total"]}]},{"type":"name","path":["x"]}]}]}}}},"mutations.mutant":{"text":"mutations.mutant","tree":{"type":"name","path":["mutations","mutant"]}},"mutations.mutant || countCopies(copy.type == 'mutation' || copy.type == 'negative') == 0":{"text":"mutations.mutant || countCopies(copy.type == 'mutation' || copy.type == 'negative') == 0","tree":{"type":"binary","op":"||","left":{"type":"name","path":["mutations","mutant"]},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"mutation"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"negative"}}}]},"right":{"type":"int","value":0}}}},"mutations.negatives <= 3":{"text":"mutations.negatives <= 3","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["mutations","negatives"]},"right":{"type":"int","value":3}}},"mutations.points.edges + 2 * mutations.negatives":{"text":"mutations.points.edges + 2 * mutations.negatives","tree":{"type":"binary","op":"+","left":{"type":"name","path":["mutations","points","edges"]},"right":{"type":"binary","op":"*","left":{"type":"int","value":2},"right":{"type":"name","path":["mutations","negatives"]}}}},"mutations.points.left >= 1":{"text":"mutations.points.left >= 1","tree":{"type":"binary","op":">=","left":{"type":"name","path":["mutations","points","left"]},"right":{"type":"int","value":1}}},"mutations.points.left >= 3":{"text":"mutations.points.left >= 3","tree":{"type":"binary","op":">=","left":{"type":"name","path":["mutations","points","left"]},"right":{"type":"int","value":3}}},"mutations.points.spent <= mutations.points.total":{"text":"mutations.points.spent <= mutations.points.total","tree":{"type":"binary","op":"<=","left":{"type":"name","path":["mutations","points","spent"]},"right":{"type":"name","path":["mutations","points","total"]}}},"mutations.points.total - mutations.points.spent":{"text":"mutations.points.total - mutations.points.spent","tree":{"type":"binary","op":"-","left":{"type":"name","path":["mutations","points","total"]},"right":{"type":"name","path":["mutations","points","spent"]}}},"options[0]":{"text":"options[0]","tree":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"int","value":0}}},"params.attribute.id":{"text":"params.attribute.id","tree":{"type":"name","path":["params","attribute","id"]}},"params.entry == 'any-combat' ? ['punch', 'shoot', 'stab']\n : params.entry == 'any-skill' ? [] : [params.entry]":{"text":"params.entry == 'any-combat' ? ['punch', 'shoot', 'stab'] : params.entry == 'any-skill' ? [] : [params.entry]","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"any-combat"}},"then":{"type":"list","items":[{"type":"string","value":"punch"},{"type":"string","value":"shoot"},{"type":"string","value":"stab"}]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"any-skill"}},"then":{"type":"list","items":[]},"else":{"type":"list","items":[{"type":"name","path":["params","entry"]}]}}}},"params.entry == 'any-stat-1' ? 1 : 2":{"text":"params.entry == 'any-stat-1' ? 1 : 2","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"any-stat-1"}},"then":{"type":"int","value":1},"else":{"type":"int","value":2}}},"params.entry == 'physical2' ? ['str', 'dex', 'con']\n : params.entry == 'mental2' ? ['int', 'wis', 'cha']\n : ['str', 'dex', 'con', 'int', 'wis', 'cha']":{"text":"params.entry == 'physical2' ? ['str', 'dex', 'con'] : params.entry == 'mental2' ? ['int', 'wis', 'cha'] : ['str', 'dex', 'con', 'int', 'wis', 'cha']","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"physical2"}},"then":{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"}]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["params","entry"]},"right":{"type":"string","value":"mental2"}},"then":{"type":"list","items":[{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},"else":{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]}}}},"params.entry in ['any-stat-1', 'physical2', 'mental2']":{"text":"params.entry in ['any-stat-1', 'physical2', 'mental2']","tree":{"type":"binary","op":"in","left":{"type":"name","path":["params","entry"]},"right":{"type":"list","items":[{"type":"string","value":"any-stat-1"},{"type":"string","value":"physical2"},{"type":"string","value":"mental2"}]}}},"params.origin":{"text":"params.origin","tree":{"type":"name","path":["params","origin"]}},"params.prefer":{"text":"params.prefer","tree":{"type":"name","path":["params","prefer"]}},"params.random":{"text":"params.random","tree":{"type":"name","path":["params","random"]}},"params.random ? 'roll' : 'pick'":{"text":"params.random ? 'roll' : 'pick'","tree":{"type":"conditional","test":{"type":"name","path":["params","random"]},"then":{"type":"string","value":"roll"},"else":{"type":"string","value":"pick"}}},"params.random ? options[steps.negativesRoll.total - 1] : options[0]":{"text":"params.random ? options[steps.negativesRoll.total - 1] : options[0]","tree":{"type":"conditional","test":{"type":"name","path":["params","random"]},"then":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","negativesRoll","total"]},"right":{"type":"int","value":1}}},"else":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"int","value":0}}}},"params.random || steps.method.picked == 'roll'":{"text":"params.random || steps.method.picked == 'roll'","tree":{"type":"binary","op":"||","left":{"type":"name","path":["params","random"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","method","picked"]},"right":{"type":"string","value":"roll"}}}},"params.save.tags":{"text":"params.save.tags","tree":{"type":"name","path":["params","save","tags"]}},"params.save.value":{"text":"params.save.value","tree":{"type":"name","path":["params","save","value"]}},"params.skill.id":{"text":"params.skill.id","tree":{"type":"name","path":["params","skill","id"]}},"params.skill.tags":{"text":"params.skill.tags","tree":{"type":"name","path":["params","skill","tags"]}},"params.skills":{"text":"params.skills","tree":{"type":"name","path":["params","skills"]}},"params.table != 'near-future'":{"text":"params.table != 'near-future'","tree":{"type":"binary","op":"!=","left":{"type":"name","path":["params","table"]},"right":{"type":"string","value":"near-future"}}},"params.table == 'near-future'":{"text":"params.table == 'near-future'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["params","table"]},"right":{"type":"string","value":"near-future"}}},"picked.id":{"text":"picked.id","tree":{"type":"name","path":["picked","id"]}},"picked.id == 'concealed'":{"text":"picked.id == 'concealed'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["picked","id"]},"right":{"type":"string","value":"concealed"}}},"picked.item.equipped":{"text":"picked.item.equipped","tree":{"type":"name","path":["picked","item","equipped"]}},"picked.item.extra":{"text":"picked.item.extra","tree":{"type":"name","path":["picked","item","extra"]}},"picked.item.extraQuantity":{"text":"picked.item.extraQuantity","tree":{"type":"name","path":["picked","item","extraQuantity"]}},"picked.item.gear":{"text":"picked.item.gear","tree":{"type":"name","path":["picked","item","gear"]}},"picked.item.kitAmmo":{"text":"picked.item.kitAmmo","tree":{"type":"name","path":["picked","item","kitAmmo"]}},"picked.item.quantity":{"text":"picked.item.quantity","tree":{"type":"name","path":["picked","item","quantity"]}},"picks == 0":{"text":"picks == 0","tree":{"type":"binary","op":"==","left":{"type":"name","path":["picks"]},"right":{"type":"int","value":0}}},"roll.kept[0] == 20 || (roll.kept[0] != 1 && roll.total >= flags.ac)":{"text":"roll.kept[0] == 20 || roll.kept[0] != 1 && roll.total >= flags.ac","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"index","object":{"type":"name","path":["roll","kept"]},"index":{"type":"int","value":0}},"right":{"type":"int","value":20}},"right":{"type":"binary","op":"&&","left":{"type":"binary","op":"!=","left":{"type":"index","object":{"type":"name","path":["roll","kept"]},"index":{"type":"int","value":0}},"right":{"type":"int","value":1}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["roll","total"]},"right":{"type":"name","path":["flags","ac"]}}}}},"roll.total >= flags.target":{"text":"roll.total >= flags.target","tree":{"type":"binary","op":">=","left":{"type":"name","path":["roll","total"]},"right":{"type":"name","path":["flags","target"]}}},"self.armed || 'punch' in item.skills":{"text":"self.armed || 'punch' in item.skills","tree":{"type":"binary","op":"||","left":{"type":"name","path":["self","armed"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"punch"},"right":{"type":"name","path":["item","skills"]}}}},"self.attributeMod + ('punch' in item.skills ? max(0, skills.punch.level) : 0)\n + combat.damageBonus + (self.close ? combat.melee.damage : combat.ranged.damage)\n + (self.armed ? combat.armed.damage : 0)":{"text":"self.attributeMod + ('punch' in item.skills ? max(0, skills.punch.level) : 0) + combat.damageBonus + (self.close ? combat.melee.damage : combat.ranged.damage) + (self.armed ? combat.armed.damage : 0)","tree":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"binary","op":"+","left":{"type":"name","path":["self","attributeMod"]},"right":{"type":"conditional","test":{"type":"binary","op":"in","left":{"type":"string","value":"punch"},"right":{"type":"name","path":["item","skills"]}},"then":{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"name","path":["skills","punch","level"]}]},"else":{"type":"int","value":0}}},"right":{"type":"name","path":["combat","damageBonus"]}},"right":{"type":"conditional","test":{"type":"name","path":["self","close"]},"then":{"type":"name","path":["combat","melee","damage"]},"else":{"type":"name","path":["combat","ranged","damage"]}}},"right":{"type":"conditional","test":{"type":"name","path":["self","armed"]},"then":{"type":"name","path":["combat","armed","damage"]},"else":{"type":"int","value":0}}}},"self.close ? 'attack.melee' : 'attack.ranged'":{"text":"self.close ? 'attack.melee' : 'attack.ranged'","tree":{"type":"conditional","test":{"type":"name","path":["self","close"]},"then":{"type":"string","value":"attack.melee"},"else":{"type":"string","value":"attack.ranged"}}},"self.damage":{"text":"self.damage","tree":{"type":"name","path":["self","damage"]}},"self.equipped && 'heavy' in item.tags":{"text":"self.equipped && 'heavy' in item.tags","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["self","equipped"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"heavy"},"right":{"type":"name","path":["item","tags"]}}}},"self.equipped && has(item.enc) && item.enc > 0\n && !(has(item.wornFree) && item.wornFree)\n && encumbrance.readied > encumbrance.readied.max":{"text":"self.equipped && has(item.enc) && item.enc > 0 && !(has(item.wornFree) && item.wornFree) && encumbrance.readied > encumbrance.readied.max","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["self","equipped"]},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["item","enc"]}]}},"right":{"type":"binary","op":">","left":{"type":"name","path":["item","enc"]},"right":{"type":"int","value":0}}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["item","wornFree"]}]},"right":{"type":"name","path":["item","wornFree"]}}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","readied"]},"right":{"type":"name","path":["encumbrance","readied","max"]}}}},"self.equipped && item.enc > 0\n && encumbrance.readied > encumbrance.readied.max":{"text":"self.equipped && item.enc > 0 && encumbrance.readied > encumbrance.readied.max","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["self","equipped"]},"right":{"type":"binary","op":">","left":{"type":"name","path":["item","enc"]},"right":{"type":"int","value":0}}},"right":{"type":"binary","op":">","left":{"type":"name","path":["encumbrance","readied"]},"right":{"type":"name","path":["encumbrance","readied","max"]}}}},"self.equipped || item.id == @weapons.unarmed":{"text":"self.equipped || item.id == @weapons.unarmed","tree":{"type":"binary","op":"||","left":{"type":"name","path":["self","equipped"]},"right":{"type":"binary","op":"==","left":{"type":"name","path":["item","id"]},"right":{"type":"ref","id":"weapons.unarmed"}}}},"self.hit":{"text":"self.hit","tree":{"type":"name","path":["self","hit"]}},"self.level >= 2":{"text":"self.level >= 2","tree":{"type":"binary","op":">=","left":{"type":"name","path":["self","level"]},"right":{"type":"int","value":2}}},"self.level >= 2 ? 2 : 1":{"text":"self.level >= 2 ? 2 : 1","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["self","level"]},"right":{"type":"int","value":2}},"then":{"type":"int","value":2},"else":{"type":"int","value":1}}},"self.level >= 2 ? 4 : 2":{"text":"self.level >= 2 ? 4 : 2","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["self","level"]},"right":{"type":"int","value":2}},"then":{"type":"int","value":4},"else":{"type":"int","value":2}}},"situational.burst && 'burst' in item.tags && has(item.magazine) && self.shots >= 3":{"text":"situational.burst && 'burst' in item.tags && has(item.magazine) && self.shots >= 3","tree":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["situational","burst"]},"right":{"type":"binary","op":"in","left":{"type":"string","value":"burst"},"right":{"type":"name","path":["item","tags"]}}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["item","magazine"]}]}},"right":{"type":"binary","op":">=","left":{"type":"name","path":["self","shots"]},"right":{"type":"int","value":3}}}},"situational.foraging":{"text":"situational.foraging","tree":{"type":"name","path":["situational","foraging"]}},"situational.social":{"text":"situational.social","tree":{"type":"name","path":["situational","social"]}},"situational.versus == 'disease'":{"text":"situational.versus == 'disease'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"disease"}}},"situational.versus == 'poison' || situational.versus == 'disease'":{"text":"situational.versus == 'poison' || situational.versus == 'disease'","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"poison"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"disease"}}}},"situational.versus == 'radiation'":{"text":"situational.versus == 'radiation'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["situational","versus"]},"right":{"type":"string","value":"radiation"}}},"size(filterList([@prepared.knife, @prepared.first-aid-kit, @prepared.preserved-food,\n @prepared.backpack], x in options)) > 0\n ? filterList([@prepared.knife, @prepared.first-aid-kit, @prepared.preserved-food,\n @prepared.backpack], x in options)[0]\n : options[0]":{"text":"size(filterList([@prepared.knife, @prepared.first-aid-kit, @prepared.preserved-food, @prepared.backpack], x in options)) > 0 ? filterList([@prepared.knife, @prepared.first-aid-kit, @prepared.preserved-food, @prepared.backpack], x in options)[0] : options[0]","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"call","fn":"filterList","args":[{"type":"list","items":[{"type":"ref","id":"prepared.knife"},{"type":"ref","id":"prepared.first-aid-kit"},{"type":"ref","id":"prepared.preserved-food"},{"type":"ref","id":"prepared.backpack"}]},{"type":"binary","op":"in","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["options"]}}]}]},"right":{"type":"int","value":0}},"then":{"type":"index","object":{"type":"call","fn":"filterList","args":[{"type":"list","items":[{"type":"ref","id":"prepared.knife"},{"type":"ref","id":"prepared.first-aid-kit"},{"type":"ref","id":"prepared.preserved-food"},{"type":"ref","id":"prepared.backpack"}]},{"type":"binary","op":"in","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["options"]}}]},"index":{"type":"int","value":0}},"else":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"int","value":0}}}},"size(filterList(params.prefer, x in flags.offered)) > 0\n ? filterList(params.prefer, x in flags.offered)[0]\n : size(flags.offered) > 0 ? flags.offered[0] : ''":{"text":"size(filterList(params.prefer, x in flags.offered)) > 0 ? filterList(params.prefer, x in flags.offered)[0] : size(flags.offered) > 0 ? flags.offered[0] : ''","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"call","fn":"filterList","args":[{"type":"name","path":["params","prefer"]},{"type":"binary","op":"in","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["flags","offered"]}}]}]},"right":{"type":"int","value":0}},"then":{"type":"index","object":{"type":"call","fn":"filterList","args":[{"type":"name","path":["params","prefer"]},{"type":"binary","op":"in","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["flags","offered"]}}]},"index":{"type":"int","value":0}},"else":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["flags","offered"]}]},"right":{"type":"int","value":0}},"then":{"type":"index","object":{"type":"name","path":["flags","offered"]},"index":{"type":"int","value":0}},"else":{"type":"string","value":""}}}},"size(flags.best) > 0 ? flags.best[0] : options[0]":{"text":"size(flags.best) > 0 ? flags.best[0] : options[0]","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["flags","best"]}]},"right":{"type":"int","value":0}},"then":{"type":"index","object":{"type":"name","path":["flags","best"]},"index":{"type":"int","value":0}},"else":{"type":"index","object":{"type":"name","path":["options"]},"index":{"type":"int","value":0}}}},"size(flags.offered) == 0":{"text":"size(flags.offered) == 0","tree":{"type":"binary","op":"==","left":{"type":"call","fn":"size","args":[{"type":"name","path":["flags","offered"]}]},"right":{"type":"int","value":0}}},"size(flags.offered) > 0":{"text":"size(flags.offered) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["flags","offered"]}]},"right":{"type":"int","value":0}}},"size(flags.open) > 0 ? flags.open\n : filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))":{"text":"size(flags.open) > 0 ? flags.open : filterList(keysOf('skill'), fieldOf('skills.{skill}.level', x) < fieldOf('skills.{skill}.cap', x))","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["flags","open"]}]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["flags","open"]},"else":{"type":"call","fn":"filterList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]}}},"size(flags.open) > 0 ? flags.open\n : filterList(keysOf('skill'),\n fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))":{"text":"size(flags.open) > 0 ? flags.open : filterList(keysOf('skill'), fieldOf('skills.{skill}.level', x) < min(1, fieldOf('skills.{skill}.cap', x)))","tree":{"type":"conditional","test":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["flags","open"]}]},"right":{"type":"int","value":0}},"then":{"type":"name","path":["flags","open"]},"else":{"type":"call","fn":"filterList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"binary","op":"<","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"min","args":[{"type":"int","value":1},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}]}}]}}},"size(item.attributes) == 0 ? 0 : maxList(item.attributes, fieldOf('attributes.{attribute}.mod', x))":{"text":"size(item.attributes) == 0 ? 0 : maxList(item.attributes, fieldOf('attributes.{attribute}.mod', x))","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"call","fn":"size","args":[{"type":"name","path":["item","attributes"]}]},"right":{"type":"int","value":0}},"then":{"type":"int","value":0},"else":{"type":"call","fn":"maxList","args":[{"type":"name","path":["item","attributes"]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["x"]}]}]}}},"size(steps.edge.item.bonusSkill) > 0":{"text":"size(steps.edge.item.bonusSkill) > 0","tree":{"type":"binary","op":">","left":{"type":"call","fn":"size","args":[{"type":"name","path":["steps","edge","item","bonusSkill"]}]},"right":{"type":"int","value":0}}},"skills.perLevel":{"text":"skills.perLevel","tree":{"type":"name","path":["skills","perLevel"]}},"skills.points + flags.credit < flags.cost":{"text":"skills.points + flags.credit < flags.cost","tree":{"type":"binary","op":"<","left":{"type":"binary","op":"+","left":{"type":"name","path":["skills","points"]},"right":{"type":"name","path":["flags","credit"]}},"right":{"type":"name","path":["flags","cost"]}}},"skills.points < flags.cost":{"text":"skills.points < flags.cost","tree":{"type":"binary","op":"<","left":{"type":"name","path":["skills","points"]},"right":{"type":"name","path":["flags","cost"]}}},"skills.punch.level >= 4 ? 1d12 + 1 : skills.punch.level == 3 ? 1d12\n : skills.punch.level == 2 ? 1d10 : skills.punch.level == 1 ? 1d8 : 1d6":{"text":"skills.punch.level >= 4 ? 1d12 + 1 : skills.punch.level == 3 ? 1d12 : skills.punch.level == 2 ? 1d10 : skills.punch.level == 1 ? 1d8 : 1d6","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["skills","punch","level"]},"right":{"type":"int","value":4}},"then":{"type":"binary","op":"+","left":{"type":"dice","count":1,"sides":12,"modifiers":[]},"right":{"type":"int","value":1}},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["skills","punch","level"]},"right":{"type":"int","value":3}},"then":{"type":"dice","count":1,"sides":12,"modifiers":[]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["skills","punch","level"]},"right":{"type":"int","value":2}},"then":{"type":"dice","count":1,"sides":10,"modifiers":[]},"else":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["skills","punch","level"]},"right":{"type":"int","value":1}},"then":{"type":"dice","count":1,"sides":8,"modifiers":[]},"else":{"type":"dice","count":1,"sides":6,"modifiers":[]}}}}}},"sortList(['administer', 'connect', 'drive', 'exert', 'fix', 'heal', 'know', 'lead', 'notice',\n 'perform', 'program', 'punch', 'shoot', 'sneak', 'stab', 'survive', 'talk', 'trade',\n 'work'], -fieldOf('skills.{skill}.level', x))[0]":{"text":"sortList(['administer', 'connect', 'drive', 'exert', 'fix', 'heal', 'know', 'lead', 'notice', 'perform', 'program', 'punch', 'shoot', 'sneak', 'stab', 'survive', 'talk', 'trade', 'work'], -fieldOf('skills.{skill}.level', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"administer"},{"type":"string","value":"connect"},{"type":"string","value":"drive"},{"type":"string","value":"exert"},{"type":"string","value":"fix"},{"type":"string","value":"heal"},{"type":"string","value":"know"},{"type":"string","value":"lead"},{"type":"string","value":"notice"},{"type":"string","value":"perform"},{"type":"string","value":"program"},{"type":"string","value":"punch"},{"type":"string","value":"shoot"},{"type":"string","value":"sneak"},{"type":"string","value":"stab"},{"type":"string","value":"survive"},{"type":"string","value":"talk"},{"type":"string","value":"trade"},{"type":"string","value":"work"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(['int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(['int', 'wis'], -fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['int', 'wis'], -fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"int"},{"type":"string","value":"wis"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(['int', 'wis'], fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['int', 'wis'], fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"int"},{"type":"string","value":"wis"}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}]},"index":{"type":"int","value":0}}},"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n -fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}]},"index":{"type":"int","value":0}}},"sortList(['str', 'dex', 'int', 'wis', 'cha'],\n -fieldOf('attributes.{attribute}.score', x))[0]":{"text":"sortList(['str', 'dex', 'int', 'wis', 'cha'], -fieldOf('attributes.{attribute}.score', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(filterList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.mod', x) >= -1),\n fieldOf('attributes.{attribute}.mod', x))[0]":{"text":"sortList(filterList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.mod', x) >= -1), fieldOf('attributes.{attribute}.mod', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"call","fn":"filterList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"binary","op":">=","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["x"]}]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["x"]}]}]},"index":{"type":"int","value":0}}},"sortList(filterList(flags.allowed,\n fieldOf('attributes.{attribute}.score', x) <= 18 - flags.budget),\n -fieldOf('attributes.{attribute}.score', x))":{"text":"sortList(filterList(flags.allowed, fieldOf('attributes.{attribute}.score', x) <= 18 - flags.budget), -fieldOf('attributes.{attribute}.score', x))","tree":{"type":"call","fn":"sortList","args":[{"type":"call","fn":"filterList","args":[{"type":"name","path":["flags","allowed"]},{"type":"binary","op":"<=","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]},"right":{"type":"binary","op":"-","left":{"type":"int","value":18},"right":{"type":"name","path":["flags","budget"]}}}]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}}]}},"sortList(item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]":{"text":"sortList(item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"name","path":["item","bonusSkill"]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"sortList(steps.focus.item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]":{"text":"sortList(steps.focus.item.bonusSkill, -fieldOf('skills.{skill}.level', x))[0]","tree":{"type":"index","object":{"type":"call","fn":"sortList","args":[{"type":"name","path":["steps","focus","item","bonusSkill"]},{"type":"unary","op":"-","operand":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]}}]},"index":{"type":"int","value":0}}},"steps.add.added[0]":{"text":"steps.add.added[0]","tree":{"type":"index","object":{"type":"name","path":["steps","add","added"]},"index":{"type":"int","value":0}}},"steps.background.item.freeSkill":{"text":"steps.background.item.freeSkill","tree":{"type":"name","path":["steps","background","item","freeSkill"]}},"steps.category.picked":{"text":"steps.category.picked","tree":{"type":"name","path":["steps","category","picked"]}},"steps.chosen.item.bonusSkill":{"text":"steps.chosen.item.bonusSkill","tree":{"type":"name","path":["steps","chosen","item","bonusSkill"]}},"steps.count.total":{"text":"steps.count.total","tree":{"type":"name","path":["steps","count","total"]}},"steps.edge.added[0]":{"text":"steps.edge.added[0]","tree":{"type":"index","object":{"type":"name","path":["steps","edge","added"]},"index":{"type":"int","value":0}}},"steps.edge.item.bonusSkill":{"text":"steps.edge.item.bonusSkill","tree":{"type":"name","path":["steps","edge","item","bonusSkill"]}},"steps.edge.item.gainPart":{"text":"steps.edge.item.gainPart","tree":{"type":"name","path":["steps","edge","item","gainPart"]}},"steps.entry.value":{"text":"steps.entry.value","tree":{"type":"name","path":["steps","entry","value"]}},"steps.focus.item.bonusSkill":{"text":"steps.focus.item.bonusSkill","tree":{"type":"name","path":["steps","focus","item","bonusSkill"]}},"steps.focus.item.bonusSkill2":{"text":"steps.focus.item.bonusSkill2","tree":{"type":"name","path":["steps","focus","item","bonusSkill2"]}},"steps.focus.item.multiple && countCopies(copy.item == steps.focus.picked\n && copy.state.level < steps.focus.item.maxLevel) > 0":{"text":"steps.focus.item.multiple && countCopies(copy.item == steps.focus.picked && copy.state.level < steps.focus.item.maxLevel) > 0","tree":{"type":"binary","op":"&&","left":{"type":"name","path":["steps","focus","item","multiple"]},"right":{"type":"binary","op":">","left":{"type":"call","fn":"countCopies","args":[{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["copy","item"]},"right":{"type":"name","path":["steps","focus","picked"]}},"right":{"type":"binary","op":"<","left":{"type":"name","path":["copy","state","level"]},"right":{"type":"name","path":["steps","focus","item","maxLevel"]}}}]},"right":{"type":"int","value":0}}}},"steps.focus.picked":{"text":"steps.focus.picked","tree":{"type":"name","path":["steps","focus","picked"]}},"steps.food.total":{"text":"steps.food.total","tree":{"type":"name","path":["steps","food","total"]}},"steps.fourteen.picked == 'cha' ? 14 : steps.cha.total":{"text":"steps.fourteen.picked == 'cha' ? 14 : steps.cha.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"cha"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","cha","total"]}}},"steps.fourteen.picked == 'con' ? 14 : steps.con.total":{"text":"steps.fourteen.picked == 'con' ? 14 : steps.con.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"con"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","con","total"]}}},"steps.fourteen.picked == 'dex' ? 14 : steps.dex.total":{"text":"steps.fourteen.picked == 'dex' ? 14 : steps.dex.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"dex"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","dex","total"]}}},"steps.fourteen.picked == 'int' ? 14 : steps.int.total":{"text":"steps.fourteen.picked == 'int' ? 14 : steps.int.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"int"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","int","total"]}}},"steps.fourteen.picked == 'str' ? 14 : steps.str.total":{"text":"steps.fourteen.picked == 'str' ? 14 : steps.str.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"str"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","str","total"]}}},"steps.fourteen.picked == 'wis' ? 14 : steps.wis.total":{"text":"steps.fourteen.picked == 'wis' ? 14 : steps.wis.total","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","fourteen","picked"]},"right":{"type":"string","value":"wis"}},"then":{"type":"int","value":14},"else":{"type":"name","path":["steps","wis","total"]}}},"steps.how.picked == 'category'":{"text":"steps.how.picked == 'category'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","how","picked"]},"right":{"type":"string","value":"category"}}},"steps.how.picked == 'chosen'":{"text":"steps.how.picked == 'chosen'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","how","picked"]},"right":{"type":"string","value":"chosen"}}},"steps.how.picked == 'random'":{"text":"steps.how.picked == 'random'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","how","picked"]},"right":{"type":"string","value":"random"}}},"steps.kit.picked":{"text":"steps.kit.picked","tree":{"type":"name","path":["steps","kit","picked"]}},"steps.kit.picked == 'near-future' || steps.kit.picked == 'wasteland'":{"text":"steps.kit.picked == 'near-future' || steps.kit.picked == 'wasteland'","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"==","left":{"type":"name","path":["steps","kit","picked"]},"right":{"type":"string","value":"near-future"}},"right":{"type":"binary","op":"==","left":{"type":"name","path":["steps","kit","picked"]},"right":{"type":"string","value":"wasteland"}}}},"steps.kit.picked == 'prepared'":{"text":"steps.kit.picked == 'prepared'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","kit","picked"]},"right":{"type":"string","value":"prepared"}}},"steps.kit.picked == 'wasteland' ? '10' : '4'":{"text":"steps.kit.picked == 'wasteland' ? '10' : '4'","tree":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["steps","kit","picked"]},"right":{"type":"string","value":"wasteland"}},"then":{"type":"string","value":"10"},"else":{"type":"string","value":"4"}}},"steps.negatives.value >= 1":{"text":"steps.negatives.value >= 1","tree":{"type":"binary","op":">=","left":{"type":"name","path":["steps","negatives","value"]},"right":{"type":"int","value":1}}},"steps.negatives.value >= 2":{"text":"steps.negatives.value >= 2","tree":{"type":"binary","op":">=","left":{"type":"name","path":["steps","negatives","value"]},"right":{"type":"int","value":2}}},"steps.negatives.value >= 3":{"text":"steps.negatives.value >= 3","tree":{"type":"binary","op":">=","left":{"type":"name","path":["steps","negatives","value"]},"right":{"type":"int","value":3}}},"steps.part.total == 6":{"text":"steps.part.total == 6","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","part","total"]},"right":{"type":"int","value":6}}},"steps.part.total == 6 && steps.extra2.total != steps.extra1.total\n ? ['head', 'arms', 'legs', 'torso', 'senses'][steps.extra2.total - 1] : 'none'":{"text":"steps.part.total == 6 && steps.extra2.total != steps.extra1.total ? ['head', 'arms', 'legs', 'torso', 'senses'][steps.extra2.total - 1] : 'none'","tree":{"type":"conditional","test":{"type":"binary","op":"&&","left":{"type":"binary","op":"==","left":{"type":"name","path":["steps","part","total"]},"right":{"type":"int","value":6}},"right":{"type":"binary","op":"!=","left":{"type":"name","path":["steps","extra2","total"]},"right":{"type":"name","path":["steps","extra1","total"]}}},"then":{"type":"index","object":{"type":"list","items":[{"type":"string","value":"head"},{"type":"string","value":"arms"},{"type":"string","value":"legs"},{"type":"string","value":"torso"},{"type":"string","value":"senses"}]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","extra2","total"]},"right":{"type":"int","value":1}}},"else":{"type":"string","value":"none"}}},"steps.roll.band":{"text":"steps.roll.band","tree":{"type":"name","path":["steps","roll","band"]}},"steps.roll.total":{"text":"steps.roll.total","tree":{"type":"name","path":["steps","roll","total"]}},"steps.roll1.total":{"text":"steps.roll1.total","tree":{"type":"name","path":["steps","roll1","total"]}},"steps.roll1.total >= 91":{"text":"steps.roll1.total >= 91","tree":{"type":"binary","op":">=","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":91}}},"steps.roll1.total >= 91 ? ''\n : flags.table[steps.roll1.total <= 80 ? floor((steps.roll1.total - 1) / 2) : 40]":{"text":"steps.roll1.total >= 91 ? '' : flags.table[steps.roll1.total <= 80 ? floor((steps.roll1.total - 1) / 2) : 40]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":91}},"then":{"type":"string","value":""},"else":{"type":"index","object":{"type":"name","path":["flags","table"]},"index":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":80}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":1}},"right":{"type":"int","value":2}}]},"else":{"type":"int","value":40}}}}},"steps.roll2.total":{"text":"steps.roll2.total","tree":{"type":"name","path":["steps","roll2","total"]}},"steps.roll2.total >= 91 ? ''\n : flags.table[steps.roll2.total <= 80 ? floor((steps.roll2.total - 1) / 2) : 40]":{"text":"steps.roll2.total >= 91 ? '' : flags.table[steps.roll2.total <= 80 ? floor((steps.roll2.total - 1) / 2) : 40]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":91}},"then":{"type":"string","value":""},"else":{"type":"index","object":{"type":"name","path":["flags","table"]},"index":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":80}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":1}},"right":{"type":"int","value":2}}]},"else":{"type":"int","value":40}}}}},"steps.roll3.total":{"text":"steps.roll3.total","tree":{"type":"name","path":["steps","roll3","total"]}},"steps.roll3.total >= 91 ? ''\n : flags.table[steps.roll3.total <= 80 ? floor((steps.roll3.total - 1) / 2) : 40]":{"text":"steps.roll3.total >= 91 ? '' : flags.table[steps.roll3.total <= 80 ? floor((steps.roll3.total - 1) / 2) : 40]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":91}},"then":{"type":"string","value":""},"else":{"type":"index","object":{"type":"name","path":["flags","table"]},"index":{"type":"conditional","test":{"type":"binary","op":"<=","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":80}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":1}},"right":{"type":"int","value":2}}]},"else":{"type":"int","value":40}}}}},"steps.skillMethod.picked == 'pick'":{"text":"steps.skillMethod.picked == 'pick'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","skillMethod","picked"]},"right":{"type":"string","value":"pick"}}},"steps.skillMethod.picked == 'roll'":{"text":"steps.skillMethod.picked == 'roll'","tree":{"type":"binary","op":"==","left":{"type":"name","path":["steps","skillMethod","picked"]},"right":{"type":"string","value":"roll"}}},"steps.specialty.value":{"text":"steps.specialty.value","tree":{"type":"name","path":["steps","specialty","value"]}},"steps.split.value >= 1 ? 1d6 : 1d8":{"text":"steps.split.value >= 1 ? 1d6 : 1d8","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":1}},"then":{"type":"dice","count":1,"sides":6,"modifiers":[]},"else":{"type":"dice","count":1,"sides":8,"modifiers":[]}}},"steps.split.value >= 1 ? flags.growth[steps.roll1.total - 1]\n : flags.learning[steps.roll1.total - 1]":{"text":"steps.split.value >= 1 ? flags.growth[steps.roll1.total - 1] : flags.learning[steps.roll1.total - 1]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":1}},"then":{"type":"index","object":{"type":"name","path":["flags","growth"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":1}}},"else":{"type":"index","object":{"type":"name","path":["flags","learning"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll1","total"]},"right":{"type":"int","value":1}}}}},"steps.split.value >= 2 ? 1d6 : 1d8":{"text":"steps.split.value >= 2 ? 1d6 : 1d8","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":2}},"then":{"type":"dice","count":1,"sides":6,"modifiers":[]},"else":{"type":"dice","count":1,"sides":8,"modifiers":[]}}},"steps.split.value >= 2 ? flags.growth[steps.roll2.total - 1]\n : flags.learning[steps.roll2.total - 1]":{"text":"steps.split.value >= 2 ? flags.growth[steps.roll2.total - 1] : flags.learning[steps.roll2.total - 1]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":2}},"then":{"type":"index","object":{"type":"name","path":["flags","growth"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":1}}},"else":{"type":"index","object":{"type":"name","path":["flags","learning"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll2","total"]},"right":{"type":"int","value":1}}}}},"steps.split.value >= 3 ? 1d6 : 1d8":{"text":"steps.split.value >= 3 ? 1d6 : 1d8","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":3}},"then":{"type":"dice","count":1,"sides":6,"modifiers":[]},"else":{"type":"dice","count":1,"sides":8,"modifiers":[]}}},"steps.split.value >= 3 ? flags.growth[steps.roll3.total - 1]\n : flags.learning[steps.roll3.total - 1]":{"text":"steps.split.value >= 3 ? flags.growth[steps.roll3.total - 1] : flags.learning[steps.roll3.total - 1]","tree":{"type":"conditional","test":{"type":"binary","op":">=","left":{"type":"name","path":["steps","split","value"]},"right":{"type":"int","value":3}},"then":{"type":"index","object":{"type":"name","path":["flags","growth"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":1}}},"else":{"type":"index","object":{"type":"name","path":["flags","learning"]},"index":{"type":"binary","op":"-","left":{"type":"name","path":["steps","roll3","total"]},"right":{"type":"int","value":1}}}}},"strain.max":{"text":"strain.max","tree":{"type":"name","path":["strain","max"]}},"sumCopies(copy.fields.enc * ('bundleable' in copy.tags ? floor((copy.quantity + 2) / 3) : copy.quantity),\n !copy.equipped && has(copy.fields.enc))":{"text":"sumCopies(copy.fields.enc * ('bundleable' in copy.tags ? floor((copy.quantity + 2) / 3) : copy.quantity), !copy.equipped && has(copy.fields.enc))","tree":{"type":"call","fn":"sumCopies","args":[{"type":"binary","op":"*","left":{"type":"name","path":["copy","fields","enc"]},"right":{"type":"conditional","test":{"type":"binary","op":"in","left":{"type":"string","value":"bundleable"},"right":{"type":"name","path":["copy","tags"]}},"then":{"type":"call","fn":"floor","args":[{"type":"binary","op":"/","left":{"type":"binary","op":"+","left":{"type":"name","path":["copy","quantity"]},"right":{"type":"int","value":2}},"right":{"type":"int","value":3}}]},"else":{"type":"name","path":["copy","quantity"]}}},{"type":"binary","op":"&&","left":{"type":"unary","op":"!","operand":{"type":"name","path":["copy","equipped"]}},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["copy","fields","enc"]}]}}]}},"sumCopies(copy.fields.enc * copy.quantity * (copy.type == 'armor' ? encumbrance.armorFactor : 1),\n copy.equipped && has(copy.fields.enc)\n && !(has(copy.fields.wornFree) && copy.fields.wornFree))":{"text":"sumCopies(copy.fields.enc * copy.quantity * (copy.type == 'armor' ? encumbrance.armorFactor : 1), copy.equipped && has(copy.fields.enc) && !(has(copy.fields.wornFree) && copy.fields.wornFree))","tree":{"type":"call","fn":"sumCopies","args":[{"type":"binary","op":"*","left":{"type":"binary","op":"*","left":{"type":"name","path":["copy","fields","enc"]},"right":{"type":"name","path":["copy","quantity"]}},"right":{"type":"conditional","test":{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"armor"}},"then":{"type":"name","path":["encumbrance","armorFactor"]},"else":{"type":"int","value":1}}},{"type":"binary","op":"&&","left":{"type":"binary","op":"&&","left":{"type":"name","path":["copy","equipped"]},"right":{"type":"call","fn":"has","args":[{"type":"name","path":["copy","fields","enc"]}]}},"right":{"type":"unary","op":"!","operand":{"type":"binary","op":"&&","left":{"type":"call","fn":"has","args":[{"type":"name","path":["copy","fields","wornFree"]}]},"right":{"type":"name","path":["copy","fields","wornFree"]}}}}]}},"sumCopies(copy.state.level, copy.type == 'focus')":{"text":"sumCopies(copy.state.level, copy.type == 'focus')","tree":{"type":"call","fn":"sumCopies","args":[{"type":"name","path":["copy","state","level"]},{"type":"binary","op":"==","left":{"type":"name","path":["copy","type"]},"right":{"type":"string","value":"focus"}}]}},"sumList(keysOf('skill'),\n max(0, fieldOf('skills.{skill}.level', x) - fieldOf('skills.{skill}.cap', x)))":{"text":"sumList(keysOf('skill'), max(0, fieldOf('skills.{skill}.level', x) - fieldOf('skills.{skill}.cap', x)))","tree":{"type":"call","fn":"sumList","args":[{"type":"call","fn":"keysOf","args":[{"type":"string","value":"skill"}]},{"type":"call","fn":"max","args":[{"type":"int","value":0},{"type":"binary","op":"-","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.level"},{"type":"name","path":["x"]}]},"right":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"skills.{skill}.cap"},{"type":"name","path":["x"]}]}}]}]}},"sumList(steps.hp.faces, max(1, x + hp.dieBonus))":{"text":"sumList(steps.hp.faces, max(1, x + hp.dieBonus))","tree":{"type":"call","fn":"sumList","args":[{"type":"name","path":["steps","hp","faces"]},{"type":"call","fn":"max","args":[{"type":"int","value":1},{"type":"binary","op":"+","left":{"type":"name","path":["x"]},"right":{"type":"name","path":["hp","dieBonus"]}}]}]}},"value in choice.picks || fieldOf('attributes.{attribute}.mod', value) >= -1":{"text":"value in choice.picks || fieldOf('attributes.{attribute}.mod', value) >= -1","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"name","path":["value"]},"right":{"type":"name","path":["choice","picks"]}},"right":{"type":"binary","op":">=","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.mod"},{"type":"name","path":["value"]}]},"right":{"type":"unary","op":"-","operand":{"type":"int","value":1}}}}},"value in choice.picks || fieldOf('attributes.{attribute}.score', value)\n == minList(['str', 'dex', 'con', 'int', 'wis', 'cha'],\n fieldOf('attributes.{attribute}.score', x))":{"text":"value in choice.picks || fieldOf('attributes.{attribute}.score', value) == minList(['str', 'dex', 'con', 'int', 'wis', 'cha'], fieldOf('attributes.{attribute}.score', x))","tree":{"type":"binary","op":"||","left":{"type":"binary","op":"in","left":{"type":"name","path":["value"]},"right":{"type":"name","path":["choice","picks"]}},"right":{"type":"binary","op":"==","left":{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["value"]}]},"right":{"type":"call","fn":"minList","args":[{"type":"list","items":[{"type":"string","value":"str"},{"type":"string","value":"dex"},{"type":"string","value":"con"},{"type":"string","value":"int"},{"type":"string","value":"wis"},{"type":"string","value":"cha"}]},{"type":"call","fn":"fieldOf","args":[{"type":"string","value":"attributes.{attribute}.score"},{"type":"name","path":["x"]}]}]}}}}}};
|