feedback2 WD: DESIGN §22.4 and SIM.md for the review fixes (重生 clears the effect, relocated and long-standing operators, boss / hidden fields, 纠缠藤蔓, the 沼泽 and 深水区 findings)
This commit is contained in:
1 parent
a4d69b6ba3
commit
c2e0788fd1
2 files changed
+19
-10
No files matched your search
+9
-6
@@ -1477,15 +1477,18 @@ TBD-22.2
|
||||
TBD-22.3
|
||||
|
||||
|
||||
### 22.4 活性源石 stays on an enemy after it leaves the tile (#33 item 6) — `server/sim/content/devices.js` (`touchInfection`, `enterTerrain`, `terrainFor`)
|
||||
### 22.4 活性源石 stays on an enemy after it leaves the tile (#33 item 6) — `server/sim/content/devices.js` (`touchInfection`, `enterTerrain`, `terrainFor`, `tickMire`, `deepWaterDamage`), `content/enemies.js` (`rebirthCleanse`, `kitDeepsea`), `tools/build-data.mjs` (`special.mire`)
|
||||
|
||||
- **Seen** (public issue #33, other part 3: 「红地板图敌方单位经过后,红地板附带的效果会消失」): on 战场#04 an enemy lost the red floor's effect the moment it walked off it. Measured on v0.1.1 (the real stage): an enemy on (10,6) from 15.67 s to 19.67 s lost 4 × 70 HP; 12 s later it still had 99720 / 100000 HP and no ATK / ASPD bonus.
|
||||
- **Official**: the red floor is 活性源石 `tile_infection`, the only one in the season's data — 战场#04 (`act1autochess_m04`) at (10,6), (11,6), (10,14), (11,14) and on the boss rows at (3,6), (4,6), (3,14), (4,14); level blackboard `damage` 70, `atk` 0.2, `attack_speed` 20, `duration` 300. PRTS 特殊地形 tile template (`特殊地形/trapper/tilesformat.json`): "部署于其上的我军和经过的敌军在{duration}s内每秒受到{damage}真实伤害,攻击力提升{atk×100}%,攻击速度增加{attack_speed}" (main-story stage pages: "在五分钟内"). The crisis-contract tag `global_tile_infection_1` 「目标:可控感染」 (PRTS 切尔诺伯格 6区废墟/历史合约): "踏过活性源石地块的敌人不再持续损失生命值" — without it an enemy that has walked over the tile goes on losing HP. Same-name effects do not stack (PRTS 作战机制: "同名buff的默认叠加策略buff只能表现出一个"). Its damage is 环境伤害 (PRTS 自然环境 lists 活性源石).
|
||||
- **Official**: the red floor is 活性源石 `tile_infection`, the only one in the season's data — 战场#04 (`act1autochess_m04`) at (10,6), (11,6), (10,14), (11,14) and on the boss rows at (3,6), (4,6), (3,14), (4,14); level blackboard `damage` 70, `atk` 0.2, `attack_speed` 20, `duration` 300. PRTS 特殊地形 tile template (`特殊地形/trapper/tilesformat.json`): "部署于其上的我军和经过的敌军在{duration}s内每秒受到{damage}真实伤害,攻击力提升{atk×100}%,攻击速度增加{attack_speed}" (main-story stage pages: "在五分钟内"). The crisis-contract tag `global_tile_infection_1` 「目标:可控感染」 (PRTS 切尔诺伯格 6区废墟/历史合约): "踏过活性源石地块的敌人不再持续损失生命值" — without it an enemy that has walked over the tile goes on losing HP. Same-name effects do not stack (PRTS 作战机制: "同名buff的默认叠加策略buff只能表现出一个"). Its damage is 环境伤害 (PRTS 自然环境 lists 活性源石). A 重生 clears every buff but a whitelist (PRTS 特殊机制 §重生 "清空自身身上除白名单外所有Buff"; its 非首次标记 row: "如无特殊说明,也默认同常规Buff一样可被重生清除").
|
||||
- **Cause**: `devices.js` read `duration` as a lifetime of the tiles (`terrainFor` switched them off after 300 s of battle time) and tied the effect to standing on the tile (`enterTerrain` removed it as soon as the unit's tile changed).
|
||||
- **Now**: every tick a unit is on the tile (allies by their tile, ground enemies by their rounded position; flyers, hovering / levitated and hidden units never touch it, as before), `touchInfection` gives it the timed effect `terrain:infection` for `duration` s — 70 true damage per second, ATK +20 %, ASPD +20 — or, when it already carries it, gives it back its full time. Leaving the tile no longer removes it: an enemy that crossed it drains 70/s with ATK +20 % / ASPD +20 for 300 s from its last contact — longer than any own-field or 联防 battle lasts (≤ 230 s of battle time). All 12 ground legs of 战场#04 (own field, 联防 field, boss field) cross one of these tiles, so every ground enemy there carries it once past the tile. One effect per unit: a second pass or the next tile of a pair restarts its time and never adds a second effect (ATK +20 % once, 70/s, no extra tick). The tiles never switch off — the old lifetime only ever ran out on the boss field (no time limit), at 300 s. An operator deployed on it is always in contact and keeps draining until it is knocked out or withdrawn (official; v0.1.1 did the same within the first 300 s); leaving the field (knock-out, withdrawal, 突袭's jump) drops the effect with every other buff. The damage itself is unchanged: true damage no unit deals (无来源), tagged `terrain` (环境伤害), a damage instance, not a 流失.
|
||||
- [ASSUMED]: the time counts from the last contact (it is refreshed every tick on the tile) and the per-second rhythm runs on through a refresh; not 持续伤害 (no `dot` tag: PRTS 伤害分类's list of BUFF damage names 深水区, 源石污染区 and 活性源石风暴 but not 活性源石, so 锡人's 凋敝魂灵 does not raise it); a 重生 keeps it (the 重生 whitelist keeps source-less buffs, SIM.md "Knock-outs that are not deaths").
|
||||
- **Checked**: no other terrain reads a `duration` — 沼泽 (stacks, cleared on leaving), 深水区 (`sea_drown[enemy]` has none), 烟雾 and the blowers. Nothing relied on the old lifetime: the client draws the tile glow from the stage map (it never went out), terrain effects have no status icon, the enemy abilities that care about the tile (萨卡兹枯朽前锋's arts attacks, “灵幛”, 孽罪奇美拉) read the tile they stand on (`onTerrain`), and 联防 carries no effects (HP, SP and a running skill only).
|
||||
- Tests: `test/content/tokens_devices.test.js` — 活性源石 (the operator and the enemy standing on it), an enemy keeps the effect after leaving the tile (20 s later: 70/s, ATK, ASPD, the time left), one effect per unit (two passes give one effect that ends `duration` s after the last contact, 70/s while it lasted; an operator drains past `duration`).
|
||||
- **Now**: every tick a unit is on the tile (allies by their tile, ground enemies by their rounded position; flyers, hovering / levitated and hidden units never touch it, as before), `touchInfection` gives it the timed effect `terrain:infection` for `duration` s — 70 true damage per second, ATK +20 %, ASPD +20 — or, when it already carries it, gives it back its full time. Leaving the tile no longer removes it: an enemy that crossed it drains 70/s with ATK +20 % / ASPD +20 for 300 s from its last contact — longer than any own-field or 联防 battle lasts (≤ 230 s of battle time). All 12 ground legs of 战场#04 (own field, 联防 field, boss field) cross one of these tiles, so every ground enemy there carries it once past the tile. One effect per unit: a second pass or the next tile of a pair restarts its time and never adds a second effect (ATK +20 % once, 70/s, no extra tick). The tiles never switch off — the old lifetime only ever ran out on the boss / hidden fields (no time limit), at 300 s. An operator deployed on it is always in contact, so it drains until it is knocked out or withdrawn, past 300 s too (this follows from the [ASSUMED] refresh rule; v0.1.1 drained it the same way within the first 300 s). An operator moved off the tile (`Battle.relocate`: 乌尔比安's S3 move and return, 夕's 小自在) keeps the effect for its time — 乌尔比安 landing on (10,6) carries it home for 300 s (measured by the review); leaving the field (knock-out, withdrawal, 突袭's jump) drops it with every other buff. A 重生 (`rebirthCleanse`: 逐火 embers, 假想敌:再生's 傀儡, 锏, 守墓石像 …) clears it like any buff, and contact gives it again while the enemy stands on the tile. Kept through the 重生 (the first version of this fix), its 1 s ticks — each a hit of a husk's 特殊生命值 — killed a 深池逐火战士 ember that had crossed (11,6) at ~6 s instead of letting it stand up at 1 + 10 s (护卫's 火灰 at ~11 s, 傀儡 at ~16 s; found by the review). The damage itself is unchanged: true damage no unit deals (无来源), tagged `terrain` (环境伤害), a damage instance, not a 流失.
|
||||
- [ASSUMED]: the time counts from the last contact (it is refreshed every tick on the tile) and the per-second rhythm runs on through a refresh — hence an operator on the tile drains past 300 s; contact gives the effect again to an enemy reborn on the tile; not 持续伤害 (no `dot` tag: PRTS 伤害分类's list of BUFF damage names 深水区, 源石污染区 and 活性源石风暴 but not 活性源石, so 锡人's 凋敝魂灵 does not raise it).
|
||||
- **Checked**: no other terrain reads a `duration` — 沼泽 (layers, cleared on leaving), 深水区 (`sea_drown[enemy]` has none), 烟雾 and the blowers; 沼泽's interval and 深水区's damage kind were wrong, though (below). Nothing relied on the old lifetime: the client draws the tile glow from the stage map (it never went out), terrain effects have no status icon, the enemy abilities that care about the tile (萨卡兹枯朽前锋's arts attacks, “灵幛”, 孽罪奇美拉) read the tile they stand on (`onTerrain`), and 联防 carries no effects (HP, SP and a running skill only). 纠缠藤蔓 (`enemy_2052_smgia`, a 悬赏 enemy: "受到来自自然环境的伤害时,自身在短时间内获得高额脆弱"; content/enemies.js reads the `terrain` tag) that has crossed the tile stays ×2 fragile for 300 s and the tile's tick hits it for 140/s — official, PRTS 自然环境 listing 活性源石 as 环境伤害.
|
||||
- **Other terrain found while fixing #33 item 6** (the review):
|
||||
- **沼泽, official** (PRTS 沼泽控制 备注; skill_table `sktok_mire`): a unit in the mire "每秒将会触发一次" its 【陷入沼泽】 (the skill charges in `maxChargeTime` 1 s): an enemy gains 1 layer of ASPD −5 % and move speed −5 %, "若其重量大于等于3,改为获得2层"; any other unit 1 layer of ASPD −5 % only; at most 10 layers (`max_stack_cnt`); "上述减益于单位不再位于沼泽之中时解除". The skill's `value` 3 is that 重量. **Cause**: build-data and the devices.js fallback read `value` as the interval (3 s): 10 layers after 27 s for light and heavy enemies alike, and operators got the move part too. **Now**: `special.mire` has `intervalSec` 1 (the skill's charge time) and `heavyWeight` 3 (`value`); `tickMire` triggers on entering and then every second — 1 layer, 2 for an enemy of 重量 ≥ 3 (`s.massLevel` at the trigger), operators the ASPD part only, at most 10, cleared on leaving: 10 layers after 9 s (重量 ≥ 3: 4 s). [ASSUMED] the first trigger comes on entering (as before). A layer stays −5 ASPD (the remake's reading of the fraction, `aspdOf`).
|
||||
- **深水区, official** (PRTS 涨潮控制 技能3 深水: "【水蚀】的敌方单位每秒受到40点无来源真实持续伤害(不属于环境伤害,不会触发受击回复)"; PRTS 自然环境: 涨潮's damage to enemies "并非环境伤害"; PRTS 伤害分类 lists 深水区/涨潮水蚀 as BUFF damage). **Cause**: the deep-water tick shared the `terrain` tag with 活性源石, so 纠缠藤蔓 turned ×2 fragile in deep water (360 HP lost in 5 s instead of 200) and 锡人's 凋敝魂灵 ("受到的持续伤害提高") never raised it. **Now**: `deepWaterDamage` — 无来源 true, `canDodge: false`, `sourceless`, `noSp`, tags `dot` / `periodic` / `deepsea`, no `terrain`. The 免疫水蚀 swimmers (潜水员) cancel only `deepsea` / `drown` damage, not 环境伤害.
|
||||
- Tests: `test/content/tokens_devices.test.js` — 活性源石 (the operator and the enemy standing on it), an enemy keeps the effect after leaving the tile (20 s later: 70/s, ATK, ASPD, the time left), one effect per unit (two passes give one effect that ends `duration` s after the last contact, 70/s while it lasted; an operator drains for 3 × `duration`, keeps the effect after `Battle.relocate` and loses it `duration` s later), a 重生 clears it (a 深池逐火战士 that crossed the tile stands up from its ember after 1 + 10 s), 沼泽 (the data; operators ASPD only; 重量 1 vs 3: 1 vs 2 layers a second, at most 10; cleared on leaving), 深水 (the tick's tags; 纠缠藤蔓 not fragile); `test/content/enemies_bosses.test.js` (潜水员: the deep-water tick is cancelled, 环境伤害 is not).
|
||||
|
||||
|
||||
### 22.5 Emotes and guide pages without a local client; deployment docs (#42); the English title (#38)
|
||||
|
||||
Reference in new issue
Block a user