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
64
65
66
67
68
69
70
ˆv ]c@s)ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZdZdZdZiad„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„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„Z-e(gd„Z.d„Z/d„Z0d„Z1d „Z2d!„Z3dd"„Z4d#„Z5d$„Z6d%„Z7dS(&iÿÿÿÿNtFBPlayerDict_EncourageLVt FBDict_IsOvertFBPlayerDict_RankcCst|ƒdS(N(tNotifyZXHelpCnt(t    curPlayer((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnFBPlayerOnLogin,s
cCs0tj|tjtjddƒƒt|ƒdS(NtZhuXianBossCntCfgi(t PlayerControltNomalDictSetPropertytChConfigtDef_PDict_ZhuXianBossHelpCntt IpyGameDataPYt
GetFuncCfgR(R((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnFBPlayerOnDay0s"
cCs5tjƒ}|jtjƒ|_tj||ƒdS(N(tChPyNetSendPackttagMCZhuXianBossCnttNomalDictGetPropertyR    R
tCntt NetPackCommont SendFakePack(RtpackData((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyR5s cCs¯tjd|ƒ}|sdS|jƒ|jƒkr8dS|jtjtjƒ}|tj    |tjƒkr«|jtj
ƒs‚dS|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.pytOnEnterFBEventBs 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.pytGetHasSameFamilyMerberTs cCs|S(N((RR"tlineIdtipyEnterPosInfoR$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnGetFBEnterPoshscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnChangeMapAskuscCsdS(N((R$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytOnOpenFB|sc    Cs[|jƒ}tjƒjƒd}tjƒ}tjƒjƒjƒ}tjd||f|ƒ|jt    ƒ}|dks|r’t
j |ƒdSt j |ƒ}|st j|ƒtjj|dƒtj|dƒtj|tjdtjƒt|dtƒn|j|tƒ}|dkr:t j|t|ƒnt j||ƒt||ƒdS(Nis"DoEnterFB...playerCnt=%s,lineID=%si(R Rt GetGameWorldt GetPropertyIDt    GetGameFBtGetMapCopyPlayerManagerR*RtGetGameFBDictByKeyRRt PlayerLeaveFBRtGetHadDelTickettSetHadDelTickett
PyGameDatatg_fbPickUpItemDicttpoptg_heroHurtDictt EventReportt WriteEvent_FBR    Rt CME_Log_StarttUpdateHurtInfoR!tGetPlayerGameFBDictByKeyRtAddFbEncourageBufftSendFBEncourageInfotDoFBHelp(    RR$tplayerIDR#tgameFBt    playerCnttoverTickt hadDelTickett encourageLV((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt    DoEnterFB„s,      cCs:tjƒ}|jƒd}itj|<|jdƒdS(Nii(RR9R:RAtg_ZhuXianBossPlayerHurtDictt SetPropertyID(R$t    gameWorldR#((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt    OnCloseFB«s
   cCs tjƒ}tj||ƒdS(N(RR9RtClearEncourageBuff(RR$RV((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoExitFB¶s cCsbtj|dƒtjƒjƒd}tjj|iƒ}|j|j    ƒdƒ|tj|<dS(Nii(
RR@RR9R:RARTtgetRCR (RR$R#tplayerHurtDict((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoPlayerLeaveFBÀs  cCstj|dƒdS(Ni(RR@(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Ñsc CsitjƒjtƒrdSg}tjƒjƒd}tjj|iƒj    ƒ}|d }|j
dd„dt ƒxzt |dƒD]i\}}|dd \}}    i}
||
d<||
d<|    t j|
d    <|    t j|
d
<|j|
ƒqƒWtj|jƒd ƒ} i|tj6|d 6| t jd 6| t jd6} tjd| |jƒƒtj|| ƒdS(NiitkeycSs |ddS(Ni((tasd((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt<lambda>âstreverseitrankt
playerNamethurtthurtExithurtInfotmyHurttmyHurtExs DoFBHelp: %s(RR;R=RR9R:RARTRZtitemstsortR!t    enumerateR    tDef_PerPointValuetappendRDtGetIDRt Help_lineIDRR t Notify_FBHelp( RR$RgR#tplayerHurtListt syncHurtListtitinfoRdRethurtDictRht
fbHelpDict((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyRLÙs,
 
 
cCsw|jƒ}tjƒjƒd}t|ƒ}d}x<t|ƒD].\}}||ddkrA|d}PqAqAW|S(Nii(tGetNameRR9R:t__GetSortHurtListRl(RRdR#RrtmyRankRtRu((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt__GetSelfHurtRank÷s  
cCs)|dkr%tj|t||ƒndS(Ni(RtFbEncourageBuffR(Rt
actionTypet
actionInfoR$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt
DoFBAction    s cCst||ƒdS(N(RH(RtcurNPCthurtHP((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoFB_Player_HurtNPCs c    Csò|jƒ}tj|dƒ|t|<|jtjtjƒ}|tj|tjƒkr^dSt    j
ƒj ƒd}|j ƒ}|j ƒ}tjj|iƒ}||krÍ|s·dS|||g||<n||dc|7<|tj|<dS(Nii(R RDRZRR    RRRRRR9R:RxRRART(    RRtisAddRMR&R#RdtfamilyIDR[((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyRHs      cCs tjƒ}|jtƒ}|rY||tjkrYtjd||fƒtjƒdStj    ƒj
ƒd}|dkrdS|r‰dStj |t dƒdS(Ns)Ç¿ÖÆÌß³öÍæ¼Ò¹Ø±Õ¸±±¾: overTick=%s,tick=%siiiˆ( RR;R=RR    tDef_FBPickupItemTimeR(RtDoLogic_FBKickAllPlayerR9R:tNotifyCopyMapPlayerFBHelpRL(R$RNRPR#((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt    OnProcess5s 
 cCs:tjj|iƒ}t|jƒdd„dtƒ}|S(NR_cSs |ddS(Ni((R`((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyRaLsRb(RARTRZtsortedt    iteritemsR!(R#R[Rr((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyRyJs!cCs&t|ƒ}|sdS|dddS(Ntii(Ry(R#Rr((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytGetFirstOwnerNameOs c    Cs|tjƒ}tjƒjƒ}tjƒjƒd}tj||ƒd}t|ƒ}|sqtj    d|ƒdS|d}    |    d}
|    dd} tj
ƒ} | j |
ƒ} | r‰|j |
t dƒ| sÕ| rñ| jƒ| jƒ}}nt| |d||ttgƒ}|sj| jtjd|tƒidtj6|tj6}tj| tj|||ƒq| jtjdtjtƒnwtj|
ƒ}|r||tjkrtt j!|
|ggddgƒ}tj"ƒj#dddd|t$|ƒƒntj%||ƒ}|rxtj&|ƒ}xNt'd| j(ƒƒD]4}| j)|ƒ}|j*ƒ}|sjq=n||
kr|q=n|jtjd|tƒ|j+tj,ƒ}|j-ƒ| krE|rEtj.|tj,|dƒt/|ƒt0j1||dƒidtj6|tj6}tj|tj|||ƒt2j3|t j4dƒq=idtj6}tj|tj|d|ƒq=WndS(    Niiès7 __DoLogicZhuXianBossOver£¬ É˺¦°ñÉÏûÓÐÈË£¡£¡lineID=%siitdropItemMapInfotAddUniversalGameRectZXBossHelperReward(5RR;tGetMaptGetMapIDR9R:RtGetFBLineStepTimeRyR(R<tFindPlayerByIDtSetPlayerGameFBDictRtGetPosXtGetPosYtGiveZhuXianBossAwardR!t Sync_TimeTickR4t tttLeaveMapt    Over_rankt Over_itemInfot NotifyFBOverR    Rt tttPickupItemR…RtGetPlayerLeaveServerTicktDef_PlayerOfflineProtectTimetstrt ShareDefinet*Def_UniversalGameRecType_ZhuXianBossRecordtGetPlayerManagertGameServer_QueryPlayerResulttlentGetFBLineRewardtGetJsonItemListR)R*R+R RR
RRRt ItemControlertGivePlayerItemOrMailtPlayerActivitytAddDailyActionFinishCnttDailyActionID_LeiFaBoss(tisPassR$tdropPosXtdropPosYRNR"R#t    leaveTickRrt firsthurtInfot firstPlayerIDtfirstPlayerFamilyIDR-t firstPlayert prizeItemListtoverDicttleaveServerTicktmsgStrt helpItemListt jsonItemListR.Rt curPlayerIDt    remainCnt((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt__DoLogicZhuXianBossOverVsb  
 
 !$+  
#c
Cs`d}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|ƒtj|tj|ƒ|S( Nit mailTypeKeytZXBossBelongerRewardtisMailRtUserDatatItemIDtCountisOÖïÏÉboss½áËã½±Àø: lineID=%s,bossID=%s,totalExp=%s,totalMoney=%s,jsonItemList=%s(tCurFBLineBOSSIDt    NPCCommontGiveKillNPCDropPrizeR    RRnRZRRR RR§Rjt PlayerSuccesstDoAddSuccessProgressR¡tSuccType_KillSpecificNPCtAddEnterFBCountRªR«R¬tPlayerActLogintAddLoginAwardActionCnttDef_LoginAct_ZhuXianBOSS(RR#RÀRtaddCntt    equipListt prizeItemDicttbossIDRºttotalExpt
totalMoneytjsonItemtitemIDtitemCntRµ((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_MoneyRot
ItemCommontCheckItemIsEquipt GetJsonItemRARBRntFalseRZR!RtGetMapItemManagertxrangetGetMapItemCounttGetMapItemByIndextIsEmptyt
GetOwnerIDR R9R:RR’RR;RIRR˜R4R™RšR›Rœ(RtcurItemR$t mapItemTypeRMtisEquipRÔtisIntitemInfotplayerItemCounttmapItemManagerR.tmapItemtisItemAllPickUpR­R#R°RNRcRºR¶((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt OnPickUpItem°sN  2&   cCst||ƒdS(N(t__FBNPCOnKilled(tattackerR€R$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoFB_Npc_KillNPCás cCst||ƒdS(N(Rî(RR€R$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoFB_Player_KillNPCäs c    Csòtjƒjƒd}t|ƒ}|jƒ|kr8dS|jƒ|jƒ}}tj|t    dƒtj
d|ƒt |ƒ}|rµ|ddd \}}t j |||ƒnt j|dƒtd|||ƒtjƒjt|ƒdS(Niis½áÊø ÉèÖÃBOSSËÀÍö lineID=%si(RR9R:RÄtGetNPCIDR•R–RR‡RLRRyRÅtGameServer_KillGameWorldBosstGameServe_GameWorldBossStateR½R;t SetGameFBDictR(    R€R$R#RÑR®R¯Rrt
killerNamet    hurtValue((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyRîés  cCsFt|ƒ}tj||ƒ}|s(dStj|ƒdtj|ƒS(Nid(RÄRtFindNPCByNPCIDExtGameObjtGetHPtGetMaxHP(t    copyMapIDt
funcLineIDR$RÑtcurBoss((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytGetBossRemainHPPers
 cCsa|dkr%tjƒjƒd}n|dkr5dStjd|ƒ}|sQdS|jƒ}|S(NiÿÿÿÿiiR(RR9R:R RRò(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 DoPlayerDeadscCs|jƒ}|jƒ}tjƒ}|jƒd}|tjkr™|jƒt|ƒkr™tj    j
|iƒs™|tj kr’t j |dƒntSntS(NitTryEnterJadeDynastyBossError_7(tGetGameObjTypeRR9R:R4tgotNPCRòRÄRARTRZt    gotPlayerRt
NotifyCodeRÝR!(Rïtdefendert
atkObjTypet
defObjTypeRVR#((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytCheckCanAttackTagObjInFBs   'cCstS(N(R!(tatkobjRR$((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pytDoFBOnKill_Player1s(8RRR4RªR R    RARRÅRÚRR¡RÇRùRR¨RËRERRRRDRR RR'R0R3R7R8RSRWRYR\R]R^RLR{RR‚RÝRHRˆRyRŒR½R—RíRðRñRîRÿRÄRR    R (((sw.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianBoss.pyt<module>sl                                                        '         
    
                                          ;    1