feedback1d WL: 源石溶剂 drain is 无来源 true damage; 信仰搅拌机 S3 counters any damage

Player report D1: the 源石溶剂 HP loss should set off 信仰搅拌机 S3 and, next to
莫斯提马, stack 拉特兰 layers on its own. The drain was a Battle.loseHp 流失, which
skips 受击回复 SP and the 重装 TAKE_DAMAGE trigger, and the S3 counter needed an
enemy attack and a target.

Official: PRTS 盟约记录 源石溶剂 "受到60真实伤害" (修正 "并非流失", 备注
"造成无来源真实持续环境伤害"); PRTS 信仰搅拌机 S3 备注 "反击受到任何伤害后均可触发,
无需目标,视为普通攻击"; PRTS 作战机制: 生命流失 skips 反伤 / 受击回复.

- damage.js periodicDamage: the periodic_damage template (源石溶剂, 狂暴宿主组长)
  as 无来源 true damage (shields, damage-taken modifiers, hit effects, 受击回复 SP,
  TAKE_DAMAGE); the credit is unchanged.
- 信仰搅拌机 S3: any damage except 流失 / element 损伤 counters; with no enemy in
  range the counter still spends its bullet.
- Audit, same rule both ways (damage.js isHpLoss): 孽罪奇美拉's aura on operators
  is damage; 雷蛇 战术防御 and 蒂比 S2 / 片场工作指南 respond to any damage
  (PRTS notes); 乌尔比安, 伪装服, 远牙, 录武官's guard and 坚守 thorn chances no
  longer respond to a 流失.
- data/items.json regenerated (源石溶剂 implFormula text only).
This commit is contained in:
sganggs committed 2026-10-03 04:23:21 +08:00
1 parent 7f134737ce
commit 01f5b216c6
15 files changed
+447 -38

No files matched your search

