Ejemplo n.º 1
0
    def _on_collide(self, other: GameObject, direction_of_impact: Vector2,
                    impact_side: ImpactSide, delta_time: float):
        if other != self._target:
            Enemy._on_collide(self, other, direction_of_impact, impact_side,
                              delta_time)
        else:
            # Collided with player, he need to suffer
            other: LivingEntity
            other.take_damage(EnemySettings.HandToHand.DAMAGE)
            if other.is_dead:
                self._target = None

            self.__backoff(direction_of_impact)
    def _on_collide(self, other: GameObject, direction_of_impact: Vector2,
                    impact_side: ImpactSide, delta_time: float):
        if other != self._target:
            Enemy._on_collide(self, other, direction_of_impact, impact_side,
                              delta_time)
        else:
            if impact_side != ImpactSide.TOP:
                # Collided with player, he need to suffer
                other: GameObject
                if impact_side == ImpactSide.BOTTOM:
                    i = 0
                    other.take_damage(1000)
                elif impact_side == ImpactSide.RIGHT:
                    i = 1
                elif impact_side == ImpactSide.LEFT:
                    i = -1

                other.apply_force(EnemySettings.HeavyRock.KNOCKBACK * i)
                other.take_damage(EnemySettings.HeavyRock.SIDE_DAMAGE)
                if other.is_dead:
                    self._target = None
 def _on_collide(self, other: GameObject, direction_of_impact: Vector2,
                 impact_side: ImpactSide, delta_time: float):
     if isinstance(other, Player):
         other.apply_force(self._direction * 30)
         other.take_damage(20)
     self.kill()