
    i                     &    d dl mZ  G d de      Zy)   )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 | _        y )Ncoffee_beand       K   g      .@)	super__init__hpmax_hpshoot_intervalcostduration
life_timerboosted_plant)selfcolrow	__class__s      \/mnt/c/Users/DipsyHou/Desktop/workspace/PVZOnline/backend/game/objects/plants/coffee_bean.pyr   zCoffeeBean.__init__   sG    c=1	!    c                 <   | xj                   |z  c_         | j                  r-| j                  j                  s| j                          d| _        | j                  s| j	                  |       | j                   | j
                  k\  rd| _        | j                          yy)u   更新生命计时NF)r   r   activeremove_boostapply_boostr   )r   dt
game_states      r   updatezCoffeeBean.update   s    2 d&8&8&?&?!%D !!Z( ??dmm+DK ,r   c                 L   |j                   D ]  }|j                  | j                  k(  s|j                  | j                  k(  s8|j                  | j                  k7  sR|j                  dk(  rbt        |dd      rp|j                  |_        |j                  dk(  rb|j                  |_	        |j                  |_        |xj                  dz  c_        |xj                  dz  c_
        |xj                  dz  c_        n|xj                  dz  c_        d|_        || _         y y)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uu QUUdhh%6144477?##q( 1.6,-,<,<) 66^+/0A,./nnA+OOs*ONNc)N$$+$ $$+$ $( %&"7 #r   c                    | j                   rt        | j                   d      r| j                   }t        |d      r|j                  |_        t	        |d       |j
                  dk(  rRt        |d      r|j                  |_        t	        |d       t        |d      r|j                  |_	        t	        |d       d|_
        yyy)u   移除攻速加成r"   r'   r#   r*   r,   FN)r   hasattrr'   r   delattrr(   r*   r)   r,   r+   r"   )r   r-   s     r   r   zCoffeeBean.remove_boostI   s    '$*<*<>N"O""A q34#$#<#< 45 vv'167&'&>&>AOA78156%&%<%<ANA67  %A% #Pr   c                 $    | j                          y)u   被铲掉时也要移除加成N)r   )r   r   s     r   on_deathzCoffeeBean.on_death_   s    r   )
__name__
__module____qualname____doc__r   r    r   r   r2   __classcell__)r   s   @r   r   r      s"    " $@%,r   r   N)baser   r    r   r   <module>r:      s    ^ ^r   