Fix source-owned Lemuen detection and wanted skill triggers (#428)

This commit is contained in:
sganggs committed 2026-10-09 17:29:46 +08:00
1 parent 08c93460db
commit 85b694f206
8 files changed
+495 -379

No files matched your search

+4
View File
@@ -182,3 +182,7 @@ Each domain file `server/sim/content/{tokens,bonds,garrisons,items,bands,enemies
- choices: 机变 families (悬赏决策 bounties, 道具补给, 机密商店, 战术决策 team/personal buffs). 悬赏决策 = the official structure of its round (choices.json `bountyDrafts`, 86 drafted cards: R3 a fixed set of six 两场 cards, R9 6 of a boss group's list, R11 6 of a seen 7-card list; §21.2); 机密商店 (R11 the official composition) and 战术决策 can offer the same card twice (`shopDraft` / `tacticDraft`); bounty cards carry `descRaw`; no draft offers a multi-round card, and 教鞭's lasts two battles (`choices.js MULTI_ROUND_BOUNTY_BATTLES`, §20.6). Pointing Stick (教鞭) offers up to three private Tactical Training cards during PREP; the owner confirms one through `g.choice` with its `choiceId`, with Ready blocked until confirmation or the existing prep deadline's auto-pick. “神秘顾客” remains random (META §2.5).
---
蕾缪安's wanted tiles extend both attacks and the existing content skill-trigger range (§28.4). New detection
requires selectability; an attached timer needs continuous detection range, and each on-field source owns its timers
and marks. Leaving clears that source's state without clearing another still-deployed source's marks.
+16
View File
@@ -78,6 +78,21 @@ The secure Clipboard API remains first choice; a failed fallback returns false f
Shared invite/loadout copying uses the same helper. Device tests passed 16/16; independent interaction probes
passed 12/12. The real nested-dialog regression is included in `test/ui/modal.e2e.test.js` for integration testing.
### 28.4 蕾缪安's wanted range also triggers skills — #428
Reported by @CurlyZhu. Marked enemies' tiles extended normal targeting, but were absent from the skill's
initial trigger range: full SP could sit idle while she attacked a remote wanted enemy. Her kit now registers
those tiles through the existing `addTriggerRange` contract, retaining target selectability and operation cooldown.
[PRTS 蕾缪安](https://prts.wiki/w/蕾缪安) also clarifies that a new detection timer needs a selectable target,
a timer already attached continues while sleeping within detection range, and the source leaving clears its
timers and marks. Each source now tracks its own progress; one Lemuen leaving does not erase another's marks.
The focused 12 tests cover all three skills, cross-player detection in a joint field, sleep/wake, multiple sources,
redeployment (including immediate range cleanup before the next attack) and the existing S3 waiting/late-bombardment behavior. Independent review passed after fixing that cleanup.
Golden: all 285 scenarios recomputed. `roster-016/018/035/036/045`, `boss-boss_1/3/5/7-pair`,
`hidden-boss_9-pair` and `solo-HARD-9-boosted` move because wanted marks now drive skill casts and
source-owned detection/cleanup; allies and kill timing consequently change. Bonds, stand-ins and DIY are unchanged.
### 28.5 远牙's granted trait on substitute switches — #415 / PR #429
Ported from [PR #429](https://github.com/sganggs/Stronghold-Protocol/pull/429) by @CXUtk; reported and
@@ -127,3 +142,4 @@ independently replayed for this port. **[ASSUMED]** other push sources and pulls
share the examples' display behavior; the drag template alone cannot establish that engine rule.
Tests cover real push/pull skill paths, default/override metadata, snapshot reversal, and an earlier attack
arriving after slide prestart in either field direction. Golden metadata deliberately omits the display flag.