feedback7 R22-OSIM: 香槟炸弹 no longer goes off on an unrevealed 隐匿 enemy (nor a sleeping one) — it selects like the other contact traps; golden: bond-yanShip-high, coop2-HARD-4 move
Community report relayed by the owner: 「有人反馈香槟炸到没有破隐的隐匿敌人了」. Reproduced: a 隐匿 walker crossing 琳琅诗怀雅's bombs set them off (both kits checked hidden / flying / untargetable only). The rule: PRTS 作战机制 §隐匿 "隐匿效果使得获得该效果的单位无法被任何敌方的能力索敌选中…要选中隐匿的目标,则该单位自身需拥有无视隐匿的效果"; 异常效果 lists 隐匿 and 无敌 among the 无法选择 effects (沉睡 = "无敌且无法行动", gamedata_const ba.sleep). Neither the 香槟炸弹 page nor 琳琅诗怀雅's S2 carries a 无视隐匿 / 无视可选性 note, and the other contact traps of the sim (多萝西's 共振装置, 望's 棋子) already select through canTargetEnemy. Now both kits go off on a ground enemy canTargetEnemy accepts (tokens.js CHAMPAGNE_TRIGGER): a 隐匿 enemy sets one off once it is revealed (反隐) or blocked (its 隐匿 lifts), a sleeping one once it wakes (until now the bomb was spent on it for no damage). Placement is unchanged (it already aimed at selectable enemies only). Golden: bond-yanShip-high and coop2-HARD-4 (bombs under 隐匿 enemies of rounds 10–11 — 隐形弩手组长, 访问团强攻冠军, 重弩突袭者 — and sleeping ones of round 7 — 宿主士兵, 粉碎攻坚手 — now wait). Tests: test/content/feedback7-champagne-stealth.test.js (2; both fail on the parent).
This commit is contained in:
1 parent
5f98baecc1
commit
e733171b13
6 files changed
+94
-33
No files matched your search
@@ -8,7 +8,8 @@ import {
|
||||
groundTile, enemiesOn,
|
||||
} from '../shared/tier3.js';
|
||||
import { powi } from '../../../detmath.js';
|
||||
import { champagneHold } from '../../tokens.js';
|
||||
import { champagneHold, CHAMPAGNE_TRIGGER } from '../../tokens.js';
|
||||
import { canTargetEnemy } from '../../../targeting.js';
|
||||
|
||||
/** 琳琅诗怀雅 S3's coin range (PRTS 备注 "前方范围2-4"; range_table "2-4", facing right). */
|
||||
const SWIRE2_COIN_GRID = Object.freeze([[1, 1], [0, 0], [0, 1], [0, 2], [-1, 1]]);
|
||||
@@ -78,7 +79,8 @@ export default {
|
||||
battle.on('tick', () => {
|
||||
if (!bomb.alive || !bomb.deployed) return;
|
||||
for (const e of battle.enemies) {
|
||||
if (!e.alive || e.hidden || e.isFlying || e.s.flags.untargetable) continue;
|
||||
// a ground enemy it may select — no 隐匿 one that is neither revealed nor blocked (tokens.js CHAMPAGNE_TRIGGER)
|
||||
if (!canTargetEnemy(bomb, e, CHAMPAGNE_TRIGGER)) continue;
|
||||
if (!bodyOnTile(e, bomb.tileR, bomb.tileC)) continue;
|
||||
// first enemy touching it; after switchT s on the field the bomb deals its damage one extra time
|
||||
const hits = battle.time - bomb.deployedAt >= switchT - 1e-9 ? 2 : 1;
|
||||
|
||||
Reference in new issue
Block a user