# Path: compositecore.py
# class Leaf(Component):
#     """
#     Abstract leaf class of composite design pattern.
# 
#     Component classes of leaf type should inherit from this class.
#     """
# 
#     def __init__(self):
#         super(Leaf, self).__init__()
# 
#     def get_relative_of_type(self, component_type):
#         return self.parent.get_child_or_ancestor(component_type)
# 
#     def has_relative_of_type(self, component_type):
#         return self.parent.has_child_or_ancestor(component_type)


from compositecore import Leaf

__author__ = 'co'

STEP_NEXT_TO_ENEMY_TRIGGER_TAG = "step_next_to_enemy_trigger"
ENEMY_STEPPING_NEXT_TO_ME_TRIGGER_TAG = "enemy_stepping_next_to_me_trigger"
ON_ATTACKED_TRIGGER_TAG = "on_attacked_trigger"



# Path: compositecore.py
# class Leaf(Component):
#     """
#     Abstract leaf class of composite design pattern.
# 
#     Component classes of leaf type should inherit from this class.
#     """
# 
#     def __init__(self):
#         super(Leaf, self).__init__()
# 
#     def get_relative_of_type(self, component_type):
#         return self.parent.get_child_or_ancestor(component_type)
# 
#     def has_relative_of_type(self, component_type):
#         return self.parent.has_child_or_ancestor(component_type)


# Path: trigger.py
from compositecore import Leaf


__author__ = 'co'

STEP_NEXT_TO_ENEMY_TRIGGER_TAG = "step_next_to_enemy_trigger"
ENEMY_STEPPING_NEXT_TO_ME_TRIGGER_TAG = "enemy_stepping_next_to_me_trigger"
ON_ATTACKED_TRIGGER_TAG = "on_attacked_trigger"



class Trigger(Leaf):