feedback1 integrate: no status on a 无敌 + 无法选中 unit; 余 S2 skips 自缚 units; 信仰搅拌机 S2 blocks with too few bullets
- Battle.applyStatus: a unit both invulnerable and untargetable takes no status from the other side (PRTS 无敌 "无法被不同阵营选中"), so the status carried by the hit that knocks an enemy out (妮芙 S2's fear, a 叙拉古 proc) no longer lands after its 重生 cleanse. - Flag selfBound (自缚: 守墓石像's 转换模式, the 自缚 leaders, the 胄 parts' anchor): 余 S2 never teleports such a unit (PRTS 余 S2 备注 "持有自缚的单位不视为可达目标"). - 信仰搅拌机 S2: with fewer than ammo_cost bullets the lethal hit is still blocked, every bullet goes and the skill ends; it steps aside while 坚固维式重锤's 不死 window holds her (PRTS 备注), replacing the [ASSUMED] no-guard rule.
This commit is contained in:
1 parent
f142012033
commit
94a99a3b1a
11 files changed
+153
-13
No files matched your search
@@ -113,7 +113,7 @@ test('信仰搅拌机 S1 铳骑主考官 (自动触发 ⇒ DEFAULT: hurt SP, fir
|
||||
}
|
||||
});
|
||||
|
||||
test('信仰搅拌机 S2 八臂电锯侠: ammo skill, ATK/DEF up; a lethal hit is negated for ammo_cost bullets (not with fewer)', () => {
|
||||
test('信仰搅拌机 S2 八臂电锯侠: ammo skill, ATK/DEF up; a lethal hit is negated for ammo_cost bullets; with fewer it is still negated, every bullet goes and the skill ends (PRTS 备注)', () => {
|
||||
for (const id of pair('chess_char_4_01_a')) {
|
||||
const bb = D(id, 1).skill.bb;
|
||||
for (const enough of [true, false]) {
|
||||
@@ -136,7 +136,11 @@ test('信仰搅拌机 S2 八臂电锯侠: ammo skill, ATK/DEF up; a lethal hit i
|
||||
const shots = h.hooksOf('attack').filter((c) => c.attacker === u).length;
|
||||
assert.equal(u.skill.ammoLeft, before - bb.ammo_cost - shots, `${bb.ammo_cost} bullets spent`);
|
||||
} else {
|
||||
assert.ok(!u.alive, `${id}: fewer than ${bb.ammo_cost} bullets ⇒ no guard`);
|
||||
// PRTS 备注 "弹药量不足时仍可抵挡致命伤害,此时将消耗所有剩余弹药并退出技能状态" (0.1.0: [ASSUMED] no guard)
|
||||
assert.ok(u.alive, `${id}: fewer than ${bb.ammo_cost} bullets still block the lethal hit`);
|
||||
approx(u.hp, 500, 1e-9, 'HP kept');
|
||||
assert.equal(u.skill.ammoLeft, 0, 'every bullet spent');
|
||||
assert.equal(u.skill.active, false, 'the skill ends');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user