feedback1 WA: Lappland counts her own first refresh; Mutation Cell is not consumed
Player reports after 0.1.0, #1 and #4. #1 拉普兰德 (garrison_123, SERVER_GAIN_BOND_LAYER_BY_REFRESH_CNT) checked the player's refresh count of the round, so a copy bought after the round's first manual refresh never stacked that round. Players report the official behaviour: the first refresh after acquiring her also stacks. Each copy now counts the manual refreshes it witnessed this round (board or hand) through a per-piece round counter (PlayerState.pieceRoundCount, ctx.incPieceCounter); an elite merged this round keeps the highest count of its copies [ASSUMED]. The "本回合每刷新过1次" multiplier traits keep the player's count. #4 突变细胞 destroyed itself after one transformation. Official text never says 销毁 (every consumable's does), PRTS notes "原干员销毁,获得一名高一阶的随机 初始干员", and players re-inject the cell every round. The built-in now replaces the carrier with a random normal operator one tier higher (max 6) and returns the carrier's equipment, the cell included, to the hand (transformChess returnItems); the content override is gone. The item card shows the rule (items.json note, build-data ITEM_RULES); bots inject their least valuable single normal operator below tier 6 (bot.js cellTarget).
This commit is contained in:
1 parent
7f134737ce
commit
f8e35d5055
17 files changed
+514
-54
No files matched your search
@@ -964,7 +964,9 @@ test('商业包装方案: every 8 / 7 operators sold ⇒ 1 normal operator shari
|
||||
}
|
||||
});
|
||||
|
||||
test('突变细胞: after a battle the carrier becomes a random NORMAL tier+1 operator, the cell is consumed, other equipment returns', () => {
|
||||
test('突变细胞: after a battle the carrier becomes a random NORMAL tier+1 operator; its equipment, the cell included, returns to the hand', () => {
|
||||
// PRTS 下半 记录 备注 "生效时,原干员销毁,获得一名高一阶的随机初始干员(最高六阶)"; the cell is not consumed (player
|
||||
// feedback after 0.1.0 — players re-inject it every round; test/match/feedback1-meta.test.js)
|
||||
const { m, ps, equip } = setup({ seed: 3 });
|
||||
const cid = plain((c) => c.tier === 2)[0];
|
||||
const holder = give(m, ps, cid, 'hand');
|
||||
@@ -978,8 +980,16 @@ test('突变细胞: after a battle the carrier becomes a random NORMAL tier+1 op
|
||||
assert.ok(!DATA.chess[p.id].isGolden);
|
||||
assert.deepEqual(p.items, [], 'no equipment left on it');
|
||||
assert.ok(handIds(ps, 'item').includes(A('1_01')), 'other item back in the hand');
|
||||
assert.ok(!handIds(ps, 'item').includes(A('5_08')), 'cell consumed');
|
||||
assert.ok(handIds(ps, 'item').includes(A('5_08')), 'the cell back in the hand (not consumed)');
|
||||
assert.equal(DATA.items[A('5_08')].upgradeNum, 100);
|
||||
// the golden record (same buff) behaves the same
|
||||
const g = ps.hand.find((x) => x && x.id === A('5_08'));
|
||||
g.id = B('5_08');
|
||||
assert.deepEqual(equip(g, p), OK);
|
||||
m.dispatch(ps, 'onBattleResult', { result: {}, lpLoss: 0, perfect: true });
|
||||
const q = ps.hand.find((x) => x && x.kind === 'chess');
|
||||
assert.equal(DATA.chess[q.id].tier, 4);
|
||||
assert.ok(handIds(ps, 'item').includes(B('5_08')));
|
||||
cover(A('5_08'), B('5_08'));
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user