
    i@                     2    d dl mZ ddlmZ  G d de      Zy)   )Zombie   )get_plant_categoryc                   8     e Zd ZdZ fdZ fdZd Zd Z xZS )SirenZombieu6   海妖僵尸 - 吹响海螺使本行植物陷入睡眠c                     t         |   |d       d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        y )	Nsireni     2       g      $@Fg       @)super__init__hpmax_hpspeeddamageskill_cooldownskill_intervalskill_castingskill_cast_timerskill_cast_duration)selfrow	__class__s     W/mnt/c/Users/DipsyHou/Desktop/workspace/PVZOnline/backend/game/objects/zombies/siren.pyr   zSirenZombie.__init__   sX    g&
  "" !#&     c                    | j                   dkD  r| xj                   |z  c_         | j                  r	| j                  dkD  r| xj                  |z  c_        | j                  dkD  r| xj                  |z  c_        | j                  dkD  r| xj                  |z  c_        | j                  dkD  s| j                  dkD  r d| _        d| _        t        |   |||       y | xj
                  |z  c_        | j
                  | j                  k\  r0| j                  |       d| _        d| _        | j                  | _         y | j                   dk  r | j                  |      rd| _        d| _        y t        |   |||       y )Nr   FT)r   r   
slow_timer
stun_timerknockback_timerr   r   updater   _apply_sleep_to_plantsr   _has_plants_in_row)r   nowdt
game_stater   s       r   r!   zSirenZombie.update   sS   "2% "DOOr$9O"DOOr$9O##a')=)=)C)= ##a'4??Q+>%*"()%sB
3 !!R'!$$(@(@@++J7%*"()%&*&9&9# !#(?(?
(K!%D$%D! 	sB
+r   c                 v    |j                   D ]*  }|j                  | j                  k(  s|j                  s* y y)u   检查本行是否有植物TF)plantsr   activer   r&   ps      r   r#   zSirenZombie._has_plants_in_row<   s0    ""Auu QXX # r   c                     |j                   D ]I  }|j                  | j                  k(  s|j                  s*t        |j                        dk(  rCd|_        K y)u=   使本行所有植物陷入睡眠5秒（悬浮植物除外）floatingg      @N)r(   r   r)   r   typesleep_timerr*   s      r   r"   z"SirenZombie._apply_sleep_to_plantsC   sC    ""Auu QXX%aff-; # #r   )	__name__
__module____qualname____doc__r   r!   r#   r"   __classcell__)r   s   @r   r   r      s    @'%,N$r   r   N)baser   configr   r    r   r   <module>r8      s     (F$& F$r   