The climb: the arcade runs the whole earned ladder, the tempo follows the territory, the court is yours
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
041827c4dc
commit
689550d2d5
7 files changed
+104
-52
No files matched your search
@@ -2214,22 +2214,22 @@ test('PROFILE: zombie names fit the board and its charset, and the profile round
|
||||
prof.prof.lg = 1; prof.save();
|
||||
});
|
||||
|
||||
test('THE LEAGUES: the arcade opens at its band, climbs inside it, and counts felled bodies', () => {
|
||||
test('THE CLIMB: the arcade runs the whole earned ladder from the bottom and clamps at your top', () => {
|
||||
prof.prof.lg = 2;
|
||||
assert.ok(_startMatch(), 'the arcade starts');
|
||||
G.modal = null; G.modalQ.length = 0;
|
||||
G.mode = 'splatter';
|
||||
assert.equal(G.league, 2, 'the run wears the profile league');
|
||||
const d = G.match;
|
||||
assert.equal(d.opp, 5, "league two opens at its band's bottom rung");
|
||||
for (let b = 0; b < 6; b++) {
|
||||
assert.equal(d.opp, 1, 'the climb opens at the very bottom of the ladder');
|
||||
for (let b = 0; b < 8; b++) {
|
||||
G.interlude.introT = 0;
|
||||
for (let k = 0; k < 4; k++) { resolveInterlude('P'); G.modal = null; G.modalQ.length = 0; }
|
||||
for (let i = 0; i < 6 * 60 && G.matchFall; i++) { G.modal = null; G.modalQ.length = 0; update(DT); }
|
||||
passMopBeat();
|
||||
}
|
||||
assert.equal(d.opp, 8, 'the ladder clamps at the top of the band — the cup is the only way up');
|
||||
assert.equal(d.felled, 6, 'every felled body counts, clamp or no clamp');
|
||||
assert.equal(d.opp, 8, "the ladder clamps at your league's top — the cup is the only way up");
|
||||
assert.equal(d.felled, 8, 'every felled body counts, clamp or no clamp');
|
||||
// ...and the repeat walk-on ANSWERS the "what now?" it poses: fell the top body once more and
|
||||
// read its intro modal instead of wiping it
|
||||
G.interlude.introT = 0;
|
||||
@@ -2267,18 +2267,20 @@ test('THE LEAGUES: the top league crowns a champion instead of promoting', () =>
|
||||
assert.ok(pr && pr.champion, 'the ceremony parked is the champion one');
|
||||
});
|
||||
|
||||
test('THE LEAGUES: the pace tier scales the solo match world and nothing else', () => {
|
||||
G.match = { opp: 1 }; G.league = 1;
|
||||
assert.equal(leaguePace(), 1, 'league one IS the shipped game');
|
||||
G.league = 5;
|
||||
assert.ok(leaguePace() > 1.2, 'the top league is a visibly faster world');
|
||||
const climbs = [1, 2, 3, 4, 5].map(l => { G.league = l; return leaguePace(); });
|
||||
for (let i = 1; i < climbs.length; i++) assert.ok(climbs[i] > climbs[i - 1], 'each league is faster');
|
||||
test("THE LEAGUES: the pace tier follows the OPPONENT's territory, and nothing else", () => {
|
||||
G.match = { opp: 1 };
|
||||
assert.equal(leaguePace(), 1, 'the bottom of the ladder IS the shipped game');
|
||||
G.match.opp = 4;
|
||||
assert.equal(leaguePace(), 1, '...flat inside a band: league one all plays league-one tempo');
|
||||
G.match.opp = 18;
|
||||
assert.ok(leaguePace() > 1.2, "the champion's territory is a visibly faster world");
|
||||
const climbs = [1, 5, 9, 13, 16].map(o => { G.match.opp = o; return leaguePace(); });
|
||||
for (let i = 1; i < climbs.length; i++)
|
||||
assert.ok(climbs[i] > climbs[i - 1], 'each band border pulls the tempo up');
|
||||
G.net = { on: true };
|
||||
assert.equal(leaguePace(), 1, 'netplay is a human and exempt');
|
||||
G.net = null; G.match = null; G.league = 5;
|
||||
G.net = null; G.match = null;
|
||||
assert.equal(leaguePace(), 1, 'outside the match modes the factor is 1 — gore keeps its own director');
|
||||
G.league = 1;
|
||||
});
|
||||
|
||||
test('THE DUEL LEARNS: its skill ramps with the run, and game zero is the shipped duel', () => {
|
||||
|
||||
Reference in new issue
Block a user