a
    iMN                     @   s   d Z ddlZddlmZmZmZ d-ddZd.ddZd/d	d
Zd0ddZ	d1ddZ
d2ddZd3ddZd4ddZd5ddZd6ddZd7ddZd8ddZd9ddZd:d d!Zd;d"d#Zd<d$d%Zd=d&d'Zd>d(d)Zd?d*d+Zg d,ZdS )@a  
Annual Holiday Events
Date-specific holiday celebrations

Events from dayEvents.py:
- christmas: Christmas celebration (12-25)
- newYear: New Year celebration (01-01)
- thanksgiving: Thanksgiving celebration (11-23)
- blackfriday: Black Friday (11-24)
- independenceday: Independence Day (07-04)
- birthday: Player's birthday
- immunizations: Childhood immunizations
- vacation: Family vacation
- newFood: Trying new foods

New holiday events:
- halloween: Halloween costume and trick-or-treating (10-31)
- valentinesDay: Valentine's Day celebration (02-14)
- easterEggHunt: Easter egg hunting (04-10)
- backToSchoolShopping: Back-to-school shopping (08-20 to 08-31)
- springCleaning: Spring cleaning task (03-15 to 04-15)
- mothersDayForgot: Forgetting Mother's Day (05-08 to 05-14)
- summerFirstDayPool: First day at pool/beach (06-01 to 06-07)
- snowDay: School/work cancelled due to snow (12-01 to 02-28)
- newYearsResolution: New Year's resolutions (01-01)
- blackFridayChaos: Black Friday shopping (11-24)
    N)messageFunctionquestionFunctionanswerOptionmessagec                 C   s>   d| j j }|| jvo | jdk}|r:d| _t|d| |S d S )NZ
christmas_z12-25	christmaszYou have celebrated Christmas!cageYearseventsdatedayEventr   playertypefnamecheck r   7/var/www/lichun.app/lichun/ws/events/holidays/annual.pyr   !   s
    r   c                 C   s>   d| j j }|| jvo | jdk}|r:d| _t|d| |S d S )NZnewyear_01-01ZnewyearzYou have celebrated New Years!r   r   r   r   r   newYear)   s
    r   c                 C   s>   d| j j }|| jvo | jdk}|r:d| _t|d| |S d S )NZthanksgiving_z11-23thanksgivingz!You have celebrated Thanksgiving!r   r   r   r   r   r   1   s
    r   c                 C   s>   d| j j }|| jvo | jdk}|r:d| _t|d| |S d S )NZblackfriday_11-24blackfridayzIt is Black Fridayr   r   r   r   r   r   9   s
    r   c                 C   s>   d| j j }|| jvo | jdk}|r:d| _t|d| |S d S )NZindependenceday_z07-04independencedayz$You have celebrated Independence Dayr   r   r   r   r   r   A   s
    r   Fc           
      C   s  d| j j }|| jvo2| j jdko2| j jd dk}|r|dkrd}ddlm}m} g }|| rj|d || r||d |d	 t||| d
|S |dkr|| j	| |d dkr| j  j
d7  _
| jD ]6}	|	jdkr|	 jd7  _q|	jdkr|	 jd7  _q|d dkrN| j  j
d7  _
| jD ] }	d|	jv r,|	 jd7  _q,|d d	kr|| j  j
d7  _
| j  jd8  _d S )NZ	birthday_r   im  answerz3It's your birthday! How would you like to spend it?)get_random_friendget_random_familyzSpend it with family.zSpend it with friends.z%Spend it alone, doing what you enjoy.Toption            friend)r   r	   askedQuestionsageDays	functionsr   r   appendr   add	happinessrfamilyLevelaffinityrelationshipsZstress)
r   r   r   responser   r   r   r   answerOptionspr   r   r   birthdayI   s:    &







r0   c                 C   s\   d}|| j vo0| jjdko0| jjdko0t dk }|rX| j | d| j_t|d| |S d S )Nimmunizations      {Gz?Tz$You have received your immunizations)r
   r   r	   randomr'   r1   r   r   r   r   r   r1   j   s    .r1   c                 C   sf   d}|| j vo0| jjdko0| jjdko0t dk }|rb| j | tg d}t|d| | |S d S )Nvacationr2   r3   r4   )
z	the beachzthe mountainszanother countryza theme parkza cruiseza national parkza lakeza cabinza resortza cityzYou have gone on vacation to )r
   r   r	   r5   r'   choicer   )r   r   r   r   destinationr   r   r   r6   s   s    .r6   c                 C   s   d}| j jdko<|| jvo<| j jdko<| j jdko<t dk }|r|dkrtg d}d| d	 }td
