aboutsummaryrefslogtreecommitdiff
path: root/internal/world/trigger.go
blob: e7f3b75a484e01859b7806719159f3c6397acf65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package world

import "thehouseoficarus/internal/behavior"

// SpawnMobConfig is an alias for the behavior.SpawnMobConfig so callers that
// historically referenced world.SpawnMobConfig continue to compile.
type SpawnMobConfig = behavior.SpawnMobConfig

type TriggerDef struct {
	ID           string                `yaml:"id"`
	OnPlayerFlag string                `yaml:"on_player_flag"`
	OnGlobalFlag string                `yaml:"on_global_flag"`
	Value        any                   `yaml:"value"`
	Room         int                   `yaml:"room"`
	Steps        []behavior.StepAction `yaml:"steps"`
}

func (t *TriggerDef) IsPlayerFlagTrigger() bool { return t.OnPlayerFlag != "" }

func (t *TriggerDef) IsGlobalFlagTrigger() bool { return t.OnGlobalFlag != "" }