cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
æÝ>\c@sÉddlZddlZddlZddlZddlZddlZddlZddlZddlZe    dƒ\Z
Z Z Z Ze    dƒ\ZZZZZZZe    dƒ\ZZZZdZdZdZdZd    Zd
Zd Z d Z!d Z"dZ#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„Z3d„Z4e5d „Z6d!„Z7d"„Z8d#„Z9d$„Z:dS(%iÿÿÿÿNiiisFBD_FBPlayerID_%ssFBD_PlayerWinCnt_%ssFBD_PlayerLeaveTick_%stFBPD_PVPDamagetFBPD_PVPDamUpdTicktFBPD_ResetPosXtFBPD_ResetPosYt FBPD_RoundNumt FB_RoundNumsFB_RoundWinPlayerID_%scCstS(N(tTrue(t    curPlayertmapIDtlineIDttick((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pytOnEnterFBEventGsc Cs,|jƒ}|jƒ}tjƒjƒ}tjƒ}|jƒ}tjd|||f|ƒ|jt    |ƒr tjd|ƒ|j
t    |dƒtj ƒ}xft |j ƒƒD]O}|j|ƒ}    |    rµ|    jƒ|jƒkrµ|    jtjddtƒqµqµWn|jtƒ}
|j|tƒ} | r„|
r„| |
kr„tjd|
| f|ƒ|j|t|
ƒt|||ƒn|tksª| sª| sª||kr»tj|ƒdStj|tjdƒ|tkrtj t!j"ddƒd|ƒnt!j"ddƒ} |t#kr|j
t$d|ƒ|j|t%|j&ƒƒ|j|t'|j(ƒƒ|j|tdƒtj)t*|ƒtjd    ||ƒt|||ƒ|jtj+d| t,d
tƒt-|gƒ} tj.ƒj/dddd | t0| ƒƒnì|t*krL|jt$dƒ}|jt$dƒ}| rË||krË|j
t$d|ƒ|j|t%|j&ƒƒ|j|t'|j(ƒƒ|j|tdƒtjd ||ƒt|||ƒntj ƒj ƒdkr5tjd ||ƒtj)t1|ƒtj2tj3| t4d
ƒ|j
tdƒqòtjd||ƒn¦|t1krŸ| t4d
|tjƒj5ƒ}|jtj3dt6|dƒtƒnS|tkrò| t7d
|tjƒj5ƒ}|jtj8dt6|dƒtƒntj9|t:ƒƒtj;||ƒtj|ƒj<ƒdS(Ns1DoEnterFB fbRoomID=%s,playerVSRoomID=%s,fbStep=%ss    Íæ¼ÒÀëÏß±£»¤Ê±¼äÄÚÉÏÏß!isQÍæ¼Ò½øÈ븱±¾Ê±Ó뵱ǰ¸±±¾»ØºÏÊý²»Ò»ÖÂʱ£¬ÖØÖÃ״̬£¡fbRoundNum=%s,playerRoundNum=%sitCrossRealmPKFBiis:    µÚÒ»¸ö½øÈ룬ÕóÓª1£¬ÉèÖø±±¾½øÈëµÈ´ý¶ÔÊֽ׶Σ¡roomID=%siètCrossPKRoomOpens&    µÚ¶þ¸ö½øÈëµÄÍæ¼Ò£¡ÕóÓª2£¬roomID=%ss5    Á½¸öÈ˶¼ÔÚ£¬ÉèÖø±±¾½øÈëÕ½¶·µ¹¼ÆÊ±½×¶Î£¡roomID=%ss!    ¶ÔÊÖ²»ÔÚ£¬¼ÌÐøµÈ´ý£¡roomID=%s(=t GetPlayerIDt GetVsRoomIdt    GameWorldt GetGameWorldt GetPropertyIDt    GetGameFBt    GetFBSteptLogtGetGameFBDictByKeytGameFBDict_PlayerLeaveTickt SetGameFBDicttGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndext Sync_TimeTicktChConfigttttPlayerLeaveRRtGetPlayerGameFBDictByKeytFBPDict_RoundNumtDebugLogtSetPlayerGameFBDictt__ResetPlayerStatetFB_State_Leavet PlayerControlt PlayerLeaveFBtSetSighttDef_PlayerSight_DefaulttFB_State_FighttFBCommontSyncDynamicBarrierStatet IpyGameDataPYtGetFuncEvalCfgt FB_State_OpentGameFBDict_FBPlayerIDtFBPDict_ResetPosXtGetPosXtFBPDict_ResetPosYtGetPosYt    SetFBSteptFB_State_Waitingt tttWaitPlayertDef_Time_MaxWaittstrtGetPlayerManagertGameServer_QueryPlayerResulttlentFB_State_MapPreparetSync_Player_TimeTickt tttWaitStarttDef_Time_MapPreparet GetFBStepTicktmaxtDef_Time_Fightt tttTowerTaket Notify_FBHelpt__GetFBHelpInfotDelLimitSuperBufftRefreshPlayerAttrState(RR
tplayerIDtplayerVSRoomIDtroomIDtgameFBtfbStept playerManagertindextplayert
fbRoundNumtplayerRoundNumt
fbTimeListtsendMsgt    playerIDAt    playerIDBt notify_tick((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyt    DoEnterFBOs‚     #    &  " !+  "% "%cCs{tjƒ}g}|jtƒ}xEtd|dƒD]0}|jt|ƒ}|sXPn|j|ƒq5Wi|d6|d6S(NitroundNumtroundWinerIDList(RRRRRtFB_RoundWinPlayerIDtappend(RLRZRYtwinnerID((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRF s c    Csøtjƒ}|jƒ}|tkr(dS|jƒ}|jt||ƒtjd||fƒtjƒ}x†t    |j
ƒƒD]r}|j |ƒ}|r~|jƒ|jƒkr~t j ddƒ}|jtjdt|tddƒtƒq~q~WdS(Ns-Íæ¼ÒÕ½¶·½×¶ÎÏÂÏߣ¡playerID=%s,waitPlayerID=%sR iiiè(RRRR%RRRRRRRRR-R.RRRRBtDef_Time_ProtectR(    RR
RLRMRIRNRORPRS((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pytDoExitFB®s     1c Csìtjƒ}|jƒ}|tks0|tkr4dS|jƒ}tjƒjƒ}|jt    dƒ}|jt    dƒ}||}}    ||    kr—|n|}
tj
ƒj |
ƒ} tj d|||    |
fƒt | |
||    t|ƒdS(NiisIÍæ¼ÒÖ÷¶¯Í˳ö£¬Ö±½ÓËãÊä! roomID=%s,leavePlayerID=%s,loserID=%s,winnerID=%s(RRRR6R%RRRRR0RtFindPlayerByIDRt__DoFBPKAllOvertDef_OverType_PlayerExit( RR
RLRMt leavePlayerIDRKRURVtlosertloserIDR]twinner((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pytDoPlayerLeaveFBÅs    cCsdS(N((RR
((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pytDoFBHelpÙscCs·tjƒ}|jƒ}|tkr1t|ƒn‚|tkrYt|ƒs³t|ƒq³nZ|tkrt|ƒs³t    |ƒq³n2|t
kršt |ƒn|t kr³t |ƒndS(N(RRRR6t__DoLogic_WaitingR=t__CheckLeaveProtectTimeoutt__DoLogic_MapPrepareR*t__DoLogic_MapFighttFB_State_Rebornt__DoLogic_RebornR%t__DoLogic_LeaveTime(R
RLRM((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyt    OnProcessÝs            cCs›tjddƒ}|tjƒjƒ|tdkr:dSt|ƒ\}}}}tjƒjƒ}tj    d|||fƒt
||||t |ƒdS(NR iiès@սǰµÈ´ý¶ÔÊֽ׶γ¬Ê±£¬Ö±½Ó½áÊø£¡roomID=%s,winnerID=%s,loserID=%s( R-R.RRRAR8t__GetTimeoutWinerInfoRRRRatDef_OverType_LackPlayer(R
RSRfR]RdReRK((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRiñs$c Cs$tjƒ}|jtdƒ}|jtdƒ}|jt|ƒ}|jt|ƒ}| rj| rjdStjddƒ}||kr§|||tdkrÃdSn|||tdkrÃdSt|ƒ\}}}    }
tj    ƒj
ƒ} tj d| ||
fƒt |||    |
t |ƒtS(NiiR iès>Õ½¶·ÖжÔÊÖÀëÏß³¬Ê±£¬Ö±½Ó½áÊø£¡roomID=%s,winnerID=%s,loserID=%s(RRRR0RR-R.R^RqRRRRaRbR( R
RLRURVtplayerLeaveTickAtplayerLeaveTickBRSRfR]RdReRK((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRjýs$  c CsÐd\}}}}tjƒjƒ}tjƒ}|jƒ}tjƒ}|jtdƒ}    |jtdƒ}
|t    krŒ|j
ƒdkrŒtj d|ƒg} x3|    |
gD]%} |j | ƒ} |jt | ƒ}|r,d\}}}}| j|||||| | gƒtj d|| ƒq°n|j| tƒ}|j| tƒ}||}| sfdn    | jƒ}| s~dn    | jƒ}| j|||||| | gƒtj d|||||||f| ƒq°W| jdtƒtj dt| ƒƒt| ƒdkr | dd    nd }t| ƒdkrF| dd    nd }|sXdn    |jƒ}|spdn    |jƒ}||||fSx¬t|j
ƒƒD]˜}|j|ƒ} | d ksŸ| jƒrÒqŸn| jƒ} | |    |
gkr tjd
|| fƒqŸn| }| jƒ}tj d ||fƒPqŸW|s¨|jt |    ƒ}|jt |
ƒ}tj d ||fƒ||kr™|    }|
}qÀ|
}|    }n|    |krº|
n|    }||||fS(s¢ Ê±¼ä³¬Ê±£¬»ñÈ¡»ñʤµÄÍæ¼Ò
                    Õ½¶·½×¶ÎÓÐÁ½¸öÍæ¼ÒʱÓÅÏȱȽÏÊä³ö
                    ÆäËûÇé¿öÔòÔÚÏßÍæ¼Ò»ñʤ£¬Èç¹ûûÓÐÍæ¼ÒÔÚÏߣ¬Ôò×î³ÙÀëÏߵĻñʤ
    iiis1Á½¸öÈ˶¼ÔÚÏߣ¬¸ù¾Ý³¬Ê±¹æÔòÅжÏʤ¸ºÍæ¼Ò! roomID=%ssPK³¬Ê±: playerLeaveTick=%ssQPK³¬Ê±: pvpDamge=%s,pvpDamTick=%s,tick=%s,sortTick=%s,HP=%s/%s,playerLeaveTick=%streverses"PK³¬Ê±, ½øÈë½áËã!playerInfoList=%siÿÿÿÿs;¸±±¾ÖÐÍæ¼Ò²»ÔÚ½øÈëµÄÍæ¼ÒIDÀ²»´¦Àí! roomID=%s,playerID=%ss3³¬Ê±½áËã£¬Íæ¼ÒÔÚÏߣ¬Ö±½Ó»ñʤ: roomID=%s,winnerID=%ssM³¬Ê±½áË㣬ûÓÐÍæ¼ÒÔÚÏߣ¬ºóÀëÏߵĻñʤ: playerLeaveTickA=%s,playerLeaveTickB=%sN(NiNi(iiii(tNoneRRRRRRRR0R*RRR`RR\R tFBPDict_PVPDamagetFBPDict_PVPDamUpdTicktGetHPtGetMaxHPtsortRR9R<RRRtIsEmptytErrLog(R
RfR]RdReRKRLRMtcopyMapPlayerManagerRURVtplayerInfoListRIRPtplayerLeaveTickt    pvpDamagetsortTicktcurHPtcurMaxHPt
pvpDamTicktiRsRt((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRqsp   "
"    $&&           cCstjddƒ}tjd|tƒ|tjƒjƒ|tdkrOdStjt    |ƒtj
t j |t dƒtjtjddƒdƒtƒ}d|d<tjƒ}xWt|jƒƒD]C}|j|ƒ}|dksÈ|jƒrûqÈntj||ƒqÈWdS(NR is__DoLogic_MapPrepare ... %sièiitisStart(R-R.RR"R@RRAR+R5R*R>RRDRCR,RFRRRRRvR|RE(R
RSthelpDictR~R†RP((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRkas $    
 cCs›tjddƒ}|tjƒjƒ|tdkr:dSt|ƒ\}}}}tjƒjƒ}tj    d|||fƒt
