
    D[iZ                     N    d dl Z ddlmZ ddlmZmZmZmZ  G d de          ZdS )    N   )Zombie   )PLANT_WCELL_HROWSCELL_Wc                   .     e Zd Z fdZ fdZd Z xZS )FootballForwardZombiec                     t                                          |d           d| _        d| _        d| _        d| _        d| _        d| _        d| _        | j        | _	        | j        | _
        d S )Nfootball_forward   -   2   i`	  T)super__init__hpmax_hpspeeddamagehelm_hpmax_helm_hphelm_activearmor	max_armor)selfrow	__class__s     b/mnt/c/Users/DipsyHou/Desktop/workspace/PVZOnline/backend/game/objects/zombies/football_forward.pyr   zFootballForwardZombie.__init__   sj    0111
 \
)    c                 D   | j         rv| j        dk    rk| xj        |z  c_        | j        dk    r6| j         }d| _        d| _         | xj        |z  c_        d| _        d| _        d S | j        | _        | j        | _        d S t                                          |           d S )Nr   F)r   r   r   r   r   r   r   take_damage)r   amountoverflowr   s      r   r"   z!FootballForwardZombie.take_damage   s     	(q 0 0LLF"LL|q   L= #( 8#
!" "\
!%!1GG'''''r    c                    | j         dk    r| xj         |z  c_         | j        dk    r| xj        |z  c_        | j        dk    r| xj        |z  c_        | j        }| j         dk    r
|| j        z  }| j        dk    rd}| j        dk    r| xj        | j        |z  z  c_        d S g }j        D ]h}|j        | j        k    rV|j	        rO| j        |j        |j
        z   k     r7| j        | j
        z   |j        k    r|j        dv rS|                    |           id}|r|                    d            |d         }|j        }	| j        dz
  }
| j        dz   }fd} ||
|	          } |||	          }d}|r|s|
}n&|s|r|}n|r|rt          j                    d	k     r|
n|}|dk    rd||_        |t           z  t           t"          z
  d
z  z   |_                            d|j        |j
        d
z  z   |j        |j        d
z  z   dd           n,d}|xj        | j        |z  z  c_        |j        dk    rd|_	        |s| xj        ||z  z  c_        d S d S )Nr   )time_machinereshapericed_coconutFc                      | j         dk    rdndS )Nspiky_pumpkinr   r   )type)ps    r   <lambda>z.FootballForwardZombie.update.<locals>.<lambda>?   s    AFo,E,Eqq1 r    )keyr   c                     | dk     s| t           k    rdS j        D ]"}|j        r|j        | k    r|j        |k    r dS #dS )Nr   FT)r   plantsactiver   col)rcr,   
game_states      r   is_freez-FootballForwardZombie.update.<locals>.is_freeG   sU    q55AIIee#* % %Ax %AEQJJ15A::$uutr    g      ?   particledust)r+   xykindT)
slow_timer
stun_timerknockback_timerr   slow_factorr;   knockback_speedr0   r   r1   wr+   appendsortr2   randomr   r   r<   	add_eventhr   r   )r   nowdtr5   current_speedtargetsr,   eatingtargetr4   up_rdown_rr6   can_upcan_downtarget_rs      `            r   updatezFootballForwardZombie.update&   s   ?Q2 5?Q2 5!##T%9%9R%?%9%9
?Q1A A?Q!##FFd*R//FFF " 	& 	&Au  QX 6AC!#I%%$&46/AC*?*?v!MMMxNN1%%% ,	9LLLLLMMMQZF
A8a<DX\F     WT1%%Fwvq))HH Eh E E E! EH E#)=??S#8#844f2~~%
#f,0@A/EE$$&FHQJ.FHQJ."	& &     		T[2--		9>>56= 	)FFmb((FFFF	) 	)r    )__name__
__module____qualname__r   r"   rT   __classcell__)r   s   @r   r   r      sg        * * * * *( ( ( ( ("F) F) F) F) F) F) F)r    r   )	rF   baser   configr   r   r   r	   r    r    r   <module>r\      s           3 3 3 3 3 3 3 3 3 3 3 3g) g) g) g) g)F g) g) g) g) g)r    