
    D[i                     B    d dl Z ddlmZ ddlmZ  G d de          ZdS )    N   )Plant   )Bulletc                   0     e Zd Z fdZd Zd Zd Z xZS )WildGatlingc                     t                                          ||d           d| _        d| _        d| _        d| _        d| _        d| _        d| _        d S )Nwild_gatling   g       @i  r   F)	super__init__hpmax_hpshoot_intervalcostburst_indexburst_timeris_bursting)selfcolrow	__class__s      ]/mnt/c/Users/DipsyHou/Desktop/workspace/PVZOnline/backend/game/objects/plants/wild_gatling.pyr   zWildGatling.__init__   sZ    c>222!	     c                 ,   | xj         |z  c_         | j         | j        k    r[d}|j        D ]&}|j        | j        k    r|j        | j        k    rd} n'|rd| _         d| _        d| _        d| _        n| j        | _         | j        r| xj        |z  c_        g d}| j        dk     r\| j        || j                 k    rF|                     |           | xj        dz  c_        | j        dk     r| j        || j                 k    F| j        dk    rd| _        d S d S d S )NFTr   )g333333?g333333?g?g333333?   r   )	shoot_timerr   zombiesr   xr   r   r   
fire_burst)r   dt
game_state
has_targetzburst_timess         r   updatezWildGatling.update   sf   Bt222 J'  5DH$$tv!%JE 7#$ #' #$ #$   $(#6  
	)"222K"Q&&4+;{4K[?\+\+\
+++  A%   "Q&&4+;{4K[?\+\+\ 1$$#(   
	) 
	) %$r   c           
      0   | j         dz   }| j        dz   }d}g d}|D ]x}t          j        |          }t          j        |          |z  }t          j        |          |z  }	t          ||| j        ||	dd          }
|j        	                    |
           yd S )N(      ih  )ir      pea)
r   ymathradianscossinr   r   bulletsappend)r   r"   bxbyspeedanglesdegradvxvybs              r   r    zWildGatling.fire_burst1   s    Vb[Vb[ 	) 	)C,s##C#&B#&Br2txRU;;A%%a((((	) 	)r   c                     d S )N )r   r"   s     r   shootzWildGatling.shoot>   s    r   )__name__
__module____qualname__r   r&   r    r>   __classcell__)r   s   @r   r   r      sf        ! ! ! ! !) ) )B) ) )      r   r   )r-   baser   bulletr   r   r=   r   r   <module>rE      sf                : : : : :% : : : : :r   