cehua_hzl
2019-01-21 4ed488f67bf433ab14825bd837b5c0ce410fc5d0
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
[\E\c@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZdZdZdZdZdZdZdZd    Ziad
„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,d„Z-d„Z.d„Z/d„Z0d„Z1e2d„Z3d„Z4d„Z5d„Z6d „Z7e2gd!„Z8d"„Z9d#„Z:e2d$„Z;d%„Z<d&„Z=d'„Z>d(„Z?d)„Z@dd*„ZAd+„ZBdS(,iÿÿÿÿNsFBDict_StartTick%ssFBDict_Speed%ssFBDict_RemainHP%stFBPlayerDict_EncourageLVt FBDict_IsOversFBDict_IsReduceing%stFBPlayerDict_RanksFBDict_BossTotalHP%scCst|ƒdS(N(tNotifyZXHelpCnt(t    curPlayer((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnFBPlayerOnLogin6s
cCs0tj|tjtjddƒƒt|ƒdS(NtZhuXianBossCntCfgi(t PlayerControltNomalDictSetPropertytChConfigtDef_PDict_ZhuXianBossHelpCntt IpyGameDataPYt
GetFuncCfgR(R((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnFBPlayerOnDay:s"
cCs5tjƒ}|jtjƒ|_tj||ƒdS(N(tChPyNetSendPackttagMCZhuXianBossCnttNomalDictGetPropertyR    R
tCntt NetPackCommont SendFakePack(RtpackData((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyR?s cCs£tjd|ƒ}|sdS|jƒ|jƒkr8dS|jtjtjƒ}|tj    krŸ|jtj
ƒsvdS|j ƒsŸt j d|jƒƒdSntS(Nt ZhuXianBosss    ÓйéÊô´ÎÊýΪµ«Ã»ÓнøÏÉÃË!(R tGetIpyGameDatatGetOfficialRankt
GetRealmLVRR    tDef_Player_Dict_EnterFbCntDaytDef_FBMapID_ZhuXianBosstFBCommontGetEnterFBMaxCntR
t GetFamilyIDt    GameWorldtDebugLogt GetPlayerIDtTrue(RtmapIDtlineIDtticktipyDatatenterCnt((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnEnterFBEventLs cCsvtjd|ƒ|sdSxTtd|jƒƒD]=}|j|ƒ}|jƒsXq1n|jƒ|kr1tSq1WdS(Ns'¼ì²é¸±±¾ÀïÊÇ·ñÓÐͬÃ˳ÉÔ± curFamilyID=%si(RtLogtrangetGetPlayerCounttGetPlayerByIndexR RR!(t curFamilyIDt playerManagertindextplayer((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytGetHasSameFamilyMerber`s cCs|S(N((RR"tlineIdtipyEnterPosInfoR$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnGetFBEnterPostscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnChangeMapAskscCsštjƒjƒd}t|ƒ}|s,dStj|}tjƒj|dƒtjd|ƒtj    d|ƒ}tjƒjt
||j ƒdƒdS(Nis    Ë¢BOSSbossID=%sRiè( Rt GetGameWorldt GetPropertyIDtCurFBLineBOSSIDt ShareDefinet'Def_Notify_WorldKey_GameWorldBossReborntSetGameWorldDictRR RtFBDict_BossTotalHPt GetKillTime(R$R#tbossIDtkeyR%((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnOpenFBˆs  $c    CsE|jƒ}tjƒjƒ}tjƒjƒd}tjƒjƒjƒ}tjd||f|ƒ|dkrƒt    j
|ƒdSt j |ƒ}|sçt j |ƒtjj|dƒtj|tjdtjƒt|dtƒnt|ƒtjƒ}|j|tƒ}|dkr1t j|t|ƒnt j||ƒdS(Nis"DoEnterFB...playerCnt=%s,lineID=%si(R RtGetMaptGetMapIDR8R9tGetMapCopyPlayerManagerR*RRt PlayerLeaveFBRtGetHadDelTickettSetHadDelTickett
PyGameDatatg_fbPickUpItemDicttpopt EventReportt WriteEvent_FBR    Rt CME_Log_StarttUpdateHurtInfoR!tUpdateHPReduceSpeedt    GetGameFBtGetPlayerGameFBDictByKeyRtAddFbEncourageBufftSendFBEncourageInfo(    RR$tplayerIDR"R#t    playerCntt hadDelTickettgameFBt encourageLV((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt    DoEnterFB˜s*    
  cCsitjƒ}|jƒd}|jt|dƒ|jt|dƒ|jt|dƒ|jdƒdS(Nii(RR8R9R=tFBDict_StartTickt FBDict_SpeedtFBDict_RemainHPt SetPropertyID(R$t    gameWorldR#((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt    OnCloseFB¿s  cCs¡tjƒ}tj||ƒ|jƒjƒdkr|jƒd}itj|<it    |<|j
t |dƒtj ƒj ƒtj|ƒdSt|tƒdS(Nii(RR8RtClearEncourageBuffRER*R9RItg_ZhuXianBossPlayerHurtDictt g_npcHurtDictR=R[RQtClearGameFBDicttGameWorldProcesstCloseFBRPR!(RR$R_R#((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoExitFBÍs  
  cCsxtj|dƒtjƒjƒd}tjj|iƒ}|j|j    ƒdƒ|tj|<|stt
||ƒndS(Nii( RRHRR8R9RIRbtgetRKR t StopReduceHP(RR$R#tplayerHurtDict((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoPlayerLeaveFBäs cCstj|dƒdS(Ni(RRH(R((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoPlayerChangeMapLogicðscCstS(N(R!(((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnPlayerReborn÷scCscg}tjƒjƒd}tjj|iƒjƒ}tj|iƒjƒ}||d }|jdd„dt    ƒxzt
|dƒD]i\}}|dd \}    }
i} || d<|    | d<|
t j | d    <|
t j | d
<|j | ƒq†Wt|ƒ} | r| dkri} | | d<|| d}|dd \}    }
|    | d<|
t j | d    <|
t j | d
<|j | ƒntjƒjt|ƒ} tjƒjt|ƒ}t||ƒ}t|ƒ}|rà| d |nd }|rtd |d |ƒnd }i|tj6|d6|d6|d6|d6}tjd||jƒƒtj||ƒdS(NiiRAcSs |ddS(Ni((tasd((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt<lambda>streverseitrankt
playerNamethurtthurtExi'iidthurtInfot hpReduceSpeedt remainHPPert isReduceings DoFBHelp: %s(RR8R9RIRbRhtitemsRctsortR!t    enumerateR    tDef_PerPointValuetappendt__GetSelfHurtRanktGetGameWorldDictByKeyR\tFBDict_IsReduceingtGetBossRemainHPt__GetBossTotalHPtminRt Help_lineIDRR t Notify_FBHelp(RR$RuR#tplayerHurtListt npcHurtListt syncHurtListtitinfoRrRsthurtDicttmyRanktcurSpeedRxtremainHPttotalHPRvRwt
fbHelpDict((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoFBHelpÿsD
 
 
 
 #,cCsw|jƒ}tjƒjƒd}t|ƒ}d}x<t|ƒD].\}}||ddkrA|d}PqAqAW|S(Nii(tGetNameRR8R9t__GetSortHurtListR{(RRrR#R†RŒR‰RŠ((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyR~'s  
cCs)|dkr%tj|t||ƒndS(Ni(RtFbEncourageBuffR(Rt
actionTypet
actionInfoR$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt
DoFBAction9s cCst||ƒdS(N(RO(RtcurNPCthurtHP((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoFB_Player_HurtNPCEs c    Cså|jtjtjƒ}|tjkr,dStjƒjƒd}|j    ƒ}|j
ƒ}|j ƒ}t j j|iƒ}||kr§|s‘dS|||g||<n||dc|7<|t j |<t|tjƒjƒƒdS(Ni(RR    RRRRRR8R9R’R RRIRbRht StartReduceHPtGetTick(    RR™tisAddR&R#RrRUtfamilyIDRj((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyROIs      cCsÛtjƒ}|jtƒ}|rY||tjkrYtjd||fƒtjƒdStj    ƒj
ƒ}tj ƒj ƒd}|dkr‘dStj ƒ}|j t|ƒ}|sºdStj|tdƒt|ƒdS(Ns)Ç¿ÖÆÌß³öÍæ¼Ò¹Ø±Õ¸±±¾: overTick=%s,tick=%siiiˆ(RRQtGetGameFBDictByKeyRR    tDef_FBPickupItemTimeR(RtDoLogic_FBKickAllPlayerRCRDR8R9RR[tNotifyCopyMapPlayerFBHelpR‘t __CheckBossHP(R$RXtoverTickR"R#R_t    startTick((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt    OnProcesscs" 
 
cCs:tjj|iƒ}t|jƒdd„dtƒ}|S(NRAcSs |ddS(Ni((Rn((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyRo}sRp(RIRbRhtsortedt    iteritemsR!(R#RjR†((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyR“{s!cCs&t|ƒ}|sdS|dddS(Ntii(R“(R#R†((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytGetFirstOwnerName€s c    Cs–tjƒ}tjƒjƒ}tjƒjƒd}tj||ƒd}t|ƒ}|sqtj    d|ƒdS|d}    |    d}
|    dd} tj
ƒ} | j |
ƒ} | rs| sÂ| rÞ| j ƒ| j ƒ}}nt| |d||tgƒ}|sT| jtjd|tƒidtj6|tj6}tj| tj|||ƒqä| jtjdtjtƒnqtj|
ƒ}|rä||tjkrättj|
|ggddgƒ}| j dddd|t!|ƒƒntj"||ƒ}|r’t!|ƒ}tj#|ƒ}xxt$d| j%ƒƒD]^}| j&|ƒ}|j'ƒ}|sZq-n||
krlq-n|j(ƒ| kr„q-n|j)tj*ƒ}|s¢q-ntj+|tj*|dƒt,|ƒ|jtjd|tƒidtj6|tj6}tj|tj|||ƒt-j.|tj/|ƒ}||krRtj0d|g|ƒq-x6|D].\}}}t1j2||||tj/gƒqYWq-WndS(    Niiès7 __DoLogicZhuXianBossOver£¬ É˺¦°ñÉÏûÓÐÈË£¡£¡lineID=%siitdropItemMapInfotAddUniversalGameRectZXBossHelperReward(3RRQRCRDR8R9RtGetFBLineStepTimeR“R(REtFindPlayerByIDtGetPosXtGetPosYtGiveZhuXianBossAwardR!t Sync_TimeTickR4t tttLeaveMapt    Over_rankt Over_itemInfot NotifyFBOverR    Rt tttPickupItemR RtGetPlayerLeaveServerTicktDef_PlayerOfflineProtectTimetstrR;t*Def_UniversalGameRecType_ZhuXianBossRecordtGameServer_QueryPlayerResulttlentGetFBLineRewardtGetJsonItemListR)R*R+R RRR
RRt
ItemCommontGetItemPackSpacetrptItemt SendMailByKeyt ItemControlertGivePlayerItem(tisPassR$tdropPosXtdropPosYRXR"R#t    leaveTickR†t firsthurtInfot firstPlayerIDtfirstPlayerFamilyIDR-t firstPlayert prizeItemListtoverDicttleaveServerTicktmsgStrt helpItemListt    needSpacet jsonItemListR.Rt curPlayerIDt    remainCntt    packSpacetitemIDt    itemCounttisBind((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt__DoLogicZhuXianBossOver‡sj  
 
 $%   
 *c
CsJd}g}i}t|ƒ}tj|tji||6ddd|d|ƒ\}}    }
xa|D]Y} d| kr|j| ƒq_| d| jddƒ} } |j| d    ƒ| || <q_Wtjd
|||    |
|f|j    ƒƒ|t
j |j ƒƒ}t j|tj||gƒt
j|tj|ƒtj|tj|ƒ|S( Nit mailTypeKeytZXBossBelongerRewardtisMailR«tUserDatatItemIDtCountisOÖïÏÉboss½áËã½±Àø: lineID=%s,bossID=%s,totalExp=%s,totalMoney=%s,jsonItemList=%s(R:t    NPCCommontGiveKillNPCDropPrizeR    RR}RhRRR RRÀRyt PlayerSuccesstDoAddSuccessProgressR;tSuccType_KillSpecificNPCtAddEnterFBCounttPlayerActivitytAddDailyActionFinishCnttDailyActionID_ZhuXianBoss(RR#RßR«taddCntt    equipListt prizeItemDictR@RÕttotalExpt
totalMoneytjsonItemRÙtitemCntRÏ((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.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è(#tGetTypeR    tDef_ItemType_MoneytGetIDRÁtCheckItemIsEquipt GetJsonItemRIRJR}tFalseRhR!RtGetMapItemManagertxrangetGetMapItemCounttGetMapItemByIndextIsEmptyt
GetOwnerIDR R8R9RR®RRQRRRR³R4R´RµR¶R·(RtcurItemR$t mapItemTypeRUtisEquipRñtisIntitemInfotplayerItemCounttmapItemManagerR.tmapItemtisItemAllPickUpRÇR#RÊRXRqRÕRÐ((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt OnPickUpItemæsN  2&   c Cs4tjƒ}|jtƒ}tjƒjƒd}| r0t||ƒdkr0t|ƒ}tj|ƒ}d\}}|r–|j    ƒ|j
ƒ}}nt j |t dƒtjd|ƒt|ƒ}|rú|ddd \}    }
tj||    |
ƒntj|dƒtd|||ƒ|jt|ƒndS(Niis½áÊø ÉèÖÃBOSSËÀÍö lineID=%si(ii(RRQRŸRR8R9RR:tFindNPCByNPCIDR°R±RR¢R‘RR“RãtGameServer_KillGameWorldBosstGameServe_GameWorldBossStateRÜt SetGameFBDict( R$RXtisOverR#R@tcurBossRÈRÉR†t
killerNamet    hurtValue((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyR£s&    c    Cs™tjƒ}|jƒjƒ}|r.|dn|}|dkrDdStjƒjƒd}|dkrjdSttdd|ddƒdƒ}|jt||ƒ|j    t
|ƒsºdS|j    t |ƒ}|j    t |ƒ}|j    t|ƒ}|s|}|}t |ƒ}ntdt|||d|ƒƒ}|jt ||ƒ|jt ||ƒtjd|||||fƒtj|tdƒdS(Niig{®Gáz´?gÍÌÌÌÌÌü?ièg@@s7    curSpeed=%s, remainHP=%s, passTime=%s, lastSpeed=%s(RR8RER*R9tintRƒR=R\RR€R[R]R‚tmaxRRR¢R‘(    R$tisExitR_RVR#RR¥RŽt    lastSpeed((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyRP5s2   %%!cCshtjƒ}|jt|ƒs#dSt||ƒ}|s<dS|jt|dƒ|jt||ƒdS(Ni(RR8RR€RR=R](R#R$R_RŽ((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyRiSs cCs…tjƒ}|jt|ƒr#dS|jt|dƒ|jt|ƒ}|sm|jt|t|ƒƒn|jt||ƒdS(Ni(RR8RR€R=R[R]R‚(R#R$R_R¥((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyR›_s cCstjƒjt|ƒS(N(RR8RR>(R#((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyR‚kscCs tjƒ}|jt|ƒ}|jt|ƒ}|jt|ƒ}|jt|ƒs\|S|sw|}t|ƒ}n%tdt    |||d|ƒƒ}|S(Nig@@(
RR8RR[R\R]R€R‚RR(R#R$R_R¥RRŽ((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyRns %cCs1t||ƒ}t|ƒ}|s%dS|d|S(Niid(RR‚(R#R$RŽR((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytGetBossRemainHPPer}s
 cCsa|dkr%tjƒjƒd}n|dkr5dStjd|ƒ}|sQdS|jƒ}|S(NiÿÿÿÿiiR(RR8R9R RtGetNPCID(R#R%R@((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyR:„s   cCsdS(N((R((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt DoPlayerDead•s(CRRR4ReR R    RIRRãRÁRR;t
EventShelltNPCCustomRefreshRåRéRRÅtPlayerMagicWeapontPlayerBossReborntPlayerFairyCeremonytPlayerWeekPartyRLR[R\R]RRR€RR>RcRR RR'R0R3R7RBRZR`RgRkRlRmR‘R~R—RšRùROR¦R“RªRÜR²R    R£RPRiR›R‚RRR:R(((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt<module>s‚                                                             '                         (                              A    2