CeHua_ZWJ
2018-11-22 f0a230af3a2f7e7a618de86fc9eedd3e01e43291
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
ËÊ{[c@síddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z edƒ\ZZZZedƒ\ZZZZZdZdZdZdZdZd    „Zd
„Zd „Zd „Z d „Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3e4dd „Z6d!„Z7d"„Z8dS(#iÿÿÿÿNiitChaosDemon_FBNextRefreshSteptChaosDemon_FBNPCCnttChaosDemon_FBNPCNeedRefreshCnttChaosDemon_FBNPCRefreshCnttChaosDemon_FBStarcCsdS(N((t    curPlayer((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytChaosDemonOnDayHscCs tjdƒS(Nt ChaosDemonCfg(t IpyGameDataPYtGetFuncEvalCfg(((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyt__GetChaosDemonnpcCfgOscCsdS(N((ttick((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytOnOpenFBXscCsdS(N((R ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyt    OnCloseFBascCstS(N(tTrue(RtmapIDtlineIDR ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytOnEnterFBEventjscCs|S(N((RRtlineIdtipyEnterPosInfoR ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytOnGetFBEnterPosvscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytOnChangeMapAsksc
Cs_tjƒjƒ}tj|ƒ}tjƒ}tj|ƒ}tjƒs³d}tj|ƒ|j    ƒt
kr³tj t |ƒ|j tdƒ|j tdƒ|j tdƒq³ntjdtjƒ|jƒƒtj|ƒsjtj|ƒt}tj|ƒr#t}tjd|jƒƒntj||dƒtj||ƒ}tj|tjdtj|ƒn|j    ƒ}|t krë|t d|tjƒj!ƒ}    |j"t#j$dt%|    dƒtƒ|j"t#j&dt%|    dƒtƒnc|t'krN|t(d|tjƒj!ƒ}    |j"t#j)dt%|    dƒtƒt*|t|ƒnt+||ƒdS(Nis ChaosDemon DoEnterFB lineID=%s£¡sChaosDemon ÖúÕ½½øÈ븱±¾£¡iiè(,t    GameWorldt GetGameWorldtGetMapIDtFBCommontGetRecordMapIDt    GetGameFBtGetFBLineStepTimetGetHadSetFBPropertyMarktSetFBPropertyMarkt    GetFBStept FB_Step_Opent    SetFBSteptFB_Step_Preparet SetGameFBDictRRRtDebugLogtGetFBPropertyMarktGetIDtGetHadDelTickettSetHadDelTickettFalsetSetIsHelpFightRtAddEnterFBCountt GetFBJoinTypet EventReportt WriteEvent_FBtChConfigtDef_FBMapID_ChaosDemont CME_Log_StarttDef_PrepareTimet GetFBStepTickt Sync_TimeTickRt tttAddUpTimetmaxt tttWaitStartt FB_Step_Fightt Def_FightTimet tttTowerTaket__UpdChaosDemonFBStartDoFBHelp(
RR RtgameFBRRt isHelpFighttjoinTypetfbStept notify_tick((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyt    DoEnterFBˆsB     "  ""% "" c    Cs,tjƒ}|jtƒ}|jtƒ}|dksB|dkrFdS|jtƒ}tƒ}tjddƒ}|t    |ƒks”|t    |ƒkr¥tj
dƒt S||}||}d}x|D]}||d7}qÆW|j t |ƒ|j t|ƒtj||||ƒ|j t|dƒdS(NiRisÒÑÊÇ×îºóÒ»²¨, Í¨¹Øi(RRtGetGameFBDictByKeyRRRR
RR    tlenR'RR&RtNPCCustomRefresht SetNPCRefresh(    R@tnpcCnttneedRefreshCntt refreshSteptrefreshNPCListt    rMarkListtrMarktrNPCListtrNPCInfo((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyt__RefreshChaosDemonNextNPC¶s*     $ 
 
 cCstjd|jƒƒdS(NsChaosDemon DoExitFB...(RR't GetPlayerID(RR ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytDoExitFBÜscCstjd|jƒƒdS(NsChaosDemon DoPlayerLeaveFB...(RR'RS(RR ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytDoPlayerLeaveFBäscCstjd|ƒdS(Ns'ChaosDemon DoFBOnReborn...rebornType=%s(RR'(Rt
rebornTypeR ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyt DoFBOnRebornîscCsdS(Nt((RR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytGetPlayerResetWorldPosFBMsgøscCsktjƒjƒ}|tkr+t|ƒn<|tkrNt|ƒt|ƒn|tkrgt    |ƒndS(N(
RRR"R%t__DoLogic_FB_PrepareR;t__ProcessOverFightR>t FB_Step_Overt__ProcessCloseFB(R RC((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyt    OnProcesss   
   cCsÐtjƒjƒ}tj|ƒ}|tjƒjƒ|tdkrIdStƒtj    ƒ}xBt
|j ƒƒD].}|j |ƒ}|sqont ||ƒqoWtjt|ƒtjtj|tdƒdS(Niè(RtGetMapRRRRR6R5RRtGetMapCopyPlayerManagertrangetGetPlayerCounttGetPlayerByIndexR?R$R;tSync_Player_TimeTickRR=R<(R RtfbCfgt playerManagertiR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyRZs$ cCsmtjƒjƒ}tj|ƒt}tjƒjƒ}td|d||ƒdkr\dSt    t
|ƒdS(Niiè( RR_RRRR<Rt GetOpenFBTickR9t__DoChaosDemonOverR,(R Rt    FightTimetopenTick((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyR[(s! cCsttjƒ}tjƒjƒ}||jƒtj|ƒtdkrIdStjƒt    j
|ƒtj t |ƒdS(Niè( RRR_RR6RRt Def_ExitTimetDoLogic_FBKickAllPlayertGameWorldProcesstCloseFBR$t FB_Step_Close(R R@R((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyR]5s '
 c Cs¼tjƒ}|jƒtkr"dS|tjƒjƒ}tjt|ƒtjƒjƒ}tj    |ƒ}tjƒj
t ƒ}t j dƒ}t j ddiƒ}t jddƒ}|j|dƒ}    g}
x0|jƒD]"\} } |
j| | dgƒqÙW|
t j ddiƒj|gƒ7}
tj|ƒtd} tjƒ}|jƒ}xbt|ƒD]T}|j|ƒ}|sq`n|jtjd| tƒ|sÀtj|idtj6ƒq`ni|tj6|tj6t |ƒtj6|tj!6}tj"|ƒrtj#||dƒnLt$|
ƒ}t%j&|tj'|ƒ}t ||kƒ}|r”t(j)d|j*ƒg|
ƒtj+d    t,|
ƒ|j*ƒƒnHxE|
D]=\} } }t-j.|| | |tj'gd
d t/igƒq›Wt(j0|ƒ}t t1|ƒ|    d ƒ}t(j(|ƒj2|ƒtj3|
ƒ|tj4<|t5j6}|t5j6}||tj7<||tj8<tj||ƒt9j:|t;j<d||gƒtj+d t,|ƒ|j*ƒƒq`WdS(NtChaosDemonRewardiiiiiiètChaosDemonMails'±³°ü¿Õ¼ä²»¹»£¬·¢ËÍÓʼþ: mailItemList=%steventt
ChaosDemonids$__SendChaosDemonOverInfo overDict=%s(=RRR"R\R6RR$R_RRRFRRR    t
GetFuncCfgtgettitemstappendRRlR`RbtxrangeRcR7Rt tttLeaveMapRtNotify_FB_Overt Over_isPasst
Over_gradetOver_dataMapIDtintt Over_costTimetGetIsHelpFighttAddFBHelpPointRGt
ItemCommontGetItemPackSpacetrptItemt PlayerControlt SendMailByKeyRSR'tstrt ItemControlertGivePlayerItemR,tGetPlayerReExptevaltAddExptGetJsonItemListt Over_itemInfoR2tDef_PerPointValuetOver_expt Over_expPointt PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_ChaosDemon(tisPassR R@tcostTimeRtstartitemDicttrateDicttgiveExptratet prizeItemListtitemIDtitemCnttexitTimeRft playerCounttindexRtoverDictt    needSpacet
emptySpacet
isSendMailtisBindtreExptaddExptexptexpPoint((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyRi@sd %  4 #2    $cCs»|jƒtƒkrdStjƒ}|jtƒ}|jtƒ}|d7}|d8}|jt|ƒ|jt|ƒtjd|jƒ||fƒ|dkr·tjd|ƒndS(Nis@DoFBRebornNPC, npcID=%s,ChaosDemon_FBNPCCnt=%s,needRefreshCnt=%sis±¾²¨¹ÖÎïË¢ÐÂÍê±Ï£¡npcCnt=%s(    tGetNPCIDt__GetAllNPCIDListRRRFRRR&R'(tcurNPCR R@RJRK((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyt DoFBRebornNPC†s 
 
  cCsHtƒ}g}x2|D]*}x!|D]\}}|j|ƒq#WqW|S(N(R
