13 KiB
DESIGN §28 — 0.2.3
Part of DESIGN.md (the index; section numbers are global).
28. New content and community fixes
This chapter describes the development version, not a published release. Numerical content is rebuilt from
CN client 2.7.81, ArknightsGameData commit 17759cc8cdf37388414145d16262a3a06f3ab25e (2026-10-08),
with mechanism notes from PRTS checked on 2026-10-09. Launch-day descriptions may receive corrections.
28.1 克莱门莎 — sim/content/kits/ops/op-clemnt.js
- Source: PRTS 克莱门莎 and the official character, skill and range tables.
The non-collaboration 6★ roster gains Clementia (
char_4231_clemnt), a 本源近卫: 72 DIY operators, 89 backup units including stand-ins, 259 selectable forms. All three skills are selectable in the existing tier-5 / tier-6 DIY slots at their existing skill-rank rules; potential and cultivation follow the player's settings. She has no launch module. Her bonds follow the existing faction mapping, including 阿戈尔. - Talents: each physical hit independently rolls 生死定夺's pre-DEF ATK multiplier; an enemy with current DEF below its initial DEF uses the higher probability. 习得性防御 reduces physical / Arts damage from the forward half-plane (including its boundary) or an enemy she blocks; 海怪 uses its separate reduction. Both talents take their potential-sensitive values from the generated data.
- S1: the charged attack applies its ATK scale and inflicts 侵蚀损伤 proportional to actual HP damage. S2: the cabin travels forwards at 2 tiles/s, up to 3 tiles, carrying up to 15 ground enemies with a total weight of 8. Its collision square is 1.1 × 1.1. Impassable terrain stops it; self-bound / teleport-immune units cannot ride. Its actual stopping position becomes a radius-1.5 vortex that can affect air, slows by 70%, and each second deals 200 erosion damage plus the skill's physical damage. Erosion follows the engine's normal resistance, burst cooldown and mode-leader immunity rules. Ordinary skill attacks hit their main ground target and up to four neighbours.
- S3: attacks select up to three ground enemies and add erosion based on actual HP damage without spending ammunition. A selectable ground enemy's erosion burst anywhere in the current battle marks it for 1 s. The closest mark consumes one of 10 bombardments: three physical + elemental hits in the target tile's five-tile cross. A tile with an outstanding projectile cannot be selected again for 5 s. Values are taken from the skill rank, not inferred from the final rank's description.
- [ASSUMED], pending PRTS confirmation: S2 ordinary splash radius 1.5 and stable spawn-order tie breaks; 放逐 presently prevents walking, attacking and blocking while keeping the passenger damageable; cabin movement updates every sim tick, stops 0.4 tiles before an impassable edge, and the vortex ends with S2. S3's first impact is 0.5 s after launch, the others 1 s apart; launched projectiles finish after skill end. These are local kit assumptions, not changes to displacement or targeting rules for other operators.
- Tests:
test/content/op_clemnt.test.jscovers available forms, potential, crit probabilities, directional defence, S1 cadence, S2 capacity / immunity / terrain / air vortex / target cap, and S3 ammo / global marks / mixed damage. Golden changes and the final integration verification are recorded below once complete.
28.2 New modules — 黍「好时节」and 乌尔比安「前路」
- Sources: PRTS 黍, PRTS 乌尔比安, official
uniequip_tableandbattle_equip_tablefrom the same CN revision. Regenerating data adds GUA-Y (uniequip_003_shu) and CRU-Y (uniequip_003_ulpia) to their existing forms, including the anchor's module lookup. The day's new 5★ operators stay outside the established non-collaboration 6★ DIY pool. - 黍: GUA-Y's trait gives 15% damage reduction. The upgraded 天有四时 takes the improved HP / ASPD / four-Sui squad bonuses from the module blackboard. Satisfying at least two of the three conditions grants the separate additional ATK bonus (3% / 5% at module levels 2 / 3); it expires when the conditions stop holding.
- 乌尔比安: CRU-Y increases damage to an enemy blocked by any ally by 10%. Its upgraded talent also counts another 深海猎人's credited kills (including delayed hits after that hunter leaves) while 乌尔比安 is deployed, shares the module's specified HP / ATK proportion, and adds one block at 9 stacks. Potential's extra maximum stack is retained. The mode's tier-5 elite form still uses module level 1; support for upgraded talent blackboards does not change that established rule.
- Tests:
test/content/new-modules-023.test.js, plus existing 黍 and tier-5 kit cases. The level-3 talent fixture is sourced from the official module blackboard; it is not exposed as a new tier-5 loadout.
Content verification checkpoint
The new content's targeted tests passed 16/16; existing Shu / tier-5 coverage passed 120/120. An independent
interaction pass checked retreat cleanup, sleeping passengers, a real rebirth enemy, hit-count life,
post-retreat bombardments and delayed hunter kill credit. It found and corrected vortex-position rounding,
an unsupported elemental-resistance bypass and an unnecessary on-field check on the credited hunter.
All 285 golden scenarios were regenerated: only roster and diy changed, (roster-019, roster-038, diy-059–diy-140), because the added module expands
loadout coverage and the added DIY operator / Shu module expand and regroup the DIY scenarios. bonds,
fields, matches and standins remained byte-identical. Full integration and browser checks follow separately.
28.3 Clipboard export inside dialogs — #433
Reported by @RushFTK: exporting settings over an insecure/LAN connection focused the language selector and
reported success without copying the export. The fallback textarea was appended outside the active dialog,
whose focus trap redirected selection before execCommand('copy').
ui/clipboard.js now selects its temporary textarea inside the active dialog/guide, validates focus and the
whole selection before copying, and always removes it and restores focus, including after exceptions.
The secure Clipboard API remains first choice; a failed fallback returns false for the existing manual-copy UI.
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 蕾缪安 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 by @CXUtk; reported and
original-mode interaction confirmed by @rosexxxp. The official activity table supplies the amounts:
garrison_148_a/b grants garrison_108_a/b, +4/+8 to active 卡西米尔 and 精准, capped at 24/48 per battle.
Only that granted trait additionally listens to dollSwap, in both directions, through the existing gain function.
Deployment and switches share the original cap, active-bond checks and grant deduplication. Other deployment
traits keep their existing triggers. The 7 regression cases cover both real dollkeepers, natural and S2 returns,
shared caps, duplicate grant holders, inactive bonds and unrelated timed windows.
28.6 Asset download visibility — PR #421
Ported from PR #421 by @LimitlessHPPK.
The asset resolver records every planned leaf with no alternative on disk as droppedLeaves in its report;
the terminal prints a bounded summary. --strict / SP_ASSETS_STRICT=1 returns exit 1 for those omissions.
The default remains a warning, and the existing manifest shrink guard remains in force. Strict mode changes
the outcome code; it is not a transaction and does not roll back a manifest already written. Temporary test
assets are cleaned up after each case. This is an opt-in tool check, not an added packaging requirement.
28.7 Korean wording and contribution template — PRs #414 / #432
PR #414 by @D-Roote improves 292 existing Korean
interface strings. Only its message values are ported; later keys and the pack's translation metadata remain.
PR #432 by @Xinglan233 supplies a contribution
checklist covering the problem, source evidence, assumptions, actual checks and golden changes. The template
is installed at .github/pull_request_template.md, the default template location, so GitHub can offer it
without a named-template query parameter. No gameplay rules change.
28.8 Stop recalculating held Spine poses — PR #434
Ported from PR #434 by @Cloudnyco. A finished, non-looping, unmixed death pose or frozen model can reuse its posed skeleton and cached pixels while its clock advances. First poses, new clips, tint changes, mixing, multiple tracks, pending wind-ups / closing clips, clipping switches, dirty textures and zoom rescaling still update. Redeployment resumes normal animation. Redeploy countdown labels share rasterized textures keyed by text, colour and resolution; late web fonts refresh them in place. The 64 targeted renderer tests passed. The author's performance measurements are not reproduced here; real Pixi checks are part of the integration pass. No battle rule or golden result is intentionally changed.
28.9 Preserve facing during pushes and pulls — #418 / PR #427
Ported from PR #427 by @YinqiMargatroid.
Successful pushes/pulls mark their displacement events keepFacing so the renderer retains pre-hit facing
while waiting for the endpoint snapshot and throughout the slide. Raw displacement and explicit
keepFacing: false retain the old directional behavior. Position, distance and unbalance time are unchanged.
The contributor's source clips and their limitations are retained in research 13; those observations were not
independently replayed for this port. [ASSUMED] other push sources and pulls against the target's old facing
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.
28.10 Charged guardian heals and mixed-skill activation — #406
Reported by @ChengCC0101. 塞雷娅 / 黍 S1 previously required an enemy to supply the attack that their charged heal
replaces. PRTS 塞雷娅 and 黍 describe an eligible ally at
half HP or below, with the normal attack cadence. updateAlly now checks this alternate target after its cooldown
and control/disarm checks; an enemy is unnecessary. An invalid pending heal still returns its charge. This corrects
the enemy requirement inferred in historical §27.31; that earlier conclusion is superseded.
PRTS 凯尔希·思衡托 S2 can attack enemies and heal allies. Its automatic activation now accepts either target kind on its expanded range, under the existing player-approved range strategy and operation cooldown. S1/S3 keep their existing trigger rules. This addresses the healing/activation parts of #406; the separate fatal-hit/silence report still needs an independently justified damage-order fix.
Verification: 104 targeted tests pass. Independent interaction review found and verified fixes for a one-frame cadence delay and premature charge use while disarmed; normal/100-ASPD intervals are exactly 1.2/0.6 s. Sleep, silence, no-heal targets, charge refunds, cooperative healing and S2 target selectability remain covered.
Golden: all 285 scenarios recomputed; diy-059, diy-133 change because
charged heals now act without enemy targets and S2 can open for enemies. Other scenarios remain byte-identical.