diff options
Diffstat (limited to 'go/game/action.go')
| -rw-r--r-- | go/game/action.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/go/game/action.go b/go/game/action.go index fbabb06b..4f433845 100644 --- a/go/game/action.go +++ b/go/game/action.go @@ -79,6 +79,29 @@ func (a *ActionBase) CheckTargets(s *State) error { return a.targets.CheckTargets(s) } +type TriggeredAction struct { + ActionBase + event Event +} + +func newTriggeredAction(event Event, source Trigger, resolveFunc ActionResolveFunc, + costFunc ActionCostFunc, +) *TriggeredAction { + return &TriggeredAction{ + ActionBase: ActionBase{ + source: source, + Card: source.Card(), + resolveFunc: resolveFunc, + costFunc: costFunc, + }, + event: event, + } +} + +func (a *TriggeredAction) String() string { + return fmt.Sprintf("%v ! %v", a.event, a.source) +} + type PileDropAction struct { ActionBase pile []Permanent |
