cehua_hzl
2018-12-27 0d3c536746c1959e4a57dd519e348783ed73a869
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
%¦½[c@sTddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    e
dƒ\Z Z Z ZZZdZdZdZdZdZdZd    „Zd
„Zd „Zd „Zed „Zd„Zd„Zd„Zd„Z d„Z!d„Z"ed„Z#d„Z$d„Z%d„Z&d„Z'dS(iÿÿÿÿNisDogzfb_LastRefreshTime%ssNextNeedTime%st LastCheckTicksNPCRemainCnt_%stCollectLostHPTicktCollectLostHPCntcCstS(N(tTrue(t    curPlayertmapIDtlineIDttick((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pytOnEnterFBEvent6scCstS(N(R(R((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyt    OnCanOpen=scCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pytOnChangeMapAskEscCsdS(N((RR((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyt    DoEnterFBMscCsdS(N((RRtisEnter((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pytDoFBHelp^scCsdS(N((Rt
actionTypet
actionInfoR((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyt
DoFBActioniscCsT|jƒ}tjƒjƒ}tjƒ}|j|t|ƒ|j|tdƒdS(Ni(tGetIDt    GameWorldt GetGameWorldtGetTickt    GetGameFBtSetPlayerGameFBDicttMap_Dogzfb_CollectLostHPTicktMap_Dogzfb_CollectLostHPCnt(RtcurNPCtplayerIDRtgameFB((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pytOnBeginCollectrs   cCsj|jƒ}|sdS|jƒtjkr/dStjƒj|jƒƒ}|jƒ}t    |||ƒdS(N(
t GetActionObjtGetGameObjTypeR
tgotNPCRt GetNPCManagert GetNPCByIndextGetIndextGetNPCIDt__DoCollectLostHP(RRttagObjRtnpcID((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyt OnCollecting{s  c CsB|jƒ}tjƒ}|j|tƒ}|j|tƒ}tjddiƒj|dƒ}||d||}|s}dS|j    |t||ƒtjddiƒj|dƒ}    d\}
} t t t j|ƒ|    dƒ|t j|ƒdƒ} | dkrdStjd||    || fƒtj||
| | |ƒdS(    Nt DogzFBCollectiièiigY@s<OnCollecting npcID=%s, lostHPPer=%s,lostTime=%s,lostValue=%s(iN(RRRtGetPlayerGameFBDictByKeyRRt IpyGameDataPYtGetFuncEvalCfgtgetRtNonetmintinttGameObjtGetMaxHPtGetHPtDebugLogt SkillCommont SkillLostHP( RR)RRRtcollectLostHPTickt    lostHPCnttlostCDtlostTimet    lostHPPert skillTypeIDt    buffOwnert    lostValue((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyR'‡s"  !! 7 cCst|||ƒdS(N(R'(RR)R((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyt OnCollectOK¥scCst|ƒdS(N(tCheckRefreshBoss(R((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyt    OnProcess­s
c    CsFtjƒ}|jtƒ}|p4|o4||dks;dS|jt|ƒtjddiƒ}ttjƒƒ}tj    ƒ}i}x||j
ƒD]n\}}    |    t }
|j t |
ƒ} | sÆq‘n|j t|
ƒ} | rõ|| | krõq‘n|    ||<q‘W|s dSi} tjƒ}xptd|jƒƒD]Y}|j|ƒ}|jƒ}|sbq5n|jƒ}| j|dƒ|jƒ| |<q5Wt}x—|j
ƒD]‰\}}    |    t }
|rË|    tn|    t}|jt|
|ƒ|    t}t|tƒr |gn    t|ƒ}d}x$|D]}|| j|dƒ7}q$Wt||    t|ƒ}|dkrütj |ƒx…|D]z}|dkr‘Pn| j|dƒ}||krµq{nt|||ƒ}||8}t!j"||
|fg|||ƒq{Wnt#|
|    t$ƒ|
tjddƒkr¥t%}q¥q¥W|rBt&ƒndS(NiètDogzFBRefreshCfgiii('RRtGetGameFBDictByKeytMap_Dogzfb_LastCheckTickt SetGameFBDictR-R.R2ttimeRtitemst    Def_NPCIDtGetGameWorldDictByKeytMap_Dogzfb_NextNeedTimetMap_Dogzfb_LastRefreshTimeR#txrangetGetCustomNPCRefreshCounttGetCustomNPCRefreshAttGetCounttGetRefreshMarkR/tFalsetDef_FirstRefreshCnttDef_RefreshCnttSetGameWorldDictt
Def_MaxCntt
isinstancetlistR1tDef_TotalLimittrandomtshuffletNPCCustomRefresht SetNPCRefresht__UpdateBossTimetDef_TimeFormulaRtSyncNPCRefreshTime(RtisFirstRt lastCheckTicktdogzRefreshCfgtcurTimet    gameWorldt refreshDicttmarkInfot refreshInfoR)t nextNeedTimetlastRefreshTimet
npcCntDicttgameNPCtit
npcRefreshtnpcCnttrmarkt
isNeedSynct
refreshCnttmaxCnttmarkListt curTotalCnttrMarktcurCnttneedRefreshCnt((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyRB²sr  
   $
 
$      
* 
cCsÃtjƒjƒtjkrdStjddƒ}t|ƒ|krGdStjƒ}|j    t
ƒ}|s¿tj ddiƒ}x/|j ƒD]!}|t }t||tƒqŠWt|tƒndS(NRDii(RtGetMaptGetMapIDtChConfigtDef_FBMapID_DogzR-t
GetFuncCfgtstrRRERFR.tvaluesRJR_R`RBR(tkeyRtbossidRRcRdRiR)((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pytOnOnlineCntChangeõs 
cCsBtjƒ}|jtjƒ}t|ƒ}|jt||ƒdS(N(RRRKt ShareDefinet%Def_Notify_WorldKey_BossOnlineHeroCnttevalRVRL(R)tformulat gameWorldMgrt    onlineCnttnextTime((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyR_s
  cCsGtjƒ}|jt|ƒ}|jt|ƒ}td|||ƒS(Ni(RRRKRMRLtmax(ReR)RˆRkRj((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pytGetDogzNPCRefreshTime s cCs£tjddƒ}i}xP|D]H}tjƒ}|jt|ƒ}|jt|ƒ}||g||<qWt|ƒ}tjƒj    dddd|t
|ƒƒdS(NRDiit DogzNPCTime( R-R.RRRKRMRLRtGetPlayerManagertGameServer_QueryPlayerResulttlen(t syncNPCIDListtsyncDictR)RˆRkRjtmsgStr((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyRas   (((RR-R
R„R]R7R3RHR[R|trangeRJRWR`RURTRZRMRLRFtMap_Dogzfb_NPCRemainCntRRRR    R RRSRRRR*R'RARCRBRƒR_RŒRa(((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Dogz.pyt<module>s@                                                             C