Scrap-consuming recipes as threat fallback, not excluded
Refine the REQ-THREAT-ITEM fix per review: recipes taking scrap as input participate in an item threat computation only when no scrap-free recipe produces that item, mirroring the existing reprocessing-path rule instead of a blanket exclusion. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
This commit is contained in:
@@ -430,9 +430,10 @@ typical loadouts double as the `default_modules` for enemy waves):
|
||||
- *Rule bug discovered:* the scrap→iron_ingot smelter recipe combined
|
||||
with REQ-THREAT-ITEM's max-across-recipes rule would set
|
||||
threat(iron_ingot) to the scrap path (1 + 4 = 5, or more at other
|
||||
scrap values) instead of 2, inflating every downstream item. Fix
|
||||
required: exclude scrap-consuming recipes from item threat
|
||||
computation (see progression_design.md action items).
|
||||
scrap values) instead of 2, inflating every downstream item. Fix:
|
||||
scrap-consuming recipes count toward an item's threat only when no
|
||||
scrap-free recipe produces that item, mirroring the reprocessing-path
|
||||
rule (see progression_design.md action items).
|
||||
|
||||
## Balancing targets (first pass, July 2026)
|
||||
|
||||
|
||||
@@ -373,13 +373,13 @@ in `requirements.md` and the git history). Still open:
|
||||
one matching deposit tile). Touches REQ-BLD-MINER ("every asteroid
|
||||
tile is equivalent" no longer holds), REQ-GW-ASTEROID-EXPAND /
|
||||
REQ-EXP-*, `world.toml`, and `visuals.toml`.
|
||||
6. **Exclude scrap-consuming recipes from item threat.** Amend
|
||||
REQ-THREAT-ITEM: recipes that take scrap as an input do not
|
||||
participate in an item's threat computation (neither as its value
|
||||
nor in the max-across-recipes rule). Otherwise the scrap→ingot
|
||||
smelter recipe inflates the basic materials' threat via the max
|
||||
rule, poisoning every downstream value. Scrap conversion is already
|
||||
accounted for by the REQ-THREAT-SCRAP constant.
|
||||
6. **Scrap-consuming recipes as threat fallback only.** Amend
|
||||
REQ-THREAT-ITEM: recipes that take scrap as an input participate in
|
||||
an item's threat computation only if no scrap-free recipe (miner,
|
||||
smelter, or assembler) produces that item — mirroring the existing
|
||||
rule for the reprocessing path. Otherwise the scrap→ingot smelter
|
||||
recipe would inflate the basic materials' threat via the
|
||||
max-across-recipes rule, poisoning every downstream value.
|
||||
7. **Threat report tool.** Port the numbers-pass calculator to
|
||||
`tools/threat_report.py`: per-item threat values, module
|
||||
contributions, fitted ship threats vs. the ladder targets,
|
||||
|
||||
Reference in New Issue
Block a user