hwj35
2025-06-23 aa0f971ae9a59f0fd98d57b6c1d1663a270be92c
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
74
á~Ò\c@seddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZdZdZdZdZdZdZdZd    Zed
ƒ\ZZZZZed ƒ\ZZ Z!ed
ƒ\Z"Z#Z$Z%Z&ed ƒ\Z'Z(Z)d „Z*d „Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4e5d„Z6d„Z7d„Z8d„Z9d„Z:d„Z;dd„Z<dd„Z=d „Z>d!„Z?d"„Z@d#„ZAd$„ZBd%„ZCd&„ZDd'„ZEd(„ZFdS()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.pytGetQLZFTimeCfgUscCstjtj|ƒ|S(N(RtGetFBLineRefreshNPCR
R (tfbStartstep((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt
GetNPCListVscCsttjtj|ƒ}|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 GiveBossAwardWs 
cCstS(N(tTrue(RtmapIDtlineIDttick((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnEnterFBEventiscCs<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__CheckFBSweepns
! cCs|S(N((RR tlineIdtipyEnterPosInfoR"((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytOnGetFBEnterPosscCstjS(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_KillNPC1s2  
          cCs&tjƒ}|jƒtkr"tStS(N(R$R8RJRQR'R(tattackertdefenderRU((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pytCheckCanAttackTagObjInFBUs 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  icCsdtjƒ}|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|rVt j||ƒtj|tj d|dgƒtj|tj!dƒt"j#|tj$dƒt%j&|tj'dƒt(j)|tj*dƒt+j,|d|dƒt+j,|dƒ|d|j-tj.|ƒkrVt/j0|tj.||dƒqVn|j1t2ƒ}    t3||    ƒ}
x"|
D]} t4j5| t6|ƒq{W||j7ƒ} |j1t8ƒ} i| t j96|t j:6| t j;6|t j<6}t=|ƒdkrt j>|ƒ|t j?<ntjd|ƒt j@||ƒt jAt|ƒt jBtCjDtEƒtFdƒdS(NiisÊ×´Îͨ¹ýÄѶÈΪ %s ÐÇs kirinhome_%st kirinhome_0s    overDict=%siè(GR$R8RJRat GetGameWorldtGetTicktNonetGetMapCopyPlayerManagertGetPlayerCounttGetPlayerByIndexR‹RŒRRuR>R?tGetRecordMapIDRkRRxRTt__GivePlayerAwardR%R
R&R'RŽtSetDictValueByBittAddEnterFBCountt PlayerSuccesstDoAddSuccessProgressR˜tSuccType_KirinHometSuccType_KirinHomeExtPlayerBossReborntAddBossRebornActionCnttDef_BRAct_KirinHometPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_KirinHometPlayerActLogintAddLoginAwardActionCnttDef_LoginAct_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.pyRIis`     ! %  $ .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|ƒ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É((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.pytOnNPCRebornInFB s
 (GRR$R0RvR‹R
RßR<R˜R©R5R­R°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ó(((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_KirinHome.pyt<module>sp                     
                                *               2            $              ;              
                #