MeleeCrippledPlayerTimeout
- comment
- bug
Leaks handle
expiredTimer: In Jass you must set local variables that hold agents (or any child type) tonullat the end of functions to avoid reference counter leaks.- patch
1.07
- Source
- Blizzard.j (raise an issue to discuss on Github or submit a PR)
- return type
nothing- Source code
function MeleeCrippledPlayerTimeout takes nothing returns nothing local timer expiredTimer = GetExpiredTimer() local integer playerIndex local player exposedPlayer // Determine which player's timer expired. set playerIndex = 0 loop if (bj_crippledTimer[playerIndex] == expiredTimer) then exitwhen true endif set playerIndex = playerIndex + 1 exitwhen playerIndex == bj_MAX_PLAYERS endloop if (playerIndex == bj_MAX_PLAYERS) then return endif set exposedPlayer = Player(playerIndex) if (GetLocalPlayer() == exposedPlayer) then // Use only local code (no net traffic) within this block to avoid desyncs. // Hide the timer window for this player. call TimerDialogDisplay(bj_crippledTimerWindows[playerIndex], false) endif // Display a text message to all players, explaining the exposure. call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, bj_MELEE_CRIPPLE_MSG_DURATION, MeleeGetCrippledRevealedMessage(exposedPlayer)) // Expose the player. call MeleeExposePlayer(exposedPlayer, true) endfunction