|td|g}t||| d|S |dkr| j|d  |d d
kr| j  j	d7  _	| j j
|d  |d dkr| j  j	d8  _	| j j|d  d S )NnewFoodr   r    r3   r4   r   )ZBroccoliZCeleryZ	MushroomszBrussels sproutsZOnionsZTomatoesz*Today at dinner your parents have you try z. Do you like it?z	Yes, yum!z
No, gross!Tdatar   r!   )r   r$   r#   r	   r5   r7   r   r   r'   r(   Zlikesr&   Zdislikes)r   r   r   r-   r   r   Zfoodr.   r   r   r   r9   |   s    :r9   c                 C   s  d| j j }|| jvo8| jdko8| j jdko8| j jdk}|rx|dkrxd}| j jdkr`g d}ng d	}t||| d
|S |dkr| j| |d dv r| j  jd7  _| jd n|d dkr| j  jd7  _| j  j	d7  _	| jd n|d dkr"| j  jd7  _| j  j	d7  _	nn|d dkrR| j  jd8  _| j  j	d8  _	n>|d dkrr| j  jd7  _n|d dkr| j  jd8  _dS )z-Halloween costume and trick-or-treating eventZ
halloween_z10-31      r   z)It's Halloween! What costume do you wear?
   )Princess/SuperheroScary MonsterFunny Character
No costume)Group costume with friendsIronically cuteToo cool for costumesHand out candy insteadTr   )r>   r?   r@   r   z'You had a great time trick-or-treating!rB      zYour group costume was a hit!rC   r!   rD   rE   rA   N
r   r	   r#   r   r   r'   r(   messageQueuer&   socialr   r   r   r-   r   r   r.   r   r   r   	halloween   sB    




rK   c           	      C   s  d| j j }|| jvo,| jdko,| j jdk}|r|dkrd}ddlm} || }|rjtdd	d
ddg}ndtddd
dg}t||| d|S |dkr| j| |d dkr| j  j	d	8  _	| j  j
d7  _
ddlm} || }|r| jd7  _| jd n|d dkrL| j  j
d7  _
ddlm} || }|r| jd7  _n|d dkrl| j  j
d7  _
n~|d dkr| j  j
d7  _
| j  jd7  _nN|d dkr| j  j	d8  _	| j  j
d7  _
n|d dkr| j  j
d7  _
dS )z&Valentine's Day celebration or anxietyZvalentinesDay_z02-14r=   r   z*It's Valentine's Day! How do you spend it?r   )get_partnerzRomantic dinnerd   	moneyCostzStay in and cookzExchange small giftsz$Galentine's/Palentine's with friendszTreat yourself2   zIgnore it completelyTr   rF   r   z$You had a wonderful romantic dinner!r!   N)r   r	   r#   r   character.character_managerrL   r   r   r'   moneyr(   r+   rH   r&   rI   )	r   r   r   r-   r   r   rL   partnerr.   r   r   r   valentinesDay   s\    




rT   c                 C   sj   d| j j }|| jvo8| jdko8| j jdko8| j jdk}|rfd| _d}| j  jd7  _t||| |S dS )	zEaster egg hunting as a childZeasterEggHunt_z04-10r    r=   ZeasterzDYou find a basket full of candy and colorful eggs! Easter is so fun!r   N)r   r	   r
   r   r   r(   r   r   r   r   r   r   r   r   r   easterEggHunt  s    


rV   c                 C   sj  d| j j }|| jvoB| jdkoB| jdkoB| j jdkoB| j jdk}|r|dkrd}tdd	d
tddd
tddd
dg}t||| d|S |dkrf| j| |d dkr| j  jd	8  _| j  jd7  _| j  j	d7  _	| j
d n~|d dkr| j  jd8  _| j  jd7  _nN|d dkr8| j  jd8  _n.|d dkrf| j  jd8  _| j  j	d8  _	dS )zShopping for school suppliesZbackToSchoolShopping_z08-20z08-31r!      r   z9It's time for back-to-school shopping! What's your style?zCool new backpackrP   rN   zFancy notebooks   zJust the basicsrF   zUse last year's stuffTr   r=   zYour new backpack is awesome!N)r   r	   r#   r   r   r   r'   rR   r(   rI   rH   r&   rJ   r   r   r   backToSchoolShopping  sB    






rY   c                 C   sL  d| j j }|| jvo6| jdko6| jdko6| j jdk}|r||dkr|d}tddd	td
dd	tddddg}t||| d|S |dkrH| j| |d dkr| j  jd8  _| j  jd7  _| j	
d n||d d
kr| j  jd8  _| j  jd7  _nN|d dkr*| j  jd8  _| j  jd7  _n|d dkrH| j  jd8  _dS )zAnnual spring cleaning taskZspringCleaning_z03-15z04-15rW   r   z4It's time for spring cleaning! How thorough are you?zDeep clean everythingrX   
energyCostzJust the visible areasr   zHire a cleaner   rN   z	Ignore itTr   zYour home is spotless!r!   r=   N)r   r	   r#   r   r   r   r'   energyr(   rH   r&   rR   rJ   r   r   r   springCleaning<  s<    





