diff options
Diffstat (limited to 'internal/game')
| -rw-r--r-- | internal/game/sys_triggers.go | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/internal/game/sys_triggers.go b/internal/game/sys_triggers.go index 683b3e0..cae774e 100644 --- a/internal/game/sys_triggers.go +++ b/internal/game/sys_triggers.go @@ -575,8 +575,8 @@ func (g *Game) loadAllFlagTriggers() { } // firePlayerFlagTriggers starts sequences for every on_flag_change trigger -// subscribed to flagName whose Value (if any) matches and whose Condition -// passes for the player. Called from setPlayerFlag after an actual change. +// subscribed to flagName whose Condition passes for the player. +// Called from setPlayerFlag after an actual change. func (g *Game) firePlayerFlagTriggers(p *player.Player, flagName string, flagValue any) { g.charsMu.Lock() sess := g.loggedInChars[p.Name] @@ -589,9 +589,6 @@ func (g *Game) firePlayerFlagTriggers(p *player.Player, flagName string, flagVal g.flagIndex.mu.Unlock() for i := range triggers { t := triggers[i] - if t.Value != nil && !engine.ValuesEqual(t.Value, flagValue) { - continue - } if t.Condition != nil && !g.checkCondition(sess, t.Condition) { continue } @@ -600,17 +597,14 @@ func (g *Game) firePlayerFlagTriggers(p *player.Player, flagName string, flagVal } // fireGlobalFlagTriggers starts sequences for every on_global_flag_change -// trigger subscribed to flagName whose Value (if any) matches. Global-flag -// triggers have no originating player and run at scopeGlobal. +// trigger subscribed to flagName. Global-flag triggers have no originating +// player and run at scopeGlobal. func (g *Game) fireGlobalFlagTriggers(flagName string, flagValue any) { g.flagIndex.mu.Lock() triggers := append([]*behavior.Trigger(nil), g.flagIndex.globalFlag[flagName]...) g.flagIndex.mu.Unlock() for i := range triggers { t := triggers[i] - if t.Value != nil && !engine.ValuesEqual(t.Value, flagValue) { - continue - } if t.Condition != nil && !g.checkConditionGlobal(t.Condition) { continue } |
