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
71
72
73
gFÅbc@seddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZdZdZdZdZdZedƒ\ZZedƒ\ZZZZ 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„Z7d„Z8d „Z9d!„Z:d"„Z;d#„Z<dd$„Z=d%„Z>d&„Z?d'„Z@dS((iÿÿÿÿNtFBPlayerDict_EncourageLVt FBDict_IsOvertFBDict_EncourageCnttMap_FB_StartTicktMap_SightLevelCounteriicCsdS(N((t    curPlayer((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytOnFBPlayerOnLogin=scCsdS(N((R((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytOnFBPlayerOnDayBscCs!|jƒstjdƒtStS(NsOnEnterFBEvent not family!(t GetFamilyIDt    GameWorldtDebugLogtFalsetTrue(RtmapIDtlineIDttick((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytOnEnterFBEventMs  cCs|S(N((RR tlineIdtipyEnterPosInfoR((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytOnGetFBEnterPos[scCsdS(N((R((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt    OnCanOpenbscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytOnChangeMapAskjscCsCtjƒjƒd}t|ƒ}|s,dStjd|gƒdS(Niie(R    t GetGameWorldt GetPropertyIDtCurFBLineBOSSIDtNPCCustomRefresht SetNPCRefresh(RRtbossID((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytOnOpenFBrs  cCsÞtjƒjƒ}|tjkr%dStjd|ƒ|rƒtjƒjtƒsjtjƒj    t|ƒntjƒj    t
dƒnWtjƒj    tdƒtj ƒj t ƒsÚtj ƒjt |ƒtd|ddƒndS(Ns#    ¶àÏÉÃËBOSS»î¶¯×´Ì¬±ä¸ü state=%si(R    tGetMaptGetMapIDtChConfigtDef_FBMapID_AllFamilyBossR
RtGetGameWorldDictByKeyRtSetGameWorldDictRt    GetGameFBtGetGameFBDictByKeyRt SetGameFBDictt__DoLogicAllFamilyBossOver(tstateRR ((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytOnAllFamilyBossStateChange{scCsStjƒjƒ}tjƒjtƒ}tdtj|ƒt    d||ƒ}|S(Niiè(
R    R R!RR$RtmaxtFBCommontGetFBLineStepTimet Def_BossTime(RR t    startTicktcloseFB_RemainTick((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt__GetRemainTicks(cCsõ|jƒ}tjƒjƒd}tjƒjƒjƒ}tjd||f|ƒ|jƒ}tjƒj    ƒ}t
j |ƒ}|slt
j |ƒt
j |tjdƒtj|tjdƒtj|tjdƒtj|tjdƒtj|tjdƒtj|tjdƒt j|tjdƒ|t!krMt
j"t#|ƒnt$j%|tjdtj&ƒn|t'kr‰t(j)|ƒdSt*j+ddƒ}tjƒj,t-ƒd}    tjƒj.t-|    ƒ|    d|d}
t(j/||
ƒtjd|    |
f|ƒ|t0j1kr7|j2ƒd|ggt0j1|<n2|t0j1|dkrit0j1|dj3|ƒntjƒ} | j4|t5ƒ} | dkr¬t
j6|t5||ƒnt
j7|| |ƒt8|ƒ} |j9t:j;d| t<ƒt=||ƒdS(Nis"DoEnterFB...playerCnt=%s,lineID=%sitLeagueBOSSSighti
s!counter=%s,SetPlayerSightLevel=%si(>t GetPlayerIDR    RRtGetMapCopyPlayerManagertGetPlayerCountR
RR&t    GetFBStepR-tGetHadDelTickettSetHadDelTickettAddEnterFBCountR"R#tPlayerActivitytAddDailyActionFinishCntt ShareDefinetDailyActionID_FamilyBoss1tPlayerBossReborntAddBossRebornActionCnttDef_BRAct_FamilyBosstPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_FamilyBosstPlayerFeastTraveltAddFeastTravelTaskValuetDef_FeastTravel_FamilyBosstPlayerFairyCeremonytAddFCPartyActionCnttDef_PPAct_FamilyBosstPlayerNewFairyCeremonyt FB_Step_Opent    SetFBSteptFB_Step_Fightingt EventReportt WriteEvent_FBt CME_Log_Startt FB_Step_Overt PlayerControlt PlayerLeaveFBt IpyGameDataPYt
GetFuncCfgR$RR%tSetPlayerSightLevelt
PyGameDatatg_allfamilyBossDictt GetFamilyNametappendtGetPlayerGameFBDictByKeyRtAddFbEncourageBufftSendFBEncourageInfoR2t Sync_TimeTickRt tttTowerTakeR tDoFBHelp(RRtplayerIDRt    playerCnttfamilyIDtfbStept hadDelTickettsightPlayerCounttcountert
sightLeveltgameFBt encourageLVR1((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt    DoEnterFB˜sR      "    cCs&tjƒ}|jdƒit_dS(Ni(R    Rt SetPropertyIDRXRY(Rt    gameWorld((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt    OnCloseFBÒs      cCstj||ƒdS(N(R-tClearEncourageBuff(RR((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytDoExitFBÞs
cCsktjj|jƒgƒ}|rg|jƒ}||dkrg|dj|ƒtj|tdƒqgndS(Nii(    RXRYtgetRR4tremoveR-tNotifyCopyMapPlayerFBHelpRa(RRtfamilyHurtInfoRb((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytDoPlayerLeaveFBñs cCstS(N(R (((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytOnPlayerRebornscCs¥tjƒjtƒrdSg}tƒ}|jƒ}d\}}}x¿t|dƒD]®\}}    |    d}
|    dd \} } } ||
kr©|| t| ƒ}}}n|dkrSi}||d<| |d<| tj    |d<| tj    |d<|j
|ƒqSqSWt d|ƒ}|j ƒ}tjƒj |tƒ}i|d6|d    6|d
6|tj    d 6|tj    d 6|d 6|d6}tjd||ƒtj||ƒdS(Niiitrankt
playerNamethurtthurtExthurtInfot IsEncouraget remainHPPertmyHurttmyHurtExtmyRankt myMenberCnts DoFBHelp: %s(iii(R    R&R'Rt__GetSortHurtListRt    enumeratetlenR"tDef_PerPointValueR[tGetBossRemainHPPerR4R\RR
R-t Notify_FBHelp(RRR|tfamilyHurtListt
myFamilyIDRRR‚titinfoRdtnameRzt
menberListthurtDictR~RbR}t
fbHelpDict((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyRas6     
 
 
 c Cs|dkrþ|jƒ}tjƒ}tjddƒ}|j|tƒ}||krltjd||ƒdStj    |t
|||j ƒƒrþ|j |t|dƒtj dƒ}g|D]\}    }
|    |
dg^qº} tj|| ƒt||ƒqþndS(NitLeagueBOSSReward1isÖ»ÄܹÄÎè%s´Î£¡i(tGetIDR    R&RURVR\RR
R-tFbEncourageBuffRRtSetPlayerGameFBDicttGetFuncEvalCfgt ItemControlertGivePlayerItemOrMailRa( Rt
actionTypet
actionInfoRRbRjtmaxEncourageCnttcurEncourageCnttitemListtitemIDtitemCntt giveItemList((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt
DoFBAction.s    !(cCst||ƒdS(N(tUpdateHurtInfo(RtcurNPCthurtHP((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytDoFB_Player_HurtNPCFs cCsG|jƒ}|tjkr,tjdƒdStj|dc|7<dS(Ns-PyGameData.g_allfamilyBossDict Ã»ÓиüÒ×壡£¡i(RRXRYR    R
(RR£tisAddRd((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyR¡Ls   cCs,tjƒ}tjƒ}|jtƒ}|jƒ}|jƒd}|dkrSdS|tkrütjƒj    ƒ}t
j ||ƒt d}|tjƒj ƒ|kr(tjd||fƒ|jtjtjdƒtj|ƒt
jt|ƒdSn,|tkr(|rdSt
j|tdƒndS(Niiiès)Ç¿ÖÆÌß³öÍæ¼Ò¹Ø±Õ¸±±¾: overTick=%s,tick=%siˆ(R    R&RR'RR7RRRR R!R-R.t Def_LeaveTimet GetFBStepTicktLogR%R=tDef_Notify_WorldKey_FBCanEnterR"R#tGameWorldProcesstCloseFBRMt FB_Step_CloseRNRtRa(RRjRntoverTickReRR t    leaveTick((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt    OnProcess[s*       cCs(ttjjƒdd„dtƒ}|S(NtkeycSs |ddS(Ni((tasd((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt<lambda>wstreverse(tsortedRXRYt    iteritemsR (tplayerHurtList((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyRƒvs$c# Csçtjt|ƒtgƒ}tjƒjdddd|t|ƒƒtjƒj    ƒ}tj
ƒj ƒd}tj ||ƒt d}tƒ}|s¦tjdƒdStjƒ}    |rstj
ƒjtjƒ}
i} ggggf\} } }}dtig}tjdƒ}tjddƒ}t|ƒ}xñt|dƒD]à\}}|d}|dd}t|ƒ}t|||
ƒ\}}tjd    ||
|||f|ƒg}i|tj6t|ƒd
6}|r||ksì||kr||g| |<|}tj|ƒ|d <n|r7tj|ƒ|tj<ng}xœ|D]”}|    j|ƒ}|rÂ|rŠtj|||||td |ƒn|j t!j"d|t#ƒtj$|t%j&|||ƒqD|rD|j'|ƒqDqDW|r@| j'|ƒ| j'|ƒ|j'gƒ|j'i|d 6ƒq@q@W| rIt(j)d| | |d|ƒn| rãtjd| ƒt*j+| ƒqãnp|    j,ƒ} xat-| ƒD]S}!|    j.|!ƒ}"|"s­qŒn|"j t!j"d|t#ƒtj$|"t%j&||ƒqŒWdS(NitAllFamilyBossOveriiès9 __DoLogicAllFamilyBossOver£¬ É˺¦°ñÉÏûÓÐÈË£¡£¡lineID=%st AllFamilyBosstLeagueBOSSNumber1isJrank=%s,worldLV=%s,familyAuctionItemList=%s,menberItemList=%s,memberCnt=%st    memberCntt AuctionItemt LeagueBOSS1Rxt LeagueBOSS2t batchDetailsfamilyAuctionItemDict=%s(/R-RMRRtstrR    tGetPlayerManagertGameServer_QueryPlayerResultR…R R!RRR.R¦RƒR¨R5R$R=t"Def_Notify_WorldKey_WorldAverageLvR RURVRR„t__GetFamilyBossAwardt    Over_ranktGetJsonItemListt Over_itemInfotFindPlayerByIDt    NPCCommontDoGiveItemByVirtualDropR_Rt tttLeaveMapR t NotifyFBOverR"R#R[RSt SendMailBatchtPlayerAuctionHousetDoAddFamilyAuctionItemR6txrangetGetPlayerByIndex(#tisPassRtdropPosXtdropPosYtmsgStrR RR®R¶t playerManagertworldLVtfamilyAuctionItemDicttbatchPlayerIDListtbatchAddItemListtbatchParamListtbatchDetailListteventt needMemberCntt unlimitRankRRxR|Rdt memberIDListRºtfamilyAuctionItemListtmenberItemListtextraVirtualItemListtoverDicttmailPlayerIDListtmemberIDtmembert playerCounttindexR((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyR){sz (       
 # %    cCs3gg}}g}i}tjd|ƒ}|s;||fSxŠ|D]‚}|jƒ}    ||    dksB||    dkrzqBn|jƒ}
||
dksB||
dkr¬qBn|jƒ}|jƒ}qBW| r÷| r÷tjd||fƒ||fSxŒ|D]„\} } tj| dƒs"qþnt    | ƒdkrKtjd| ƒqþn| ds[qþn| dru|j
| ƒqþ|j
| ƒqþWx |j ƒD]’\} }xƒt | ƒD]u}tj |ƒ}t    |ƒdkrêtjd|ƒq¬n|dsúq¬n|dr|j
|ƒq¬|j
|ƒq¬Wq“W||fS(    NtFamilyBossAwardiis.ÏÉÃËBoss½±Àø±í Î´ÅäÖøý±Àø rank=%s,worldLV=%si'is"ÏÉÃËBoss½±Àø±íÅäÖôíÎó itemInfo=%si(RUtGetIpyGameDataListt
GetWorldLVtGetRankt    GetAward1t    GetAward2R    tErrLogt    CanHappenR…R[titemsRÏtGetResultByRandomList(RRxRÖRàRát awardRateListtawardPieRateDictt ipyDataListtipyDatat worldLVListtrankListtratetitemInfotdoCnttawardPieRateListt_t
resultItem((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyRÃÄsR 
      
 
 
 
 
cCst||ƒdS(N(t__FBNPCOnKilled(tattackerR¢R((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytDoFB_Npc_KillNPCôs cCst||ƒdS(N(Rÿ(RR¢R((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytDoFB_Player_KillNPC÷s cCsžtjƒjƒd}t|ƒ}|jƒ|kr8dStj|tdƒtjdƒtj    ƒj
t |ƒ|j ƒ|j ƒ}}td|||ƒdS(Niis½áÊø ÉèÖÃBOSSËÀÍö(R    RRRtGetNPCIDR-RtRaR
R&R(RtGetPosXtGetPosYR)(R¢RRRRÒRÓ((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyRÿüs  cCsKtjƒjƒd}t|ƒ}|jƒ|krG|jtjƒndS(Ni(R    RRRRt SetSightLevelR"tSightLevel_Public(R¢RRR((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt DoFBRebornNPC    s
 cCsCtƒ}tj||ƒ}|s%dStj|ƒdtj|ƒS(Nid(RR    tFindNPCByNPCIDExtGameObjtGetHPtGetMaxHP(t    copyMapIDRRtcurBoss((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyR‡s
    cCsT|dkr%tjƒjƒd}ntjtj|ƒ}|sDdSt|ƒ}|S(Niÿÿÿÿii(R    RRR-tGetFBLineRefreshNPCR"R#tint(RtrefreshNPCInfoR((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyRs  cCsdS(N((R((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt DoPlayerDead*scCstS(N(R (Rtdefender((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytCheckCanAttackTagObjInFB2scCstS(N(R (tatkobjRR((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pytDoFBOnKill_Player=s(AR-R    RRªRUR"R?RXRSR=RRÍR–RERBR;RHRKRÈROR
RRRRRtrangeR/R¦RLRNRRR¬RRRRRRRR+R2RlRoRqRvRwRaR R¤R R¡R¯RƒR)RÃRRRÿRR‡RRRR(((s‰E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_AllFamilyBoss.pyt<module>st                                                                   :                     &                     I    0