1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
x{[c@sMddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZdZdZdZdZdZdZdZd    Zed
ƒ\ZZZZZed ƒ\ZZZed
ƒ\Z Z!Z"Z#Z$ed ƒ\Z%Z&Z'd „Z(d „Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2e3d„Z4d„Z5d„Z6d„Z7d„Z8d„Z9dd„Z:dd„Z;d „Z<d!„Z=d"„Z>d#„Z?d$„Z@d%„ZAd&„ZBd'„ZCd(„ZDdS()iÿÿÿÿNtFBPlayerDict_CurSteptFBPlayerDict_CurWheeltFBPlayerDict_NPCKillCnttFBPlayerDict_TotalGetExptFBPlayerDict_BossShowDelaytFBPlayerDict_NPCRefreshTimetKirinHome_FBNPCCnttKirinHome_NPCNeedRefreshCntiicCstjtjƒS(N(tFBCommontGetFBLineStepTimetChConfigtDef_FBMapID_KirinHome(((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytGetQLZFTimeCfgSscCstjtj|ƒ|S(N(RtGetFBLineRefreshNPCR
R (tfbStartstep((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt
GetNPCListTscCsttjtj|ƒ}|sgSg}xH|D]@}|t}tj|t|tƒ}|j    ||dgƒq,W|S(Ni(
RtGetFBLineRewardR
R tItem_IDtrandomtrandintt Item_MinCntt Item_MaxCnttappend(t    curPlayerRt    awardListtitemListtitemMsgtitemIDtitemCnt((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt GiveBossAwardUs 
cCstS(N(tTrue(RtmapIDtlineIDttick((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnEnterFBEventgscCs<tj|tj|t|gƒ}|s8tjdƒtStS(Ns±ØÐëͨ¹Øµ±Ç°µÈÄѶȲÅÄÜɨµ´(t    GameWorldtGetDictValueByBitR
t"Def_Player_Dict_PlayerFBStar_MapIdtFalsetLogR(Rt moveToMapIDtlinet    curfbStar((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt__CheckFBSweepls
! cCs|S(N((RR tlineIdtipyEnterPosInfoR"((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnGetFBEnterPosscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR"((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnChangeMapAsk‡sc Cs¸tj|tjdƒtjƒ}tj|ƒ}|jtj    ƒ}|sÅt
j |t ƒtj ƒjƒ}tj||ƒtj|ƒtjt|ƒtj|ƒtj|tjdtjƒnt
j|ƒtddƒdS|jƒ}tƒ}|jƒ}||}    |tkrd|td}
t|
|    dƒ} tjt j!| ƒtjt j"| ƒn|t#kr§|t$d} t| |    dƒ} tjt j%| ƒnt&||ƒdS(Niitispassiè('t PlayerControltSetSightR
tDef_PlayerSight_DefaultR$t    GetGameFBRtGetHadDelTickettNomalDictGetPropertytDef_Player_Dict_ReqFBFuncLinet ItemControlertOpenPickupItemPutInTempRtGetMaptGetMapIDtDelFBEnterTickettSetHadDelTickett    SetFBSteptFB_Step_PreparetSetFBPropertyMarkt EventReportt WriteEvent_FBR t CME_Log_StarttClosePickupItemPutInTempt __DoFB_Finisht    GetFBStepR t GetFBStepTicktFB_PrepareTimetmaxtSync_Player_TimeTickR0t tttAddUpTimet tttWaitStarttFB_Step_Fightingt FB_FightTimet tttTowerTaketDoFBHelp( RR"tgameFBt hadDelTicketR!R tfbSteptfbCfgtbeginCurStrpTimet timePassTickt prePareTimettimeTickt    fightTime((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt    DoEnterFBs<           
   cCsatjƒjƒ}|tkr+t|ƒn|tkrDt|ƒn|tkr]t|ƒndS(N(    R$R8RJRCt__DoFB_PrepareRQt __DoFB_Fightt FB_Step_Overt __DoFB_Over(R"RW((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt    OnProcess¹s      cCsrtjƒ}|jƒ}tƒ}||}||tdkrCdStjt|ƒtjt    j
|t dƒdS(Niè( R$R8RKR RLRRBRQRNR0RSRR(R"RUtbeginCurStepTimeRXRZ((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyR_Ås      
cCsdtjƒ}|jƒ}tƒ}t|dtƒ||}||tdkrSdStddƒdS(NtisForceièR4i(R$R8RKR t__CheckNPCRefreshR'RRRI(R"RURYRXRZ((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyR`Òs      
cCsRtjƒ}|jtƒ}tƒ}|jtƒ}|dkrá|jtƒ}| rw|rw|||tdkrwdS||tkr‹dS|j    t|ƒ|j    t|dƒt
j ƒ}|r+t j |d|dgƒq+nJ|jtƒ}| s||dkr dS|j    tdƒ|j    tdƒi}    tjƒ}
xTtd|
jƒƒD]=} |
j| ƒ} | jƒ} |    j| | jƒƒ|    | <qSWt
jƒ}t||ƒ}|jtƒ}x!|D]\}}}||7}qÅW|j    t|ƒxF|D]>\}}}|    j|dƒ|}tj||g||ƒqùWt
j|tdƒdS(NiièitKirinHomeWheel(R$R8tGetGameFBDictByKeyRR RRtFB_RefreshTickt FB_WheelCntt SetGameFBDictRtGetCurSingleFBPlayerR5t
NotifyCodeRt GetNPCManagertrangetGetCustomNPCRefreshCounttGetCustomNPCRefreshAttGetRefreshMarktgettGetCounttGetFBPropertyMarkRRtNPCCustomRefresht SetNPCRefreshtNotifyCopyMapPlayerFBHelpRT(R"ReRUtcurWheelt QLZFTimeCfgtcurSteptlastRefreshTimeRtbossShowDelayTickt
npcCntDicttgameNPCtit
npcRefreshtrmarktfbHardt refreshListtnewNeedRefreshCntt refreshMarktnpcIDtnpcCntt    curMaxCnt((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyRfßsJ      %      cCsdtjƒ}|jƒ}tƒ}||}||tdkrCdStj|ƒtjt    |ƒdS(Niè(
R$R8RKR t FB_LeaveTimetGameWorldProcesstCloseFBRRBt FB_Step_Close(R"RURYRXRZ((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyRbs      
 cCs¢tjƒ}|jtƒ}|jtƒ}|d7}|d8}|jt|ƒ|jt|ƒtjd|jƒ||fƒ|dkržtjd|ƒndS(Nis?DoFBRebornNPC, npcID=%s,KirinHome_FBNPCCnt=%s,needRefreshCnt=%sis±¾²¨¹ÖÎïË¢ÐÂÍê±Ï£¡npcCnt=%s(R$R8RhRRRktDebugLogtGetNPCID(tcurNPCR"RURˆtneedRefreshCnt((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt DoFBRebornNPC!s 
 
  c
Csk|jƒsdStjƒ}|jtƒ}|jtƒ}|jtƒ}|d8}|jt|ƒ|jtƒ}tj    d|jƒ||fƒ|jt
ƒ}|jt
|dƒt ƒ}    |dkr5t ||ƒdkrZ||    t kr"|jt|ƒ|jtdƒ|jt
dƒq2t|tƒqZn%t ||ƒdkrZtddƒnt||ƒdS(NisEDoFB_Player_KillNPC, npcID=%s,KirinHome_FBNPCCnt=%s,needRefreshCnt=%siR4(RR$R8RhRRRRkRRŽRR RMRjRRfRRIRT(
RRR"RUR{RˆR‘RytkillCntRz((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytDoFB_Player_KillNPC/s2  
          cCs&tjƒ}|jƒtkr"tStS(N(R$R8RJRQR'R(tattackertdefenderRU((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytCheckCanAttackTagObjInFBSs cCsF|tjkrdStjƒ}|jtƒ|}|jt|ƒdS(N(t ShareDefinetDef_ViewExpType_KillNPCR$R8RhRRk(RtaddExpt expViewTypeRUttotalExp((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnGetExp^s  icCs8tjƒ}|jƒtkr"dStjƒjƒ}d}tjƒ}|jƒdkrj|j    dƒ}n|st
