hzr
2018-08-09 4b1349442d9288d19f63bf78634080aa1398d26b
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
€Ù9[c@s,ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZdZdZdZdZdZdZdZd    Zed
ƒ\ZZZd „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"„Z7d#„Z8d$„Z9d%„Z:dS(&iÿÿÿÿNs FBPD_Score%st FBPD_KillCnttFBPD_LastCheckTicktFBPD_ContKillCntExsFBPlayerDict_TotalExp%ssFBPlayerDict_TotalExpPoint%stMap_ElderBattlefield_StartTicktMap_ElderBattlefield_TopPlayericCsutjƒjƒ}|tjkr%dStjd|ƒ|dkrqtjƒjt|ƒtjƒjt    dƒndS(Ns!    ÉϹÅÕ½³¡»î¶¯×´Ì¬±ä¸ü state=%sii(
t    GameWorldtGetMaptGetMapIDtChConfigtDef_FBMapID_ElderBattlefieldtDebugLogt GetGameWorldtSetGameWorldDictRR(tstatetticktmapID((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytOnElderBattlefieldStateChangeBs cCsetjƒjƒ}tjƒjƒd}tj||ƒ}|rax|D]}tj|ƒqGWndS(Ni(    RRRR t GetPropertyIDtFBCommontGetFBLineRefreshNPCtNPCCustomRefreshtSetNPCRefreshByID(RRtlineIDt refreshIDListt    refreshID((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytOnOpenFBVs cCstjƒjdƒdS(Ni(RR t SetPropertyID(R((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyt    OnCloseFBescCstjd||fƒtS(NsOnEnterFBEvent map %s - %s(RR
tTrue(t    curPlayerRRR((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytOnEnterFBEventpscCstjd|jƒƒtjS(NsOnChangeMapAsk  CopyMapID=%s(RR
t GetCopyMapIDt IPY_GameWorldt    cmeAccept(taskR((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytOnChangeMapAskyscCsc|jƒ}tjd|ƒtjƒ}|jƒ}tjƒjtƒ}tdt    j
t j ƒd||ƒ}|s‡t j|ƒdS|jtjd|tƒt    j|ƒsRt    j|ƒt    j|t j ƒt j|t jdƒtjƒjt|dƒtjƒjt|dƒtjƒjt|dƒtj|t j dt jƒnt||ƒdS(Ns DoEnterFB...iiè( t GetPlayerIDRR
t    GetGameFBt    GetFBStepR tGetGameWorldDictByKeyRtmaxRtGetFBLineStepTimeRR    t PlayerControlt PlayerLeaveFBt Sync_TimeTickR t tttTowerTakeRtGetHadDelTickettSetHadDelTickettAddEnterFBCounttNomalDictSetPropertyt%Def_Player_Dict_ElderBattlefieldStageR tFBPlayerDict_ScoretFBPlayerDict_TotalExptFBPlayerDict_TotalExpPointt EventReportt WriteEvent_FBt CME_Log_StarttDoFBHelp(RRtplayerIDtgameFBtfbStept    startTicktcloseFB_RemainTick((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyt    DoEnterFB„s(   '   cCs tj|ƒS(N(trandomtchoice(RRtlineIdtipyEnterPosInfoR((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytOnGetFBEnterPos§scCsytjtjdƒ}tj|ƒ}t|ƒdkr<dn|d}tj|d|d|ƒ}|j    ƒ|j
ƒfS(Niiii( RtGetFBLineEnterPosInfoRR    R@RAtlentGameMaptGetEmptyPlaceInAreatGetPosXtGetPosY(RCtenterPostdisttposPoint((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyt __GetRandPos«s
"cCs7tjdƒ}x!|D]}tj|||ƒqWdS(NtElderBattlefieldBuff(t IpyGameDataPYtGetFuncEvalCfgt    BuffSkilltDelBuffBySkillID(RRt
buffIDListtbuffID((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytDoExitFB¶s cCst|ƒdS(N(tOnElderBattlefieldFBResult(RR((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytDoPlayerLeaveFBÀs
cCst|ƒdS(N(RW(R((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytDoPlayerChangeMapLogicÆs
cCs¦tjƒjƒ}|tkrFtjtjƒr¢tjt    |ƒq¢n\|t    kr¢tjtjƒs•t
ƒtjt |ƒtj ƒt j|ƒq¢t|ƒndS(N(RR%R&t FB_Step_OpenRtGetFBFuncOpenStateRR    t    SetFBSteptFB_Step_Fightingt GiveJoinPrizet FB_Step_OvertDoLogic_FBKickAllPlayertGameWorldProcesstCloseFBt__CheckRefreshBuffNPC(RR<((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyt    OnProcessÎs  
 cCsrtjƒ}|jtƒ}|r5||dkr5dS|jt|ƒtjddƒ}tjddƒ}g}d}tjƒ}xvt    d|j
ƒƒD]_}|j |ƒ}    |    j ƒ}
|
|krÊq—n||    j ƒ7}|    j ƒs—|j|
ƒq—q—W||} | sdStj|ƒtjddƒ} x1||  D]%} tj| | dfgddƒq8Wtj|ƒdS(Ni'ROiiiii(RR%tGetGameFBDictByKeyRt SetGameFBDictRPRQt
GetFuncCfgt GetNPCManagertrangetGetCustomNPCRefreshCounttGetCustomNPCRefreshAttGetRefreshMarktGetCounttappendR@tshuffleRt SetNPCRefreshtProcessAllNPCRefresh(RR;t lastCheckTicktallRmarktmaxCntt    rmarkListtnpcCnttgameNPCtit
npcRefreshtrmarkt
needAddCnttnpcIDtrMark((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyRcÞs6     
 # cCsêtjƒ}xQt|jƒƒD]=}|j|ƒ}|dks|jƒrRqnt|ƒqWtjƒj    t
ƒ}|ræt j dƒ}|rÍt jd|g|ƒt jddtj|ddgƒntjƒjt
dƒndS(NtElderBattlefieldTopAwardtElderBattlefieldTopMailitElderBattlefieldBest(RtGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextNonetIsEmptyRWR R'RRPRQR*t SendMailByKeyt WorldNotifyt
PyGameDatatg_sgzztopPlayerNameR (tcopyMapPlayerManagerRxRt topPlayerIDt topAwardList((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyR^s 'c Cstjd|jƒƒd}tjtj|ƒ}|jtjdƒ}|j    |gƒ}t
j |t j t jgƒ}t
j||tƒ}| rž| rždSg}x*|D]"\}}    |j||    dgƒq«Wx0|jƒD]"\}}    |j||    dgƒqÞWt|ƒ}
tj|tj|
ƒ} | |
krStjd|jƒg|ƒnHxE|D]=\}}    } tj|||    | tjgddtigƒqZWitj|ƒtj6tj|jƒƒtj6} tj|tj|d| ƒtj |tjdƒdS(Ns    Íæ¼Ò´¦ÀíÉϹÅÕ½³¡½áËãÐÅÏ¢ %siitElderBattlefieldMailteventtElderBattlefield(!RR
R$RtGetFBLineRewardRR    tNomalDictGetPropertyR2tgett PlayerSuccesstGetCanGetAwardSuccByTypet ShareDefinetSuccType_ElderBattlefieldKillt SuccType_ElderBattlefieldConKillt GiveSuccAwardtFalseRntitemsRFt
ItemCommontGetItemPackSpaceR trptItemR*R‡t ItemControlertGivePlayerItemtGetJsonItemListt Over_itemInfotOver_succItemInfot NotifyFBOverR1(RRt fbRewardDicttcurStagetitemListt
succIDListt succAwardDicttrewardItemListtitemIDtitemCntt    needSpacet
emptySpacetisBindtoverDict((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyRWs0  22cCsÌ|jƒ}tjƒ}|jt|ƒ|}|jt||ƒ|jtƒ}| sr||jt|ƒkr”|jt|ƒ|jƒt_    n|jtƒ|kr+tj
ƒ}xst d|j ƒƒD]Y}|j |ƒ}    |    dksË|    jƒ rÿqËn|    jƒ|krqËnt|    dƒqËWn|jtjdƒ}
tjddƒ} |
t| ƒkrÈ|| |
krÈd} tj|ƒ} tjdƒ}x^| |
D]R}||kr£| j|ƒd}ttjd|||ƒƒ}| |7} q£q£Wtjd|
|| f|ƒtj|ƒj| ƒ|jt|ƒ}|jt |ƒ}|tj!|}|| }|tj!}|tj!}|jt||ƒ|jt ||ƒtj"|tj|ƒn|S(NitElderBattlefieldCfgitElderBattlefieldExpisElderBattlefieldExp%ss&curStage=%s,updStage=%s,addTotalExp=%s(#R$RR R'R3R RtGetNameR‰RŠtGetPlayerManagerRiRƒR„R…t    GetInitOKR9R’RR2RPRQRFR*tGetPlayerReExptindextevaltFormulaControltGetCompileFormulaR
tAddExpR4R5tDef_PerPointValueR1(RR;taddValueR:t    gameWorldtupdScoreRŒt playerManagerRxtplayerR¦tstageScoreListt addTotalExptreExptexpFormulaDicttscoretupdStagetaddExptexptexpPointttotalExpt updTotalExptupdExpt updExpPoint((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyt __AddElderBattlefieldPlayerScore<sP    "  
  c Cs8tjƒ}|jƒ}|jt|ƒ}tjddƒ}t|jt    j
