fix(rules): misty - add sheet feat Plot Armor as traced no-op so data matches the Foundry sheet
This commit is contained in:
+2
-1
@@ -137,7 +137,8 @@
|
|||||||
"Gifted Adept (dispel magic; magic)",
|
"Gifted Adept (dispel magic; magic)",
|
||||||
"Prehensile Tail (tiefling daemon-spawn)",
|
"Prehensile Tail (tiefling daemon-spawn)",
|
||||||
"Scaled Skin (electricity) (tiefling daemon-spawn)",
|
"Scaled Skin (electricity) (tiefling daemon-spawn)",
|
||||||
"Maw or Claw (Bite) (tiefling daemon-spawn)"
|
"Maw or Claw (Bite) (tiefling daemon-spawn)",
|
||||||
|
"Plot Armor"
|
||||||
],
|
],
|
||||||
"spells": [
|
"spells": [
|
||||||
"Prestidigitation",
|
"Prestidigitation",
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ _NOOP_FEATS: frozenset[str] = frozenset({
|
|||||||
"animal (race)",
|
"animal (race)",
|
||||||
"drake (race)",
|
"drake (race)",
|
||||||
"orange - lazy ass",
|
"orange - lazy ass",
|
||||||
|
"plot armor",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+4
-3
@@ -62,8 +62,8 @@ def _all_feature_names() -> list[tuple[str, str, int]]:
|
|||||||
return rows
|
return rows
|
||||||
|
|
||||||
|
|
||||||
def test_55_unique_feature_names_across_8_pcs() -> None:
|
def test_56_unique_feature_names_across_8_pcs() -> None:
|
||||||
assert len(_pcs_features()) == 55
|
assert len(_pcs_features()) == 56
|
||||||
|
|
||||||
|
|
||||||
def test_no_feat_in_8_pcs_is_silently_unresolved() -> None:
|
def test_no_feat_in_8_pcs_is_silently_unresolved() -> None:
|
||||||
@@ -192,6 +192,7 @@ _EXPECTED_RESOLUTION: dict[str, str] = {
|
|||||||
"Orange - Lazy Ass": "Orange - Lazy Ass",
|
"Orange - Lazy Ass": "Orange - Lazy Ass",
|
||||||
"Pingre": "Pingre",
|
"Pingre": "Pingre",
|
||||||
"Point-Blank Shot": "Point-Blank Shot",
|
"Point-Blank Shot": "Point-Blank Shot",
|
||||||
|
"Plot Armor": "Plot Armor",
|
||||||
"Power Attack": "Power Attack",
|
"Power Attack": "Power Attack",
|
||||||
"Precise Shot": "Precise Shot",
|
"Precise Shot": "Precise Shot",
|
||||||
"Prehensile Tail (tiefling daemon-spawn)": "Prehensile Tail (tiefling daemon-spawn)",
|
"Prehensile Tail (tiefling daemon-spawn)": "Prehensile Tail (tiefling daemon-spawn)",
|
||||||
@@ -216,7 +217,7 @@ _EXPECTED_RESOLUTION: dict[str, str] = {
|
|||||||
|
|
||||||
|
|
||||||
def test_every_pc_feature_resolves_to_expected_spec() -> None:
|
def test_every_pc_feature_resolves_to_expected_spec() -> None:
|
||||||
"""The full 55-name mapping table is satisfied by the loader."""
|
"""The full 56-name mapping table is satisfied by the loader."""
|
||||||
for name, expected_name in _EXPECTED_RESOLUTION.items():
|
for name, expected_name in _EXPECTED_RESOLUTION.items():
|
||||||
spec = _resolve_feat(name, 1)
|
spec = _resolve_feat(name, 1)
|
||||||
assert spec.name == expected_name, (
|
assert spec.name == expected_name, (
|
||||||
|
|||||||
Reference in New Issue
Block a user