³ò
~×YKc        
   @   s…   d  d k  Z  d  d k Z d e  i i i f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d d	 d d d e	 e	 d „ Z
 d S(   iÿÿÿÿNt	   Particlesc           B   s>   e  Z d  Z d g Z d „  Z d d „ Z d „  Z d „  Z RS(   s#   
    Supports particle motion.
    t	   particlesc         C   s   d  |  _ d  S(   N(   t   NoneR   (   t   self(    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyt   after_setstate$   s    t   defaultc         K   s;   t  t |  ƒ i d | |  | |  _ d |  _ d |  _ d S(   s3   
        @param factory: A factory object.
        t   styleiÿÿÿÿN(   t   superR    t   __init__t   factoryR   R   t   old_st(   R   R	   R   t
   properties(    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR   '   s    		c         C   s‰  t  i i i | | ƒ } t  i i o | Sn | |  i j  o g  |  _ n | |  _ |  i } | d  j o
 g  } n |  i	 i
 |  i | ƒ } | d  j	 o | i | ƒ n g  } x´ | D]¬ }	 |	 i | ƒ }
 |
 d  j o q¶ n | i |	 ƒ |
 \ } } } } t  i i i | d t ƒ} t  i i i | | | | | ƒ } | i | d d | | | d | d | ƒq¶ W| |  _ t  i i i |  d ƒ | S(   Nt   loosei    t   xofft   yoff(   t   renpyt   displayt   rendert   Rendert   gamet   less_updatesR
   R   R   R	   t   createt   extendt   updatet   appendt   imt   imaget   Truet   placet   redraw(   R   t   wt   ht   stt   att   rvR   t   newpartst	   livepartst   pt   newt   xpost   ypost   tt   widgett   rend(    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR   2   s4    		
 !,	c         C   s`   g  } yL |  i  i ƒ  } x6 | D]. } t i i i | d t ƒ} | i | ƒ q WWn n X| S(   NR   (   R	   t   predictR   R   R   R   R   R   (   R   R"   t   plt   i(    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyt   visit]   s     (   t   __name__t
   __module__t   __doc__t   nosaveR   R   R   R/   (    (    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR       s   			+t   SnowBlossomFactoryc           B   s>   e  Z e Z d  „  Z e d „ Z d „  Z d „  Z d „  Z RS(   c         C   s*   d |  _  t |  ƒ i | ƒ |  i ƒ  d  S(   Ni    (   t   startt   varsR   t   init(   R   t   state(    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyt   __setstate__n   s    	c	   	      C   sV   | |  _  | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ |  i ƒ  d  S(   N(	   R   t   countt   xspeedt   yspeedt   borderR5   t   fastt   rotateR7   (	   R   R   R:   R;   R<   R=   R5   R>   R?   (    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR   s   s    								c         C   sc   g  } t  d |  i ƒ D] } | t i d |  i ƒ q ~ |  _ |  i i |  i ƒ |  i i ƒ  d  S(   Ni    (   t   rangeR:   t   randomt   uniformR5   t   startsR   t   sort(   R   t   _[1]R.   (    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR7   ~   s    ?c         C   s>  d „  } | oŠ |  i  o€ g  } xo t d |  i ƒ D][ } | i t |  i | |  i ƒ | |  i ƒ |  i | t	 i
 d d ƒ d t d |  i ƒƒ q4 W| Sn | d  j p t | ƒ |  i j  o| | o" | |  i t | ƒ j  o d  Sn t |  i | |  i ƒ | |  i ƒ |  i | t	 i
 d d ƒ d t d |  i ƒg Sn d  S(   Nc         S   s4   t  |  t ƒ o t i |  d |  d ƒ Sn |  Sd  S(   Ni    i   (   t
   isinstancet   tupleRA   RB   (   t   n(    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyt   ranged…   s    i    id   R>   R?   (   R>   R@   R:   R   t   SnowBlossomParticleR   R;   R<   R=   RA   RB   R   R?   R   t   lenRC   t   False(   R   R   R    RI   R"   R.   (    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR   ƒ   s2    	 #!	c         C   s
   |  i  g S(   N(   R   (   R   (    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR,   ª   s    (	   R0   R1   RL   R?   R9   R   R7   R   R,   (    (    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR4   j   s   			'RJ   c           B   s   e  Z d  „  Z d „  Z RS(   c	         C   sT  | d j o
 d } n | |  _  | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ | p t i i	 }	 t i i
 }
 n t i i	 }
 t i i
 }	 |  i d j o | |  _ n |	 | |  _ d | |	 t | ƒ } | | } t | d ƒ } t |
 | |
 ƒ } t i | | ƒ |  _ | o3 t i | |	 | ƒ |  _ t i d |
 ƒ |  _ n d  S(   Ni    i   g       @(   R   R;   R<   R=   R5   t   offsetR?   R   t   configt   screen_heightt   screen_widtht   ystartt   abst   mint   maxRA   RB   t   xstart(   R   R   R;   R<   R=   R5   RM   R>   R?   t   sht   swt   travel_timet   xdistt   x0t   x1(    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR   °   s2    
							
c         C   sî   | |  i  } |  i | |  i } |  i | |  i } |  i p t i i } n t i i	 } | | |  i
 j o d  Sn | |  i
 j  o d  Sn |  i p* t | ƒ t | ƒ | |  i |  i f Sn' t | ƒ t | ƒ | |  i |  i f Sd  S(   N(   R5   RU   R;   RQ   R<   R?   R   RN   RO   RP   R=   R   t   intRM   R   (   R   R    t   toR'   R(   RV   (    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyR   Ú   s    

*(   R0   R1   R   R   (    (    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyRJ   ®   s   	*i
   i2   i   id   iÈ   i    c         C   sU   | o | | } } n t  t d |  d | d | d | d | d | d | d | ƒ ƒ S(	   NR   R:   R=   R;   R<   R5   R>   R?   (   R    R4   (   R   R:   R=   R;   R<   R5   R>   t
   horizontal(    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pyt   SnowBlossomð   s    
(   i   i2   (   id   iÈ   (   R   RA   R   t   coret   DisplayableR    t   objectR4   RJ   RL   R_   (    (    (    s>   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\particle.pys   <module>   s   MDC