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
P'Ågc@sýddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
d„Z d„Z d„Z d„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„ZdS(iÿÿÿÿNcCstj||ƒdS(Ni(t MirrorAttacktOnGetMirrorBattlePos(t    curPlayertmapIDtlineIdtipyEnterPosInfottick((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pytOnGetFBEnterPosscCs0|jƒ}tjd|ƒtj||ƒdS(Ns3---------------- ¾µÏñÕ½¶·DoEnterFB ----------------(t GetPlayerIDt    GameWorldtLogRtOnMirrorBattleEnterMapInit(RRtplayerID((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pyt    DoEnterFB!s cCstj||ƒdS(N(RtDoExitFB(RR((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pyR'scCstj||ƒdS(N(RtDoPlayerLeaveFB(RR((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pyR,scCsutjƒjƒ}|tjkrq|tjƒjƒdkrAdStjtj|ƒtj    dƒt
j |ƒndS(NiièsûÓеȵ½¾µÏñ´´½¨£¬Ö±½Ó¹Ø±Õ¸±±¾!i N( R    t    GetGameFBt    GetFBSteptChConfigtDef_MirrorBatState_Initt GetFBStepTicktFBCommont    SetFBSteptDef_MirrorBatState_OvertErrLogtGameWorldProcesstCloseFB(RtfbStep((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pyt    OnProcess2s cCst||ƒ S(N(tCanAttackPlayer(Rt curTagPlayer((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pytCheckPlayersRelation_IsFriend?scCsXtj|ƒ}|sdS|jtjkr/dS|rT|jƒ|jƒkrTdSntS(N(RtGetMirrorBattletbatStateRtDef_MirrorBatState_Fightt
GetFactiontTrue(RRtbattle((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pyRBscCs$tjd|jƒ|jƒƒtS(Ns¾µÏñÇдè»÷É±Íæ¼Ò: defID=%s(R    tDebugLogtGetIDR$(tatkobjtdefenderR((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pytDoFBOnKill_PlayerQs cCsB|tjkrt|||ƒS|tjkr>t|||ƒStS(N(RtDef_FBMapID_CrossRealmPKt__CheckRequest_CrossRealmPKtDef_FBMapID_CrossChampionshipt __CheckRequest_CrossChampionshipR$(RRt
funcLineIDtfactionPlayerList((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pytOnMirrorBattleRequestUs
cCsJtjƒs tj|dƒdStj|ƒs3dStj|ƒsFdStS(NtCrossMatching18(tCrossRealmPlayertIsCrossServerOpent PlayerControlt
NotifyCodetPlayerCrossRealmPKt CheckCanMatchtCheckHavePKCountR$(RRR/((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pyR,`s cCsé|jƒ}tjƒs,tj|dƒdStjƒjtj    ƒ}|rbtj
d||ƒdStjƒjtj ƒ}|tj kr¡tj
d||ƒdStj |}|d}||kråtj
d|||f|ƒdSt S(NR2s+¿ç·þÅÅλ״̬ÒѾ­Òì³£ÎÞ·¨½øÈë! stateError=%ss,µ±Ç°×´Ì¬·Ç¿ç·þÅÅλս¶·×´Ì¬ÎÞ·¨½øÈë: state=%sidsMµ±Ç°×´Ì¬Óë¿ç·þÅÅλս¶··Ö×é²»Ò»ÖÂÎÞ·¨½øÈë: funcLineID=%s,reqGroupMark=%s != %s(RR3R4R5R6R    t GetGameWorldtGetGameWorldDictByKeyt ShareDefinet/Def_Notify_WorldKey_CrossChampionshipStateErrorRt*Def_Notify_WorldKey_CrossChampionshipStatetCrossChampionshipEnterStateInfoR$(RRR/R t
stateErrortstatet    groupMarkt reqGroupMark((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pyR.js$   
 c Cs‘tj|ƒ}|s)tjd|ƒdS|j}|j}|j}|j}|jƒ}tj    ƒj
|ƒ}|sŒtj ƒj
|ƒ}n|sªtjd||ƒdS|t j kr|jt jƒ}||krêtj||ƒntjd||f|ƒdS|t jkr.tj|||ƒdS|t jkrNt||ƒdSg}    i|d6tj|    ƒtj6}
tj|||||
ƒdS(Ns¾µÏñÕ½¶·½áËãʱս³¡Êý¾Ý²»´æÔÚ!s,¾µÏñÕ½¶·½áËãʱËùÊôÍæ¼Ò²»ÔÚÏß! curPlayerID=%ss3·Ç¾º¼¼³¡¶ÔÊÖ²»½áËã! tagPlayerID=%s,arenaPlayerID=%stisWin(RtGetMirrorBattleByIDR    R&RR/RDR tGetTagPlayerIDtGetMapCopyPlayerManagertFindPlayerByIDtGetPlayerManagerRtDef_FBMapID_ArenaBattletNomalDictGetPropertytDef_PDict_ArenaBattleTagIDt PlayerArenatSendGameServer_ArenaBattleOverR+R7t
SendPKOverR-t$__MirrorBattleOver_CrossChampionshipRtGetJsonItemListt Over_itemInfot NotifyFBOver( tbattleIDR%RR/RDt curPlayerIDt tagPlayerIDRt arenaPlayerIDt giveItemListtoverDict((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pytOnMirrorBattleOver‚s>                    cCsü|jƒ}|j}|j}|j}|jƒ}|jƒ\}}|jƒ}    tjddƒ}
d} |
ržt    |
ƒdkrž|r‘|
dn|
d} nt
t tj ddƒƒƒ} t jd| ||f|ƒt
t tj ddƒƒƒ} t jd| |    f|ƒ| | | }t jd    || f|ƒtjddƒ}|jƒ}i    |d
6|d 6|d 6|d 6|d6| d6| d6| d6|d6}t jtj|ƒi|d 6|d 6|d6| d6| d6| d6}tj|||||ƒdS(NtCrossChamMirrorPKiiiis&    hpScore=%s,curHPPer=%s,tagHPPer=%sis#    timeScore=%s,remainTimePer=%s%%s    addScore=%s,baseScore=%sR RVR/RDtaddScoret    baseScorethpScoret    timeScoret
pkCountMax(RRR/RDRFt    CalcHPPertCalcRemainTimePert IpyGameDataPYtGetFuncEvalCfgtlentinttevaltGetFuncCompileCfgR    R&t
GetFuncCfgtSendMsgToCrossServerR<t"ClientServerMsg_ChampionshipPKOverRRS(RR%R RR/RDRVtcurHPPerttagHPPert remainTimePert baseScoreListR]R^R_R\R`tdataMsgRY((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pyRP«sB                
0(RR<RR5RcR7RR3RMR    RRR RRRRRR*R1R,R.RZRP(((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MirrorBattle.pyt<module>s.                                                     
        )