Skip to content

Commit ff51c27

Browse files
BestAwperEvermarkus-wa
authored andcommitted
fix delayedEventHandlers not being updated
1 parent 98f7ad9 commit ff51c27

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

game_events.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,11 @@ func newGameEventHandler(parser *Parser) gameEventHandler {
7373
geh := gameEventHandler{parser: parser}
7474

7575
delay := func(f gameEventHandlerFunc) gameEventHandlerFunc {
76-
return func(data map[string]*msg.CSVCMsg_GameEventKeyT) { f(data) }
76+
return func(data map[string]*msg.CSVCMsg_GameEventKeyT) {
77+
parser.delayedEventHandlers = append(parser.delayedEventHandlers, func() {
78+
f(data)
79+
})
80+
}
7781
}
7882
geh.gameEventNameToHandler = map[string]gameEventHandlerFunc{
7983
// sorted alphabetically
@@ -109,7 +113,7 @@ func newGameEventHandler(parser *Parser) gameEventHandler {
109113
"item_pickup": delay(geh.itemPickup), // Picked up or bought? Delayed because of #119 - Equipment.UniqueID()
110114
"item_remove": geh.itemRemove, // Dropped?
111115
"other_death": nil, // Dunno
112-
"player_blind": geh.playerBlind, // Player got blinded by a flash
116+
"player_blind": delay(geh.playerBlind), // Player got blinded by a flash. Delayed because Player.FlashDuration hasn't been updated yet
113117
"player_changename": nil, // Name change
114118
"player_connect": geh.playerConnect, // Bot connected or player reconnected, players normally come in via string tables & data tables
115119
"player_connect_full": nil, // Connecting finished
@@ -287,8 +291,6 @@ func (geh gameEventHandler) playerHurt(data map[string]*msg.CSVCMsg_GameEventKey
287291
}
288292

289293
func (geh gameEventHandler) playerBlind(data map[string]*msg.CSVCMsg_GameEventKeyT) {
290-
// Player.FlashDuration hasn't been updated yet,
291-
// so we need to wait until the end of the tick before dispatching
292294
geh.dispatch(events.PlayerFlashed{
293295
Player: geh.playerByUserID32(data["userid"].GetValShort()),
294296
Attacker: geh.gameState().lastFlasher,

0 commit comments

Comments
 (0)