+13 -3
View File
@@ -224,7 +224,9 @@ tick, damage-taken modifiers scale it and it counts for 受击回复 SP and TAKE
excepted). 【污染秽蚀】 (萨卡兹枯朽战车's 秽蚀轰击,
萨卡兹枯朽战士's death) is **true** damage, 50 / 25 per second on low / high ground (PRTS "每秒受到50/25点真实普通伤害 …
同名效果不叠加", user playtest #6): a unit covered by several zones takes one tick per second (`unit.mem.pollutedAt`), so
a crowd of dying 萨卡兹枯朽战士 totals 50 / s, not 50 × n.
a crowd of dying 萨卡兹枯朽战士 totals 50 / s, not 50 × n. An activated 孽罪奇美拉's aura (`kitChimera`, PRTS "持续视为受到源石
污染区影响…受到50真实持续伤害") is the same kind of damage — 无来源 true (like the terrain it stands for [ASSUMED]), the
chimera credited — not a 流失 (player report D1 audit; its radius 1 and 1 s pulse stay [ASSUMED] against PRTS's 1.2 / 0.5 s).
**Ownership** (`enemy.ownerId`, used for `killed/total` and leak attribution): `ownerPlayerId` if given, else the
player whose half contains the spawn tile (cols ≥ 11 = right half / player with colOffset 8 or side R). A leak is
@@ -497,8 +499,16 @@ unit at ≥ 1 HP) → **`damaged`** → SP-on-hurt / TAKE_DAMAGE → `kill` + `d
× source `healingDealtMul` × target `healingTakenMul`; **`heal`** hook (mutable amount); capped at max HP; `overheal`
turns the excess into an `overheal` shield. `battle.loseHp(target, amount, { source, from, tags, silent, sourceless })` = HP
loss ignoring DEF/RES/shields/dodge (流失); `sourceless: true` makes it 无来源 ("受到等量的无来源生命流失": hooks see no source,
`source` keeps the credit — stats and the per-player shared-pool tally), as does a 无来源 `from`. On a leader in a boss /
hidden battle a loss of ≥ `BOSS_HIT_LIMIT` (a part's 传递, a drone's death) is cancelled like a hit. Every HP-damage kind
`source` keeps the credit — stats and the per-player shared-pool tally), as does a 无来源 `from`. A 流失 skips the damage
events (PRTS 作战机制 "生命流失不会触发反伤、受击回复等受到攻击触发的时点"): no `hit`, no 受击回复 SP, no TAKE_DAMAGE; its
`damaged` ctx carries the tag `'hpLoss'` (and `noSp`; `damage.js isHpLoss`), and "受到伤害时" content skips it (信仰搅拌机 S3
counters, 雷蛇 战术防御, 乌尔比安 本性的坚守, 录武官's guard, 远牙's 未受伤害 timer, 伪装服, 坚守 thorn chances, 机变 自愈) —
while it counts every real damage instance, 无来源 ones included (a zone tick, the 源石溶剂 drain; 蒂比 S2 "受到伤害前
触发"). Use it only for what the official calls 流失 (operator skill / trait 流失, 阿戈尔's 物理流失, leader-part 传递);
"受到N真实伤害" over time is damage — the official `periodic_damage` template (源石溶剂: PRTS 盟约记录 修正 "并非流失",
"造成无来源真实持续环境伤害"; 狂暴宿主 "自身每秒受到N无来源真实伤害") is `dealDamage(credit, target,
damage.js periodicDamage(n))`: 无来源 true, `canDodge: false`, tags `'dot'` / `'periodic'` (player report D1). On a leader
in a boss / hidden battle a loss of ≥ `BOSS_HIT_LIMIT` (a part's 传递, a drone's death) is cancelled like a hit. Every HP-damage kind
meets the limit (phys / arts / true / 元素伤害 incl. element bursts, DoT ticks); element 损伤 (the gauge, `type: 'element'`)
removes no HP and never does.
+1 -1
View File
@@ -1670,7 +1670,7 @@
],
"flavor": "“经典的工业材料军事化应用案例。”",
"talentNotes": [],
"implFormula": "ATK% += atk; in battle carrier loses `damage` HP per second (periodic self-damage, true/unmitigated [ASSUMED], can kill the carrier [ASSUMED]).",
"implFormula": "ATK% += atk; in battle the carrier takes `damage` true damage per second — 无来源 持续 damage, not a 流失 (PRTS 盟约记录 修正 \"并非流失\", 备注 \"造成无来源真实持续环境伤害\"): shields and damage-taken modifiers apply, it counts as 受到伤害 (受击回复 SP, the 重装 skill trigger, 信仰搅拌机 S3 counters); can kill the carrier.",
"normal": {
"chessId": "chess_item_1_05_e_a",
"isGolden": false,
+1 -1
View File
@@ -155,7 +155,7 @@ Param names below are the keys of `items[].normal.params` / `items[].golden.para
params: `atk=0.15/0.25`; buff keys: `env_gbuff_new_with_verify`
- **坚守盾牌** (`chess_item_1_02_e_a`, TI, 1) - DEF% += def
params: `def=0.2/0.35`; buff keys: `env_gbuff_new_with_verify`
- **源石溶剂** (`chess_item_1_05_e_a`, TI, 1) - ATK% += atk; in battle carrier loses `damage` HP per second (periodic self-damage, true/unmitigated [ASSUMED], can kill the carrier [ASSUMED]).
- **源石溶剂** (`chess_item_1_05_e_a`, TI, 1) - ATK% += atk; in battle the carrier takes `damage` true damage per second — 无来源 持续 damage, not a 流失 (PRTS 盟约记录 修正 "并非流失", 备注 "造成无来源真实持续环境伤害"): shields and damage-taken modifiers apply, it counts as 受到伤害 (受击回复 SP, the 重装 skill trigger, 信仰搅拌机 S3 counters); can kill the carrier.
params: `atk=0.4/0.6, damage=60.0`; buff keys: `env_gbuff_new_with_verify, env_gbuff_new_with_verify`
- **不屈弹射器** (`chess_item_2_01_e_a`, TII, 1) - respawnTime *= (1 + respawn_time) (i.e. -30%/-50%); maxHP% += max_hp (-30%).
params: `respawn_time=-0.3/-0.5, max_hp=-0.3`; buff keys: `env_gbuff_new_with_verify`