a
    i
                     @   sv   d Z ddlZddlT ddlZddlZddlZddlmZ ddlm	Z	m
Z
 ddlmZmZ eeZdd Zd	d
 ZdS )a  
Event Registration Module

This module contains functions for registering event handlers and events at server startup.
These functions are called once during initialization and have no runtime performance impact.

Functions:
    - register_all_event_handlers(): Registers all event handler functions with the event handler system
    - register_all_events(): Registers all game events with conditions for efficient filtering
    N)*)tutorial)register_event_handler	_registry)register_eventevent_countc                   C   s>  t dt t dt t dt t dt t dt t dt t dt t dt t d	t	 t d
t
 t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t d t  t d!t! t d"t" t d#t# t d$t$ t d%t% t d&t& t d't' t d(t( t d)t) t d*t* t d+t+ t d,t, t d-t- t d.t. t d/t/ t d0t0 t d1t1 t d2t2 t d3t3 t d4t4 t d5t5 t d6t6 t d7t7 t d8t8 t d9t9 t d:t: t d;t; t d<t< t d=t= t d>t> t d?t? t d@t@ t dAtA t dBtB t dCtC t dDtD t dEtE t dFtF t dGtG t dHtH t dItI t dJtJ t dKtK t dLtL t dMtM t dNtN t dOtO t dPtP t dQtQ t dRtR t dStS t dTtT t dUtU t dVtV t dWtW t dXtX t dYtY t dZtZ t d[t[ t d\t\ t d]t] t d^t^ t d_t_ t d`t` t data t dbtb t dctc t ddtd t dete t dftf t dgtg t dhth t diti t djtj t dktk t dltl t dmtm t dntn t doto t dptp t dqtq t drtr t dsts t dttt t dutu t dvtv t dwtw t dxtx t dyty t dztz t d{t{ t d|t| t d}t} t d~t~ t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dtj t dtj t dtj t dtj t dtj t dtj t dtj t dt t dt t dt t dtÃ t dtă t dtŃ t dtƃ t dtǃ t dtȃ t dtɃ t dtʃ t dt˃ t dt̃ t dt̓ t dt΃ t dtσ t dtЃ t dtу t dt҃ t dtӃ t dtԃ t dtՃ t dtփ t dt׃ t dt؃ t dtك t dtڃ t dtۃ t dt܃ t dt݃ t dtރ t dt߃ t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt t dt  t dt t dt t dt t d t t dt t dt t dt t dt t dt	 t dt
 t dt t dt t d	t t d
