|
@@ -1,3 +1,4 @@
|
|
1
|
+from synergine.core.exceptions import NotConcernedEvent
|
1
|
2
|
from intelligine.synergy.event.src.NearEvent import NearEvent
|
2
|
3
|
from xyzworld.mechanism.ArroundMechanism import ArroundMechanism
|
3
|
4
|
from intelligine.cst import ATTACKABLE, COLONY, COL_FIGHTER
|
|
@@ -13,10 +14,10 @@ class NearAttackableEvent(NearEvent):
|
13
|
14
|
super().__init__(actions)
|
14
|
15
|
self._mechanism = ArroundMechanism
|
15
|
16
|
|
16
|
|
- def _object_match(self, object_id, context, parameters={}):
|
|
17
|
+ def _prepare(self, object_id, context, parameters={}):
|
17
|
18
|
obj_colony_id = context.metas.value.get(COLONY, object_id)
|
18
|
19
|
filter = lambda near_object_id, context: obj_colony_id != context.metas.value.get(COLONY, near_object_id)
|
19
|
20
|
self.map(context, parameters, stop_at_first=True, filter=filter)
|
20
|
21
|
if self._near_name not in parameters:
|
21
|
|
- return False
|
22
|
|
- return True
|
|
22
|
+ raise NotConcernedEvent()
|
|
23
|
+ return parameters
|