aboutsummaryrefslogtreecommitdiff
path: root/go/game/cardImplementations.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/game/cardImplementations.go')
-rw-r--r--go/game/cardImplementations.go15
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{},
}
}