t t dt t dt t dt t dt tdtt  d dS (  z!Register all valid event handlersactTestactTestTakebraceletDilemmabracesbreakArmbullyDilemmacarCrash	childBornchildLearnedWalkchildhoodActivitychooseCollegechooseMajorcollegeExtracurriculardating_choice	dropBooksemployeeOfTheMonthextracurricular	fieldTrip
firstCrushfirstJob	firstKissforgotCombofoundAPennyfreeConcertfoundMoneyStreetfreeUpgradeunexpectedComplimentperfectParkingSpotrainbowSightingspilledDrinkphoneDropped
birdPoopedforgotWallet	missedBus
badHairDaycaughtInRainlostKeysruinedClothesbadRestaurantExperiencesleepThroughAlarmpackageStolenphoneBreakdowndataLosssocialMediaCanceledcyberbullyingaccountHackedglasses	haveChildhealthConditionjobApplicationlatetoSchoollearnInstrumentlearnedBikelearnedSwimlearnedWalklearningColors
likeSchoollostFirstToothlostLastToothlowAffinitylowEnergyEventmarriageminorInjuryminorSicknessnegativeHabitEventannualCheckupallergySymptomsdentalCavitymentalHealthDaysprainedAnkle	eyeStrainbackPainfirstGrayHairsleepDisorderfoodPoisoning	newFriendoneTimeEventTestopenbankAccountplayDatepregnantromanticDatesatTestschoolAssemblyschoolFightschoolLunchstartedPeriodtiredinClassvendingMachineweddingfirstDayOfPreschoolimaginaryFriendfirstNightmarepetGoldfishscaredOfDarkfirstTimeTyingShoessandboxDisagreementpickySomeEaterfirstHaircutlostFavoriteToynotInvitedToPartyscoldedlostGamefriendMovedAwaygroupProjectDramavoiceCrackingbodySelfConsciousnesscurfewArgumentgrowthSpurtembarrassingSituation	sleepoversocialMediaPressurefashionExperimentationlearningToDrivepopQuizraisedHandNotCalledlostHomeworkpresentationNervesteacherFavoritestudyGroupInviteextracurricularBurnoutcafeteriaFoodPoisoningsubstituteTeachercollegeAllNighterfirstApartmentworkLifeBalanceforgotBirthdayCallfriendsDriftingunexpectedBillpromotionOpportunityagingParentcareerChangeDesirecoworkerRivalrydivorceConsiderationcolleagueStealingCreditenvironmentalChoicefoundExpensiveItemfoundLostPetfriendBorrowMoneyfriendCheatingparentCareDecisionstrayAnimalDecisionwhistleblowerDecisionwitnessShoplifting	christmasnewYearthanksgivingblackfridayindependencedayimmunizationsvacationnewFoodpubertyschoolgraduate5thgraduate8thgraduate12thcollegecollegePartycollegeGreekLifecollegeMissHomeadultMissFriendscollegeMinorbirthdaydriversLessonsdriversTestpositiveInteractionlowEnergyEventsextendedFamilymurderAttemptfuneralsummerReadingclassRankRevealseniorSurveyfinalExamWeeksummerJobSearch
promInvitedormRoommateseniorSkipDaycollegeHomesickchangeMyMajorconversationInitfirstConversationfirstActivityChoicetutorialCompleteZtutorialStepCompleteZtooltipSeenZcompleteOnboardingjoinSoccerTeamlearnMartialArtsrunningHabitjoinGym	yogaClassonlineCourselearnLanguagecodingBootcampmusicLessonscookingClassesprofessionalConferencementorJunior
sideHustlenetworkingEventprofessionalCertificationlearnPaintingwritingJournallearnPhotographytheatreAuditioncraftingHobbycampingTripskiingVacationbeachDayhikingAdventureautumnActivitiesjoinClubvolunteerWorkbookClubgamingGroupcommunityEventfamilyGameNightfamilyVacationteachSiblingSkillhelpParentProjectfamilyPhotoparentDivorcesiblingRivalryfamilyEstrangementparentIllness
familyDebtinheritanceDispute	gardening
meditationbirdWatchingcollectionHobbyreadingChallenge
failedTestrejectedFromCollegeacademicProbationgroupProjectBetrayalplagiarismAccusationpassedOverPromotionworkplaceBullyingprojectFailurebadPerformanceReviewbusinessFailurecarBreakdownscammedidentityTheftlostJobrentalEvictiontaxAuditinvestmentLossinjuryFromAccidentchronicPaindentalEmergencyseriousIllness
weightGainsleepDeprivationaddictionProblempublicEmbarrassmentfriendshipBetrayalromanticRejectionbreakupsocialMediaDramaleftOutOfGroupargumentWithFriendpartyDisasterhouseFireDamagelegalTroublevictimOfCrimemajorAccidentnaturalDisasterRegistered z event handlersN(  r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	dayEventsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   conversationEventsr   tutorial_eventsr   r   r   r   Zhandle_tutorial_step_completeZhandle_tooltip_seenZhandle_complete_onboardingr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  printlenr   list_events r  r  :/var/www/lichun.app/lichun/ws/server/event_registration.pyregister_all_event_handlers   s   
























































































































































































































r  c                   C   s  t dtdd t dtdd t dtdd t dtd	d t d
tjdd t dtdd t dtdd t dt	dd t dtj
dd t dtdd t dtdd t dtdd t dtdd t dtdd t dtdd t dtdd t d td!d t d"td!d t d#td$d t d%td&d t d'tdd t d(td)d t d*td+d t d,tjd-d t d.td-d t d/td-d t d0td-d t d1td-d t d2td3d t d4td-d t d5t d3d t d6t!d-d t d7t"d-d t d8tj#d9d t d:tj$d;d t d<tj%d=d t d>t&d-d t d?t'd-d t d@t(dAd t dBt)dCd t dDt*dEd t dFt+dEd t dGt,dEd t dHt-dId t dJt.dKd t dLt/dMd t dNt0dId t dOt1dPd t dQt2dRd t dSt3dTd t dUt4dKd t dVt5dKd t dWt6dXd t dYt7dZd t d[t8d=d t d\t9dXd t d]t:dRd t d^t;dRd t d_t<d`d t dat=dbd t dct>dbd t ddt?dedfdg t dht@dbd t ditAdjd t dktBdld t dmtjCdnd t dotDdnd t dptEd3d t dqtFdrd t dstjGdtd t dutjHdEd t dvtIdwd t dxtJdyd t dztKd{d t d|tLd}d t d~tMdd t dtNdd t dtOdd t dtPd{d t dtQdd t dtRdd t dtSd=d t dtTdd t dtjUdd t dtjVdd t dtjWdXd t dtjXdXd t dtjYdXd t dtZdd t dt[dd t dt\dd t dt]d=d t dt^dRd t dt_dd t dt`dd t dtadd t dtbd=d t dtcdd t dtddd t dtedd t dtfdd t dtgddfdg t dthddfd t dtidd t dtjddfd t dtkddfd t dtlddfd t dtmddfd t dtnddfd t dtjoddfd t dtpddfd t dtqddfd t dtrddfd t dtsddfd t dtjtddfd t dtjudd t dtvdd t dtwdd t dtxddfdg t dtydd t dtzdd t dt{dd t dt|ddfdg t dt}ddfd t dt~ddfdg t dtddfdg t dtddfd t dtdd t dtdd t dtdd t dtd`d t dtdd t dtdd t dtjdd t dtdd t dtdbd t dtdd t dtdd t dtdd t dtdd t dtdd t dtdd t dtdd t dtdd t dtd`d t dtdd t dtd`d t dtdd t dtdd t dtdd t dtdd t dtd`d t dtdd t dtdd t dtdd t dtdd t dtdd t dtd`d t dtdd t dtdbd t dtdd t dtd`d t dtdd t dtdd t d tdd t dtdbd t dtdd t dtjddfd t dtjddfd t dtdd t dtdd t d	tdd t d
tjdd t dtdd t dtd`d t dtdd t dtd`d t dtdd t dtdd t dtdd t dtdd t dtd`d t dtdd t dtj t dtj t dtj t dtj t dtj t dtj t dtd-d t dtd-dfd t dtdd t dtd`dfd t dtdd t dtddfdg t dtdd t dtdd t dtdbdfd t dtd`d t dtdd t dtddfdg t dtjddfd t dtjdd t d tjdd t d!tjdd t d"td-d t d#tȐd$d t d%tɐd&d t d'td`d t d(tːdd t d)tdd t d*t͐dd t d+td`d t d,tdd t d-tdd t d.td`d t d/tdd t d0tӐd1d t d2tԐd3d t d4tdd t d5tddfdg t d6tאd7dfdg t d8tded t d9tddfdg t d:tddfdg t d;tdd t d<tdd t d=tݐdd t d>tdZd t d?tdd t d@tdAd t dBtdCd t dDtdd t dEtdFd t dGtdd t dHtdId t dJtdd t dKtdd t dLtdd t dMtdd t dNt t dOtddfd t dPtdQdfd t dRtdSdfd t dTtdUdfd t dVtddfd t dWtd+d t dXtdYdfd t dZtdbd t d[tdIdfd t d\tdbd t d]tdd t d^tddfdg t d_tdedfdg t d`tddfdg t datddfdg t dbtddfdg t dctdd t ddtdld t detdd t dftdId t dgtd`d t dht dd t ditd`d t djtdSd t dktdd t dltdmd t dntdd t dotdpd t dqtdd t drtdd t dst	dtd t dut
dbd t dvtd`d t dwtdd t dxtd`d t dytdzd td{t  d| td{t  d| d}S (~  z@Register all game events with conditions for efficient filteringr>   )r      )	age_ranger?   )      rA   )r     rB   )
      r   r   )r      r<   )   r"  r=   )r%  r$  r   )r   r"  ra   )r   r%  rb   )r   r  rc   )r      rd   )r%     re   )r%  r&  rf   )r  r'  rg   rh   )r  r%  ri   rj   )r  r!  rk   )r  r$  rl   rm   )r     rn   )r     r   )r&  r)  r@   r   r   rZ   r[   )   r)  r\   r   r:   r^   r   )r"  r*  r   )   r#  r   )   r)  r   r;   r   )r*     r6   )r&     r   )r(  r)  r	   rY   ry   )r"  r)  rz   )r!  r)  r{   )r!  r-  r|   r}   )r!  r,  r~   )r#     r   )r+  r)  r   r   r   )r)  r/  r   )r"  r/  r   r   r   r   r   )r-  d   r   )r)  r0  r   r   )r)  A   T)r  requires_jobr   r   )r/  r0  r   )   r0  r   )r"  r-  r]   r   r   )r$  r/  r   )r(  r,  r   ro   )r$  r)  rp   )r$  r#  rq   )r*  r#  rr   )r#  r,  rs   )r$  r(  rt   )r+  r,  ru   rv   rw   rx   )r(  r-  r   r   )r,  r/  r   )r)  r3  r   r   r   r   r   r   )r"  r,  r   )r-  r,  r   r   r   )r(     r   )r-  r)  r   )r)  r)  r   r   r   )r)     r   )r-  r3  r9   )r-  r1  r   rV   )r  requires_relationshiprS   )r  P   rC   )r  r0  r   )r-  (   rX   )r-  r7  rE   )r)  <   r`   r   )r   r0  r7   )r)  2   rW   r   r   )r)  r7  r   r   )r)  r8  rU   r   r   )r3  r:  r   )r/  r1  r   )r3  r8  r   )r5  r1  r   )r3  7   r   )#   r9  r   )r.  r:  r   )r3  r9  r   )r3  r1  rF   )r   r0  rG   r   r   r8   rD   r   rH   )r"  r0  rI   rJ   rK   )r!  r0  rL   rM   )r"  r:  rN   rO   )r.  r0  rP   )   -   r    r!   r"   r#   r$   r%   r&   )r$  r0  r'   r(   r)   r*   )r$  r8  r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   )r"  r3  r5   )r#  r0  rQ   rR   r   r   r   r   )r+  r7  r_   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   )r8  F   r   r   r   r   r   r   r   )r&  r8  r   )r$  r?  r   r   r   r   r   r   r   r   r   r   )r-  r:  r   )r&  r0  r   r   r   )r.  r1  r   r   r   r   r   r   r   r   r   )r!  r?  r   )r"  r9  r   r   )r"  r?  r   r   )r5  r0  r   r   r   r   rT   r   r   )r!  r1  r   )r"  r.  r   )r"  r>  r   r   r   )r  r3  r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  )r$  r.  r	  r
  )r+  r.  r  r  r  )r-  r.  r  r  r  r  r  )   r0  r  z game events in event registryN(  r   r>   r?   rA   rB   r  r   r   r<   r=   r   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   r   r@   r   r   rZ   r[   r\   r   r:   r^   r   r   r   r   r;   r   r6   r   r	   rY   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r]   r   r   r   r   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r   rV   rS   rC   r   rX   rE   r`   r   r7   rW   r   r   r   r   rU   r   r   r   r   r   r   r   r   r   r   rF   rG   r   r   r8   rD   r   rH   rI   rJ   rK   rL   rM   rN   rO   rP   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   rQ   rR   r   r   r   r   r_   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rT   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  loggerinfor   r  r  r  r  r  register_all_eventsb  s.   rC  )__doc__loggingeventsr  r  r  	retentionr   event_handlersr   r   event_registryr   r   	getLogger__name__rA  r  rC  r  r  r  r  <module>   s   
  K