feat(rogue): balance cards and campaign progression
This commit is contained in:
28
tools/balance/rogue-campaign.test.mjs
Normal file
28
tools/balance/rogue-campaign.test.mjs
Normal file
@@ -0,0 +1,28 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import {
|
||||
campaignJobAtSection,
|
||||
playableClassesForJob,
|
||||
scaleEnemy,
|
||||
} from './rogue-campaign.mjs';
|
||||
|
||||
test('도적 전직 시점: 1섹션 Rogue, 2섹션 2차, 3섹션부터 3차', () => {
|
||||
assert.equal(campaignJobAtSection('thief', 1), 'rogue');
|
||||
assert.equal(campaignJobAtSection('thief', 2), 'thief');
|
||||
assert.equal(campaignJobAtSection('thief', 3), 'thiefmaster');
|
||||
assert.equal(campaignJobAtSection('assassin', 2), 'assassin');
|
||||
assert.equal(campaignJobAtSection('assassin', 5), 'hermit');
|
||||
});
|
||||
|
||||
test('3차 직업은 자기 계보 카드만 사용', () => {
|
||||
assert.deepEqual(playableClassesForJob('thiefmaster'), ['rogue', 'thief', 'thiefmaster']);
|
||||
assert.deepEqual(playableClassesForJob('hermit'), ['rogue', 'assassin', 'hermit']);
|
||||
});
|
||||
|
||||
test('섹션 난이도는 3차 이후 더 빠르게 증가', () => {
|
||||
const enemy = { maxHp: 100, intents: [{ kind: 'Attack', value: 10 }, { kind: 'Debuff', value: 2 }] };
|
||||
const scaled = scaleEnemy(enemy, 3, () => 0);
|
||||
assert.equal(scaled.maxHp, 114);
|
||||
assert.equal(scaled.intents[0].value, 11);
|
||||
assert.equal(scaled.intents[1].value, 2);
|
||||
});
|
||||
Reference in New Issue
Block a user