From e07f3745eca5c51074c7941a391932744edf900e Mon Sep 17 00:00:00 2001 From: "@permadeath.com" Date: Wed, 19 Aug 2026 22:40:19 -0400 Subject: [PATCH] docs(unit-rules): what the widened damage oracle found --- TODO.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/TODO.md b/TODO.md index 8d65f75..6070e5d 100644 --- a/TODO.md +++ b/TODO.md @@ -280,6 +280,35 @@ The long pole, and the reason `helm-core` does no I/O. Tracked as is cooling the `heat sinks:` line still counts, and a hit anywhere in a multi-slot weapon destroys the whole weapon rather than the slot. + **Widened, and it found three more.** Nine designs in fourteen states - + 126 rows - covering the systems whose loss changes a figure: engine, gyro, + heat sinks, jump jets, arm actuators, MASC, and the leg joints. Six states + were added at once and three of them disagreed straight away: + + - **An engine critical is five points of heat a turn**, and MegaMek takes + it off the heat efficiency after the movement heat rather than through + it: `mekHeatEfficiency -= getEngineHits() * 5`. A standard fusion engine + fills six centre torso slots and all six count. helm charged nothing, + and an Atlas with its engine hit was 1897 where MegaMek says 1631. + - **Jets that have been shot off are not jets the design never had.** The + `jump mp:` line is the fallback for a design carrying no jets this crate + can resolve, and a Catapult whose jets were destroyed fell through to + it and was scored as still jumping four. + - **A hatchet is never dropped for heat.** MegaMek builds its heat list + from `getTotalWeaponList`, which a physical weapon is not in - it is + scored with the equipment at full value. A vibroblade *is* in it, added + by name with the heat its motor makes. helm halved every melee weapon + once a design ran out of budget, which no fresh design in the library + is far enough over to show. + + One of the six was the oracle's own fault rather than helm's: destroying + "every heat sink" also destroyed the ones inside the engine, which fill no + critical slot, cannot be shot out in the game, and have no way to be + written into a `.mul`. An oracle for a state helm can never be asked about + is not an oracle. It now damages only what a critical hit could reach. + + 126 of 126 rows agree, and the undamaged library is unchanged at 4,252. + - [x] **A catalogue small enough to ship.** `helm catalogue` writes the fields the rules actually read and drops the rest: the bridge dumps a `namesVector`, a `techAdvancement` and several static tables on every one -- 2.51.2