
    {iX                     .    d dl mZ  G d de          ZdS )   )Plantc                   :     e Zd ZdZ fdZd Zd Zd Zd Z xZ	S )
CoffeeBeanu   
    咖啡豆 - 攻速增益悬浮植物
    
    机制：
    - 悬浮植物，可放置在其他植物上方
    - 使本格植物攻速翻倍（shoot_interval减半）
    - 持续15秒后消失
    c                     t                                          ||d           d| _        d| _        d| _        d| _        d| _        d| _        d | _        d| _	        d S )Ncoffee_beand       K   g      .@F)
super__init__hpmax_hpshoot_intervalcostduration
life_timerboosted_planthas_applied_boost)selfcolrow	__class__s      \/mnt/c/Users/DipsyHou/Desktop/workspace/PVZOnline/backend/game/objects/plants/coffee_bean.pyr   zCoffeeBean.__init__   s`    c=111	!!&    c                     | xj         |z  c_         | j        s|                     |           d| _        | j         | j        k    rd| _        |                                  dS dS )u   更新生命计时TFN)r   r   apply_boostr   activeremove_boost)r   dt
game_states      r   updatezCoffeeBean.update   ss    2 % 	*Z(((%)D" ?dm++DK ,+r   c                    |j         D ]}|j        | j        k    r|j        | j        k    r|j        | j        k    r|j        dk    r>t          |dd          rP|j        |_        |j        dk    rI|j        |_	        |j
        |_        |xj        dz  c_        |xj
        dz  c_
        |xj        dz  c_        n|xj        dz  c_        d|_        || _         dS dS )u   应用攻速加成r	   coffee_boostedFcorn_gatlingg      ?TN)plantsr   r   idr   getattroriginal_shoot_intervaltypebase_intervaloriginal_base_intervalmin_intervaloriginal_min_intervalr#   r   )r   r    ps      r   r   zCoffeeBean.apply_boost&   s	    " 	 	Au  QUdh%6%61447??#q(( 1.66 ,-,<) 6^++/0A,./nA+OOs*OONNc)NN$$+$$$ $$+$$ $( %&"7	 	r   c                    | j         rt          | j         d          r| j         }t          |d          r|j        |_        t	          |d           |j        dk    rXt          |d          r|j        |_        t	          |d           t          |d          r|j        |_	        t	          |d           d|_
        dS dS dS )u   移除攻速加成r#   r(   r$   r+   r-   FN)r   hasattrr(   r   delattrr)   r+   r*   r-   r,   r#   )r   r.   s     r   r   zCoffeeBean.remove_boostF   s     	%'$*<>N"O"O 	%"A q344 6#$#< 4555 v''1677 9&'&>AOA78881566 8%&%<ANA6777  %A%	% 	% 	% 	%r   c                 .    |                                   dS )u   被铲掉时也要移除加成N)r   )r   r    s     r   on_deathzCoffeeBean.on_death\   s    r   )
__name__
__module____qualname____doc__r   r!   r   r   r3   __classcell__)r   s   @r   r   r      s         	' 	' 	' 	' 	'       @% % %,      r   r   N)baser   r    r   r   <module>r;      sU         [ [ [ [ [ [ [ [ [ [r   