a
    ,e#                     @   sd   d dl Z d dlmZmZmZmZ d dlZd dlmZ d dlm	Z	 d dl
mZmZmZmZ dd ZdS )    N)getOccupations
get_persongetPeakEnergyplayerClassconversationInit)messageFunction)
sendToUsersendDictsendUserInfosendEventMessagec                    s  | st d dS | rt| tr*| d} t d|   t| }||j }|d dkrxt||I d H  t d d|_n\|d d	krt d
 d|_n>|d dkrt d d}t	 }t
 |_|j|_|||j< t||j |I d H  d|_n|d dkr*ddlm} |||d  t||I d H  n|d dkrt||d }ddlm} ddlm} ||||_|||_t|tj|jdd dI d H  n<|d dkr|d }|j|_d|_ddlm}	 d}
||j }|jjdkr|j jd8  _t|j t |d|j!dI d H  t |d  |d d krPt d! |	||d" |d# d$}
n|d d%krt d% |	||d" |d# |d% d&}
t |
j" t |
j#d' j$ n2|d d(krt d( |	||d" |d# |d% d&}
|
rt|tj|
jd)d dI d H  n|j%&d* n|d d+krg d,}|j}||_|d d-kr~||v r|'|}|d. }|dkrt d/t(||   || |_nf|d d0kr||v r|'|}|d. }|t)|k rt d/t(||   || |_nt*|d |_t t(|jd1 t(|j  t |d|jd2I d H  n|d d3krfdd4lm+} |||d d5 |d d6  t||I d H  nn|d d7ks|d d8krdd9lm,}m-} |d d7kr|||d  n|d d8kr|||d  t||I d H  n|d d:krdd;lm.} |||d  t||I d H  n|d d<krXdd=lm/} |||d  t||I d H  n||d d>krr|j|_nb|d d?kr|j0j1&d@ dA|j0_2|j%&dB|j0j3 dC |j0j4 dD  |j0 j5dE7  _5|j6&|j0 d|_0n|d dFkrddGlm7} dH}|d dHkrdI}|||dJdKdL}dM}t8dN|jj9| }|jj9| }t:;||}||_9||_0t dO|j3 dC |j4  t ||d |dPI d H  nBd|dQ< dR|d v r|d <dRd. |dQ< |d <dRd |d< d|v rPt|d t=rP|d } dS| v r|j j| dS 8  _dT| v r2|j j>| dT 8  _>dU| v rP|j j?| dU 8  _?t@|d dV  d|_|j|_|jA&|d  |j%rt)|j%dkr|j%Bd|_$t dW|j$  tC|tDdX|j$|dI d H  dY|_$dS )ZNz
no messageFzutf-8Zreceivedmessagestopzstopped!inactivestartzstarted!activeZrestartzrestart!TtypecharacterSetupr   )r   ZretrievePerson)parseConversations)getPersonDescriptionc                 S   s   | j S N__dict__o r   $/var/www/lichun.app/lichun/ws/api.py<lambda>.       zconsumer.<locals>.<lambda>)defaultconversation  r   
   u)r   
calcEnergyconversationEventinitzinit conversationZcharacterIDcType)player	characterr'   response)r(   r)   r'   r*   ZfreeResponsec                 S   s   | j S r   r   r   r   r   r   r   H   r   z/You don't have enough energy to talk right now.speed)r!   i  i  2         -r/   zsetting speed to +z -> )r   	gameSpeedZfocusUpdate)update_focusZ
activityIdZnewFocus	quitHabitstopQuitHabit)r4   r5   purchaseItem)r6   purchaseInAppItem)r7   Z
resetSpeedZ
swipeMatchdating_matchzDating MatchzYou matched with  !(   ZgetSwipeCharacter)create_characterFemaleMalerandom_adultsnone)agerelationship      zsending character: )r   swipeCharacterkeyz---
energyCost	moneyCostdiamondCostz/(player,'answer',event['key'],event['message'])zsending message from queue ZanswerQueue )Eprint
isinstancebytesdecodejsonloadsuserIDr   
controllerr   r   occupationsidupdateClient	functionsr   r   conversationEventsr   r   availableConversationsdescriptionr	   dumpsr   r2   previousGameSpeedr   cr$   energyr   r
   minuteOfHourr   r    r   messageQueueappendindexstrlenintr3   r4   r5   r6   r7   rE   relationshipstitle	firstnamelastnameaffinityrr<   maxageYearsrandomrandintsplitdictmoneydiamondsevalaskedQuestionspopr   r   )r   	websocketplayerRecordseventr(   r   personr   r   r   convZplayerRecordZbuttonSpeedValuesr,   Zcurrent_indexZ
next_indexr3   r4   r5   r6   r7   r<   sexr)   Zage_range_widthZlower_boundZupper_boundZ
random_ager   r   r   consumer   s&   








$


"




$



r|   )rm   rV   r   r   r   r   rO   rW   r   r   appr	   r
   r   r   r|   r   r   r   r   <module>   s   