mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-26 00:23:55 -07:00
Harden command zone tax counter handling and more clean up
- Initialize commandZoneGraphicsItem to nullptr so the pervasive null
checks have defined behavior before initializeZones() runs
- Remove unused getTaxCounterWidgets()
- Enforce the "reset tax to 0 before deactivating" invariant server-side
in cmdSetCounterActive, not just in the UI
- Hide tax increment/decrement menu actions at their bounds (0 and
MAX_COUNTER_VALUE) to avoid sending no-op commands
- Drop redundant/inconsistent toggle labels from CommandZoneMenu::
retranslateUi(); updateTaxCounterActionStates() owns them
- Add default=-1 to Event_SetCounterActive.counter_id for parity with
Command_SetCounterActive
This commit is contained in:
parent
4a4c767cae
commit
754b31cc29
5 changed files with 13 additions and 25 deletions
|
|
@ -591,6 +591,11 @@ Response::ResponseCode Server_Player::cmdSetCounterActive(const Command_SetCount
|
|||
return Response::RespNameNotFound;
|
||||
}
|
||||
|
||||
// Prevent disabling a counter with tax accumulated; player must reset to 0 first
|
||||
if (!cmd.active() && c->getCount() != 0) {
|
||||
return Response::RespContextError;
|
||||
}
|
||||
|
||||
bool didChange = c->setActive(cmd.active());
|
||||
|
||||
if (didChange) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue