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
73
Ì8hc@sYddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZdZdZdZdZdZdZdZd    Zed
ƒ\ZZZZZed ƒ\ZZZ ed
ƒ\Z!Z"Z#Z$Z%ed ƒ\Z&Z'Z(d „Z)d „Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3e4d„Z5d„Z6d„Z7d„Z8d„Z9d„Z:dd„Z;dd„Z<d „Z=d!„Z>d"„Z?d#„Z@d$„ZAd%„ZBd&„ZCd'„ZDd(„ZEdS()iÿÿÿÿNtFBPlayerDict_CurSteptFBPlayerDict_CurWheeltFBPlayerDict_NPCKillCnttFBPlayerDict_TotalGetExptFBPlayerDict_BossShowDelaytFBPlayerDict_NPCRefreshTimetKirinHome_FBNPCCnttKirinHome_NPCNeedRefreshCntiicCstjtjƒS(N(tFBCommontGetFBLineStepTimetChConfigtDef_FBMapID_KirinHome(((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytGetQLZFTimeCfgTscCstjtj|ƒ|S(N(RtGetFBLineRefreshNPCR
R (tfbStartstep((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt
GetNPCListUscCsttjtj|ƒ}|sgSg}xH|D]@}|t}tj|t|tƒ}|j    ||dgƒq,W|S(Ni(
RtGetFBLineRewardR
R tItem_IDtrandomtrandintt Item_MinCntt Item_MaxCnttappend(t    curPlayerRt    awardListtitemListtitemMsgtitemIDtitemCnt((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt GiveBossAwardVs 
cCstS(N(tTrue(RtmapIDtlineIDttick((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnEnterFBEventhscCs<tj|tj|t|gƒ}|s8tjdƒtStS(Ns±ØÐëͨ¹Øµ±Ç°µÈÄѶȲÅÄÜɨµ´(t    GameWorldtGetDictValueByBitR
t"Def_Player_Dict_PlayerFBStar_MapIdtFalsetLogR(Rt moveToMapIDtlinet    curfbStar((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt__CheckFBSweepms
! cCs|S(N((RR tlineIdtipyEnterPosInfoR"((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnGetFBEnterPos€scCstjS(N(t IPY_GameWorldt    cmeAccept(taskR"((s„D:\SG_ServerCode\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((s„D:\SG_ServerCode\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((s„D:\SG_ServerCode\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((s„D:\SG_ServerCode\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((s„D:\SG_ServerCode\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((s„D:\SG_ServerCode\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((s„D:\SG_ServerCode\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((s„D:\SG_ServerCode\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((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytDoFB_Player_KillNPC0s2  
          cCs&tjƒ}|jƒtkr"tStS(N(R$R8RJRQR'R(tattackertdefenderRU((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytCheckCanAttackTagObjInFBTs cCsF|tjkrdStjƒ}|jtƒ|}|jt|ƒdS(N(t ShareDefinetDef_ViewExpType_KillNPCR$R8RhRRk(RtaddExpt expViewTypeRUttotalExp((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnGetExp_s  icCs<tjƒ}|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&|tj'dƒt(j)|tj*dƒ|d|j+tj,|ƒkr.t-j.|tj,||dƒq.n|j/t0ƒ}    t1||    ƒ}
x"|
D]} t2j3| t4|ƒqSW||j5ƒ} |j/t6ƒ} i| t j76|t j86| t j96|t j:6}t;|ƒdkrét j<|ƒ|t j=<ntjd|ƒt j>||ƒt j?t|ƒt j@tAjBtCƒtDdƒdS(NiisÊ×´Îͨ¹ýÄѶÈΪ %s ÐÇs    overDict=%siè(ER$R8RJRat GetGameWorldtGetTicktNonetGetMapCopyPlayerManagertGetPlayerCounttGetPlayerByIndexR‹RŒRRuR>R?tGetRecordMapIDRkRRxRTt__GivePlayerAwardR%R
R&R'RŽtSetDictValueByBittAddEnterFBCountt PlayerSuccesstDoAddSuccessProgressR˜tSuccType_KirinHometSuccType_KirinHomeExtPlayerBossReborntAddBossRebornActionCnttDef_BRAct_KirinHometPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_KirinHometPlayerActLogintAddLoginAwardActionCnttDef_LoginAct_KirinHomeR: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((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyRIhs\     ! %  $ .cCs@|r8t||ƒ}tj|dtigd|ƒ|SgSdS(Nt    KirinHomet KirinHomeMail(RR<tDoGivePlayerTempPackItemR'(RRR4R((s„D:\SG_ServerCode\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“((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyRT°s   .cCstS(N(R'(((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnPlayerReborn½scCstj|ƒtddƒdS(NR4i(R<RHRI(R((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt DoPlayerDeadÀs cCsdS(N((Rt
actionTypet
actionInfoR"((s„D:\SG_ServerCode\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((s„D:\SG_ServerCode\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|ƒtj |t
j!|ƒt"j#|t
j$|ƒx0t|ƒD]"} t%j&|t
j'dt
j(ƒq£Wt)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®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Æ((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnPlayerFBSweepResult×s.  2!! cCs$tj|tjƒtj|ƒdS(N(R5R6R
R7R<RH(RR"((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytDoExitFBús cCs$tj|tjƒtj|ƒdS(N(R5R6R
R7R<RH(RR"((s„D:\SG_ServerCode\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"((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnNPCRebornInFB    s
 (FRR$R0RvR‹R
RÜR<R˜R¨R5R¬R¯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ð(((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt<module>sn                    
                                *               2            $              9              
                #