Download

← All updates

Update

quark 1.18.23

Everything that changed in this version, and why.

X10 from the owner's gameplay feel review picks (2026-10-24): clearer bomb calls, and FFA calls only your own lead changes and shows your place. The rest of the review shipped in 1.18.21.

Mode calls (src/client/modecalls.h, src/client/game.cpp, src/client/game.h)

  • What: the client works out each call from the mode state it already receives (attacking side, round, phase, bomb state, checkpoint, scores) in a new header-only modecalls.h (modeCalls, ffaPlace, ffaLeadCall, ordinalSuffix), used by Game::updateAnnouncer and the HUD's live line.
  • Bomb freeze: attackers see "ATTACK: CARRY THE BOMB TO A SITE AND PLANT IT", defenders "DEFEND: KEEP THEM OFF THE SITES, DEFUSE A PLANTED BOMB", spectators "TEAM A ATTACKS - TEAM B DEFENDS". Why: there was no objective line during the freeze.
  • Bomb halftime: "HALFTIME - SIDES SWITCHED: YOU ATTACK NOW" / "...: YOU DEFEND NOW", whenever the attacking side changes between rounds (so a custom mode's own swap gets it too). Why: sides switched with no message.
  • Bomb dropped / picked up: attackers "BOMB DROPPED - PICK IT UP" / "THE BOMB IS CARRIED AGAIN", defenders "THEY DROPPED THE BOMB" / "THEY HAVE THE BOMB AGAIN". No call on a plant (the server's own call covers it).
  • Payload checkpoints: the existing POINT TAKEN / POINT LOST voice line for your side; no extra text, since the server's notice already names the checkpoint.
  • FFA: only your own lead changes are called: taking a clear lead gives "YOU TOOK THE LEAD" with the NEW_LEADER line, losing it "YOU LOST THE LEAD" with no voice. The live line shows your place ("2:31 - 2ND OF 8", "=2ND" when shared). Why: FFA played "new leader" to everyone on every lead change.
  • Why client-side: these calls depend on your own side or place, and the server's messages are broadcast to everyone. Nothing changed in the server, gamemodes.cpp or the .qlogic files, so native and interpreted mode logic can't drift (the lockstep test is unaffected). Only existing voice lines are used.
  • No protocol change (still 44, so it plays with 1.18.22 and newer).

Tests

  • New rules modecalls (testModeCalls): every call case (your side, spectating, the halftime swap, dropped and picked up, no call on a plant, the checkpoint line for each side), ffaPlace / ffaLeadCall / ordinals, and a real Depot bomb match (2 rounds to win) read through a client's own mode states: the ATTACK line at round 1, then HALFTIME and the DEFEND line at round 2.