feedback3 WJ: grey the 折射 line and drop its icon while silenced
The RES bonus was already off. The enemy card now greys a SILENCE-format line from the live silenced flag, and the status row leaves the 折射 icon out while silence is up.
This commit is contained in:
1 parent
6e59b5e4dd
commit
2723a3daea
9 files changed
+74
-3
No files matched your search
@@ -0,0 +1,26 @@
|
||||
// 折射 while silenced: the enemy card greys the SILENCE-format line; the status icon is mapped and not drawn
|
||||
// under silence. The sim already drops the RES bonus (enemies.js) — not asserted here.
|
||||
import { test } from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { readFileSync } from 'node:fs';
|
||||
import { abilityRows } from '../../public/js/ui/abilityLines.js';
|
||||
import { statusIconKey, statusIconSuppressed } from '../../public/js/render/style.js';
|
||||
|
||||
const scout = JSON.parse(readFileSync(new URL('../../data/enemies.json', import.meta.url), 'utf8')).enemy_1166_dusbr;
|
||||
|
||||
test('折射: the card line greys only while silenced; the icon key exists and is suppressed under silence', () => {
|
||||
const on = abilityRows(scout.abilities, false);
|
||||
assert.equal(on.length, 1);
|
||||
assert.match(on[0].text, /折射/);
|
||||
assert.equal(on[0].off, false);
|
||||
const off = abilityRows(scout.abilities, true);
|
||||
assert.equal(off[0].off, true, 'grey the 折射 line');
|
||||
assert.equal(off[0].text, on[0].text, 'the words stay');
|
||||
assert.equal(abilityRows([{ text: '普通攻击', format: 'NONE' }], true)[0].off, false);
|
||||
assert.equal(abilityRows(['plain'], true)[0].off, false);
|
||||
assert.equal(statusIconKey('ab:refraction'), 'refraction');
|
||||
const both = new Set(['ab:refraction', 'silence']);
|
||||
assert.equal(statusIconSuppressed('ab:refraction', both), true, 'drop the icon while silenced');
|
||||
assert.equal(statusIconSuppressed('silence', both), false, 'the silence icon itself stays');
|
||||
assert.equal(statusIconSuppressed('ab:refraction', new Set(['ab:refraction'])), false, 'the icon shows while 折射 is on');
|
||||
});
|
||||
Reference in new issue
Block a user