xdh
2018-08-27 c777918e2c28a4f8a1560b1e2bbf9d4785adb01a
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
x{[c@s\ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZedƒ\ZZZedƒ\ZZZZZdZdZdZdZ dZ!d    Z"d
Z#d Z$d Z%d Z&d„Z'd„Z(d„Z)d„Z*dd„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5d„Z6e7d„Z8d „Z9d!„Z:d"„Z;d#„Z<d$„Z=e7d%„Z>d&„Z?d'„Z@d(„ZAd)„ZBdS(*iÿÿÿÿNiitBZZD_LastCheckExpTicktBZZD_LastCheckTicktBZZD_WaveIndexs BZZD_ReExp_%ssBZZD_NPCMaxHP_%s_%stFBPlayerDict_EnterLVtFBPlayerDict_TotalExptFBPlayerDict_TotalExpPointtFBPlayerDict_EncourageLViŸ†cCsˆd}d}tjddƒ}x]t|dƒD]L\}}|\}}|d|koe|dknr.|}|}Pq.q.W||fS(Nit FairylandNPCi(t IpyGameDataPYtGetFuncEvalCfgt    enumerate(t
passSecondtcurNpcidtcurIndextfairylandNPCListtitinfot    timeRangetnpcid((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyt GetBZZDNPCIDGs $cCsdS(N((t    curPlayer((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyt    BZZDOnDayXsc    Cs|jƒ}|jtjƒ}|s(dStjƒjƒ}tj|ƒ}|tj    krltj
d|ƒdStj tj    ƒ}|t }t d||ƒ}|s¥dStjddƒ}||}tj|tjtƒ|rtj|ƒj|tjƒ}tj
d||f|ƒndS(Ns ÏɽçÃØ¾³¸±±¾ÖУ¬²»´¦Àí¾­Ñ鲹ʱ£¡itXjmjFirstEnteris)Íæ¼ÒÊ×´ÎÏɽçÃØ¾³¾­Ñ鲹ʱ£º%sÃë,giveExp=%s(t GetPlayerIDtNomalDictGetPropertytChConfigt Def_PDict_BZZD_FirstEnterExpTimet    GameWorldtGetMaptGetMapIDtFBCommontGetRecordMapIDtDef_FBMapID_BZZDtDebugLogtGetFBLineStepTimet Def_FightTimetmaxRt
GetFuncCfgt PlayerControltNomalDictSetPropertytFirstEnterExpTimeMaxtAddExpt ShareDefinetDef_ViewExpType_Sys(    RtplayerIDt playerExpTimetmapIDtfbCfgt    fightTimetgiveTimet expPerSecondtgiveExp((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytOnFBPlayerOnLoginbs* 
 
cCst|||ƒS(N(t__CheckCanEnterBZZD(RR.tlineIDttick((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytOnEnterFBEventƒsicCstS(N(tTrue(RR.R6tenterCnt((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyR5ˆscCs!t|ƒdkr|S|dgS(Ni(tlen(RR.tlineIdtipyEnterPosInfoR7((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytOnGetFBEnterPos’scCstjS(N(t IPY_GameWorldt    cmeAccept(taskR7((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytOnChangeMapAskœscCs°|jƒ}|jƒ}tjƒjƒ}|jƒ}tjd|jƒ|||f|ƒtjƒ}tj    |ƒ}|sutjƒj
ƒ}tj ||ƒ}    |    d}
|
sÂt j |ƒdStj|ƒtj|tjƒtj|tjdƒtj|tjdƒtj|ƒ|j|t|ƒtjj|dƒtj|tƒ} t j!|tjdtj"| ƒntj#|tj$tj%ƒ} | s÷|j&tj'ƒ} |o·| dk}|sätj(|dƒtjd|ƒdStjd|ƒn|j)ƒ}|t*kr"tj+t*|ƒn|t*kr²tj,ƒj
ƒ}tj-|ƒt.d|tjƒj/ƒ}|j0t1j2dt3|dƒt4ƒ|j0t1j5dt3|dƒt4ƒnn|t6kr tj,ƒj
ƒ}tj-|ƒt7d|tjƒj/ƒ}|j0t1j8dt3|dƒt4ƒn|j9|t:ƒ}|dkrTtj;|t:|ƒntj(||ƒt<||ƒ|j=tj>ƒ}|s¬t j?|tj>dƒt@|ƒndS(NsDDoEnterFB...playerCopyMapID=%s,curCopyMapID=%s,playerLV=%s,teamID=%siisCÊ״ε¥È˽øÈë¸Ã¸±±¾£¬ÐèÒªµÈǰ¶Ë²¥Í긱±¾³¡¾°Òýµ¼Ðã²ÅÕý³£½øÈë×¼±¸½×¶Î!s)¶ÓÎ鷽ʽ½øÈë¸Ã¸±±¾£¬²»²¥·Å¸±±¾³¡¾°Òýµ¼Ðã!iè(ARtGetLVRt GetGameWorldt GetCopyMapIDt    GetTeamIDtLogt    GetGameFBRtGetHadDelTicketRtDelFBEnterTicketR&t PlayerLeaveFBtSetHadDelTickettAddEnterFBCountRR tPlayerBossReborntAddBossRebornActionCnttDef_BRAct_XJMJtPlayerFairyCeremonytAddFCPartyActionCnttDef_PPAct_XJMJtUpdateFBEnterTicktSetPlayerGameFBDictRt
PyGameDatatg_bzzdPlayerKillNPCCntDicttpopt GetFBJoinTypetFalset EventReportt WriteEvent_FBt CME_Log_StarttGetDictValueByBittDef_Player_Dict_GuideStatetGuideState_BZZDShowtGetGameFBDictByKeytDef_FB_NPCStrengthenPlayerCnttSendFBEncourageInfot    GetFBSteptFB_Step_Preparet    SetFBStepRR"tDef_PrepareTimet GetFBStepTickt Sync_TimeTickR?t tttAddUpTimeR$R9t tttWaitStarttFB_Step_FightingR#t tttTowerTaketGetPlayerGameFBDictByKeyRtAddFbEncourageBufftDoFBHelpRRR't__GiveFirstEnterPrize(RR7R,tplayerLVt curCopyMapIDtteamIDtgameFBt hadDelTicketR.t    delResulttisOKtlogTypet    showStatet fbPlayerCntt isTeamEntertfbStept notify_tickt encourageLVt isFirstEnter((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyt    DoEnterFB¤sn        
   "   +"% +%   cCs¸tjddƒ}|sdS|\}}}|rJtj|tj|ƒn|ritj|tj|ƒn|r‘tj||ddtj    gƒnt
j d|||f|j ƒƒdS(NRis5Ê״νøÈë¸ø½±Àø£ºsilverMoney=%s,goldPaper=%s,itemID=%s( RR    R&t    GiveMoneyR?tTYPE_Price_Silver_MoneytTYPE_Price_Gold_Papert ItemControlertGivePlayerItemtrptItemRR!R(RtXjmjFirstEnterPrizet silverMoneyt    goldPapertitemID((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyRqês"    cCs1tjƒ}|jƒ}|tkr>tjd|jƒƒdStjd|jƒƒtjt|ƒtj    ƒj
ƒ}tj |ƒt d|tjƒj ƒ}|jtjdt|dƒtƒ|jtjdt|dƒtƒt||ƒ|jtjƒ}|s-tj|tjdƒt|ƒndS(Ns5ǰ¶ËÇëÇóÕýʽ¿ªÊ¼¸±±¾, µ«¸±±¾ÒѾ­¿ªÊ¼ÁË£¬²»¿ÉÖØ¸´¿ªÊ¼!s'ǰ¶Ë³¡¾°ÐãÒѲ¥·ÅÍê±Ï£¬ÇëÇóÕýʽ¿ªÊ¼¸±±¾!ièii(RRHRdRetErrLogRR!RRfRRR"RgRhRiR?RjR$R9RkRpRRRR&R'Rq(RR7RuR}R.R~R€((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytOnClientStartFBús"   +""  cCstj||ƒdS(N(RtClearEncourageBuff(RR7((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytDoExitFBscCsdS(N((RR7((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytDoPlayerLeaveFBsc
CsÛtjƒ}|jƒ}ttjj|dƒƒ}|jtƒ}t    t
j dƒƒ}|j |t ƒ}|j |tƒ}i|tj6|tj6|tj6|tj6|d6}    tjdt|    ƒƒtj||    ƒdS(NiRt
passAllCnts DoFBHelp %s(RRHtGetIDtintRVRWtgetRaRR;RR    RnRRRt Help_npcTotaltHelp_expt Help_expPointt
Help_wheelR!tstrt Notify_FBHelp(
RR7RuR,t
killNPCCnttpassCntR‘texptexpPointthelpDict((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyRp$s  5cCsatjƒjƒ}|tkr+t|ƒn2|tkrDt|ƒn|tkr]t|ƒndS(N(    RRHRdRet__DoLogic_FB_PrepareRlt__DoLogic_FB_Fightingt FB_Step_Overt__DoLogic_FB_Over(R7R}((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyt    OnProcess=s      cCs‚tjƒjƒ}tj|ƒ}|tjƒjƒ|tdkrIdSt|ƒtj    t
|ƒtj t j |tdƒdS(Niè(RRRRR"RHRhRgtCheckNPCRefreshRfRltSync_Player_TimeTickR?RmR#(R7R.R/((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyR Os$
cCs¯tjƒ}|jtƒ}tjƒ}|jƒ}ttjddƒƒ}|re|||kredS|j    t|ƒ|tjƒj
ƒd}t |ƒ\}}|s«dS|jt ƒ|kr |j    t |ƒx9t |jƒƒD]"}    |j|    ƒ}
t|
|ƒqãWntjdƒ} tjddƒ} tjddƒ} | | }d„|Dƒ}d}tjƒ}xht d|jƒƒD]Q}    |j|    ƒ}||jƒ7}|jƒ}|j|dƒ|jƒ||<qW|sñtjddƒ}nttjdƒƒ}|sdSt|jƒd    d
„ƒ}d}xj|D]b\}}||krTPnt| ||ƒ}||7}||}tj|||fg||ƒq8Wtj|ƒdS( NRiiètFairylandPointicSsi|]}d|“qS(i((t.0tmark((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pys
<dictcomp>{s    itFairylandNPCCnttkeycSs|dS(Ni((tasd((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyt<lambda>Œs(RRHRaRtGetMapCopyPlayerManagertGetPlayerCounttevalRtGetFuncCompileCfgt SetGameFBDictRhRRtrangetGetPlayerByIndexRpR    R%t GetNPCManagertGetCustomNPCRefreshCounttGetCustomNPCRefreshAttGetCounttGetRefreshMarkR”tsortedt    iteritemstmintNPCCustomRefresht SetNPCRefreshtProcessAllNPCRefresh(R7Rut lastCheckTickt playerManagertheroCnttcheckCDR tnpcIDt    waveIndexRRt    rMarkListtmaxCnttfirstRMarkListtallRmarkt
npcCntDicttnpcCnttgameNPCt
npcRefreshtrmarkt
needAddCntt markCntListt hasRefreshCnttrMarktcurCnttcntt    curMaxCnt((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyR¥bsZ   
  $ 
 
# cCsòtjƒ}|sR|jtƒ}|s;|jt|ƒdS||dkrRdSn|jt|ƒttj|tjƒjƒdƒƒ}t    j
ddƒ}||}tj ƒ}|j ƒ}x,t |ƒD]}    |j|    ƒ}
|
síqÌn|
jƒ} |
jtjƒ} | |krqÌn|r)tn|} tj|
tj| ƒ|j| tƒ}|j| tƒ}|tj|}td||ƒ}|dkrÊtj|
ƒj|tjƒ}t|
|tƒntj d| |||f| ƒqÌWdS(Niˆg@@RiisC±£µ×¾­Ñé: updExpTime=%s,minTotalExp=%s,playerTotalExp=%s,giveExp=%s(!RRHRaRR²R“tmathtceilRhRR%R®R¯txrangeR´RRRRR(R&R'RnRRtDef_PerPointValueR$R)R*R+t__RecordAddExpR9R!(R7tisOverRutlastCheckExpTickR0R2t minTotalExpRÁt playerCountRRR,R-t
updExpTimeRRžtplayerTotalExpR3((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytCheckFirstEnterExp™sD )
         cCshtjƒjƒ}tj|ƒ}|tjƒjƒ|tdkr]t|ƒt    |ƒdSt
ƒdS(Niè( RRRRR"RHRhR#R¥Rát __DoBZZDOver(R7R.R/((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyR¡Æs$
 
cCsjtjƒjƒ}tj|ƒ}|tjƒjƒ|tdkrIdStj    |ƒtj
t |ƒdS(Niè( RRRRR"RHRht Def_LeaveTimetGameWorldProcesstCloseFBRft FB_Step_Close(R7R.R/((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyR£Øs$ cCs&tjƒ}|jƒtkr"tStS(N(RRHRdRlRZR9(tattackertdefenderRu((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytCheckCanAttackTagObjInFBês c Csš|s
dS|jƒ}t|jƒ|jƒƒ}|jƒ}tjƒ}|jt|ƒ}|s½t    j
|ƒ}|s}dn    |j ƒ}|j t||ƒtj d|||f|ƒntd|jtjƒƒ}|j|tƒ}    |jt||    fƒ}
|
s‹tj||    ƒ} | jddƒ}
|j t||    f|
ƒtj d||    |
f|ƒ|
s‹tjd||    f|ƒdSn|jƒ} tjddƒ} tj|ƒ}tj||ƒ}|jƒsÜ|
n|}ttj dƒƒ}|dkr5tjd    |||| | ||
||f    |ƒn|jƒsG|n|}|t!|ƒ}t"j#j|dƒ|t"j#|<t$|tj%ƒj&ƒƒ|S(
Nis&³õʼ»¯²ÎÊý: npcID=%s,npcLV=%s,reExp=%sitMaxHPs+³õʼ»¯²ÎÊý: npcID=%s,enterLV=%s,npcMaxHP=%ss)ÎÞ·¨»ñµÃNPC×î´óÉúÃüÖµ,npcID=%s,enterLV=%stXjmjMonsterExpisu¾­Ñ鼯ËãÒì³£:  npcID=%s,npcLV=%s,reExp=%s,baseExp=%s,expMulti=%s,hurtValue=%s,npcMaxHP=%s,curNPCMaxHP=%s,playerCnt=%s('RR$tGetCurLVRCtGetNPCIDRRHRat
BZZD_ReExpR&tGetPlayerLVIpyDatatGetReExpR²R!RRbRnRt BZZD_NPCMaxHPt    NPCCommontGetNPCStrengthenAttrDictR”RŒtGetExpRR%tGameObjtGetMaxHPt AttackCommontGetTeamPlayerHurtValueRFR°R±tfloatRVRWRpRDtGetTick(RtcurNPCR,tnpcLVRÄRutreExpt    lvIpyDatat    playerCnttenterLVtnpcMaxHPtenterLVAttrDicttbaseExptexpMultit curNPCMaxHPtteamPlayerHurtValuet    hurtValuetaddExpt curHurtValuet
addKillCnt((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyt OnGetNPCExpòsJ          ) cCs$|tjkrdSt||ƒdS(N(R*tDef_ViewExpType_KillNPCRÚ(RRt expViewType((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytOnGetExp/s c Cs»|jƒ}tjƒ}|j|tƒ}|j|tƒ}|tj|}||}|tj}    |tj}
|j|t|    ƒ|j|t|
ƒtj    d||||f|ƒdS(Ns8OnGetExp() totalExp=%s,addExp=%s,updTotalExp=%s,isSys=%s(
R’RRHRnRRRRÙRUR!( RRtisSysR,RuRRžttotalExpt updTotalExptupdExpt updExpPoint((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyRÚ7s  
      cCstS(N(R9(Rt curTagPlayer((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pytCheckPlayersRelation_IsNoneZscCs€tjƒjƒ}t|tƒtjƒ}|jƒ}|sNtj|ƒdStj    ƒj
ƒ}t j |ƒ}tj ƒ}||jƒ}x“t|ƒD]…}|j|ƒ}|s¹q˜n|jƒ}    |j|    tƒ}
|j|    tƒ} | tj|
} |jtjƒ} |jtjƒ}|tj| }d}| |krªtj|tj|
ƒtj|tj| ƒ|r…| |d|nd}tj|tjd| gƒnt t!j"j#|    dƒƒ}|j|    t$ƒ}t%|i|t j&6|
t j'6| t j(6|t j)6|t j*6|d6ƒq˜Wt j+t,|ƒt j-t.j/|t0dƒt1j2dƒ}x|D]}t3j4||ƒqbWdS(NiiditupPerièR§(5RRDRúRáR9R®R¯RäRåRRRR"RHRhRØR´RRnRRRRÙRtDef_PDict_BZZD_TotalFightExpt!Def_PDict_BZZD_TotalFightExpPointR&R't PlayerSuccesstDoAddSuccessProgressR*tSuccType_XJMJGetExpR“RVRWR”Rt__SendBZZDOverInfot Over_enterLVtOver_expt Over_expPointt Over_costTimet Over_npcTotalRfR¢R¦R?t tttLeaveMapRãRR    R½tCloseNPCRefresh(R7RÁRÞR.R/RutcostTimeRRR,RRžRt    expRecordtexpPointRecordttotalExpRecordRR›RRÆRÒ((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyRâ_sJ       J cCsQd|tj<tj|tj<tjdt|ƒ|jƒƒtj    ||ƒdS(Nis__SendBZZDOverInfo overDict=%s(
Rt Over_isPassRR tOver_dataMapIDRR!R™RtNotify_FB_Over(RtoverDict((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyR”s
  cCs*|dkr&tj|t||ƒdSdS(Ni(RtFbEncourageBuffR(Rt
actionTypet
actionInfoR7((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyt
DoFBAction¢s (CRRR?R½RäR&R*R[RRR÷RVRòRõRRNRQR…trandomRÖR³RgR#Rãt FB_Step_OpenReRlR¢RæRRRRîRñRRRRR(RRR4R8R5R>RBRRqRRRRpR¤R R¥RZRáR¡R£RéR RRÚRRâRR/(((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_BZZD.pyt<module>st                                
    !    
    
        F                                    7 -                =     #        5