From e6a1bb4ba06361abdc2cf1bed4041fe3013b188b Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Tue, 31 Jan 2023 00:16:53 +0100 Subject: intermediate commit --- go/game/cardImplementations.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 go/game/cardImplementations.go (limited to 'go/game/cardImplementations.go') diff --git a/go/game/cardImplementations.go b/go/game/cardImplementations.go new file mode 100644 index 00000000..d1f8de70 --- /dev/null +++ b/go/game/cardImplementations.go @@ -0,0 +1,31 @@ +package game + +type farmerImplementation struct { + cardImplementationBase +} + +type advisorImplementation struct { + cardImplementationBase +} + +func (impl *advisorImplementation) fullActionPrototypes(u *Unit) []*FullActionPrototype { + resolvePrototype := func(s *State, u *Unit) func(*State) { + return func(s *State) { + controller := u.Controller() + controller.DrawN(1) + cards := controller.PromptHandCardSelection(0, 1) + if cards != nil { + controller.Deck.MoveCard(cards[0], s.Exile) + } + } + } + return []*FullActionPrototype{NewFullActionPrototype(u, resolvePrototype)} +} + +func init() { + cardImplementations = map[string]cardImplementation{ + "base/advisor": &advisorImplementation{}, + + "misc/farmer": &farmerImplementation{}, + } +} -- cgit v1.2.3