Server Load Rule-related bug (perma slow-motion effect)

I’ll try to make this short.

So I’m often playing the Reihardt Invasion mode. Sometimes I just host it when there’s no match going. I just copy-paste the original code of the game mode, which is: S3PY3

The 6th and 7th lines in the list of Rules are called the following:

[G] Anti-Crash On
[G] Anti-Crash Off

(For Anti-Crash On)

  • Event, Ongoing - Global
  • Conditions, Server Load Average > 250
  • Actions, variables:

{
global:
10: antiCrashActivated
}

actions
{
Wait(2, Abort When False);
Small Message(All Players(All Teams), Custom String(" \r\n Anti-Crash Activated \r\n "));
Set Slow Motion(25);
Global.antiCrashActivated = True;
}

(For Anti-Crash Off)

  • Event, Ongoing - Global
  • Conditions, Global.antiCrashActivated == True, Server Load Average < 250
  • Actions, variables:
    variables

{
global:
10: antiCrashActivated
}

actions
{
Global.antiCrashActivated = False;
Set Slow Motion(100);
}

Now, brief explanation of these rules and what they actually do in a match:

  • If the server load gets too high, the gameplay will slow-motion down to 25% to allow the server load to decrease, and then the gameplay speed is back up to 100%.

Now, the bug

(It is easily repeatable if the condition is met, I’ve seen it dozens of times)

  • If the slow-motion effect is ongoing at the very same time as the last enemy Reinhardt dies, the slow-motion effect becomes permanent and is not stopped; I.E. the next ‘waves’ of enemy Reinhardts do not “fix” the issue.

  • Which means that the ‘bug’ happens if the Server Load did not have enough time to “get back down” before the last Reinhardt died.

  • In other circumstances, let’s say if there’s 4 or 5 Reins remaining, normally the Server Load starts to decrease at that point, and the speed is back up to 100% by the time there’s 2 or 3 Reins left, and by the time the last Rein dies the 25% slow-motion effect is already gone since a moment.

  • However (to repeat the first point above), if there’s a lot of Server Load going in a hectic match, sometimes the slow-motion effect persists even down to the very last remaining Reinhardt, and that Rein dying does not give enough time for the Server Load to go back down to normal.

Here’s the “catch” though, I do not understand why this happens at the end of a wave. Meaning, I don’t see what is the correlation between being at the ‘end of a wave’ and how seemingly that’s always where exactly the bug occurs. In other words, if the slow-motion effect happens in the middle of a wave, it’s usually fine, the slow motion will do its “job” to let the Server Load go down. But at the ‘end’ of a wave there’s no hectic action going, no Reins are active or spawned yet, there SHOULD be enough ‘calm’ and time for the Server Load to go down at that point (between each waves), but that’s - instead - exactly where the slow-motion effect would persist in the specific condition I described.

I’ve noticed this bug when I host the matches myself. I don’t think I’ve ever seen this bug happen when I simply joined matches (although I HAVE seen matches I joined crashing because of excessive server load, but I’ve never seen the match simply crawl down to 25% slow motion permanently unless the Host of the match restarts it).

I’d like to know why that bug happens in the first place, and if that’s part of the original game mode coding, or if it’s something I’m doing wrong?

Thanks.