diff options
Diffstat (limited to 'go/game/cardImplementations.go')
| -rw-r--r-- | go/game/cardImplementations.go | 15 |
1 files changed, 15 insertions, 0 deletions
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{}, } } |
