cehua_lgq
2018-08-10 0dbedbc2c2023bb8d4fb7f9da675dfe256a72c42
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
YãÀYc    @s·ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    e
dƒ\    Z Z Z ZZZZZZe
dƒ\ZZZZZZZZdZdZdZdZd„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„Z3d„Z4d„Z5d„Z6d„Z7dS( iÿÿÿÿNi    isFBD_PlayerFactionID_%ssFBD_PlayerWinCnt_%stFBPD_PVPDamagetFBPD_PVPDamUpdTickcCs tjdƒS(Nt MergeKing_Cfg(t ReadChConfigtGetEvalChConfig(((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytGetMergeKingCfgGscCstjt|ƒtS(N(tFBCommont    SetFBStept FB_State_OpentTrue(ttick((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytOnOpenFBMscCstS(N(R    (t    curPlayertmapIDtlineIDR
((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytOnEnterFBEventWsc Cs|jƒ}|jƒ}|jƒ}tjƒjƒ}tƒ}tjƒ}|jƒ}tj    d||||f|ƒ|t
krÚtj    d||ƒt ||t j ƒtjt|ƒ|jtjd|ttƒnÝ|tkrOt ||t jƒtjƒjƒ}    |    dkr8tj    d||ƒt|ƒq·tj    d||ƒnht ||t jƒ|tkr·|t}
td|
|tjƒjƒƒ} |jtjd| tƒntd|||j ƒgƒ} tj!ƒj"dddd| t#| ƒƒdS(    Ns<DoEnterFB roomID=%s,fbStep=%s,playerVSRoomID=%s,factionID=%ss3    µÚÒ»¸ö½øÈ룬ÉèÖø±±¾½øÈëµÈ´ý¶ÔÊֽ׶Σ¡roomID=%siis/    µÚ¶þ¸ö½øÈ룬ÉèÖø±±¾½øÈë×¼±¸½×¶Î£¡roomID=%ss(    ÈËÊýδ´ïµ½Á½¸ö£¬µÈ´ý¶ÔÊÖ...roomID=%sit MergeKingFB($t GetPlayerIDt GetVsRoomIdt
GetFactiont    GameWorldt GetGameWorldt GetPropertyIDRt    GetGameFBt    GetFBSteptLogRt__SetPlayerFactiont ShareDefinetCampType_JusticeRRtFB_State_Waitingt Sync_TimeTickt IPY_GameWorldt tttFBAddTimetDef_Time_MaxWaitR    t CampType_EviltGetMapCopyPlayerManagertGetPlayerCountt __ToPreparetFB_State_FighttDef_Time_Fighttmaxt GetFBStepTickt tttTowerTaketstrt GetPlayerNametGetPlayerManagertGameServer_QueryPlayerResulttlen( R R
tplayerIDtplayerVSRoomIDt    factionIDtroomIDt mergeKingCfgtgameFBtfbStept    playerCntt    fightTimetsyncTimetsendMsg((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyt    DoEnterFB^s:                   
#(cCsŒ|jƒ}|jt|ƒ}|tjkrS|j|ƒtjd||ƒdS|jt||ƒ|j|ƒtjd||ƒdS(Ns.    __SetPlayerFaction ÒѾ­ÉèÖùýfbPFaction=%ss#    __SetPlayerFaction factionID=%s(    RtGetGameFBDictByKeytGameFBDict_PlayerFactionIDRtCampType_Neutralt
SetFactionRRt SetGameFBDict(R R5R2R0t
fbPFaction((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyR…s   cCsGtjtƒtƒ\}}tj||dƒ}|jƒ|jƒfS(Ni(trandomtchoiceRt Def_Pos_EntertGameMaptGetEmptyPlaceInAreatGetPosXtGetPosY(R R tlineIdR
tenterXtenterYtposPoint((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytOnGetFBEnterPos˜scCsdS(N((R R
((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytDoExitFB¡scCsdS(N((R R
((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytDoPlayerLeaveFB¨scCsdS(N((R R
((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytDoFBHelp¯scCs²tjƒ}|jƒ}|tkr1t|ƒn}|tkrJt|ƒnd|tkrct|ƒnK|t    kr|t
|ƒn2|t kr•t |ƒn|t kr®t|ƒndS(N(RRRRt__DoLogic_WaitingtFB_State_MapPreparet__DoLogic_MapPreparetFB_State_MapPrepareEfft__DoLogic_MapPrepareEffR&t__DoLogic_MapFighttFB_State_Rebornt__DoLogic_ReborntFB_State_FreeTimet__DoLogic_FreeTime(R
R5R6((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyt    OnProcess¶s              cCsHtƒt}|tjƒjƒ|kr-dStjdƒt|ƒdS(Ns¶ÔÊÖûÀ´£¬Ö±½Ó½øÈë×¼±¸½×¶Î£¡(RR!RRR)RR%(R
t maxWaitTime((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyRQÌs   
cCsHtƒ}tjt|ƒ|t|t}tjtj|dt    ƒdS(Ni(
RRRRRtDef_Time_MapPreparetDef_Time_MapPrepareEfftSync_Player_TimeTickRt tttWaitStartR    (R
R4ttotalPrepareTime((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyR%Ös
    cCsdtƒ}|t}|tjƒjƒ|kr3dS|t}tjtj    |ƒtj
t |ƒdS(N( RR]RRR)R^RR_Rt tttAddUpTimeRRT(R
R4t
mapPreparet mapPrepareEff((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyRSâs    
 
c Cstƒ}|t}|tjƒjƒ|kr3dS|t}|t}tjƒ}x§t|j    ƒƒD]“}|j
|ƒ}|dksf|j ƒr™qfn|j ƒ}|tjkrºdnd}    ||    \}
} |j|
| ƒ|jtjd|tƒqfWtjt|ƒdS(Nii(RR^RRR)t Def_Pos_StartR'R#trangeR$tGetPlayerByIndextNonetIsEmptyRRRtResetPosRRR*R    RRR&( R
R4tprepareEffTimet startPosListR8tcopyMapPlayerManagertiR R2tposIndextposXtposY((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyRUôs$    
 
 
  c    Csžtƒ}|t}|tjƒjƒ|kr3dSg}tjƒ}tjƒ}xÃt|jƒƒD]¯}|j|ƒ}|dksd|j
ƒr—qdn|j ƒ}|j |t ƒ}    |j |tƒ}
||
} |j|    | |jƒ||gƒtjd||    |
|| fƒqdW|jdtƒt|ƒdkrG|ddnd} t|ƒdkrm|ddnd} tjdt|ƒƒt| | |ƒdS(NsBPK³¬Ê±: playerID=%s,pvpDamage=%s,pvpDamTick=%s,tick=%s,sortTick=%streverseiiÿÿÿÿis"PK³¬Ê±, ½øÈë½áËã!playerInfoList=%s(RR'RRR)R#RfR$RgRhRiRtGetPlayerGameFBDictByKeytFBPDict_PVPDamagetFBPDict_PVPDamUpdTicktappendtGetHPtDebugLogtsortR    R/RR+t__DoLogicAddPlayerWinCnt(R
R4R8tplayerInfoListR5RmRntplayerR0t    pvpDamaget
pvpDamTicktsortTicktwinnertloser((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyRVs0    
 
"    &&cCsÒ|tjƒjƒtƒtkr'dStjƒ}xˆt|jƒƒD]t}|j|ƒ}|dksF|j
ƒsF|j ƒt j krŽqFntjd|jƒƒtj|tj|ƒqFWtjt|ƒdS(Ns ¸´»îÍæ¼Ò...(RRR)RtDef_AutoRebornTimeR#RfR$RgRhRitGetPlayerActionRtpaDieRxRtChPlayertPlayerRebornByTypetChConfigtrebornType_CityRRRT(R
RmRnR|((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyRX:s# -cCs;|tjƒjƒtƒtkr'dStjt|ƒdS(N(RRR)RtDef_Time_LeaveRRt FB_State_Over(R
((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyRZPs#c
CsÌ|jƒ}|jƒ}tjƒ}|j|tƒ}ttj||ƒ}|j|t|ƒ|j|t    |ƒtj
d|||||fƒi|||gd6}    t j ||    ƒt j ||    ƒdS(NsJOnPVPDamage playerID=%s,tagPlayerID=%s,damageValue=%s,updDamage=%s,tick=%st    PVPDamage( RRRRsRttminR‡tDef_UpperLimit_DWordtSetPlayerGameFBDictRuRxRt Notify_FBHelp(
R t damageValuet    tagPlayerR
R0t tagPlayerIDR5tcurPlayerDamaget    updDamagethelpDict((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyt OnPVPDamageYs       cCs0tjƒjƒtkrdSt|||ƒtS(N(RRRR&RzR    (R tdefenderR
((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytDoFBOnKill_PlayerpscCsu| r/| r/tjdƒt|||ƒdStjƒ}|sGdn    |jƒ}|s_dn    |jƒ}|swdn    |jƒ}|sdn    |jƒ}|jt|ƒ}|j|t    ƒ}    |jt|ƒ}
|j|t    ƒ} |d} |j
t|| ƒ| t ƒt k} tj ƒjƒ}i|d6|d6|d6| d6|
d    6| d
6|    d 6| d 6}tjd t|ƒ|ƒ|r™tj||ƒn|r²tj||ƒn|j|t    dƒ|j|t|ƒ|j|t    dƒ|j|t|ƒ| sQ|r-tjd|ƒtjt|ƒn tjd|ƒtjt|ƒdStjd|ƒt|||ƒdS(Ns(    Á½¸ö¶¼µôÏߣ¬PK³¬Ê±£¬Ö±½Ó½áÊø±¾³¡Õ½¶·itiR3t winnerAccIDt
loserAccIDt winnerWinCntt loserWinCnttisOvert winnerDamaget loserDamages µ¥¾Ö½áËã %ss.    Î´´ïµ½×î´óʤ³¡£¬ÓжÔÊÖ£¬½øÈ븴»îµÈ´ý½×¶Î£¡s0    Î´´ïµ½×î´óʤ³¡£¬ÎÞ¶ÔÊÖ£¬½øÈëÏÂÒ»¾Ö×¼±¸½×¶Î£¡s"    ÒÑ´ïµ½×î´óʤ³¡£¬»ñµÃ×îÖÕʤÀû£¡(RRxt__DoMergeKingOverRRtGetAccIDR<tGameFBDict_PlayerWinCntRsRtR@Rt Def_MaxWinCntRRR+RtNotify_FB_OverRŽRuRRWRT(R€RR
R5twinnerIDRštloserIDR›RœRŸRR t    updWinCntRžR3toverDict((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyRzxsN  
c     Cs,tjƒ}tƒ}|s!dn    |jƒ}|s9dn    |jƒ}|sQdn    |jƒ}|jt|ƒ}|jt|ƒ}    tjt    j
|t ƒtj t |ƒtjƒjƒ}
td|
||    |tj|ƒtj|ƒgƒ} tjƒjdddd| t| ƒƒtjd| ƒdS(NR™iiRsSendToGameServer: %s(RRRR¢RR<R£RR_Rt tttLeaveMapR‰RRYRRR+tChEquiptGetPlayerEquipViewR-R.R/Rx( R€RR
R5R4RšR¦R§RœRR3R:((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyR¡¯s     3(cCst||ƒ S(N(tCanAttackPlayer(R t curTagPlayer((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytCheckPlayersRelation_IsFriendÉscCs t||ƒS(N(R­(R R®((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pytDoCanAttackTeamerÑscCsEtjƒjƒ}|tkr/tjdƒtS|jƒ|jƒkS(Ns·ÇÕ½¶·½×¶Î£¬²»¿É¹¥»÷£¡(RRRR&RxtFalseR(R R®R6((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyR­Ùs
  (8RER…R‡RRRRRR«RBRfR!R]R^R'R‰RDReR¤R‚RRRRRTR&RWRYRŠR=R£RtRuRR RR;RRMRNRORPR[RQR%RSRURVRXRZR–R˜RzR¡R¯R°R­(((su.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MergeKing.pyt<module>sN          ' $        
        '                                
                 '                        7