Skip to content

Commit 14d4e9f

Browse files
committed
Implement a CurrentPlayer evaluator
1 parent cfb0ead commit 14d4e9f

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

fireplace/dsl/evaluator.py

+16
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,22 @@ def trigger(self, source):
3939
action.trigger(source)
4040

4141

42+
class CurrentPlayer(Evaluator):
43+
"""
44+
Evaluates to True if the selector is the current player.
45+
Selector must evaluate to only one player.
46+
"""
47+
def __init__(self, selector):
48+
super().__init__()
49+
self.selector = selector
50+
51+
def evaluate(self, source):
52+
for target in self.selector.eval(source.game, source):
53+
if not target.controller.current_player:
54+
return False
55+
return True
56+
57+
4258
class Dead(Evaluator):
4359
"""
4460
Evaluates to True if every target in \a selector is dead

0 commit comments

Comments
 (0)