diff --git a/test/render/feedback3-skill-idle.test.js b/test/render/feedback3-skill-idle.test.js index dcc651ab..57be0683 100644 --- a/test/render/feedback3-skill-idle.test.js +++ b/test/render/feedback3-skill-idle.test.js @@ -3,7 +3,7 @@ // and Skill_2_Idle; the actor queued the loop after the begin clip, so it jumped with nobody to hit (the sim made no // attack). Now a skill with an idle clip of its own (anims skill.idle ≠ skill.loop) stands in that idle between attacks, // plays the loop only on attacks, and goes back to the idle after a spell of attacks (its End clip only when the skill -// ends). Skills whose loop IS their idle (蕾缪安 S3) and skills without an idle (宴) are unchanged. Real manifest entries, +// ends). Skills whose loop IS their idle (蕾缪安 S3) and skills without an idle (宴 S1) are unchanged. Real manifest entries, // headless fake PIXI (test/render/fakepixi.js). import { test, before, after } from 'node:test'; @@ -76,11 +76,16 @@ test('the other skills with an own idle clip follow the same rule (史尔特尔 assert.equal(n.current, 'Skill_3_Idle'); }); -test('unchanged: a loop that is the skill idle (蕾缪安 S3) and a skill without an idle clip (宴: its loop stays the stance)', () => { +test('unchanged: a loop that is the skill idle (蕾缪安 S3) and a skill without an idle clip (宴 S1: its loop stays the stance)', () => { const l = actor('char_4193_lemuen', 2); l.setSkill(true); assert.deepEqual(l.log, [['set', 'Skill_3_Begin', false], ['queue', 'Skill_3_Idle', true]]); - const u = actor('char_337_utage', 1); + // 宴's S1 分神 (index 0: Skill_Start / Loop / End, no idle — her sit-down rest); her S2 plays no skill clip since + // 0.2.0 (tools/assets/spine.mjs PREFAB_SPINE_ROLES, DESIGN §25.22.9) + const u2 = actor('char_337_utage', 1); + u2.setSkill(true); + assert.deepEqual(u2.log.filter((x) => /^Skill/.test(x[1])), [], '宴 S2: no skill clip'); + const u = actor('char_337_utage', 0); assert.equal(u.roles.skill.idle, null); u.setSkill(true); assert.deepEqual(u.log, [['set', 'Skill_Start', false], ['queue', 'Skill_Loop', true]], 'begin → loop, as before'); diff --git a/test/render/feedback4-texas-skill-clip.test.js b/test/render/feedback4-texas-skill-clip.test.js index e0d8a6ee..81d3ae7a 100644 --- a/test/render/feedback4-texas-skill-clip.test.js +++ b/test/render/feedback4-texas-skill-clip.test.js @@ -88,7 +88,7 @@ test('unchanged: a Begin clip still runs into its queued next clip, a skill with const n = actor('char_1014_nearl2', 2); // 耀骑士临光 S3: no Begin, own Idle — plays that idle at once n.setSkill(true); assert.deepEqual(n.log, [['set', 'Skill_3_Idle', true]]); - const u = actor('char_337_utage', 1); // 宴: Begin → loop, unchanged + const u = actor('char_337_utage', 0); // 宴 S1 分神: Begin → loop, unchanged (her S2 has no skill clip, DESIGN §25.22.9) u.setSkill(true); assert.deepEqual(u.log, [['set', 'Skill_Start', false], ['queue', 'Skill_Loop', true]]); });