From 2df9dd778c7d174b48afbb3b3a8cf636488a1e4a Mon Sep 17 00:00:00 2001 From: ctan Date: Sat, 19 Sep 2026 12:43:38 +0200 Subject: [PATCH] fix(rules): misty Scaled Skin electricity resist 5 and Maw or Claw bite 1d6 (SRD ARG daemon-spawn traits: resistance encoded in resistances, bite upgraded from the sheet's estimated 1d4 to the Medium 1d6 with the discrepancy recorded in notes) --- data/pcs/misty.json | 13 ++++++++----- src/pf1e_simulator/abilities.py | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/data/pcs/misty.json b/data/pcs/misty.json index 22012fb..a03ad2a 100644 --- a/data/pcs/misty.json +++ b/data/pcs/misty.json @@ -95,7 +95,7 @@ "attack_bonus": 4, "damage": [ { - "formula": "1d4", + "formula": "1d6", "types": [ "piercing" ] @@ -128,7 +128,7 @@ } ], "source": "fiches_personnages/misty_sheet.json", - "notes": "Traits : 'Born Damned' est un no-op documenté (+2 sauvegardes vs malédictions, descripteur 'curse' absent du moteur) ; 'Axe to Grind' est un no-op documenté (+1 dégâts vs ennemi menacé seulement par soi, condition non exprimable).", + "notes": "Traits : 'Born Damned' est un no-op documenté (+2 sauvegardes vs malédictions, descripteur 'curse' absent du moteur) ; 'Axe to Grind' est un no-op documenté (+1 dégâts vs ennemi menacé seulement par soi, condition non exprimable) ; 'Scaled Skin (electricity)' est encodé dans resistances (électricité 5, SRD : remplace Fiendish Resistance, donc pas de résistance froid/feu). 'Maw or Claw' : la fiche Foundry note la morsure « 1d4 piercing estimé » (item sans stats, estimation de l'auteur, non délibérée) ; le SRD (ARG, trait tieffelin daemon-spawn) accorde une morsure 1d6 à une créature Medium - l'encodage suit le SRD (1d6) et consigne l'écart avec la fiche.", "features": [ "Harmonic Spell", "Weapon Finesse", @@ -138,8 +138,8 @@ "Gifted Adept (dispel magic; magic)", "Prehensile Tail (tiefling daemon-spawn)", "Scaled Skin (electricity) (tiefling daemon-spawn)", - "Maw or Claw (Bite) (tiefling daemon-spawn)", - "Plot Armor" + "Maw or Claw (Bite) (tiefling daemon-spawn)", + "Plot Armor" ], "spells": [ "Prestidigitation", @@ -166,5 +166,8 @@ "Bladed Dash", "Mirror Image", "Heroism" - ] + ], + "resistances": { + "electricity": 5 + } } diff --git a/src/pf1e_simulator/abilities.py b/src/pf1e_simulator/abilities.py index d0aec55..290498e 100644 --- a/src/pf1e_simulator/abilities.py +++ b/src/pf1e_simulator/abilities.py @@ -307,16 +307,26 @@ PREHENSILE_TAIL = AbilitySpec( category="racial", ) -# Scaled Skin (electricity): resist electricity 5 +# Scaled Skin (electricity) (Tiefling daemon-spawn alternate racial trait, +# ARG): "gain resistance 5 against electricity" (replaces fiendish +# resistance). Energy resistance is a Combatant data field, not a stat +# modifier, so the benefit is encoded in data/pcs/misty.json "resistances"; +# this spec is the attested marker keeping the feat name resolved. SCALED_SKIN_ELECTRICITY = AbilitySpec( name="Scaled Skin (electricity) (tiefling daemon-spawn)", category="racial", + source_detail="racial (electricity resist 5 encoded in misty.json resistances)", ) -# Maw or Claw: bite attack 1d6 +# Maw or Claw (Tiefling daemon-spawn alternate racial trait, ARG): bite +# natural attack, 1d6 for a Medium tiefling. Natural attacks are Combatant +# data, so the bite is encoded in data/pcs/misty.json "attacks" (1d6 per the +# SRD - the Foundry sheet's "1d4 estimé" is an author guess, discrepancy +# noted in misty.json "notes"); this spec is the attested marker. MAW_OR_CLAW = AbilitySpec( name="Maw or Claw (Bite) (tiefling daemon-spawn)", category="racial", + source_detail="racial (bite 1d6 encoded in misty.json attacks)", ) # Brew Potion: can create potions