From 045a2ebbc5cac9ba5bdb707c78fb613454575064 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Thu, 4 Sep 2025 19:53:52 +0200 Subject: implement recycle! --- go/game/cardImplementations.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'go/game/cardImplementations.go') diff --git a/go/game/cardImplementations.go b/go/game/cardImplementations.go index 478e1681..926a3cad 100644 --- a/go/game/cardImplementations.go +++ b/go/game/cardImplementations.go @@ -794,6 +794,20 @@ func (*patricianImpl) freeActions(p Permanent) []*FreeAction { return []*FreeAction{m, a, ar, d, r} } +type recycleImpl struct{ cardImplementationBase } + +func (*recycleImpl) playTargets() TargetDesc { + return TargetDesc{"cards from your discard pile", "0-2"} +} + +func (*recycleImpl) onPlay(a *PlayAction) { + p := a.Controller() + cards := a.Target().Selection() + for _, card := range cards { + p.DiscardPile.MoveCard(card.(*Card), p.Hand) + } +} + func init() { cardImplementations = map[string]cardImplementation{ "base/advisor": &advisorImpl{}, @@ -845,5 +859,6 @@ func init() { "exp1/illusion": &illusionImpl{}, "exp1/illusionist": &illusionistImpl{}, "exp1/patrician": &patricianImpl{}, + "exp1/recycle!": &recycleImpl{}, } } -- cgit v1.2.3