diff options
Diffstat (limited to 'go/game/cardImplementations.go')
| -rw-r--r-- | go/game/cardImplementations.go | 11 |
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} } |