Rx(RMt    npcIDListtrListtnpcidtnpccnt((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyR®–s      cCsÛ|jƒtƒkrdStjƒ}|jtƒ}|jtƒ}|d8}|jt|ƒtjd|jƒ||fƒ|dkrÄ|dkrÄtjdƒt    ƒ}|rÄt
t |ƒqÄnt j |tdƒdS(NisFDoFB_Player_KillNPC, npcID=%s,ChaosDemon_FBNPCCnt=%s,needRefreshCnt=%sis±¾²¨ËùÓйÖÎïÒѱ»»÷ɱ£¡(R­R®RRRFRRR&R'RRRiRRtNotifyCopyMapPlayerFBHelpR?(RR¯R R@RJRKt isAllKilled((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytDoFB_Player_KillNPC¤s  
         cCs&tjƒ}|jƒtkr"tStS(N(RRR"R;R,R(tattackertdefenderR@((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytCheckCanAttackTagObjInFBÀs cCstS(N(R(t    atkPlayert    defPlayer((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pytDoFBAttackHasPunishÊscCsËtjƒ}|jtƒ}|dkr+|Stjƒjƒ}ttj||j    ƒdƒƒ}t
j |ƒ}|t }d}    d}
x<t |dƒD]+\} } || kr•| }
| |}    q•q•W||
krÛ| rÛ|S|jt|
ƒtjd|||
|    fƒ|rJt||ƒ|
dkrÇ|jtjd|    dtƒqÇn}tjƒ} xnt| jƒƒD]Z}| j|ƒ}|sŠqint||ƒ|
dkri|jtjd|    dtƒqiqiW|
S(Nig@@iis=__UpdFBStar useSecond=%s,curStar=%s,updStar=%s, diffSecond=%siè(RRRFRR_RRtmathtceilR6RRt Def_StarTimet    enumerateR&R'R?R7Rt tttFlagTakeRR`RyRbRc(R tisEnterRR@tcurStarRt    useSecondt chaosDemonCfgt starTimeListt
diffSecondtupdStarR™tstarTimeRfR£((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyR>Îs@  #
       #   $c Csµtjƒ}|jtƒ}|jtƒ}|jtƒ}|jtƒ}td||ƒ}||g}tj    ƒ}    i|tj
6|tj 6|tj 6|    tj 6}
tj||
ƒdS(Ni(RRRFRRRRR9RR(t    Help_stept
Help_gradet Help_npcTotalt Help_lineIDt Notify_FBHelp( RR R@R™twheelNumt needKillCntt remainNPCCntt
KillNPCCnttdataRt
fbHelpDict((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyR?ýs   .cCsdS(N((Rt
actionTypet
actionInfoR ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyt
DoFBActions(9RRRnRR†RHR‰RR2R•RƒR“R0R¾RaR5R<RlRÀR#R%R;R\RpRRRRRRR
R R RRRRERRRTRURWRYR^RZR[R]RiR°R®R·RºR½R,tNoneR>R?RØ(((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ChaosDemon.pyt<module>s\                                                                        .    &        
    
                          F                
    /