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
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
`Ljgc@sGdZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZedƒ\ZZZZdZdZdZedƒ\ZZZZZd„Zdd    „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-e.d„Z/e.d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5d„Z6id„Z7d„Z8d „Z9d!„Z:d"„Z;d#„Z<d$„Z=d%„Z>d&„Z?d'„Z@dS((sVersion = 2017-10-10 14:30iÿÿÿÿNit DuJieFB_StartDuJieFB_RealmLVtDuJieFB_LeaderPlayerIDicCs+tjƒrdnd}tjtj|ƒS(Nii(tFBCommontGetFBPropertyMarktGetFBLineStepTimetChConfigtDef_FBMapID_DuJie(tlineID((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytGetRealmFBTimeCfg<scCsà|r|jƒ}ntjƒjtƒ}tjd|ƒ}|sFdSx“|D]‹}|jƒtj    krnqMn|j
ƒ}|r½|j t j |ƒr½tjd||f|jƒƒdSn|jƒ}|r×|dSdSWdS(Nt RealmLVUPTasks,Íæ¼Ò¶É½ÙbossÒÑÍê³É»÷ɱ! realmLV=%s,taskID=%si(tGetOfficialRankt    GameWorldt    GetGameFBtGetGameFBDictByKeyRt IpyGameDataPYtGetIpyGameDataListNotLogt GetTaskTypetPlayerPrestigeSystRealmTaskType_Dujiet    GetTaskIDtNomalDictGetPropertyRtDef_PDict_RealmTaskValuetDebugLogt GetPlayerIDtGetNeedValueList(t    curPlayertrealmLVttaskIpyDataListt taskIpyDatattaskIDt    valueList((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytGetDuJieBossID@s"    cCsdS(N((ttick((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytDoFBInitXscCs@tjƒ}|jtdƒ|jtdƒ|jtdƒdS(Ni(R R t SetGameFBDictRRR(R!tgameFB((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnOpenFB`s
 cCstjƒdS(N(RtDoLogic_FBKickAllPlayer(R!((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt    OnCloseFBls
cCsA|jƒtjƒjtƒkr=tttjƒjƒƒndS(N(    tGetIDR R RRt__DoDoJieFBOvertFalset GetGameWorldtGetTick(R((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt DoPlayerDeadvs!cCst|||ƒS(N(t __CheckEnter(RtmapIDRR!((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnEnterFBEventscCs¬tj|tjƒs0tjd|jƒƒtS|dkso|jƒt    j
kso|dkr¨|j ƒdkr¨t |ƒ}|s¨tj d|jƒ|jƒƒtSntS(Ns)¾ôλ¾³½ç¹¦ÄÜ먦Æô, ÎÞ·¨¿ªÆô¶É½Ù!curLV=%siis(ûÓпÉÌôÕ½µÄ¶É½Ùboss»òÒÑÍê³É: realmLV=%s(t GameFuncCommt GetFuncCanUset ShareDefinetGameFuncID_OfficialR RtGetLVR*t    GetTeamLVt IPY_GameWorldt    tmlLeadert    GetTeamIDR tErrLogR RtTrue(RR/RtbossID((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyR.Šs?  cCs|S(N((RR/tlineIdtipyEnterPosInfoR!((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnGetFBEnterPosžscCstjS(N(R7t    cmeAccept(taskR!((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnChangeMapAsk¨sc CsÇtjƒ}|jƒ}|tkr5tj|ƒdS|jtjƒ}|jtj    ƒ}t
j ƒsÀ|rw|j ƒn|}tjƒj tj|dƒtj|||ƒt
jt|ƒn|jtjƒ}tƒ}|jtƒs3x,|tD] }    tj|tj|    dƒqõWtjdƒt|ƒn|jƒ}|tkrit||td||ƒnM|tkr¶t|td||j ƒdƒ}
|j!t"j#d|
t$ƒnt%||ƒdS(Niis Íæ¼Ò½øÈ븱±¾iè(&R R t    GetFBSteptFB_Step_LeaveTimet PlayerControlt PlayerLeaveFBRRtDef_Player_Dict_ReqFBMapIDtDef_Player_Dict_ReqFBFuncLineRtGetHadSetFBPropertyMarkR R#tMap_FBDict_PropertyMarktSetFBFuncLineIDt    SetFBSteptFB_Step_MapPrepareRtDef_FB_NPCStrengthenPlayerCntR    RtDef_HelpAddAttrIDtNomalDictSetPropertytDef_PDict_RealmFBAttrAddRt__SetFBLeaderPlayert__EnterFBInPreparetDef_Time_MapPreparetFB_Step_FightingtmaxtDef_Time_Fightt GetFBStepTickt Sync_TimeTickR7t tttTowerTakeR;tDoFBHelp( RR!R$tfbSteptreqMapIDRt propertyMarkt fbPlayerCntt
DuJieFBCfgtattrIDt
notifyTick((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt    DoEnterFB±s6              % cCsutjƒrdnd}tj|tj|tjdƒtƒ}tjt    |ƒt
||t dt j ƒ|ƒdS(Niiiè(RRt EventReportt WriteEvent_FBRRt CME_Log_StartR    RLRMRSRTR R (RR!RR`((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnCallHelpBattleOKäs     !cCsctjƒ}|jt|jƒƒ|jt|jƒƒtj|ƒt    j
|ƒt |t ƒdS(N( R R R#RRRR RtSyncRealmFBStateRtUpdateFBEnterTicktOnGetMemberForHelpDujieR*(RR$((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRRìs    cCsatjƒjƒ}|tkr+t|ƒn2|tkrDt|ƒn|tkr]t|ƒndS(N(    R R RCRMt__DoLogic_MapPrepareRUt__DoLogic_MapFightingRDt__DoLogic_MapLeave(R!R\((sE:\SnxxServerCode\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 RRtinttmathtceilRXR    t Def_StarTimet    enumerateR#RtGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndexR[RYR7t tttFlagTakeR;(R!tisForceR$tcurStart    useSecondR`t starTimeListt
diffSecondtupdStartstartstarTimet playerManagertindexR((sE:\SnxxServerCode\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(RVRXRYR7t tttWaitStartR;t tttAddUpTime(RtdownTimeR$R!t    notifyEffRb((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRS/s
cCsOtƒ}|tjƒjƒ|tdkr1dStjt|ƒt|ƒdS(Niè(    R    R R RXRTRRLRUt__OnDuJieFBStart(R!t    invadeCfg((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRk9s     $
cCsLtƒ}|tjƒjƒ|tdkr>tt|ƒdSt|ƒdS(Niè(R    R R RXRWR)R*Rƒ(R!R‰((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRlBs     $ 
cCs5tƒ}|tjƒjƒ|tdkr1dSdS(Niè(R    R R RXtDef_Time_Leave(R!R‰((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRmKs    $c
Csntjƒrdnd}tjƒjtƒsât}tjƒ}x|t|j    ƒƒD]h}|j
|ƒ}|ssqRn|j ƒt j ks¦|dkrR|jƒdkrRt|ƒt}PqRqRW|sâtjdƒtjƒdSntƒ}tƒ}|sþdStjƒjƒ}tj||ƒ}    tj|    |gƒtjt j|tdƒtj|tƒt|ƒdS(Niis+    ×¼±¸µ¹¼ÆÊ±Òѹý£¬¶Ó³¤ÈÔδ½øÈ븱±¾£¡£¡£¡ iè( RRR R RRR*RtRuRvRwR6R7R8R9RRR;tLogR&R    R tGetMaptGetMapIDtGetFBLineRefreshNPCtNPCCustomRefresht SetNPCRefreshtSync_Player_TimeTickRZRWtNotifyCopyMapPlayerFBHelpR[Rƒ(
R!Rt
findLeaderRR‚RR`R<R/trefreshBossMark((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRˆSs6 3
 
        
c    CsHtjƒ}|jƒtkr"dStjdƒtƒ}||jƒ}tjt    |ƒ|j
t ƒ}tj ƒ}|j |ƒ}|s‘t}nt||gƒ}tjƒjdddd|t|ƒƒ|j
tƒ}    |j
tƒ}
tjƒ} | rdnd} |td} i|tj6|    tj6|tj6}|jƒ}xüt|ƒD]î}|j|ƒ}|dksR|jƒr…qRntj |t!j"| t!j#d|ƒ|j$t%j&d| t'ƒ|r$|r$|j(ƒ|kr$t)j*|t)j+dƒtj,|t!j-t!j"dƒtj.|ƒq$ntj/|t!j"| ||ƒqRWdS(Ns´¦Àí¶É½Ù¸±±¾½áÊøÂß¼­it DuJieFBOveriiè(0R R RCRURR    RXRRLRDRRRttFindPlayerByIDR*tstrtGetPlayerManagertGameServer_QueryPlayerResulttlenRRRRŠt Over_costTimet
Over_gradet Over_leaderIDRvRuRwtNonetIsEmptyRdReRRt CME_Log_EndRYR7t tttLeaveMapR;RRtAddRealmTaskValueRtSetFBPDictValuetDef_PDict_LastEnterFBTicktSyncFBEnterTickt NotifyFBOver(tisPassR!R$R‰tcostTimetleaderPlayerIDtcopyMapPlayerManagert leaderPlayertmsgStrRzRtFBPropertyMarkRt    leaveTicktoverDictt    playerCnttiR((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyR)tsD           ( $ "  c Cs|s
dS|jƒ}|s dS|j|gƒ}t|ƒ}tj|tj|ƒ}t||kƒ}|r¹tj    d|j
ƒg||j ƒgƒt j dt|ƒ|j
ƒƒnHxE|D]=\}    }
} tj||    |
dtjgddtigƒqÀWdS(Nt RealmFBTeams'±³°ü¿Õ¼ä²»¹»£¬·¢ËÍÓʼþ: mailItemList=%siteventtDojie(t GetTeamAwardtgetRšt
ItemCommontGetItemPackSpaceR7trptItemRoREt SendMailByKeyRt GetPlayerNameR RR—t ItemControlertGivePlayerItemR*( RR«t realmIpyDataRzt teamAwardDictt prizeItemListt    needSpacet
emptySpacet
isSendMailtitemIDtitemCnttisBind((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt__GiveTeamAward©s   (#cCs<tjƒ}|jtƒ}||tj<tj||ƒdS(N(R R RRRt Help_leaderIDt Notify_FBHelp(RR!thelpDictR$R©((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyR[Ãs
  cCst||ƒdS(N(t__FBNPCOnKilled(tattackertcurNPCR!((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytDoFB_Npc_KillNPCÌs cCst||ƒdS(N(RË(RRÍR!((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytDoFB_Player_KillNPCÕs cCs=|jƒ}|tƒkrdStjdƒtt|ƒdS(Ns¶É½ÙÒѱ»»÷ɱ£¡(tGetNPCIDR R RR)R;(RÍR!R<((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRËÙs    cCs&tjƒ}|jƒtkr"tStS(N(R R RCRUR*R;(RÌtdefenderR$((sE:\SnxxServerCode\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 µã»÷¹ÄÎè¼ä¸ô(RR R RRt GetTickByTypeRtTYPE_Player_Tick_DuJieInspireRt
GetFuncCfgRt SetTickByTypeRjR;(Rt
actionTypet
actionInfoR!((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt
DoFBActionós!(  cCsœdStjƒjtƒ}tj|ƒ}|s2dStjdƒ|jtj    t
j ƒ}t ||gƒ}tj ƒj|jƒddd|t|ƒƒdS(NsÏòÃËÓÑѰÇó¶É½ÙÊØ»¤£¡itGetMemberForHelpDujie(R R RRRtGetRealmIpyDataRRRRQR3tDef_Effect_BaseAtkAddPerR—R˜R™R(Rš(Rt    isInspireRR¾tatkAddR¬((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyRjs .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(RtGetFuncEvalCfgR¶R—titemsRoR    RORERPRRQtRefreshPlayerAttrByBuffR[( RRátrealmFBHelpAttrDictt totalAttrDictt
fbhelpInfothelpTypetnametattrDictRat    attrValueRÊ((sE:\SnxxServerCode\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 RRR(R    RRORRQREtCalcAttrDict_Type(Rt allAttrListR©tfbcfgRaRë((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytCalcDujieFBAttrAdd-s    cCstS(N(R;(((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pytOnPlayerRebornDs(At__doc__RRR7RER RRRR1R·R3R¼t PlayerSuccesst
EventShellRdRpttimetrangetFB_Step_CallHelpRMRURDRRRRTRWRŠRrROR    RžR R"R%R'R-R0R.R?RBRcRgRRRnR*RƒRSRkRlRmRˆR)RÇR[RÎRÏRËRÒRÚRjRìRñRò(((sE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_DuJie.pyt<module>sl                                       
                     
            3             &
                        !    5