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
74
75
76
77
78
79
g¢Bcc@s›ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZdZdZdZdZdZdZdZejZed    ƒ\ZZZZZZ Z!ed
ƒ\Z"Z#Z$Z%Z&d Z'd Z(d Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5d„Z6d„Z7d„Z8d„Z9d„Z:d„Z;d „Z<d!„Z=d"„Z>d#„Z?d$„Z@d%„ZAd&„ZBd'„ZCd(„ZDd)„ZEd*„ZFd+„ZGd,d-„ZHd.„ZIgd/„ZJd0„ZKd1„ZLd2„ZMdS(3iÿÿÿÿNtFamilyPartyFB_FamilyIDtFamilyInvadeFB_KillNPCCnttFamilyInvadeFB_GuardDeadsLastEnterFbDay_%ssMap_FamilyInvadeFB_StartTick_%stFBPlayerDict_TotalExptFBPlayerDict_TotalExpPointiiiiicCs tjdƒS(NtFamilyInvadeCfg(t IpyGameDataPYtGetFuncEvalCfg(((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytGetFamilyInvadeCfgJscCs/tƒtjƒ}|jtƒtdƒ|S(Ni(RtDef_FInvade_GuardDicttvaluestappendtDef_FInvade_RMarkTower(ttowerNPCIDList((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytGetDefaultMaxAngryNPCIDListMscCs*tjt|ƒtjƒjtdƒdS(Ni(tFBCommont    SetFBStept FB_Step_Opent    GameWorldt    GetGameFBt SetGameFBDicttMap_FamilyInvadeFB_FamilyID(ttick((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytOnOpenFBRscCsdS(N((R((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyt    OnCloseFBXs
cCs@|jƒstjdƒtS|jƒtjdƒkr<dStS(NsOnEnterFBEvent not family!t SWRHFamilyLV(t GetFamilyIDRtDebugLogtFalset GetFamilyLVRt
GetFuncCfgtTrue(t    curPlayertmapIDtlineIDR((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytOnEnterFBEventjs       cCsd|jƒ|jƒfS(Ns[%s,%s](t GetPlayerIDR(R tlineId((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytGetPlayerResetWorldPosFBMsg~scCsI|jƒ}tjd|ƒ|dkr0tjSt|ƒ\}}tjS(NsOnChangeMapAsk playerIDStr=%st(s(tGetMsgRRt IPY_GameWorldt    cmeCustomtevalt    cmeAccept(taskRt playerIDStrtplayerIDtfamilyID((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytOnChangeMapAsk…s   cCsÁtƒ}tjƒ}|jƒ}|jƒ}tjƒ}|jƒ}|jtƒs|j    t|ƒtj
d||ƒ|t \}}    t j ||    gƒx1|tjƒD]\}
} t j |
| gƒq¬W|tkrtjt|ƒ|jt||ƒqn|jtjƒ} |jt|ƒ| dkrö|jt|| dƒtj|tjƒtj|tjdtjƒt j!|tj"dƒt#j$|tj%dƒ|t&j'krã|t&j'|krót&j'|j(|ƒqóqö|gt&j'|<n|jƒ}|tkrU|t)d|tjƒj*ƒ} |j+t,j-dt.| dƒt/ƒnJ|t0krŸ|t1d|tjƒj*ƒ} |j+t,j2d| t/ƒnt3|ƒt4ƒt5||ƒdS(Ns#    ÏÉÃËID=%s ÓÐÈ˽øÈë,¿ªÊ¼Ë¢¹ÖÁË£¡iiiè(6RRRt    GetFBStepR$t GetGameWorldRtGetGameFBDictByKeyRRRR tNPCCustomRefresht SetNPCRefreshR    titemsRRRtFB_Step_MapPreparetSetGameWorldDicttMap_FamilyInvadeFB_StartTicktGetGameWorldDictByKeyt ShareDefinetDef_Notify_WorldKey_ServerDaytGameFBDict_LastEnterFbDaytAddEnterFBCounttChConfigtDef_FBMapID_FamilyInvadet EventReportt WriteEvent_FBt CME_Log_StarttPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_SWRHtPlayerTongTianLingtAddTongTianTaskValuetTTLTaskType_SWRHt
PyGameDatatg_swrhPlayerIDDictR tDef_Time_MapPreparet GetFBStepTickt Sync_TimeTickR)t tttWaitStarttmaxRtFB_Step_Fightingt Def_FightTimet tttTowerTaket__CheckGuardExpBufft__SortHurtInfotDoFBHelp(R Rt    invadeCfgtgameFBtfbStepR/t    gameWorldR0t
towerRMarkt
towerNPCIDtrmarktnpcidt openServerDayt notify_tick((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyt    DoEnterFB—sL            "% "
 cCsRtjƒjƒ}|tjkr%dStjd|ƒ|dkrNit_ndS(Ns!    ÊØÎÀÈ˻ʻ״̬±ä¸ü state=%si(RtGetMaptGetMapIDR@RARRKtg_swrhPlayerHurtDict(tstateRR!((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytOnFamilyInvadeStateChangeÉs  cCs|S(N((R R!R%tipyEnterPosInfoR((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytOnGetFBEnterPosÛscCsKtjddƒ}tj||d|ƒrGtj|ƒ}|jƒndS(NRii(RRt    BuffSkilltDelBuffBySkillIDt PlayerControltRefreshPlayerAttrByBuff(R RtguardBuffIDListt playerControl((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytDoExitFBâs
 cCsdS(N((R R((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytDoPlayerLeaveFBîscCs‡i}d}tƒt}tjƒ}xw|D]o}|jtj|ƒ}|jtj|ƒ}|||g||<|dkr,|jtj    |ƒd}q,q,W|j
ƒ}    |j |    t ƒ}
|j |    t ƒ} |jtƒ} g} |jtƒ}tjj|gƒ}|d }xrt|dƒD]a\}}|\}}i}||d<||d<|tj|d<|tj|d<| j|ƒq"Wt||ƒ}|r|dkri}||d<||d}|\}}||d<|tj|d<|tj|d<| j|ƒnitjtƒƒtj6|tj6| tj6|
tj6| tj6| d6}tjd||j
ƒƒtj ||ƒdS(    Niitrankt
playerNamethurtthurtExthurtInfos DoFBHelp: %s(!tNoneRtDef_FInvade_RMarkListRRR4R@tMap_TDNPC_NPCCnttMap_TDNPC_NPCBossCnttMap_TDNPC_RefreshBigWheelNumR$tGetPlayerGameFBDictByKeyRRtMap_FamilyInvadeFB_KillNPCCntRRKRetgett    enumeratetDef_PerPointValueR t__GetSelfHurtRankRtGetJsonNPCHPPerListt__GetNPCHPPerInfotHelp_npct
Help_wheelt Help_npcTotaltHelp_expt Help_expPointRt Notify_FBHelp(R Rt npcInfoDicttwheelNumt    rMarkListRYtrMarktnpcCntt
npcBossCntR/texptexpPointt
killNPCCntRvR0tplayerHurtListt syncHurtListtitinfoRsRtthurtDicttmyRankt
fbHelpDict((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyRWñsZ    ! 
 
 
 
 
 
 
 
c Csítƒ}tjƒ}i}x|D]}d||<q"Wx°t|jƒƒD]œ}|j|ƒ}|jƒ}|dkr|qIn|jƒ}||kršqIntj    |ƒ}tj
|ƒ}    |rÕt d|d|    ƒnd}
|
||<qIW|S(Niiid( RRt GetNPCManagertranget GetNPCCountt GetNPCByIndextGetIDtGetNPCIDtGameObjtGetHPtGetMaxHPRQ( tqueryNPCIDListtgameNPCManagert    hpPerDictR_tindextcurNPCtcurIDtcurNPCIDtcurHPtmaxHPthpPer((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyRƒ)s$          #cCsatjƒjƒ}|tkr+t|ƒn2|tkrDt|ƒn|tkr]t|ƒndS(N(    RRR2R8t__DoLogic_MapPrepareRRt__DoLogic_MapFightingtFB_Step_LeaveTimet__DoLogic_MapLeave(RRZ((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyt    OnProcessEs      cCs?tƒ}|tjƒjƒ|tdkr1dSt|ƒdS(Niè(RRRRNRMt__OnFBInvadeStart(RRX((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyR­Ss
    $
cCsßtƒ}|tjƒjƒ|tdkrÎtjƒ}|jtjƒ}||dkr_dS|jtj|ƒt    ƒtj
ƒ}xBt |j ƒƒD].}|j |ƒ}|s¹q˜nt||ƒq˜WdSt|tƒdS(Nièiˆ(RRRRNRSR4R@tDef_FB_NotifyFBHelpTickRRVtGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndexRWt__DoInvadeOvertDef_FILoseReason_Timeout(RRXRYtlastTickt playerManagerR¦R ((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyR®[s"    $   cCsÝtjƒ}tƒ}||jƒ|tdkr7dStjt|ƒ|jt    ƒ}t
j j |gƒ}tj tjdƒ}|rœtjd||ƒnt
jj |gƒtjƒtjƒjdƒtj|ƒdS(Nièit
SwrhReward(RRRRNtDef_Time_LeaveRRt FB_Step_OverR4RRKRLtpoptGetFBLineRewardR@RARlt SendMailByKeyRetDoLogic_FBKickAllPlayerR3t SetPropertyIDtGameWorldProcesstCloseFB(RRYRXR0tjoinPlayerIDListt    joinAward((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyR°ps     
 cCsˆtjt|ƒtƒ}|t}|t}x9t|ƒD]+\}}tj||d||dkƒq:Wtjt    j
|t dƒdS(Niiè( RRRRRtDef_FInvade_TDFileNameRxRtOpenTDNPCRefreshtSync_Player_TimeTickR)RTRS(RRXt
tdFileNameRŒR¦R((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyR²…s    
 
#c    Cstjƒjtƒ}tjddƒ}tjƒ}xàtd|jƒƒD]É}|j    |ƒ}|j
ƒspqIn|t |ƒkrŸt j ||d|ƒqIn||dkr´dnd}tjƒj|ƒ}|sítjd|ƒqIntj|ƒ}t j||||ƒqIWdS(NRiiisFbEncourageBuff   ÕÒ²»µ½¼¼ÄÜ%s(RRR4tMap_FamilyInvadeFB_GuardDeadRRR´R›R¶R·R$tlenRjRkt GetGameDatatGetSkillBySkillIDtLogt SkillCommont GetBuffTypet    DoAddBuff(    Rt guardDeadCntRnR»R¦R t skillBuffIDt    skillBufftbuffType((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyRU’s$  cCsI|jtjƒ}|tƒtkrE|jtƒtj|dƒndS(Ni(    t GetDictByKeyR@tDef_NPC_Dict_FromRefreshValueRRÈtSetIsNeedProcessRRt UpdTDNPCCnt(R§RtfromRefreshValue((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyt DoFBRebornNPC¬s
 cCsPtƒt}tj|ƒ}|rLtjdƒtƒtj|tdƒndS(Ns$±¾´ó²¨ËùÓеãË¢Íê, Ç¿ÖÆÍ¬²½Ò»´Î¹ÖÎïÊýi(    RRxRtIsTDWheelRefreshOverRRRVtNotifyCopyMapPlayerFBHelpRW(t refreshMarkRRŒtisWheelRefreshOver((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytOnTDCurWheelOver¶s  cCs7|jƒ}tj|ƒ}ttjddƒƒ}|S(NtSwrhMonsterExpi(tGetExpRltGetPlayerReExpR+RtGetFuncCompileCfg(R R§tbaseExptreExptadd_Exp((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyt OnGetNPCExpÁs cCst|||ƒdS(N(t__DoOnNPCKilled(tattackerR§R((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytDoFB_Npc_KillNPCÇscCst|||ƒdS(N(Rë(R R§R((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytDoFB_Player_KillNPCËscCstd||ƒdS(N(RëRw(R§R((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytDoFB_NPCSelfDestructionÏscCs·tjƒ}|jƒ}tƒtd}||krFt|tƒdStƒtjƒ}||kr–|j    t
ƒ}|j t
|dƒt |ƒdS|j tjƒ}|tƒtkr³t||ƒ|r¯|jƒtjkr¯|jƒ}    tjƒ}
x±t|
jƒƒD]š} |
j| ƒ} | dks| jƒrAqn| jƒ|jƒkr_qntj| ƒ} tt j!ddƒƒ}tj| ƒ}|j"|t#j$ƒqWndSdS(NiRã(%RRRŸRR R¸tDef_FILoseReason_TowerBrokenR    R
R4RÌRRURØR@RÙRÈt__OnInvadeNPCKilledtGetGameObjTypeR)t    gotPlayerRäR´RµR¶R·RwtIsEmptyRžRlRåR+RRætAddExpR<tDef_ViewExpType_KillNPC(RìR§RRYtnpcIDR]tguardNPCIDListt    guardDeadRÜRçtcopyMapPlayerManagerR•R RèRéRo((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyRëÓs<     
   cCs®tjƒ}|jt|jtƒdƒtj|dƒtƒt}tj    |ƒ}tj
|ƒ}|rŠ|rŠtj dƒt |ƒn |rªtj dƒt |ƒndS(Niiÿÿÿÿs&È«²¿¹ÖË¢ÐÂÍê±ÏÇÒÒѱ»É±Íê, ´¦Àí½áÊøÂß¼­s±¾²¨¹ÖÈ«²¿É±Í꣬½øÈëÏÂÒ»²¨£¡(RRRR}R4RRÛRRxtIsTDNPCRefreshOvertIsTDNPCCurWheelAllKilledRR¸t__DoInvadeNextWheelStart(R§RRYRŒt isAllRefresht isAllKilled((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyRñùs       cCsÎtjdƒd}tjƒ}tƒt}xt|ƒD]s\}}|dkrn|jtj    |ƒd}nt
j |||dkƒ|dkr9t
j d|t |ƒq9q9Wtƒt
j|tdƒdS(NsÏÂÒ»´ó²¨¿ªÊ¼Ë¢¹Ö...ii(RRRwRRRxRR4R@R{RtSetEnterTDNextWheeltSync_TDNextWheelTicktDef_Devil_TimeTypeRVRßRW(Rt    passWheelRYRŒR¦R((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyRý s     c CsË|tjkrdS|jƒ}tjƒ}|j|tƒ}|j|tƒ}|tj    |}||}|tj    }    |tj    }
|j
|t|    ƒ|j
|t|
ƒtj d|||f|ƒdS(Ns/OnGetExp() totalExp=%s,addExp=%s,updTotalExp=%s( R<RöRžRRR|RRR@R€tSetPlayerGameFBDictR( R taddExpt expViewTypeR/RYRR‘ttotalExpt updTotalExptupdExpt updExpPoint((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytOnGetExp&s  
      icCs1tjƒ}| }|jtƒ}tjd|||fƒtƒ}|tjƒjƒ}tjt    |ƒt
ƒtj |t dƒt |ƒ}tjƒjdddd|t|ƒƒd}tƒt}    xY|    D]Q}
|dkr|jtj|
ƒ} |r | dn| }ntj|
tƒqÓW|r|jtƒ} | dkrRd} q…| dkrgd} q…| dkr…d} q…nd} itjtj6t|ƒtj6| tj6|tj6}|jtƒ}tjd    ||||f|ƒ|td
}tj ƒ}x%t!|j"ƒƒD]}|j#|ƒ}|dks|j%ƒrKqn|j&t'j(d|tƒ|j)ƒ}|j*|t+ƒ}|j*|t,ƒ}t-|ƒ}t.|| |ƒ}|tj/|tj/}}|j0i|tj16|tj26|tj36|d 6|d 6ƒtj4||ƒt5j6|t7j8ƒqWdS( Ns9´¦Àí¸±±¾½áÊøÂß¼­, isAllPass=%s,loseReason=%s, familyID=%sit
SWRHFBOveriiiiis@¸±±¾½áËã: familyID=%s, overMsgDict=%s,passWheel=%s,killNPCCnt=%siètscoreExpt scoreExpPoint(9RRR4RRRRNRRR¯RVRßRWtstrtGetPlayerManagertGameServer_QueryPlayerResultRÍRxR@R{tCloseTDNPCRefreshRRÌRAtOver_dataMapIDtintt Over_isPasst
Over_gradet Over_costTimeR}RÐR½R´RµR¶R·RwRôROR)t tttLeaveMapR$R|RRRt__GiveScoreAwardR€tupdatet    Over_ranktOver_expt Over_expPointtNotify_FB_Overt PlayerFamilytAddFamilyActivityR<tFamilyActive_SWRH(Rt
loseReasonRYt    isAllPassR0RXtcostTimetmsgStrRRŒRR‹RÔt    passGradet overMsgDictR’t    leaveTickRúR•R R/RR‘R˜t scoreExpNumRR ((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyR¸;s^      (               7    9c    Csqtj|ƒ}tjddƒ}|j|dƒ}tjddƒ}t|ƒ}tj|ƒ}|j|ƒ|S(NRiii(RlRåRRR~RæR+Rõ(    R tstarRRèt starPerDicttstarPert
expFormulaR Ro((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyR}s  cCs–|jƒ}|sQ|jƒ}tjj|gƒ}t|dd„dtƒ}nd}x8t|ƒD]*\}}||dkrd|d}PqdqdW|S(NtkeycSs|dS(Ni((tasd((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyt<lambda>Žstreverseii(tGetNameRRKReR~tsortedRR(R R“RsR0R˜R•R–((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyRˆs  
cCs©tjƒ}tjƒjƒ}|tkr.dS|jtƒ}|jƒ}ttj    j
|gƒƒ}|j
|dƒ|||<|j ƒtj    |<tj dtj    ƒdS(Nisg_familyPlayerHurtDict=%s( RRR2RRR4RR2tdictRKReR~R7R(R R§thurtHPRYRZR0RstplayerHurtDict((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytDoFB_Player_HurtNPCœs   cCsatjƒjtƒ}|tjkr(dStj|}t|dd„dtƒ}|tj|<dS(NR.cSs|dS(Ni((R/((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyR0²sR1(RRR4RRKReR3R(R0R“((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyRV¬s  cCs&tjƒ}|jƒtkr"tStS(N(RRR2RRRR(RìtdefenderRY((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pytCheckCanAttackTagObjInFBºs (NRR)R5RlRRR@RÄRERKR<RBR RÑRjRRHRR}RÌR>R:RRttttLeaveFamilyWarRR›RMRSR½RÈRxR R    RR8RRR¯R¾R¹RðtDef_FILoseReason_LeaveFBRRRRR#R&R1RbRgRiRpRqRWRƒR±R­R®R°R²RURÝRâRêRíRîRïRëRñRýR R¸RRR7RVR9(((sˆE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyInvade.pyt<module>s‚                     
!
                                2                     8                                 
                         &             B