0.2.5-dev: 驭械术师 normal attacks keep the operator's own hit plus one drone hit, the drone multiplier and per-target map reset on redeploy, 洛洛 S2 keeps its lock until a kill or the skill ends (PRs #537 / #536 / #535 by @Xinglan233, ported); hit tiles use the official round-half-to-even with an edge inset (PR #520 by @Cloudnyco, ported); bots softly avoid living teammates' opening factions until they are eliminated (PR #518 by @IceCodeNew, ported with changes); golden: 43 more scenarios move, each named in docs/history/0.2.5.md

This commit is contained in:
sganggs committed 2026-10-12 14:45:01 +08:00
1 parent 7fd0478dc0
commit e0f3771821
41 files changed
+1939 -779

No files matched your search

+26
View File
@@ -176,6 +176,32 @@ Profession traits (default behaviours implemented once in the engine, keyed by `
---
Unreleased funnel drones deal additional arts damage alongside the ordinary attack (PRTS 分支特性信息 驭械术师, §30.17).
The engine keeps a 100 % ATK body instance and a separate drone instance, each through mitigation and shields.
`funnelMul` holds only the drone ramp; the attack's `dmgMul` (至简's talent) is shared once. Extra attached drones
raise `hits`, not the body count; 至简's charged S2 sets `funnelBodyHits` to two. Both share one `attackId`, attack
hook and SP / charge use; additions have `addition` and `funnel` tags and do not count as `isAttack`. [ASSUMED] Body
instances precede additions at the existing projectile impact; consecutive hits keep one ramp per volley. This
correction covers ordinary attacks and unreleased skill attacks that set `funnelBodyHits`. Released skill paths retain
their existing behaviour; it does not establish whether those skills should also have body attacks (耶拉 S2, 澄闪 S1
and S2 remain to be reconciled separately).
Funnel ramps return to the initial scale on a normal deployment, including automatic revival against the same living
target (§30.18). The reset clears the current target, the scale and any per-target ramp map, and leaves other trait
state alone. A free move (`moveRedeploy`, the same carry as a 秘术师's stored energy and 乌尔比安 S3) keeps the ramp.
An in-flight shot recomputes the ramp when it lands, so a projectile launched before the reset can still step the new
ramp.
洛洛 S2 releases its trait drone into an independent skill tick (§30.19). Acquisition uses the body's normal target
selection; a living selectable lock stays valid outside the body's range and returns only when that enemy dies or the
skill ends. The body retains its own ranged ordinary attacks. The released ramp inherits the trait state but is
isolated from older projectiles, and while it is out the unreleased addition is off. Ending the skill returns that
ramp to the trait and restores the normal multiplier and the overload cap. S1 and other operators' funnel attacks keep
their existing paths. [ASSUMED] There is no flight delay; an untargetable lock is dropped and retargeted; body control
does not pause the released drone.
---
## 7. Content modules (server/sim/content + match/effectsMeta handlers)
Each domain file `server/sim/content/{tokens,bonds,garrisons,items,bands,enemies,bosses,devices,choices}.js` exports `install(battle)` (battle side; called once per Battle by `content/index.js → installContent`) and `registerMeta(registry)` (prep side; called once at server boot by `match/effectsMeta.js`, API documented in `docs/META.md`). Kits live one per file in `content/kits/ops/` (`export default { [baseChessId]: (bb, chess, def) => Kit }`), listed in `content/kits/index.js` (guide: `content/kits/README.md`). Content must be **data-driven from blackboards** (numbers never hard-coded when a blackboard key exists). Every effect gets at least one unit test in `test/content/*.test.js` using the `test/helpers/battleHarness.js` harness (provided by sim-core).
+4
View File
@@ -126,6 +126,10 @@ adjusted count and reset scope stay limited to its own operators; the DIY export
[ASSUMED] Bot purchasing applies one soft 18-point penalty to non-elite, non-DIY tier V/VI shared-pool cards whose
active bonds overlap another living teammate's opening strategy. Human and AI teammates are treated equally; it
neither reserves stock nor prevents a stronger purchase. Existing strategy presets and rehearsal counts are unchanged.
A living teammate's selected strategy also soft-reserves its bonds for bot strategy selection and focus planning
before any member is deployed (§30.21). The reservation ends when that teammate is eliminated. It does not hard-exclude
a strategy, reserve stock, or stop an immediate merge. A reserved strategy keeps a quarter of its unreserved draw
weight (`SOFT_BAND_RESERVE` = 0.25), so it can still be chosen. Mode-inactive bonds stay weight 0 (DESIGN §21.26).
[ASSUMED] AI reactions are cosmetic social choices, enabled by default and disabled with `SP_BOT_EMOTES=0`. Only
mixed human/AI matches emit them, through the existing whitelist and cooldown. A human emote gets at most one eligible