Ejemplo n.º 1
0
 def change_element(self, element_type):
     if self.element.type == element_type:
         return
     if element_type == "earth":
         self.element = elements.EarthElement(self)
     elif element_type == "fire":
         self.element = elements.FireElement(self)
     elif element_type == "water":
         self.element = elements.WaterElement(self)
     elif element_type == "air":
         self.element = elements.AirElement(self)
     else:
         return
     self.element_changed(self)
Ejemplo n.º 2
0
    def __init__(self, world):
        MobileObject.__init__(self, world)
        self.bounding_shape = collision.BoundingCircle(6)
        self.type = "player"
        self.name = ""
        self.move_speed = 100
        self.is_invulnerable = False
        self.is_immobilized = False
        self.last_damage_code = 0
        self.last_damage_player = None
        self.teleported = Event()
        self.last_position = None
        self.last_combat_time = 0

        self._health = 100
        self._power = 100
        self.max_power = 100
        self.max_health = 100
        self.health_regen = 2
        self.power_regen = 8
        self.regen_last_time = 0
        self.health_changed = Event()
        self.power_changed = Event()

        self._score = 0
        self.score_changed = Event()
        self._is_dead = False
        self.is_dead_changed = Event()
        self._is_charging = False
        self.is_charging_changed = Event()
        self._is_hooked = False
        self.is_hooked_changed = Event()

        # Create an Element and pass it a reference to this player make it our
        # current active element.
        # @todo: don't hardcode this
        self.element = elements.EarthElement(self)
        self.element_changed = Event()

        self.active_abilities = []
        self.last_ability_time = 0
        self.ability_used = Event()
        self.ability_instance_created = Event()
        self.ability_requested = Event()