r^   c                 C   s   d| j j }|| jvoB| jdkoB| jdkoB| j jdkoBt dk }|rd}ddlm} || d	}|rt| jd
8  _| j  jd8  _t	||| |S dS )zForgetting Mother's DayZmothersDayForgot_z05-08z05-14   g333333?zNYou forgot it was Mother's Day! You scramble to call your mom and feel guilty.r   )get_relationshipmotherr   r=   N)
r   r	   r
   r   r5   rQ   r`   r+   r(   r   )r   r   r   r   r   r`   ra   r   r   r   mothersDayForgotc  s$    



rb   c                 C   s~   d| j j }|| jvoB| jdkoB| jdkoB| j jdkoB| j jdk}|rzd}| j  jd7  _| j  jd8  _t||| |S d	S )
zFirst day at the pool/beachZsummerFirstDayPool_z06-01z06-07r!   rX   zfIt's finally warm enough to swim! You spend the whole day at the pool/beach and get totally sunburned.r   r=   N)r   r	   r
   r   r(   r]   r   rU   r   r   r   summerFirstDayPool{  s    


rc   c                 C   s   d| j j }t| jdd }|dkp8|dkp8|dk}| j jdv }|| jvoz|oz| j jdkoz| j jd	koz|ozt d
k }|r| j jdkrd}nd}| j  jd7  _| j  j	d7  _	t
||| |S dS )z!School/work cancelled due to snowZsnowDay_-r   r_   r   r    )studentworkr!   A   g?re   zLHeavy snow overnight! School is cancelled and you get an unexpected day off!zJHeavy snow overnight! Work is cancelled and you get an unexpected day off!rF   r=   N)r   r	   intr   split
occupationr
   r5   r(   r]   r   )r   r   r   Zcurrent_monthZ	is_winterZis_student_or_workr   r   r   r   r   snowDay  s,    



rk   c                 C   s  d| j j }|| jvo,| jdko,| j jdk}|rV|dkrVd}g d}t||| d|S |dkr| j| |d d	kr| j  jd7  _| jd
 n|d dkr| j  jd7  _| jd nX|d dkr| j  jd7  _| j  j	d7  _	| jd n|d dkr| j  jd8  _dS )zMaking New Year's resolutionsZnewYearsResolution_r   r=   r   z"What's your New Year's resolution?)Exercise more
Save moneyMake new friendsNo resolutionsTr   rl   z$You feel motivated to exercise more!rm   z(You start being more careful with money!rn   r!   z(You resolve to be more social this year!ro   NrG   rJ   r   r   r   newYearsResolution  s0    


rp   c                 C   sV  d| j j }|| jvo,| jdko,| j jdk}|rt|dkrtd}tdddd	td
dddtdddg}t||| d|S |dkrR| j| |d dkr| j  jd8  _| j  jd8  _| j  j	d7  _	| j
d n~|d d
kr| j  jd8  _| j  j	d7  _	nN|d dkr$| j  j	d7  _	n.|d dkrR| j  jd8  _| j  jd7  _dS )zBlack Friday shopping decisionZblackFridayChaos_r   r<   r   z1Black Friday is here! Brave the crowds for deals?zYes, wake up early!rF   r\   )r[   rO   zOnline shopping only   rN   zSkip it completelyzJust window shopr=   rZ   Tr   r   z/You got some great deals, but you're exhausted!r!   N)r   r	   r#   r   r   r   r'   r]   rR   r(   rH   r&   rI   rJ   r   r   r   blackFridayChaos  s:    




rr   )r   r   r   r   r   r0   r1   r6   r9   rK   rT   rV   rY   r^   rb   rc   rk   rp   rr   )r   )r   )r   )r   )r   )r   FF)r   )r   )r   FF)r   FF)r   FF)r   )r   FF)r   FF)r   )r   )r   )r   FF)r   FF)__doc__r5   Zevents.baser   r   r   r   r   r   r   r   r0   r1   r6   r9   rK   rT   rV   rY   r^   rb   rc   rk   rp   rr   __all__r   r   r   r   <module>   s,   





!
	
	

6
=

)
'



(
'