j |ƒdSt j ƒ}tjƒjƒ}t j|ƒ}tjƒ}|ræ|jtdƒt j|tdƒnt|||ƒ}tj|tj|t|gƒ}|r\| r\tjd|ƒtj|tj|dt|gƒn|r*t j||ƒtj|tj d|dgƒtj|tj!dƒt"j#|tj$dƒt%j&|d|dƒt%j&|dƒ|d|j'tj(|ƒkr*t)j*|tj(||dƒq*n|j+t,ƒ}    t-||    ƒ}
x"|
D]} t.j/| t0|ƒqOW||j1ƒ} |j+t2ƒ} i| t j36|t j46| t j56|t j66}t7|ƒdkråt j8|ƒ|t j9<ntjd|ƒt j:||ƒt j;t|ƒt j<t=j>t?ƒt@dƒdS(NiisÊ×´Îͨ¹ýÄѶÈΪ %s ÐÇs kirinhome_%st kirinhome_0s    overDict=%siè(AR$R8RJRat GetGameWorldtGetTicktNonetGetMapCopyPlayerManagertGetPlayerCounttGetPlayerByIndexR‹RŒRRuR>R?tGetRecordMapIDRkRRxRTt__GivePlayerAwardR%R
R&R'RŽtSetDictValueByBittAddEnterFBCountt PlayerSuccesstDoAddSuccessProgressR˜tSuccType_KirinHometSuccType_KirinHomeExtPlayerBossReborntAddBossRebornActionCnttDef_BRAct_KirinHomet
EventShelltEventRespons_FBEventR:t Def_Player_Dict_FBHistoryMaxLineR5tNomalDictSetPropertyRhRRRvtCloseNPCRefresht FB_NPCPointRKRtOver_expt Over_isPasst Over_costTimetOver_dataMapIDtlentGetJsonItemListt Over_itemInfotNotify_FB_OverRBRNR0t tttLeaveMapR RŠ(R4RUR"Rt playerManagerR!R RR+R{tnpcMsgtnpcInfotcostTimeRœtoverDict((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyRIgs\     ! %  $ .cCs@|r8t||ƒ}tj|dtigd|ƒ|SgSdS(Nt    KirinHomet KirinHomeMail(RR<tDoGivePlayerTempPackItemR'(RRR4R((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyR¦ s
cCsltjƒ}tjƒ}|jtƒd}|jtƒ}tj|i|tj6|tj    6|tj
6ƒdS(Ni( R$R8RRuRhRRt Notify_FBHelpt Help_npcTotalt Help_lineIDt    Help_step(RR"RURƒR{R“((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyRT¯s   .cCstS(N(R'(((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnPlayerReborn¼scCstj|ƒtddƒdS(NR4i(R<RHRI(R((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt DoPlayerDead¿s cCsdS(N((Rt
actionTypet
actionInfoR"((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt
DoFBActionÉscCs:|tjkr tjdƒdSt|||ƒs6dStS(Ns ÉêÇëµØÍ¼´íÎó(R
R R$RŽR,R(RR R!tsweepCnttisFinishtdataEx((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnPlayerFBSweepAskÍs  cCs¾i}t|dƒ}tƒt}x<|D]4}    |j|    tdƒ|    t||||    t<q)Wg}
x't|ƒD]} |
t||ƒ7}
qtWtj    |t
j ƒ} t j |||| dt|
ƒ\} }}i|tj6dtj6| tj6|tj6dtj6|tj6}tj||ƒtj|tj||gƒtj|tjdƒtj|t
j|ƒx0t|ƒD]"} tj |t
j!dt
j"ƒqwWt#j$d|||| fƒt%S(NiRÅis;ɨµ´½±Àø: ´ÎÊý=%s,totalExp=%s,totalMoney=%s,jsonItemList=%s(&RR RjRstFB_NPCIDt FB_RefreshCnttxrangeRR5tGetLimitExpRateR
tExpRateLimitType_Sweept    NPCCommontGiveKillNPCDropPrizeR'RR¶t Over_isSweepR¼R¹R·t Over_lineIDR½R©RªR˜R«R¬R­R®R¯RERFR RGR$RŽR(RR R!RÐRÑRÒt
npcMsgDictt
npcMsgListt npcRefreshNumRÀt extraItemListt_texp_ratet jsonItemListRœt
totalMoneyRÃ((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnPlayerFBSweepResultÖs*  2!! cCs$tj|tjƒtj|ƒdS(N(R5R6R
R7R<RH(RR"((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytDoExitFB÷s cCs$tj|tjƒtj|ƒdS(N(R5R6R
R7R<RH(RR"((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytDoPlayerLeaveFBs cCsE|jtƒtj|ƒ}tjƒjƒ}|j|ddƒdS(NtrefreshIntervali(tSetIsNeedProcessRRÙt
NPCControlR$RŸR tRefreshAngryList(Rt
npcControlR"((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnNPCRebornInFBs
 (ERR$R0RvR‹R
RÙR<R˜R©R5R­R°RERRRRRRRRRRoRLRRRŠRjRiRµRÔRÕt FB_Step_OpenRCRQRaRRRRR RRR#R,R/R3R^RcR_R`R'RfRbR’R”R—RRIR¦RTRËRÌRÏRÓRåRæRçRí(((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt<module>sl                   
                                *               2            $              9              
                !