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
@@ -1280,9 +1280,14 @@ export class Battle {
|
||||
* was applied and from where (fear.js stampFear: the fan of 恐惧可达地块 its movement uses). A stunned/sleeping operator
|
||||
* releases the enemies it blocks; a feared/levitated/unblockable/attracted enemy is released by its blocker.
|
||||
* `statusApplied` reports the final duration and `entered` (the target did not carry the status before).
|
||||
* A unit that is 无敌 and 无法选中 at once (a 重生 in progress, a hovering or 永久无敌 leader part) takes no status from
|
||||
* the other side, `force` included — PRTS 无敌 "无法被不同阵营选中": so a status carried by the very hit that knocked an
|
||||
* enemy out does not land after its 重生's cleanse (DESIGN §21.4).
|
||||
*/
|
||||
applyStatus(target, key, opts = {}) {
|
||||
if (!target || !target.alive) return false;
|
||||
const src = opts.source;
|
||||
if (src && src.side && src.side !== target.side && target.s.flags.invulnerable && target.s.flags.untargetable) return false;
|
||||
const tpl = STATUS[key] || { flags: { [key]: true } };
|
||||
let duration = opts.duration == null ? Infinity : Number(opts.duration);
|
||||
let value = opts.value;
|
||||
|
||||
Reference in new issue
Block a user