dƒdt |ƒƒ}|jt |ƒ}|jt |ƒ}i|tj6|tj6|tj6|tj6}    |jtƒ}
tjƒjt|
ƒ} |
rðtjnd|    d<|
r| nd|    d<tjd|    |ƒtj||    ƒdS(    NR±iiitttopNamettopScores DoFBHelp %s(RR R$R'R3RPRQtminR’RR2RFR4R5Rt
Help_scoret    Help_steptHelp_expt Help_expPointRR‰RŠR
t Notify_FBHelp( RRR¾R:RÆRÂR¦RÉRÊthelpDictRŒRÒ((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyR9rs   (cCstjƒ}|jƒ}tjd|ƒtjddƒ}t|||ƒ}|j|tƒd}|j    |t|ƒ|j|t
ƒd}|j    |t
|ƒtjddƒ}    tjddƒ}
tjddƒ} ||
kr0|| dkr0t ||
| t |    ƒƒ} t j|    | |jƒ|gƒntj|tjdƒtj|tjd|gƒ|jƒ} |j| t
ƒ}||
kr´t jd|jƒ|jƒ|gƒn|j    | t
dƒtjd    ||| |f|ƒt||ƒt||ƒtS(
NtDoFBOnKill_PlayerR±iitElderBattlefieldSysiitAncientBattlefield_7s4»÷É±Íæ¼Ò: »÷ɱ=%s,Á¬É±=%s,tagPlayerID=%s,updScore=%s(RR%R$R
RPRgRÏtGetPlayerGameFBDictByKeytFBPlayerDict_KillCnttSetPlayerGameFBDicttFBPlayerDict_ContKillCntExRÓRFR*tFBNotifyR³R”tDoAddSuccessProgressR–R—R˜R9R(RtdefenderRR;R:taddScoreR¿tkillCntt contKillCntExt ckillSysListtbaseCnttperCnttsysIndext tagPlayerIDtdefContKillCntEx((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyRڏs6  #  (      cCsptjƒ}|jƒ}|jƒ}tjddƒ}|j|ƒ}|sOdSt|||ƒt||ƒdS(NR±i(    RR%R&tGetNPCIDRPRQR“RÏR9(RtcurNPCRR;R<tnpcidtkillNPCScoreDictRä((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytDoFB_Player_KillNPC¾s    c    Cs¨|jƒ}tjddƒ}||kr.dStjdƒ}x!|D]}tj|||ƒqDWtj|ƒ}tj    ƒj
|ƒ}t j |||t |ddƒdS(NROii(RíRPRgRQRRRSR@RARt GetGameDatatGetSkillBySkillIDt
SkillShellt__DoLogic_AddBuffRš(    RRîRRït    buffNPCIDRTRUt    addBuffIDtcurSkill((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytOnMoveTouchNPCÍs   cCst||ƒ S(N(tCanAttackPlayer(Rt curTagPlayer((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytCheckPlayersRelation_IsFriendäscCs t||ƒS(N(Rú(RRû((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytDoCanAttackTeamerìscCstjƒ}|jƒ}tS(N(RR%R&R(RRûR;R<((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyRúôs  cCstS(N(R(((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytOnPlayerRebornscCst|ƒdS(N(t__SetPlayerRandomPos(Rt rebornPlaceR((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytOnResetFBRebornPlacePoss
cCs#tƒ\}}|j||ƒdS(N(RNtResetPos(RtposXtposY((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyRÿ scCstjddƒS(NR±i(RPRg(((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pytGetFBLineMaxPlayerCounts(;RRRR*RPRaRœRŸR R–R”RGRRR¹R‰RRôR6R@ttimeR3RÞRRàR4R5RRRiRZR]R_RRRRR#R?RDRNRVRXRYRdRcR^RWRÏR9RÚRñRùRüRýRúRþRRÿR(((s|.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ElderBattlefield.pyt<module>sn                    
                              #             
                )        !    6        /