fix(rules): Friendly Face and Extremely Fashionable become documented no-ops (SRD: animal attitude +2 steps and +1 Bluff/Diplomacy/Intimidate in fine clothing - neither attitude nor clothing state is modeled; old +1/+4 Diplomacy bonuses were wrong)
This commit is contained in:
@@ -69,6 +69,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": "fiches_personnages/harvie_sheet.json",
|
"source": "fiches_personnages/harvie_sheet.json",
|
||||||
|
"notes": "Feat : 'Friendly Face' est un no-op documenté (attitude initiale des animaux +2 pas, système d'attitude non modélisé).",
|
||||||
"features": [
|
"features": [
|
||||||
"Friendly Face",
|
"Friendly Face",
|
||||||
"Fey-touched",
|
"Fey-touched",
|
||||||
|
|||||||
+1
-1
@@ -92,7 +92,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": "fiches_personnages/oni_sheet.json",
|
"source": "fiches_personnages/oni_sheet.json",
|
||||||
"notes": "Armes placeholder Foundry sans dégâts encodés omises : 'une Pioche' (non maîtrisée) et 'Weapon' (à remplacer par la vraie arme). Trait : 'Exalted of the Society' accorde +1 canalisation d'énergie/jour (channel_energy 6 -> 7, fusionné par le chargeur).",
|
"notes": "Armes placeholder Foundry sans dégâts encodés omises : 'une Pioche' (non maîtrisée) et 'Weapon' (à remplacer par la vraie arme). Traits : 'Exalted of the Society' accorde +1 canalisation d'énergie/jour (channel_energy 6 -> 7, fusionné par le chargeur) ; 'Extremely Fashionable' est un no-op documenté (+1 Bluff/Diplomacy/Intimidate en habits fins, état vestimentaire non modélisé).",
|
||||||
"features": [
|
"features": [
|
||||||
"Summon Good Monster",
|
"Summon Good Monster",
|
||||||
"Sacred Summons",
|
"Sacred Summons",
|
||||||
|
|||||||
@@ -222,11 +222,14 @@ LIKE_THE_WIND = AbilitySpec(
|
|||||||
effects=(StatModifier(target="speed_ft", value=10),),
|
effects=(StatModifier(target="speed_ft", value=10),),
|
||||||
)
|
)
|
||||||
|
|
||||||
# Friendly Face: +1 trait bonus on Diplomacy checks
|
# Friendly Face (feat, Animal Archive): "Other animals of roughly the same
|
||||||
|
# kind as you have their starting attitudes toward you improved by two
|
||||||
|
# steps." Attitude/social state is not modeled by the combat engine ->
|
||||||
|
# documented traced no-op (the previous "+1 diplomacy" was the wrong effect).
|
||||||
FRIENDLY_FACE = AbilitySpec(
|
FRIENDLY_FACE = AbilitySpec(
|
||||||
name="Friendly Face",
|
name="Friendly Face",
|
||||||
category="trait",
|
category="trait",
|
||||||
effects=(StatModifier(target="diplomacy", value=1),),
|
source_detail="feat (not modeled: animal initial attitude +2 steps)",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Fey-touched: +1 trait bonus on saves vs. fey effects
|
# Fey-touched: +1 trait bonus on saves vs. fey effects
|
||||||
@@ -359,11 +362,15 @@ SACRED_SUMS = AbilitySpec(name="Sacred Summons", category="feat")
|
|||||||
# Selective Channeling: exclude targets from channel energy
|
# Selective Channeling: exclude targets from channel energy
|
||||||
SELECTIVE_CHANNELING = AbilitySpec(name="Selective Channeling", category="feat")
|
SELECTIVE_CHANNELING = AbilitySpec(name="Selective Channeling", category="feat")
|
||||||
|
|
||||||
# Extremely Fashionable: +4 trait bonus on Diplomacy checks
|
# Extremely Fashionable (Faction trait, Pathfinder Society): "+1 trait bonus
|
||||||
|
# on Bluff, Diplomacy, and Intimidate checks while wearing fine clothing."
|
||||||
|
# Clothing state is not modeled by the engine and the bonus is conditional on
|
||||||
|
# it -> documented traced no-op (the previous flat "+4 diplomacy" was the
|
||||||
|
# wrong value and ignored the clothing condition).
|
||||||
EXTREMELY_FASHIONABLE = AbilitySpec(
|
EXTREMELY_FASHIONABLE = AbilitySpec(
|
||||||
name="Extremely Fashionable",
|
name="Extremely Fashionable",
|
||||||
category="trait",
|
category="trait",
|
||||||
effects=(StatModifier(target="diplomacy", value=4),),
|
source_detail="trait (not modeled: +1 Bluff/Diplomacy/Intimidate in fine clothing)",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Exalted of the Society (Basic Faith trait, Faction Guide; requires Cleric +
|
# Exalted of the Society (Basic Faith trait, Faction Guide; requires Cleric +
|
||||||
|
|||||||
@@ -16,7 +16,9 @@ from pf1e_simulator.abilities import (
|
|||||||
BORN_DAMNED,
|
BORN_DAMNED,
|
||||||
COMBAT_REFLEXES,
|
COMBAT_REFLEXES,
|
||||||
EXALTED_SOCIETY,
|
EXALTED_SOCIETY,
|
||||||
|
EXTREMELY_FASHIONABLE,
|
||||||
FORTIFIED_DRINKER,
|
FORTIFIED_DRINKER,
|
||||||
|
FRIENDLY_FACE,
|
||||||
MOUNTED_COMBAT,
|
MOUNTED_COMBAT,
|
||||||
POINT_BLANK_SHOT,
|
POINT_BLANK_SHOT,
|
||||||
)
|
)
|
||||||
@@ -272,3 +274,19 @@ def test_axe_to_grind_is_inert_documented_noop() -> None:
|
|||||||
the wrong effect; the SRD bonus is not tied to axes)."""
|
the wrong effect; the SRD bonus is not tied to axes)."""
|
||||||
assert AXE_TO_GRIND.effects == ()
|
assert AXE_TO_GRIND.effects == ()
|
||||||
assert "not modeled" in AXE_TO_GRIND.source_detail
|
assert "not modeled" in AXE_TO_GRIND.source_detail
|
||||||
|
|
||||||
|
|
||||||
|
def test_friendly_face_is_inert_documented_noop() -> None:
|
||||||
|
"""SRD (Animal Archive feat): animals of the same kind have their starting
|
||||||
|
attitude toward you improved by two steps. No attitude model -> inert
|
||||||
|
no-op (old +1 Diplomacy was the wrong effect)."""
|
||||||
|
assert FRIENDLY_FACE.effects == ()
|
||||||
|
assert "not modeled" in FRIENDLY_FACE.source_detail
|
||||||
|
|
||||||
|
|
||||||
|
def test_extremely_fashionable_is_inert_documented_noop() -> None:
|
||||||
|
"""SRD (PFS faction trait): +1 trait bonus on Bluff, Diplomacy and
|
||||||
|
Intimidate while wearing fine clothing. Clothing state not modeled ->
|
||||||
|
inert no-op (old flat +4 Diplomacy was the wrong value and unconditional)."""
|
||||||
|
assert EXTREMELY_FASHIONABLE.effects == ()
|
||||||
|
assert "not modeled" in EXTREMELY_FASHIONABLE.source_detail
|
||||||
|
|||||||
Reference in New Issue
Block a user