fix(sim): keep Wisdel shadows off the boss bench (#557)

This commit is contained in:
IceCodeNew committed 2026-10-12 17:59:40 +00:00
1 parent cf7a940027
commit cc3c210779
5 files changed
+40 -2

No files matched your search

+12
View File
@@ -704,3 +704,15 @@ default skill is S2, which is the skill this correction changes.
| 耶拉 was on the pre-change lineup; that seat is then eliminated and the stored lineup is empty | `solo-ABYSS-1`: defeat at round 13 → eliminated at round 12, team LP 0 → null. The pre-change lineup had 耶拉 `3_20_a` and 至简 `3_13_a`. First divergence round 8: LP 27 → 18, killed 19 → 10, leaks 0 → 9. `coop4-ABYSS-7`: still a defeat at round 13, team LP 0, boss pool 4821366 → 3417504. ai_1 is eliminated at round 13; the pre-change lineup had 至简 `3_13_a` and 耶拉 `3_20_a`. First divergence round 8: ai_1 LP 19 → 20, killed 2 → 3, leaks 7 → 6. ai_0's lineup also changes and has no funnel chess id before or after |
| 耶拉 plus other funnel operators, lineup unchanged, same victory and the same team LP 130 | `coop4-FUNNY-6`: ai_0 耶拉 `3_20_a`, ai_1 荒芜拉普兰德 `6_18_a`, ai_3 洛洛 `2_10_a`. First divergence round 11, ai_0's kjeragShip layers 26 → 23 |
| No 耶拉 on the final lineup. The diverging round's pieces and skill choice are not stored | `coop2-NORMAL-1-coverage-standins`: still a defeat, team LP 0, boss pool 25040 unchanged. ai_0's final lineup includes 荒芜拉普兰德 `6_18_a`. First divergence round 7, the other seat's miraShip layer 5 → 6. `coop2-NORMAL-14-standins`: victory, team LP 31 → 40 (ai_0 LP 13 → 22). Neither final lineup contains a funnel chess id. First divergence round 10 bond layers (raidShip 26 → 28, steadShip 16 → 18); that round's board hash is unchanged |
### 30.31 魂灵之影 excludes the boss-field bench (#557)
The boss/hidden simulation rect includes rows 0–1, the mapped hand and temporary bench. `shadowTile` previously
accepted their buildable terrain, so a bottom-row 维什戴尔 could summon there through her deployment talent or S3.
It now excludes rows below the combat deployment boundary before choosing the nearest free tile. With no candidate,
the summon is skipped. The change preserves range, occupancy and tie-breaking, including cross-half candidates.
Sources: [PRTS 维什戴尔](https://prts.wiki/w/维什戴尔), the talent's nearest/lower-row/left-column deployable-tile rule;
the existing `GEO.FIELD` and `BOSS_ROW_OFFSET` mapping; [issue #557](https://github.com/sganggs/Stronghold-Protocol/issues/557).
No new [ASSUMED] rule. The regression covers boss and hidden fields, both mirrored sides, a full range and one free
combat tile, through the deployment talent and an actual S3 activation. Normative correction: DESIGN §3; API note: SIM.