cehua_hzl
2018-12-27 0d3c536746c1959e4a57dd519e348783ed73a869
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
87
88
89
90
91
92
93
94
x{[c@sDddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZedƒ\ZZZedƒ\ZZZZedƒ\ZZZZZdZ dZ!dZ"dZ#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„Z2gd„Z3d„Z4d„Z5d„Z6d„Z7d„Z8d„Z9d„Z:d „Z;d!„Z<d"„Z=d#„Z>d$„Z?d%„Z@dS(&iÿÿÿÿNiiit XMZZ_WinCntt XMZZ_TotalExptXMZZ_TotalExpPointt XMZZ_ExtraExptXMZZ_ExtraExpPointtXMZZ_TotalScoretXMZZ_ExtraScoretXMZZ_NeedKillNPCIDcCstjtjƒS(N(tFBCommontGetFBLineStepTimetChConfigtDef_FBMapID_XMZZ(((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt__GetFightTimeFscCsdS(N((t    curPlayer((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt OnXMZZLoginHscCstS(N(tTrue(R tmapIDtlineIDttick((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pytOnEnterFBEvent_scCs|S(N((R RtlineIdtipyEnterPosInfoR((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pytOnGetFBEnterPoskscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pytOnChangeMapAskuscCs<tjtjdƒd \}}tj|||dtƒdS(Niit
isResetPet(RtGetFBLineEnterPosInfoR
R t    GameWorldtResetPlayerPosR(R t    startPosXt    startPosY((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt
__ResetPosxscCsttjƒƒ}tj|ƒ}|s˜tj|ƒtj|tjdƒtj    |tj
|ƒt dgƒ}t j ƒj|jƒddd|t|ƒƒ|j|jƒƒ|jƒ}xXtd|jƒƒD]A}|j|ƒ}|jƒdkrÒ|jdƒ|jƒqÒqÒWxLttjtjƒD]5}tj||ƒ}    |    r-|    d}
|
jƒq-q-Wtj|ƒj ƒt!j"|tjdtj#ƒn|j$tj
ƒ} t%ƒt&} | || } | dkrâtj'|ƒdS|j(tj)d| dt*ƒt+||ƒdS(NiitXMZZStartFightiè(,tintttimeRtGetHadDelTickettSetHadDelTickettAddEnterFBCountR
R t PlayerControltNomalDictSetPropertytDef_PDict_XMZZLastStartTimetstrRtGetPlayerManagertGameServer_QueryPlayerResulttGetIDtlentSetHPtGetMaxHPtGetSkillManagertranget GetSkillCounttGetSkillByIndext GetRemainTimet SetRemainTimet
Sync_SkillRtbfProcessDeBufftbfDeBufft SkillCommontGetBuffManagerByBuffTypetCleartRefreshAllStatet EventReportt WriteEvent_FBt CME_Log_StarttNomalDictGetPropertyR t Def_TotalTimet PlayerLeaveFBt Sync_TimeTickt tttTowerTakeRtDoFBHelp(R Rtcurtimet hadDelTickettmsgInfot skillManagertitcurSkilltbuffTypet    buffTuplet    buffStatet lastStartTimet    fightTimet
remainTime((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt    DoEnterFB‚s> .  
    cCs/tjƒjƒ}|tkr+t|ƒndS(N(Rt    GetGameFBt    GetFBSteptFB_Step_Fightingt StartXMZZPK(RtfbStep((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt    OnProcess®s  c Csøtjƒ}|sdSttjƒƒ}|jtjƒ}tƒt}|||}|dkredStj    t
|ƒtj ƒ}|s‹dS|d}t |ƒ}t |ƒ}    | s»|     r¿dSt jd|jƒƒ|    |k}
t||
d|    ƒdS(Nis    ÏÉħ֮Õùʱ¼äµ½£¬·¢ËͽáËãi(RtGetCurSingleFBPlayerR#R$RBR
R*R RCt    SetFBStept FB_Step_Overt GetMapNPCListt
__GetHPPerRtDebugLogR.t__SendPKResult( RR RHRQRRRStnpcListtcurNPCtnpcHPPertHPPertisWin((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt __ChcekFBOver¾s,    
   cCs.tj|ƒ}|r*tj|ƒd|SdS(Nidi(tGameObjR1tGetHP(tgameObjtmaxHP((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyR_Ösc
Cs'd}tjƒjƒ}|tjkrNtjj|ƒ}|jddƒ}n|s·tjƒjt    ƒ}tj
ƒj |ƒ}|r·|j ƒ}|j tjƒjtjƒƒ}q·nt||||gƒ}    tjƒj|jƒddd|    t|    ƒƒtjd||||f|jƒƒdS(NttNameit
XMZZPKOvers6__SendPKResult vsName=%s, isWin=%s, isEnd=%s, HPPer=%s(Rt GetGameWorldt    GetLineIDt
PyGameDatatg_xmzzVSPlayerDatatpoptgetRUtGetGameFBDictByKeyRt GetGameDatatFindNPCDataByIDtGetNametdecodet ShareDefinetDef_Game_Character_EncodingtencodetGetCharacterEncodingR+R,R-R.R/R`(
R RftisEndRetvsNameRtvsPlayerPropDatatnpcIDtnpcDataRJ((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyRaÚs '.&cCstjt|ƒt|ƒtjtjtƒtdƒtjt    |ƒ|sRdS|\}}t
j ƒj ƒ}|t j|<tjddƒ}|t|ƒkr¶tjddƒ}n
||}t
jd|||f|jƒƒtjd|gƒt
jƒjt|ƒdS(Nièt    XMZZRobotiis#¶ÔÊÖÐÅÏ¢: pkPlayerID=%s,npcID=%s,%sie(RR\tFB_Step_PrepareR!tSync_Player_TimeTickRt tttWaitStartR tDef_PrepareTimeRWRRoRpRqRrt IpyGameDataPYtGetFuncEvalCfgR/t
GetFuncCfgR`R.tNPCCustomRefresht SetNPCRefreshRUt SetGameFBDictR(R Rt vsPlayerInfot
pkPlayerIDtpkPlayerPropDataRt robotIDListR((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt PrepareXMZZPKës"
 
#c
CsÔ|jƒ}tjƒjƒ}|tjkr1iStj|}|sHiStjddƒ}tjddƒ}||krˆ||krˆiS|d}|d}i}    ||kr·|}    n|rÐt    |||ƒn|    S(NRƒiitJobtLV(
tGetNPCIDRRoRpRqRrRˆR‰RŠt__DoGiveVSPlayerNPCSkill(
RctisRebornRRR€R‘t playerNPCIDtjobtnpcLVt npcAttrDict((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pytGetFBNPCStrengthenAttr s&  
 
     c
CsØ|jƒ}tjddƒ}||kr.dS||}g}x[|jƒD]M\}}||kriqKnt|tƒrˆ|j|ƒqK|t|ƒ7}qKWtj    d|||fƒx|D]}    |j
|    ƒq½WdS(NtXMZZRobotSkillis¸øNPC¼¼ÄÜ: job=%s,npcLV=%s, %s( R2RˆR‰titemst
isinstanceR#tappendtlistRR`tLearnSkillByID(
RcR™RšRKt jobSkillDictt skillInfoDictt skillIDListt    skillInfotneedLVtskillID((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyR–(s   
  cCs9t|ƒ|tjƒjƒtƒtdkr5dSdS(Niè(RgRRUt GetFBStepTickR R‡(R((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyRX<s
'c    Cs¾tjƒjƒtkrdS|jƒtjƒjtƒkrAdSttjƒƒ}|j    t
j ƒ}t ƒt }|||}|dkr•t}nt}t|ƒ}t|d||ƒdS(Ni
i(RRURVRWR•RuRR#R$RBR
R*R RCRtFalseR_Ra(    R RcRRHRQRRRSR~Re((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pytDoFB_Player_KillNPCIs!       cCs?tjƒjƒtkrdSt|ƒ}t|dd|ƒdS(Nii(RRURVRWR_Ra(R Re((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt DoPlayerDeades
 cCs&tjƒ}|jƒtkr"tStS(N(RRURVRWRªR(tattackertdefendertgameFB((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pytCheckCanAttackTagObjInFBqs cCsþ|s$tjd||jƒƒdStjddiƒ}t|ƒ|kritjd||jƒƒdS|t|ƒ}t|ƒ}tj|t    j
|ƒ}||kr½t j |dƒdSt|gƒ}tj ƒj|jƒddd|t|ƒƒdS(    sA
    @todo: ÁìÈ¡ÏÉħ֮ÕùʤÀû³¡Êý½±Àø
    @param prizeEx:³¡Êý
    s$ÁìÈ¡ÏÉħ֮ÕùʤÀû³¡Êý½±Àø: prizeEx=%sNt    XMZZAwardis&²»ÄÜÁìÏÉħ֮ÕùʤÀû³¡Êý½±Àø! prizeEx=%stGeRen_chenxin_998371itGetXMZZWinPrize(RR`t GetPlayerIDRˆR‰R+R/t
ItemCommontGetItemPackSpaceRtrptItemR(t
NotifyCodeR,R-R.(R tprizeExtwinCntAwardDictt prizeItemListt    needSpacet
emptySpacetmsg((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyR³“s   .c
Cst|ƒ}t|ƒdkr"dS|d}tjddiƒ}t|ƒ|krqtjd||jƒƒdS|t|ƒ}xk|D]c\}}}tj    ||||t
j gt dt ƒsˆ|jƒ}    tj d||f|    ƒtSqˆWi|d6|d6}
tj|d    |
ƒdS(
NiiR±s&²»ÄÜÁìÏÉħ֮ÕùʤÀû³¡Êý½±Àø! prizeEx=%st showSysInfos4OnGetXMZZPrizeResult(), give item itemid:%s,count:%sR¹R»tXMZZWin(tevalR/RˆR‰R+RR`R´t ItemControlertGivePlayerItemRR·RtErrLogRªtDataRecordPacktDR_FuncGiveItem( R t    funResultt
resultListR¹RºR»titemIDtitemCnttisBindtplayerIDt addDataDict((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pytOnGetXMZZPrizeResult¬s$ 
 cCs\| st|ƒdkrdS|\}}|r?t||ƒn|rXt|||ƒndS(s3ÏÉħ֮ÕùPKÐÅÏ¢Âß¼­´¦Àí
    @param resultList: 
    iN(R/tDoXMZZPKOverLogicR’(R RÈRtoverInfoRŽ((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pytDoXMZZPKInfoLogicÆs c#CsÇt|ƒdkrdS|\}}}}}tj|ƒ}|rmtjddƒ}ttjd|ƒƒ}    n*tjddƒ}
ttjd|
ƒƒ}    tj|ƒj|    ƒ|j    ƒ} t
j ƒ} | j | t ƒ} | j | tƒ}|tj| }||    }|tj}|tj}| j| t |ƒ| j| t|ƒt|    t|dƒ|ƒ}| j | tƒ}| j | tƒ}|tj|}||}|tj}|tj}| j| t|ƒ| j| t|ƒ| j | tƒ}||}| j| t|ƒt|t|dƒ|ƒ}| j | tƒ}||}| j| t|ƒtj|tj|ƒ|r¼tj|tjdƒ| jt| jtƒdƒt |dƒn|sÉ| rÃ|j!tj"ƒ}tt#j#ƒƒ} | |d    }!i|t$j%6|t$j&6|t$j'6|t$j(6| t$j)6|t$j*6|!t$j+6|d
6}"t$j,|tj-d||"ƒtj.|tj"dƒ|j/t0j1dt2ƒt3d    t4ƒt$j5t6t
j7ƒj8ƒƒndS( Nit XMZZPKAwardit winXMZZAddExptfailXMZZAddExpidiiièt    conWinCnt(9R/R(tGetPlayerReExpRˆRŠRÁtFormulaControltGetCompileFormulatAddExpR.RRUtGetPlayerGameFBDictByKeyRRR
tDef_PerPointValuetSetPlayerGameFBDictR#tfloatRRRRt PlayerSuccesstDoAddSuccessProgressRztSuccType_XMZZGetScoretSuccType_XMZZWinCntRRRuRGRBR*R$Rt
Over_scoretOver_extrScoret Over_extraExptOver_extraExpPointtOver_expt Over_expPointt Over_costTimet NotifyFBOverR R)RERt tttLeaveMapR t Def_LeaveTimeRR\R]RotGetTick(#R RÈRfR~taddScoretaddPerRÕtreExptwinAddExpFormulataddExptfailAddExpFormulaRÌR¯texptexpPointttotalExpt updTotalExptupdExpt updExpPointt addExtraExptextraExpt extraExpPointt extraTotalExptupdExtraTotalExpt updExtraExptupdExtraExpPointt
tatalScoretupdScoret addExtraScoret
extraScoret updExtraScoreRQtcurTimetcostTimetoverDict((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyRÏÙsl  
 
 
 
 
$cCs0tjƒjtƒ}tj|i|d6ƒdS(NtwinCnt(RRURuRRt Notify_FBHelp(R RR((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyRGsc    Csùtjƒj|ƒ}|j}|j}tjdƒ}t|ƒ|kr]tjd|ƒdSt    j
t j }tj ƒj|ƒd
krtjd|ƒdS|t|ƒ}ttjƒƒdd!}    |t|t}
} |
|    koò| kns tjd|ƒdS|t} | jƒ} | jƒtj ƒjt    jƒ}| d}x*| D]"}|t|ƒkrU|}PqUqUW| |}tj|tj|ƒs²tjd|ƒdSt|||gƒ}tjƒj|jƒddd    |t|ƒƒdS( Nt
XMZZBetCfgs.    ÏÉħ֮ÕùͶע XMZZBetTime ÅäÖÃÀïûÓÐË÷Òý %sis'    ÏÉħ֮ÕùͶע ²»ÔÚͶעʱ¼äÄÚ Ë÷Òý %si iiÿÿÿÿs    ÏÉħ֮ÕùͶע Ç®²»¹» Ë÷Òý %stXMZZBet(i(RR,tGetPlayerByIndextBetIndext    BetResultRˆR‰R+R`RztDef_Notify_WorldKey_FBFuncStateR
R RotGetGameWorldDictByKeytGetCurrentDataTimeStrt Bet_StartTimet Bet_EndTimet Bet_NeedMoneytkeystsortt"Def_Notify_WorldKey_WorldAverageLvR#R(t    HaveMoneyRtTYPE_Price_Silver_MoneyR-R.R/(tindext
clientDataRR tbetIndext    betResultt betTimeDicttkeytbetInfoRt    startTimetendTimet needMoneyDicttkeyListtworldLvtfindLvtlvt    needMoneyRJ((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt    OnXMZZBet/sB        
 
 
 
.cCstj|tj|ƒdS(N(R(tPayMoneyRR(R R(((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt DoXMZZBetCost]s(ARR(RRR
RˆRzRÂRÅRµR×R‹RÞRqR?R;RhR$tmathR3RCR‡RëRRtBet_ResultTimeRt FB_Step_OpenR„RWR]t FB_Step_CloseRRRRRRRRR RRRRR!RTRZRgR_RaR’RœR–RXR«R¬R°R³RÎRÑRÏRGR)R+(((sp.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_XMZZ.pyt<module>sl                                        
        
    ,                                            "                E        .