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
S.fc@sÁddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z e dƒ\ZZZZZdd d„ƒYZd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zddd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*dd„Z+d„Z,d„Z-dS(!iÿÿÿÿNit BattlePlayercBseZd„Zd„ZRS(cCs1||_d|_d|_d|_d|_dS(Ni(tplayerIDt    hurtValuet hurtValueLasttfightTickTotalt    statsTick(tselfR((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt__init__+s                     cCsj|jtjƒ}|jtjƒ}|tj||_|j|_|jtjƒd|_||_    dS(Niè(
tNomalDictGetPropertytChConfigtDef_PDict_FamilyBossHurtValuet"Def_PDict_FamilyBossHurtValuePointtDef_PerPointValueRRt Def_PDict_FamilyBossFightSecondsRR(Rt    curPlayerttickRthurtValuePoint((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytonEnter3s     (t__name__t
__module__RR(((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyR)s    cCst|ƒdS(N(tSyncFamilyBossPlayerInfo(R((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnFBPlayerOnLogin<s
c Cs|jƒ}|jtjƒ}|jtjƒ}|tj|}|jtjƒ}tjƒ}x²t    |j
ƒƒD]ž}|j |ƒ}|j ƒdkrŸqrn|j ƒ}    ||    kr½qrn|jƒ}
|td|
ƒ@râqrn|    g} |jƒ} tjd|g| | ƒqrWtj|tjdƒtj|tjdƒtj|tjdƒtj|tjdƒtj|tjdƒt|ƒdS(NiitFamilyBossHurtAwardi(t GetPlayerIDRR    R
R R tDef_PDict_FamilyBossHurtAwardt IpyGameDataPYtIPY_DatatrangetGetFamilyBossHurtAwardCounttGetFamilyBossHurtAwardByIndext GetAwardTypetGetNeedHurtTotaltGetRecordIndextpowtGetAwardItemListt PlayerControlt SendMailByKeytNomalDictSetPropertyR t#Def_PDict_FamilyBossHurtAwardFamilyR( RRRRthurtValueTotalt rewardRecordt
ipyDataMgrtindextipyDatat needHurtTotalt recordIndext    paramListt awardItemList((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnFBPlayerOnDay@s4          
cCs<|tjkrtj|}nt|ƒ}|tj|<|S(N(t
PyGameDatatg_familyBossHurtPlayerDictR(Rt    batPlayer((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytGetBattlePlayeres
  cCsdS(N((R((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnOpenFBmscCs!tjƒjdƒtjƒdS(Ni(t    GameWorldt GetGameWorldt SetPropertyIDtFBCommontDoLogic_FBKickAllPlayer(R((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt    OnCloseFBps
cCs„|jƒdkr,tjd|jƒƒtS|jƒ}|jtjƒ}tj    ddƒ}||kr€tjd||ƒtSt
S(Nis Ã»ÓÐÕ½ÃË£¬²»ÄܽøÈëÕ½ÃËboss¸±±¾£¡t FamilyBossFBis7ÒѾ­´ïµ½ÏÉÃËbossÕ½¶·Ê±³¤ÉÏÏÞ£¬ÎÞ·¨½øÈë. fightSeconds=%s( t GetFamilyIDR6tDebugLogRtFalseRR    R Rt
GetFuncCfgtTrue(RtmapIDtlineIDRRt fightSecondstfightSecondsMax((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnEnterFBEventus  cCs|S(N((RRBtlineIdtipyEnterPosInfoR((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnGetFBEnterPosƒscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnChangeMapAsk†scCsæ|jƒ}tjƒ}|jƒ}t|ƒ}|j||ƒtjd||j|jf|ƒt    j
ddƒ}|d|j}|dkr£t j |ƒdS|t kr¼t|ƒn|jtjd|tƒt|dƒdS(Ns3DoEnterFB: fbStep=%s,fightTickTotal=%s,hurtValue=%sR<iièi(RR6t    GetGameFBt    GetFBStepR4RR>RRRR@R#t PlayerLeaveFBtFB_Step_Fightingt__SetFBToFightt Sync_TimeTickRJt tttAddUpTimeRAtstatsFBMemberHurt(RRRtgameFBtfbStepR3REt
remainTick((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt    DoEnterFB‰s     #     cCsTtjt|ƒtjtjdƒ\}}tj|ƒsPtj    ||gƒndS(Ni(
R9t    SetFBStepRQtGetFBLineRefreshNPCR    tDef_FBMapID_FamilyBossMapR6tFindNPCByNPCIDtNPCCustomRefresht SetNPCRefresh(Rt refreshMarktbossID((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRR¡s
cCs/tjƒjƒ}|tkr+t|ƒndS(N(R6RNRORQt__DoLogic_MapFighting(RRW((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt    OnProcess¬s  cCsStjƒ}|jtjƒ}||dkr2dS|jtj|ƒt|ƒdS(Niˆ(R6RNtGetGameFBDictByKeyR    tDef_FB_NotifyFBHelpTickt SetGameFBDictRU(RRVtlastTick((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRb´s 
icCs¢d}tjƒjƒ}tjƒ}xZt|jƒƒD]F}|j|ƒ}|sXq7n|jƒ}||kr7|d7}q7q7Wtj    ddƒ\}    }
tj
ddƒ} d} xÑt|jƒƒD]½}|j|ƒ}|såqÄn|jƒ}t |ƒ} | j stj d|ƒqÄn| j}td|| jƒ}|| _|| j }|dkro| j|7_n|| _ | jd}tj|tj|tjƒtj|tj|tjƒtj|tj|ƒ| |7} i|d6|d6|d    6}tj||ƒ||kr?d| _ tj||
|ƒt|ƒqÄ|| krktjd
|ƒtj|ƒqÄt |||    |
|ƒqÄWt!d |||| gƒdS( NiiR<isÏÉÃËÍæ¼Òδ³õʼ»¯Íê±Ï£¬²»Í³¼Æ!ièRRDt fightMemCounts    Ã»ÓÐÕ½¶·Ê±³¤ÁË£¬Ìß³ö¸±±¾t FBMemberHurt("R6R7t GetPropertyIDtGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndexRRtGetFuncEvalCfgR@R4RtLogRtmaxRRR#R%R    R
R R R R9t Notify_FBHelpt    BuffSkilltDelBuffBySkillIDRR>RPt__parseFightBufftSendGameServer(Rt    statsTypet exitPlayerIDRhtfamilyIDt playerManagerR*RRt needMemCountt skillTypeIDREt addFamilyHurtR3Rt addHurtValuetpassTickRDthelpDict((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRU½s\                        
       cCs–||kr#tj|||ƒdS||d}tj||ƒd}|ri|jƒjƒ|kridStj|||ƒtj||||ƒdS(Nii(RsRtt SkillCommont FindBuffByIDtGetSkillt
GetSkillLVtAddBuffBySkillType(RRhR{R|RtskillLVtfindBuff((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRuÿs cCst|ƒdS(N(t)SendGameServer_FamilyHurtAwardStateFamily(R((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt OnEnterFamilys
cCsD|jƒ}|jƒ}|jtjƒ}td|||gƒdS(NtFamilyHurtAwardStateFamily(RR=RR    R&Rv(RRRythurtAwardStateFamily((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRˆs
  cCst|d|jƒƒdS(Ni(RUR(RR((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytDoExitFBscCsdS(N((RR((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytDoPlayerLeaveFB scCsp|jƒ}|sdStjtjdƒd}||jƒkrEdS|jƒ}t|ƒ}|j|7_dS(Nii(    R=R9R[R    R\tGetNPCIDRR4R(RtcurNPCthurtHPRyRaRR3((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytDoFB_Player_HurtNPC$s   cCstS(N(RA(((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnPlayerReborn2scCs9tjtjdƒ}|d \}}|j||ƒdS(Nii(R9tGetFBLineEnterPosInfoR    R\tResetPos(Rt rebornPlaceRRHtposXtposY((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnResetFBRebornPlacePos5scCs&tjƒ}|jƒtkr"tStS(N(R6RNRORQR?RA(tattackertdefenderRV((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytCheckCanAttackTagObjInFB;s cCs tj|ƒ}|jƒ}tjd||ƒ}|s:dS|jƒ}|jƒ}|jƒ}|dkrÚ|stdS|jt    j
ƒ}|t d|ƒ@r·tj d||f|ƒdSt d|||||g|ƒdS|jt    jƒ}    |jt    jƒ}
|
t    j|    } | |kr<tj d|| |f|ƒdS|jt    jƒ}|t d|ƒ@rtj d||f|ƒdS|t d|ƒB} tj|t    j| ƒtj d|||| |f|ƒdti|d6|d    6g} tj||d| ƒt|ƒdS(
NRis8ÏÉÃËbossÉËѪÏÉÃ˽±ÀøÒÑÁì½±!awardIndex=%s,rewardRecord=%stFamilyHurtAwardReqsJÏÉÃËbossÉËѪ¸öÈ˽±ÀøÉËѪ²»×ã²»ÄÜÁìÈ¡: awardIndex=%s,hurtValueTotal=%s < %ss8ÏÉÃËbossÉËѪ¸öÈ˽±ÀøÒÑÁì½±!awardIndex=%s,rewardRecord=%ssdÏÉÃËbossÉËѪÏÉÃ˽±Àø·¢·Å: familyID=%s,awardType=%s,awardIndex=%s,updRewardRecord=%s,awardItemList=%st    awardTypet
awardIndex(R6tToIntDefRRtGetIpyGameDataRR"R=RR    R&R!R>RvR
R R RR#R%R?t ItemControlertGivePlayerItemOrMailtNoneR(RRRžRR+R,R/RyR(RRR'tupdRewardRecordtevent((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytGetFamilyBossHurtAwardBsF          
cCsXt||gƒ}tjd||f|ƒtjƒj|ddd|t|ƒƒdS(Ns)ÏÉÃËbossÊÔÁ¶Í¬²½GameServer: msgType=%s,%sit
FamilyBoss(tstrR6R>tGetPlayerManagertGameServer_QueryPlayerResulttlen(tmsgTypetmsgDataRtmsgInfo((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRvps(cCsk|jƒ}|d \}}tjdt|ƒ|ƒ|dkrg|\}}}}}    |d}
|
|krŽtjd||
|f|ƒdS|jtjƒ} | td|ƒ@rÑtjd|| f|ƒdS| td|ƒB} t    j
|tj| ƒtjd|||| |    f|ƒdt i|d6|d    6g} t j ||    d| ƒt|ƒt|ƒndS(
NisÏÉÃËBossÊÔÁ¶GameServer·µ»Ø: %sRœsJÏÉÃËbossÉËѪÏÉÃ˽±ÀøÉËѪ²»×ã²»ÄÜÁìÈ¡: awardIndex=%s,hurtValueTotal=%s < %ss>ÏÉÃËbossÉËѪÏÉÃ˽±Àø·µ»ØÊ±ÒÑÁì½±!awardIndex=%s,rewardRecord=%ssdÏÉÃËbossÉËѪÏÉÃ˽±Àø·¢·Å: familyID=%s,awardType=%s,awardIndex=%s,updRewardRecord=%s,awardItemList=%sRRRž(RR6RpR¨R>RR    R&R!R#R%R?R¡R¢R£RˆR(Rt
resultListRR¬R­RyRRžR,R/R'R(R¤R¥((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytGameServer_FamilyBossInfovs,  
     
 cCs“tjƒ}|jƒ|jtjƒ|_|jtjƒ|_|jtj    ƒ|_
|jtj ƒ|_ |jtj ƒ|_tj||ƒdS(N(tChPyNetSendPackttagMCFamilyBosFBPlayerInfotClearRR    R
t    HurtTotalR tHurtTotalPointR t FightSecondsRtHurtAwardStateR&tHurtAwardStateFamilyt NetPackCommont SendFakePack(Rt
clientPack((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyR”s 
((.R9R6RJR#R^R±R¡R¹RRR1RsR    Rt FB_Step_OpentFB_Step_MapPrepareRQtFB_Step_LeaveTimet FB_Step_OverRRR0R4R5R;RFRIRMRYRRRcRbRURuR‰RˆRŒRR‘R’R˜R›R¦RvR°R(((s†E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt<module>sP                         %                                             B                                        .