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.go11
1 files changed, 5 insertions, 6 deletions
diff --git a/go/game/cardImplementations.go b/go/game/cardImplementations.go
index 007c2335..3d43fe42 100644
--- a/go/game/cardImplementations.go
+++ b/go/game/cardImplementations.go
@@ -81,18 +81,17 @@ type missionaryImpl struct{ cardImplementationBase }
func (*missionaryImpl) fullActions(u *Unit) []*FullAction {
resolvePrototype := func(a Action) ActionResolveFunc {
- u := a.Source().(*Unit)
target := a.Target().sel[0].(*Unit)
return func(s *LocalState) {
- target.adjustMarks(UnitMarks.Faith, 2)
- if target.Marks(UnitMarks.Faith) > target.Card().BuyCosts.Costs(s) {
- target.controller = u.Controller()
+ target.adjustMarks(UnitMarks.Faith, 5)
+ if target.Card().BuyCosts != nil && target.Marks(UnitMarks.Faith) >= target.Card().BuyCosts.Costs(s) {
+ target.changeController(a.Controller())
}
}
}
s := u.Controller().gameState
- a := newFullAction(u, resolvePrototype, "put faith ...")
- a.targets = newTargets(newTarget(s, newTargetDesc("unit"), a))
+ a := newFullAction(u, resolvePrototype, "put 5 faith ...")
+ a.targets = newTargets(newTarget(s, newTargetDesc("unit in range 3"), a))
return []*FullAction{a}
}