CeHua_ZWJ
2018-11-22 f0a230af3a2f7e7a618de86fc9eedd3e01e43291
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
95
96
97
ÉkÐ[c@shddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZdZdZdZdZdZdZiad„Zd    „Zd
„Zd „Z d „Z!d „Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*e+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2e+e+gd„Z3d„Z4d„Z5e+d „Z6d!„Z7d"„Z8d#„Z9dd$„Z:d%„Z;d&„Z<d'„Z=dS((iÿÿÿÿNsFBDict_StartTick%ssFBDict_Speed%ssFBDict_RemainHP%stFBPlayerDict_EncourageLVt FBDict_IsOvertFBPlayerDict_RankcCsv|jtjƒ}tjdƒ}|rr||krr|jtj|ƒ}tj||ƒ}|d|krrtSnt    S(NtSealDemonNewbieLinei(
tNomalDictGetPropertytChConfigtDef_Player_Dict_FMTDoublet IpyGameDataPYtGetFuncEvalCfgtDef_Player_Dict_EnterFbCntDaytFBCommontGetEnterFBMaxCnttFalsetTrue(t    curPlayertmapIDtlineIDtticktIsDoubletnewbielineListtenterCnttmaxCnt((s.\\GameLogic_SealDemon.pytOnEnterFBEvent9scCs|S(N((RRtlineIdtipyEnterPosInfoR((s.\\GameLogic_SealDemon.pytOnGetFBEnterPosKscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((s.\\GameLogic_SealDemon.pytOnChangeMapAskXscCs»tjƒjƒ}|tjkr%dStjƒjƒd}t|ƒ}tj    |}tjƒj
|dƒtj d|ƒt j tj|ƒ}|r·x|D]}tj|ƒqWndS(Nis    Ë¢BOSSbossID=%s(t    GameWorldtGetMaptGetMapIDRtDef_FBMapID_SealDemonExt GetGameWorldt GetPropertyIDtCurFBLineBOSSIDt ShareDefinet'Def_Notify_WorldKey_GameWorldBossReborntSetGameWorldDicttDebugLogR
tGetFBLineRefreshNPCtDef_FBMapID_SealDemontNPCCustomRefreshtSetNPCRefreshByID(RRRtbossIDtkeyt refreshIDListt    refreshID((s.\\GameLogic_SealDemon.pytOnOpenFB_s   c Cs|jƒ}tjƒjƒ}|tjkrO|jtjƒ}tj    |ƒntj
ƒj ƒd}tj
ƒj ƒj ƒ}tjd||f|ƒ|dkr´tj|ƒdStj|ƒ}|s¼tj|ƒtjj|dƒ|dkr tjdƒ\}}tj|||ƒntj|tjdtjƒtjdƒ}    ||    krZnOtj|tj|ttjgƒ}
|
r©tjd||ƒtj|ƒdSt |dt!ƒnt"|ƒtj#ƒ} | j$|t%ƒ} | dkrtj&|t%|ƒntj'|| ƒdS(Nis"DoEnterFB...playerCnt=%s,lineID=%sitSealDemonFirstPosRs    ÒѽøÈë¹ý¸ÃÐÂÊÖÏß· %s((t GetPlayerIDRRR RR!RtDef_Player_Dict_ReqFBFuncLineR
tSetFBPropertyMarkR"R#tGetMapCopyPlayerManagertGetPlayerCountR(t PlayerControlt PlayerLeaveFBtGetHadDelTickettSetHadDelTickett
PyGameDatatg_fbPickUpItemDicttpopRRtResetPlayerPost EventReportt WriteEvent_FBR*t CME_Log_StarttGetDictValueByBitt"Def_Player_Dict_PlayerFBStar_MapIdR tUpdateHurtInfoR tUpdateHPReduceSpeedt    GetGameFBtGetPlayerGameFBDictByKeyRtAddFbEncourageBufftSendFBEncourageInfo( RRtplayerIDRRt    playerCntt hadDelTickettposXtposYRthasEntertgameFBt encourageLV((s.\\GameLogic_SealDemon.pyt    DoEnterFBvsF      $ 
  cCsitjƒ}|jƒd}|jt|dƒ|jt|dƒ|jt|dƒ|jdƒdS(Nii(RR"R#R'tFBDict_StartTickt FBDict_SpeedtFBDict_RemainHPt SetPropertyID(Rt    gameWorldR((s.\\GameLogic_SealDemon.pyt    OnCloseFB«s  cCsÅtjƒ}tj||ƒ|jƒjƒdkr´tjƒjƒ}|tj    kr´|j
ƒd}it j |<it |<|jt|dƒtjƒjƒtj|ƒdSnt|tƒdS(Nii(RR"R
tClearEncourageBuffR6R7RR RR!R#R<tg_sealDemonPlayerHurtDictt g_npcHurtDictR'RTRGtClearGameFBDicttGameWorldProcesstCloseFBRFR (RRRXRR((s.\\GameLogic_SealDemon.pytDoExitFB¹s  
  cCsbtj|dƒtjƒjƒd}tjj|iƒ}|j|j    ƒdƒ|tj|<dS(Nii(
R
R;RR"R#R<R[tgetR>R3(RRRtplayerHurtDict((s.\\GameLogic_SealDemon.pytDoPlayerLeaveFBÒs  cCstj|dƒdS(Ni(R
R;(R((s.\\GameLogic_SealDemon.pytDoPlayerChangeMapLogicÜscCstS(N(R (((s.\\GameLogic_SealDemon.pytOnPlayerRebornãscCs8g}tjƒjƒd}tjj|iƒjƒ}tj|iƒjƒ}||d }|jdd„dt    ƒxvt
|dƒD]e\}}|d\}    }
i} || d<|    | d<|
t j | d<|
t j | d    <|j | ƒq†Wt|ƒ} | rw| dkrwi} | | d<|| d}|d\}    }
|    | d<|
t j | d<|
t j | d    <|j | ƒntjƒjt|ƒ} t||ƒ}tƒ}|r¼| d
|nd }|rßtd |d |ƒnd }i|tj6|d 6|d6|d6}tjd||jƒƒtj||ƒdS(NiiR.cSs |ddS(Ni((tasd((s.\\GameLogic_SealDemon.pyt<lambda>óstreversetrankt
playerNamethurtthurtExi'iidthurtInfot hpReduceSpeedt remainHPPers DoFBHelp: %s(RR"R#R<R[RatitemsR\tsortR t    enumerateRtDef_PerPointValuetappendt__GetSelfHurtRanktGetGameWorldDictByKeyRUtGetBossRemainHPt__GetBossTotalHPtminR
t Help_lineIDR(R3t Notify_FBHelp(RRRmRtplayerHurtListt npcHurtListt syncHurtListtitinfoRjRkthurtDicttmyRanktcurSpeedtremainHPttotalHPRnRot
fbHelpDict((s.\\GameLogic_SealDemon.pytDoFBHelpësB
 
 
 
    #%cCsw|jƒ}tjƒjƒd}t|ƒ}d}x<t|ƒD].\}}||ddkrA|d}PqAqAW|S(Nii(tGetNameRR"R#t__GetSortHurtListRr(RRjRR|R‚RR€((s.\\GameLogic_SealDemon.pyRus  
cCs)|dkr%tj|t||ƒndS(Ni(R
tFbEncourageBuffR(Rt
actionTypet
actionInfoR((s.\\GameLogic_SealDemon.pyt
DoFBAction$s cCst||ƒdS(N(RE(RtcurNPCthurtHP((s.\\GameLogic_SealDemon.pytDoFB_Player_HurtNPC0s cCs¶tjƒjƒ}|tjkr%dStjƒjƒd}|jƒ}|jƒ}t    j
j |iƒ}||kr‘|s~dS||g||<n||dc|7<|t    j
|<dS(Ni( RRR RR!R"R#RˆR3R<R[Ra(RRtisAddRRRjRKRb((s.\\GameLogic_SealDemon.pyRE4s    cCs¸tjƒjƒd}|jƒ}t|ƒ}||kr>dStj|iƒ}||kr–|jƒjt    j
ƒj tj ƒƒ}||g||<n||dc|7<|t|<dS(Ni( RR"R#tGetNPCIDt__GetGuardNPCIDListR\RaRˆtdecodeR%tDef_Game_Character_EncodingtencodetGetCharacterEncoding(RŽttagNPCRRtnpcIDtguardNPCIDListt npcHurtDicttnpcName((s.\\GameLogic_SealDemon.pytDoFB_NPC_HurtNPCKs    '
cCspg}tjtj|ƒ}|rlxH|D]=}tjd|ƒ}|sLq(n|jƒ}|j|ƒq(Wn|S(NR+(R
R)RR*RtGetIpyGameDatatGetRefreshNPCIDRt(RRšR/R0tipyDataR™((s.\\GameLogic_SealDemon.pyR“\s  cCsîtjƒ}|jtƒ}|rY||tjkrYtjd||fƒtjƒdStj    ƒj
ƒ}|tj kr~dStj ƒj ƒd}|dkr¤dStj ƒ}|jt|ƒ}|sÍdStj|tdƒt|ƒdS(Ns)Ç¿ÖÆÌß³öÍæ¼Ò¹Ø±Õ¸±±¾: overTick=%s,tick=%siiiˆ(RRGtGetGameFBDictByKeyRRtDef_FBPickupItemTimetLogR
tDoLogic_FBKickAllPlayerRR R!R"R#RvRTtNotifyCopyMapPlayerFBHelpR‡t __CheckBossHP(RRQtoverTickRRRXt    startTick((s.\\GameLogic_SealDemon.pyt    OnProcessls& 
 
c
Cs¾tjƒ}|jtƒ}tjƒjƒd}tjdƒ}||k}| rºt||ƒdkrºt    |ƒ}t
|ƒ}tj |ƒ}d\}    }
|r½|j ƒ|j ƒ}    }
ntj|ƒtj|tdƒtjd|ƒt|ƒ} |s”| r0| dd\} } tj|| | ƒn|dg}tjƒjddddd|tt|ƒƒƒtj|}tjƒj|dƒntd||    |
ƒ|jt|ƒndS(NiRis½áÊø ÉèÖÃBOSSËÀÍö lineID=%stGameWorldBossStates%s(ii(RRGR¡RR"R#RRRwR“R$tFindNPCByNPCIDtGetPosXtGetPosYR
t
ClearFBNPCR¥R‡R(R‰t    NPCCommontGameServer_KillGameWorldBosstGetPlayerManagertGameServer_QueryPlayerResulttlentstrR%R&R't__DoLogicSealDemonOvert SetGameFBDict(RRQtisOverRRt isNewbieLineRšR-tcurBosstdropPosXtdropPosYR|t
killerNamet    hurtValuetmsgListtbosskey((s.\\GameLogic_SealDemon.pyR¦„s8         cCs:tjj|iƒ}t|jƒdd„dtƒ}|S(NR.cSs |ddS(Ni((Rf((s.\\GameLogic_SealDemon.pyRg©sRh(R<R[Ratsortedt    iteritemsR (RRbR|((s.\\GameLogic_SealDemon.pyR‰§s!c
Csëtjƒ}tjƒjƒ}tjƒjƒd}tj||ƒd}t|ƒ}tj    ƒ}    x‚t
|dƒD]q\}
} | d} |    j | ƒ} | rr|j | t |
ƒ| s¾| rÚ| jƒ| jƒ}}nt| ||
d||tgƒ}|sS| jtjd|tƒi|
tj6|tj6}tj| tj|||ƒqã| jtjdtjtƒqrtj| ƒ}|sqrn||tjkr¦qrnt| ||
gƒ}tj    ƒj dddd|t!|ƒƒqrWdS(NiièitdropItemMapInfot SealDemonOver("RRGRR R"R#R
tGetFBLineStepTimeR‰R±RrtFindPlayerByIDtSetPlayerGameFBDictRR¬R­tGiveSealDemonAwardR t Sync_TimeTickRt tttLeaveMapt    Over_rankt Over_itemInfot NotifyFBOverRR*t tttPickupItemR¢R8tGetPlayerLeaveServerTicktDef_PlayerOfflineProtectTimeR´R²R³(tisPassRRºR»RQRRt    leaveTickR|t playerManagerRiRmRKRt prizeItemListtoverDicttmsgStr((s.\\GameLogic_SealDemon.pyRµ¬s6   
!,c Cstjdƒ}||k}d}d}    |r^tj|tj|ttjgƒ}
|
r¡iSnC|rhiS|dkrzdnd}|jtj    ƒ} | r¡d}    ng} i} t
|ƒ}t j |tji|    |6ddd|d|d|ƒ\}}}xa|D]Y}d    |kr"| j |ƒq|d
|jd dƒ}}| j|d ƒ|| |<qWtjd ||||||f|jƒƒ| tj| jƒƒ}|dkrÇtj|tj|    ƒntj|tj|    ƒtj|tj|    |gƒtjdƒ}tj|tj|dttjgƒ||krOtj|tjƒntj|tj|    ƒtj|tj|    ƒt j!|d|dƒt j!|dƒ|dkrË|dkrËt j"|ƒnt#j$|tj%|    t&ƒt'j(|tj)|    ƒt*j+|tj,|    ƒ|S(NRiit mailTypeKeyt SealDemonMailtisMailt prizeMultipleRÂtUserDatatItemIDtCountisU·âħ̳½áËã½±Àø: lineID=%s,bossID=%s,rank=%s,totalExp=%s,totalMoney=%s,jsonItemList=%ss sealdemon_%st sealdemon_0i(-RRRRCRRDR R*RRR$R¯tGiveKillNPCDropPrizeRtRaR(R3R
tGetJsonItemListRpt PlayerSuccesstDoAddSuccessProgressR%tSuccType_FMTFirsttSuccType_SealDemontSuccType_KillSpecificNPCtSetDictValueByBittSync_FBPlayerFBInfoDatatAddEnterFBCounttPlayerActivitytAddDailyActionFinishCnttDailyActionID_SealDemont
EventShelltEventRespons_FBEventtEventRespons_SealDemontPlayerMagicWeapontSetMWPrivilegeDatatMWPrivilege_SealDemonAddAttrR tPlayerBossReborntAddBossRebornActionCntt Def_BRAct_FMTtPlayerFairyCeremonytAddFCPartyActionCntt Def_PPAct_FMT(RRRiRØt isClientSendRÂRR¸RÙtaddCntRPtisDoublet    equipListt prizeItemDictR-t jsonItemListttotalExpt
totalMoneytjsonItemtitemIDtitemCntRÓ((s.\\GameLogic_SealDemon.pyRÇÏs\ $           # % cCsr|jƒ}|tjkrdS|jƒ}tj|ƒ}tj|ƒ}|tjkr|rutj|j    |ƒq%t
}xwtj|D]h}|d|dkr‰|j dƒ|j dƒkr‰|j ddƒ|j ddƒ|d<t }Pq‰q‰W|s%tj|j    |ƒq%n|gtj|<d}    t jƒ}
xgt|
jƒƒD]S} |
j| ƒ} | sJ| jƒrxqJn| jƒ|jƒkrJ|    d7}    qJqJW|    dk} | s·dSd}t jƒjƒd}tjtj|ƒd}t jƒ}|j|tƒ}tjj |gƒ}|jtjd|t ƒi|tj 6|tj!6}tj"|tj|||ƒdS(NRÛtIsBindRÜiiiè(#tGetTypeRtDef_ItemType_MoneytGetIDt
ItemCommontCheckItemIsEquipt GetJsonItemR<R=RtR RaR RtGetMapItemManagertxrangetGetMapItemCounttGetMapItemByIndextIsEmptyt
GetOwnerIDR3R"R#R
RÄR*RGRHRRÈRRÉRÊRËRÌ(RtcurItemRt mapItemTypeRKtisEquipRÿtisIntitemInfotplayerItemCounttmapItemManagertindextmapItemtisItemAllPickUpRÐRRÑRQRiRüRÔ((s.\\GameLogic_SealDemon.pyt OnPickUpItemsN  2&   c     Cstjd|||f|jƒƒ|d \}}t|||tt|jƒ|jƒtgƒ}|dkršt|ƒ}t    j
||j ƒ|tƒn|s)t j ||ƒd}tjd||f|jƒƒ|jtjd|tƒi|t j6|t j6}    t j|tj|d|    ƒdStjƒ}
tjƒjƒ} |
jt| ƒ|
j|jƒt|ƒ|jtjdtjtƒdS(Ns7·âħ̳ ¿Í»§¶Ë¸±±¾·¢ËͽáÊømapID=%s,lineID=%s,dataList=%siiiès-ûÓн±Àø£¬Ö±½Ó֪ͨǰ¶Ë½áËã!mapID=%s,lineID=%si( RR(R3RÇR R R¬R­R$R¯R°RˆR
RÄR£RÈRRÉRÊRËRÌRR*RGR"tGetTickR¶RRÆRRÍR¢( RRRtdataListRiRkRÓR-RÑRÔRQR((s.\\GameLogic_SealDemon.pyt OnClientEndFBPs&#0    c
Csªtjƒjƒ}|tjkr%dStjƒjƒjƒ}|rM|dn|}|dkrcdStjƒjƒd}|dkr‰dStjƒ}|j    t
|ƒ}|j    t |ƒ}|j    t |ƒ}t tdd|ddƒdƒ}    |s|}|    }tƒ}ntdt |||d|ƒƒ}|jt
||ƒ|jt ||    ƒ|jt ||ƒtjd|    ||||fƒtj|tdƒdS(Niig{®Gáz´?gÍÌÌÌÌÌü?ièg@@s7    curSpeed=%s, remainHP=%s, passTime=%s, lastSpeed=%s(RRR RR!R"R6R7R#RvRTRURVtintRyRxtmaxR'R(R
R¥R‡(
RtisExitRRLRRXR¨t    lastSpeedR„Rƒ((s.\\GameLogic_SealDemon.pyRFis4   % %!cCsLtjƒjƒd}t|ƒ}tjd|ƒ}|s>dS|jƒdS(Nit    SealDemoniiè(RR"R#R$RRžt GetKillTime(RR-R ((s.\\GameLogic_SealDemon.pyRx…s  cCs†tjƒ}|jt|ƒ}|jt|ƒ}|jt|ƒ}|s]|}tƒ}n%tdt|||d|ƒƒ}|S(Nig@@(    RR"RvRTRURVRxRR(RRRXR¨R R„((s.\\GameLogic_SealDemon.pyRws  %cCs.t||ƒ}tƒ}|s"dS|d|S(Niid(RwRx(RRR„R…((s.\\GameLogic_SealDemon.pytGetBossRemainHPPeršs
    cCsh|dkr%tjƒjƒd}n|dkr5dStjdi|d6ƒ}|sXdS|jƒ}|S(NiÿÿÿÿiiR!tLineID(RR"R#RtGetIpyGameDataByConditionR’(RR R-((s.\\GameLogic_SealDemon.pyR$¡s   cCsdS(N((R((s.\\GameLogic_SealDemon.pyt DoPlayerDead²scCsttjƒj|ƒ}tjƒjƒtjkr4dStj|tj    ƒsMdSt
j |tj |j ƒt|ƒdS(N(RR±tGetPlayerByIndexRR RR*t    PlayerViptGetPrivilegeValuetVIPPrivilege_FMTDoubleR8tNomalDictSetPropertyRRtNotifyFMTDouble(t playerIndext
clientDataRR((s.\\GameLogic_SealDemon.pyt SetFMTDouble½s
cCs5tjƒ}|jtjƒ|_tj||ƒdS(N(tChPyNetSendPackttagMCFMTDoubleStateRRRRt NetPackCommont SendFakePack(RtpackData((s.\\GameLogic_SealDemon.pyR,Çs (>R
RRR^RRR<R8R¯RR0R%RëR+RàRèR2R(RîRñRôR@RTRURVRRRR\RRRR1RSRYR`RcRdReR‡RuRRR RERR“R©R¦R‰RµRÇRRRFRxRwR#R$R&R/R,(((s.\\GameLogic_SealDemon.pyt<module>sx                                           5            
            '                              #        #P    1