The closest I have come is monitoring when a player's used supply changes, and then if that supply is equal to the current made supply, then wait a few seconds (I currently wait 5 game seconds). If they are still maxed on supply, then consider it a supply block. I also disable this trigger for the first 210 game seconds to ignore initial supply blocks (ex: making an overlord at 9 would yield a supply block).
This has a few problems. One, it doesn't accurately monitor if the player attempts to make a unit while they are at max supply. I know of several build orders that would put a player at max supply used. These would be considered supply blocks under my current structure, and lead to negative effects.
I am really looking for an event that fires when a user tries to make a unit but cannot because of their current supply max.
The things I have tried:
- TriggerAddEventUnitTrainProgress with c_unitProgressStageComplete, c_unitProgressStageCancelled, c_unitProgressStageStarted ----- None of these events fire if they unit is never allowed to begin.
- TriggerAddEventPlayerPropChange with c_playerPropSuppliesUsed, c_playerPropSuppliesMade, c_playerPropSuppliesLimit ----- this is the current event i have.