View Issue Details

IDProjectCategoryView StatusLast Update
0020403Return of ReckoningGeneralpublic2023-12-09 15:15
ReporterReturnOfReckoning Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionopen 
Summary0020403: Server not enforcing 10 second wait period to change tactics after leaving combat
DescriptionReporter: Zomega-WAR

<!--
Issues should be unique. Check if someone else reported
the issue first, and please don't report duplicates.
Only ONE issue in a report. Don't forget screens or a video.
-->

**Expected behavior and actual behavior:**

Expected: when you leave combat, you cannot change your tactics until 10 seconds have passed. This should be enforced by both the client UI code (the EA_TacticsWindow module) and the server.

Actual: the 10 second timer check is missing from the server and is only enforced by the client. This means it can be trivially skipped, reset, etc, allowing you to swap tactics the moment you leave combat. I was not able to trick the server into switching tactics during combat, only immediately after combat has ended.

**Steps to reproduce the problem:**

Few different methods for this one, but by far the easiest is to just set the Lua variable at controls the total timer length to zero:

- `/script TacticsEditor.TIME_DISABLED_AFTER_COMBAT = 0` in chat once the UI has loaded

Other options are:

- `/script TacticsEditor.TimeUntilEnable = 0` in chat once the 10 second countdown begins to instantly end it.

- `/script WindowUnregisterEventHandler( "EA_TacticsEditor", SystemData.Events.PLAYER_COMBAT_FLAG_UPDATED, "TacticsEditor.UpdateCombatFlag")` after the UI has loaded to stop the tactics UI from ever known when the player enters or leaves combat.

- `/script TacticsEditor.HandlePlayerDeathCleared()` in chat - this function's code is literally the same as a bullet point above: `TacticsEditor.TimeUntilEnable = 0`

- `/script TacticsEditor.Update (TacticsEditor.TIME_DISABLED_AFTER_COMBAT)` in chat once the timer begins to trick the UI code into thinking 10 seconds have passed

And many more. The client code seems intentionally insecure as it is supposed to be backed up by server-side checks which are what is missing.

**Testing Screenshots/Videos/Evidences (always needed):**
<!-- Drag and drop an image file here to include it directly in the bug report,
     no need to upload it to another site -->

This requires video recording which I cannot do.

<!--
Note that game critical and game breaking bugs may award a manticore/griffon (realm specific) at the leads discretion however, asking for one instantly disqualifies you from this reward.
-->
TagsAbility, Scripting

Activities

MaxHayman

MaxHayman

2023-12-09 15:15

administrator   ~0040744

This issue is being closed as it should be fixed in the new ability system. Please create a new issue if this is not the case.

Issue History

Date Modified Username Field Change
2023-08-13 04:36 ReturnOfReckoning New Issue
2023-08-13 04:36 ReturnOfReckoning Tag Attached: Scripting
2023-08-13 04:36 ReturnOfReckoning Tag Attached: Ability
2023-12-09 15:15 MaxHayman Note Added: 0040744
2023-12-09 15:15 MaxHayman Status new => closed