||||t |ƒdS(NR iiès2PK³¬Ê±, ½øÈë½áËã! roomID=%s,winnerID=%s,loserID=%s( R-R.RRRARCRqRRRt__DoLogicAddPlayerWinCnttDef_OverType_TimeOut(R
RSRfR]RdReRK((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRlxs$c    CsTtjƒ}tƒ}tjddƒ}|td}||d<|jtƒ}|jt|ƒ}|jtƒd}|j    t|ƒtj
ƒ}x*t |j ƒƒD]}    |j |    ƒ}
|
dks£|
jƒrÖq£n|
jƒ} |j| t|ƒ|
jƒtjks|
jƒdkratjd|
jƒƒtj|
tj|dtƒt||
| ƒnH|r–| |kr–tjd| ƒt||
| ƒnt||
| tƒtj|
|ƒq£Wtj d    |ƒ|jt!dƒ} |jt!d
ƒ} |j| t"dƒ|j| t#|ƒ|j| t"dƒ|j| t#|ƒtj$t%|ƒdS( NR iièt prepareTimeis ¸´»îÍæ¼Ò...tisAddSuperBuffsƽ¾Ö£¬ÊäµÄÍæ¼Ò»ØÂúѪ!s¿ªÊ¼ÏÂÒ»»ØºÏ: nextRoundNum=%si(&RRRFR-R.R@RRR[RRRRRRvR|RR#R!tGetPlayerActiont IPY_GameWorldtpaDieRyR"tChPlayertPlayerRebornByTypeRtrebornType_SystemtFalseR$R+RERR0RwRxR5R=(R
RLRˆRSR‹RYR]t nextRoundNumR~R†RPRIRURV((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRn„sD     
  'cCs[tjddƒ}|tjƒjƒ|tdkr:dStjt|ƒt    j
|ƒdS(NR iiè( R-R.RRRAtDef_Time_LeaveR+R5tFB_State_ClosetGameWorldProcesstCloseFB(R
RS((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRo¸s $ c    Cs–|jƒ}|jƒ}tjƒ}|j|tƒ}ttj||ƒ}|j|t|ƒ|j|t    |ƒtj
d|||||fƒdS(NsJOnPVPDamage playerID=%s,tagPlayerID=%s,damageValue=%s,updDamage=%s,tick=%s( RRRR RwtminRtDef_UpperLimit_DWordR#RxR"(    Rt damageValuet    tagPlayerR
RIt tagPlayerIDRLtcurPlayerDamaget    updDamage((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyt OnPVPDamageÁs       cCs€|jƒ}|jƒ}tjƒjƒ}tjd|||f|ƒtjƒjƒtkrcdSt||||t    |ƒt
S(Ns2DoFBOnKill_Player roomID=%s,winnerID=%s,loserID=%s( RRRRRRRR*R‰tDef_OverType_KillR(RtdefenderR
R]ReRK((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pytDoFBOnKill_PlayerÓs  cCsªtjƒ}tjƒjƒ}|jt|ƒ}|d}    |jt||    ƒ|jtƒ}
|jt|
|ƒtj    d||
|||    fƒ|    t
j ddƒk} | s||rht } xŠt jt jt jgD]p} tj|| ƒ}|rÕ|d}|jƒ}|rEt} |jƒtjd| |f|jƒƒqEqÕqÕW| rhtj|ƒjƒqhntjt|ƒdStj    d|ƒt||||||ƒdS(NisC»ØºÏ½áÊø: roomID=%s,roundNum=%s,winnerID=%s,loserID=%s,updWinCnt=%sR iis%ʤÕßÂíÉÏÇå³ý buffType=%s,buffCount=%ss-    ÒÑ´ïµ½×î´óʤ³¡£¬»ñµÃ×îÖÕʤÀû£¡winnerID=%s(RRRRRtGameFBDict_PlayerWinCntRRR[RR-t
GetFuncCfgR“RŽtbfDeBufftbfProcessDeBufft bfActionBufft SkillCommontGetBuffManagerByBuffTypet GetBuffCountRtClearR"RR&tRefreshAllStateR+R5RmRa(RfR]RdRetoverTypeR
RLRKt winnerWinCntt    updWinCntRYtisOvert clearDeBufftbuffTypet    buffTuplet    buffStatet    buffCount((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyR‰ßs8 
 
 
*cCs·|j|tƒ}|j|tƒ}|j||ƒ|s>dS|jƒ|jƒkrl|j|jƒƒntj|ƒtj    |ƒkr¦tj
|tj    |ƒƒnt j |ƒdS(N( R R1R3tResetPosRyRztSetHPR&t    GetProDeft GetMaxProDeft    SetProDefR©tResetAllSkillCD(RLRPRIt    resetAttrtposXtposY((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyR$s c Cs-tjƒ}g}|jtƒ}x5td|dƒD] }|j|jt|ƒƒq5Wtjddƒ}    t    j
t j |    t dƒt    jt|ƒ|ttgkr®dnd}tjƒjƒ}
t|
||||gƒ} tjƒjdddd| t| ƒƒtjd|
||||fƒdS(NiR ièit CrossPKOversXPK½áËãSendToGameServer: roomID=%s,winnerID=%s,loserID=%s,roundWinerIDList=%s,overType=%s(RRRRRR\R[R-R.R+R>Rt tttLeaveMapR•R5R%RrRbRRR9R:R;R<R( RfR]RdReR®R
RLRZRYRSRKRT((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRas (    cCst||ƒ S(N(tCanAttackPlayer(Rt curTagPlayer((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pytCheckPlayersRelation_IsFriend.scCs t||ƒS(N(RÂ(RRÃ((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pytDoCanAttackTeamer2scCs3tjƒjƒ}|tkr/tjdƒtStS(Ns·ÇÕ½¶·½×¶Î£¬²»¿É¹¥»÷£¡(RRRR*R"R“R(RRÃRM((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyRÂ6s
  (;RRRŽR&R—R-R©R+RtrangeR8R@RCR^R•R/R6R=R*RmR%R–RrRbR¡RŠR0R¤RRwRxR1R3R!RR[R RXRFR_RgRhRpRiRjRqRkRlRnRoR R£R‰RR$RaRÄRÅRÂ(((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossRealmPK.pyt<module>sV              !        Q                                 L             4                     &