xdh
2018-08-10 ddb6622048a8677582ac72e649810b612b4ce782
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
5xm[c@s)dZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZedƒ\ZZZZdZdZdZedƒ\ZZZZZd„Zd    „Z d
„Z!d „Z"d „Z#d „Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*d„Z+e,d„Z-e,d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4id„Z5d„Z6d„Z7d „Z8d!„Z9d"„Z:d#„Z;d$„Z<dS(%sVersion = 2017-10-10 14:30iÿÿÿÿNit DuJieFB_StartDuJieFB_RealmLVtDuJieFB_LeaderPlayerIDicCstjƒ}tjtj|ƒS(N(tFBCommontGetFBPropertyMarktGetFBLineStepTimetChConfigtDef_FBMapID_DuJie(tlineID((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytGetRealmFBTimeCfg;s cCsItjƒjtƒ}tj|ƒ}|s?tjd|ƒdS|jƒS(NsûÓиþ³½çµÈ¼¶Êý¾Ý! Lv=%s(t    GameWorldt    GetGameFBtGetGameFBDictByKeyRtPlayerPrestigeSystGetRealmIpyDatatErrLogt    GetBossID(trealmLVt realmIpyData((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytGetDuJieBossID?s cCsdS(N((ttick((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytDoFBInitKscCs@tjƒ}|jtdƒ|jtdƒ|jtdƒdS(Ni(R
R t SetGameFBDictRRR(RtgameFB((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnOpenFBSs
 cCstjƒdS(N(RtDoLogic_FBKickAllPlayer(R((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt    OnCloseFB_s
cCsA|jƒtjƒjtƒkr=tttjƒjƒƒndS(N(    tGetIDR
R R Rt__DoDoJieFBOvertFalset GetGameWorldtGetTick(t    curPlayer((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt DoPlayerDeadis!cCst|||ƒS(N(t __CheckEnter(R tmapIDRR((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnEnterFBEventtscCs÷|dks!|jƒtjkrÃ|jƒ}tj|ƒ}|sWtjd|ƒtS|j    ƒ}|s‡tj
d||j ƒƒtSt j |tj|tƒsÃtj
d||j ƒƒtSntj|tjƒsótj
d|jƒƒtStS(NisûÓиþ³½çµÈ¼¶Êý¾Ý! Lv=%ss!¾³½çÒÑÊÇ×î´óµÈ¼¶£¬²»ÄÜÉý¼¶! Lv=%ss/¾³½çÐÞÁ¶µã²»×㣬ÎÞ·¨¿ªÆô¶É½Ù£¡needRealmPoint=%ss)¾ôλ¾³½ç¹¦ÄÜ먦Æô, ÎÞ·¨¿ªÆô¶É½Ù!curLV=%s(t    GetTeamLVt IPY_GameWorldt    tmlLeadertGetOfficialRankR RR
RRt GetNeedPointtDebugLogt GetPlayerIDt PlayerControlt    HaveMoneyt ShareDefinetTYPE_Price_RealmPointt GameFuncCommt GetFuncCanUsetGameFuncID_OfficialtGetLVtTrue(R R#Rt
curRealmLVRtneedRealmPoint((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyR"}s"!  cCs|S(N((R R#tlineIdtipyEnterPosInfoR((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnGetFBEnterPos›scCstjS(N(R&t    cmeAccept(taskR((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnChangeMapAsk¥sc
CsÔ|jtjƒ}tjƒs>tj|ƒtjt|ƒntj    ƒ}t
ƒ}|j t ƒsîx,|t D] }tj|tj|dƒqmWtjdƒ|dks¿|jƒtjkrît|ƒ|jƒtkrët|ƒqëqîn|dko |jƒtjk}tj||ƒ}tj|tj|tj|ƒ|jƒ}|tkrvt||td||ƒnM|tkrÃt |t!d||j"ƒdƒ}    |j#tj$d|    t%ƒnt&||ƒdS(Nis Íæ¼Ò½øÈ븱±¾iiè('tNomalDictGetPropertyRtDef_Player_Dict_ReqFBFuncLineRtGetHadSetFBPropertyMarktSetFBPropertyMarkt    SetFBSteptFB_Step_MapPrepareR
R R    R RtDef_HelpAddAttrIDR,tNomalDictSetPropertytDef_PDict_RealmFBAttrAddR*R%R&R't__SetFBLeaderPlayert    GetFBSteptFB_Step_Fightingt__OnDuJieFBStartt GetFBJoinTypet EventReportt WriteEvent_FBRt CME_Log_Startt__EnterFBInPreparetDef_Time_MapPreparetmaxtDef_Time_Fightt GetFBStepTickt Sync_TimeTickt tttTowerTakeR4tDoFBHelp(
R RRRt
DuJieFBCfgtattrIDt isHelpFighttjoinTypetfbStept
notifyTick((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt    DoEnterFB®s2        !
!   % cCsctjƒ}|jt|jƒƒ|jt|jƒƒtj|ƒt    j
|ƒt |t ƒdS(N( R
R RRR+RR(R tSyncRealmFBStateRtUpdateFBEnterTicktOnGetMemberForHelpDujieR(R R((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRFÖs    cCsatjƒjƒ}|tkr+t|ƒn2|tkrDt|ƒn|tkr]t|ƒndS(N(    R
R RGRBt__DoLogic_MapPrepareRHt__DoLogic_MapFightingtFB_Step_LeaveTimet__DoLogic_MapLeave(RRZ((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt    OnProcessæs      cCsudStjƒ}|jtƒ}|dkr/|Sttj||jƒdƒƒ}tƒ}|t    }d}d}x<t
|dƒD]+\}    }
||
kr|    }|
|}qqW||krÇ| rÇ|S|j t|ƒtj d||||fƒtj ƒ} xnt| jƒƒD]Z} | j| ƒ} | s4qnt| |ƒ|dkr| jtjd|dtƒqqW|S(Nig@@iisB__UpdDuJieFBStar useSecond=%s,curStar=%s,updStar=%s, diffSecond=%siè(R
R R RtinttmathtceilRRR    t Def_StarTimet    enumerateRR*tGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndexRURSR&t tttFlagTakeR4(RtisForceRtcurStart    useSecondRVt starTimeListt
diffSecondtupdStartstartstarTimet playerManagertindexR ((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt__UpdDuJieFBStarós8  #    
        $cCs\t|||jƒdƒ}|jtjd|tƒ|rX|jtjd|tƒndS(Ni(RPRRRSR&t tttWaitStartR4t tttAddUpTime(R tdownTimeRRt    notifyEffR[((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRNs
cCsOtƒ}|tjƒjƒ|tdkr1dStjt|ƒt|ƒdS(Niè(    R    R
R RRRORRARHRI(Rt    invadeCfg((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyR`#s     $
cCsLtƒ}|tjƒjƒ|tdkr>tt|ƒdSt|ƒdS(Niè(R    R
R RRRQRRRy(RR~((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRa,s     $ 
cCs5tƒ}|tjƒjƒ|tdkr1dSdS(Niè(R    R
R RRtDef_Time_Leave(RR~((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRc5s    $c
Cs:tjƒjtƒs¢t}tjƒ}x^t|jƒƒD]J}|j|ƒ}|s[q:n|j    ƒt
j kr:t |ƒt }Pq:q:W|s¢tjdƒdSntƒ}tƒ}|s¾dStjƒjƒ}tjƒ}tj||ƒ}    tj|    |gƒtjt
j|tdƒtj|tƒt|ƒdS(Ns+    ×¼±¸µ¹¼ÆÊ±Òѹý£¬¶Ó³¤ÈÔδ½øÈ븱±¾£¡£¡£¡ iè(R
R R RRRjRkRlRmR%R&R'RFR4tLogR    RtGetMaptGetMapIDRRtGetFBLineRefreshNPCtNPCCustomRefresht SetNPCRefreshtSync_Player_TimeTickRTRQtNotifyCopyMapPlayerFBHelpRURy(
Rt
findLeaderRwRxR RVtbossIDR#RtrefreshBossMark((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRI=s4 
          
c
Cs·tjƒ}|jƒtkr"dStjdƒtƒ}||jƒ}tjt    |ƒ|j
t ƒ}tj ƒ}|j |ƒ}|s‘t}nt||gƒ}tjƒjdddd|t|ƒƒ|j
tƒ}    |j
tƒ}
tjƒ} |td} i|tj6|    tj6|tj6} x‰t|jƒƒD]u}|j|ƒ}|dks:|jƒrmq:n| dkoˆ|jƒ|k}tj ||ƒ}t!j"|t#j$| t#j%||ƒ|j&t'j(d| t)ƒtj*|t#j$| || ƒ|r:|r:|jƒ|krRt+j,||
|    ƒtj-|t#j.t#j$dƒtj/|ƒn t0|||
|    ƒt1j2|ƒt+j3|
ƒ}|r¯|j4ƒr¯t5j6|t7j8dƒq¯q:q:WdS(Ns´¦Àí¶É½Ù¸±±¾½áÊøÂß¼­it DuJieFBOverièi(9R
R RGRHR*R    RRRRARbR RRjtFindPlayerByIDRtstrtGetPlayerManagertGameServer_QueryPlayerResulttlenRRRRt Over_costTimet
Over_gradet Over_leaderIDRkRlRmtNonetIsEmptyR+RJRKRLRRt CME_Log_EndRSR&t tttLeaveMapR4t NotifyFBOverR tDologicDujieFBPasstSetFBPDictValuetDef_PDict_LastEnterFBTicktSyncFBEnterTickt__GiveTeamAwardt
EventShelltEventRespons_DujieFBHelpPassRt GetIsBigRealmt PlayerSuccesstDoAddSuccessProgressR.tSuccType_DujieFBHelpPass(tisPassRRR~tcostTimetleaderPlayerIDtcopyMapPlayerManagert leaderPlayertmsgStrRpRRt    leaveTicktoverDicttiR RXRYR((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyR\sN           ( $"   c Cstj|ƒ}|sdS|jƒ}|s/dS|j|gƒ}t|ƒ}tj|tj|ƒ}t    ||kƒ}    |    rÈt
j d|j ƒg||j ƒgƒtjdt|ƒ|j ƒƒnHxE|D]=\}
} } tj||
| | tjgddtigƒqÏWdS(Nt RealmFBTeams'±³°ü¿Õ¼ä²»¹»£¬·¢ËÍÓʼþ: mailItemList=%steventtDojie(R Rt GetTeamAwardtgetRt
ItemCommontGetItemPackSpaceR&trptItemReR,t SendMailByKeyR+t GetPlayerNameR
R*Rt ItemControlertGivePlayerItemR( R R¨RRpRt teamAwardDictt prizeItemListt    needSpacet
emptySpacet
isSendMailtitemIDtitemCnttisBind((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyR—s"  (#cCs<tjƒ}|jtƒ}||tj<tj||ƒdS(N(R
R R RRt Help_leaderIDt Notify_FBHelp(R RthelpDictRR¦((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRU²s
  cCs=|jƒ}|tƒkrdStjdƒtt|ƒdS(Ns¶É½ÙÒѱ»»÷ɱ£¡(tGetNPCIDRR
R*RR4(R tcurNPCRR‰((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytDoFB_Player_KillNPCÁs    cCs&tjƒ}|jƒtkr"tStS(N(R
R RGRHRR4(tattackertdefenderR((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytCheckCanAttackTagObjInFBÑs cCs‚|jƒtjƒjtƒkr%dS||jtjƒtj    ddƒkr^tj
dƒdS|j tj|ƒt |t ƒdS(NtRealmFBHelpAttris µã»÷¹ÄÎè¼ä¸ô(R+R
R R Rt GetTickByTypeRtTYPE_Player_Tick_DuJieInspiret IpyGameDataPYt
GetFuncCfgR*t SetTickByTypeR_R4(R t
actionTypet
actionInfoR((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt
DoFBActionÝs!(  cCsµtjƒjtƒ}tj|ƒ}|s.dS|jƒrKtjdƒdStjdƒ|jt    j
t j ƒ}t ||gƒ}tjƒj|jƒddd|t|ƒƒdS(Ns´ó¾³½ç¶É½Ù£¬²»ÄÜÇëÇóÊØ»¤£¡sÏòÃËÓÑѰÇó¶É½ÙÊØ»¤£¡itGetMemberForHelpDujie(R
R R RR RR R*R=RRER.tDef_Effect_BaseAtkAddPerRRŽRRR(R t    isInspireRRtatkAddR©((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyR_ës   .c Cs/tjdƒ}i}d}xw|D]o\}}|jt|ƒiƒ}x4|jƒD]&\}}    |j|dƒ|    ||<qSW|d||f7}q"WxP|jƒD]B\}}    t|ƒtƒtkr¢tj    |t
j ||    ƒq¢q¢Wtj|ƒj ƒ|r|d }ni|d6}
t |d|
ƒdS(NRÊtis%s|%s,iÿÿÿÿthelpInfo(RÍtGetFuncEvalCfgR±RtitemsReR    RCR,RDRREtRefreshPlayerAttrByBuffRU( R RØtrealmFBHelpAttrDictt totalAttrDictt
fbhelpInfothelpTypetnametattrDictRWt    attrValueRÃ((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnGetDuJieHelpInfos"!  cCsÇtj|jƒƒtjkr"dStjƒjtƒ}|j    ƒ|krMdSt
ƒ}|s`dStj d|ƒx>t
ƒt D]/}|j tj|ƒ}tj|||ƒqWtj d|ƒdS(Ns»¤·¨ÊôÐÔ¼ÆËã allAttrList=%ss»¤·¨ÊôÐÔ¼ÆËã½á¹û allAttrList=%s(RtGetRecordMapIDR‚RRR
R R RRR    R*RCR=RER,tCalcAttrDict_Type(R t allAttrListR¦tfbcfgRWRâ((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytCalcDujieFBAttrAdds    cCstS(N(R4(((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnPlayerReborn0s(=t__doc__RRR&R,R
R„RÍR R0R²R.R·R¡RžRKRfttimetranget FB_Step_OpenRBRHRbRRRRORQRRhRCR    RRRRR!R$R"R9R<R\RFRdRRyRNR`RaRcRIRRRURÆRÉRÒR_RãRèRé(((sq.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt<module>sf                                           
                     
            (         &
                            ;