cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Úg5\c@s˜ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZdZdZddd„ƒYZddd„ƒYZdad„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#dd„Z$d„Z%d„Z&dS(iÿÿÿÿNiit FamilyHurtObjcBseZd„ZRS(cCsO||_||_||_||_d|_tjƒjƒ|_d|_    dS(Ni(
tfamilyIDtobjTypetobjIDtnamet    hurtValuet    GameWorldt GetGameWorldtGetTicktinitTicktstartProtectTick(tselfRRRR((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyt__init__)s                        (t__name__t
__module__R (((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR'stFamilyOwnerBossHurtcBs#eZd„Zd„Zd„ZRS(cCsPi|_i|_i|_i|_i|_i|_d|_tjdƒdS(NisFamilyBossHurtMgr __init__(    tfamilyNowHurtSorttfamilyNowHurtDicttfamilyHisHurtDicttplayerHisHurtDicttfamilyPlayerIDDictt
bossHPInfot lastSortTickRtDebugLog(R ((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR 6s                             cCsl|jj|dƒ|jj|dƒ|jj|dƒ|jj|dƒ|jj|dƒi|_dS(Ni(RtpopRRRRR(R tkey((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyt ClearNPCHurtGs    cCsdS(N((R ((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytGetPlayerHisHurtDictPs(R RR RR(((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR4s            cCststƒantS(N(tg_familyOwnerBossHurtR(((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytGetFamilyHurtMgrTs cCs?tjƒjtjtjƒr;t|tjƒjƒƒndS(N(RRtGetGameWorldDictByKeyt ShareDefinet$Def_Notify_WorldKey_DailyActionStatetDailyActionID_FamilyRobBosst#__DoCheckHorsePetRobBossKillCntBuffR(t    curPlayer((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyt OnPlayerLoginZscCs|tjddƒkS(NtFairyGrabBossIDi(t IpyGameDataPYtGetFuncEvalCfg(tbossID((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytIsHorsePetRobBoss_scCs(tjƒjƒ}|jƒ}|jƒ}|||f}tj|d||tj|ƒtj|ƒfƒt    ƒ}|j
j |iƒ}|j j |iƒ}|j j |iƒ}    |jƒ}
|
jdtƒ|jƒ} | jdtƒ|    jƒ} | jdtƒtj|dt|
ƒƒx@t|
dƒD]/\} }tj|d| |j|jfƒq1Wtj|dt| ƒƒx@t| dƒD]/\} }tj|d| |j|jfƒqŽWtj|dt| ƒƒxFt| dƒD]5\} }tj|d| |j|j|jfƒqëWdS(    NsNPCID(%s,%s), HP: %s/%stcmpsʵʱÉËѪÏÉÃËÊý: %sis%s,ÏÉÃËID=%s,ÉËѪ=%ssÀúÊ·ÉËѪÏÉÃËÊý: %ssÀúÊ·ÉËÑªÍæ¼ÒÊý: %ss%s,Íæ¼ÒID=%s,ÉËѪ=%s,ÏÉÃËID=%s(RRt    GetLineIDtGetIDtGetNPCIDt DebugAnswertGameObjtGetHPtGetMaxHPRRtgetRRtvaluestsorttCmpFamilyOwnerBossHurtSorttlent    enumerateRRR(R#tcurNPCtlineIDRR(RthurtMgrtnpcFamilyNowHurtDicttnpcFamilyHisHurtDicttnpcPlayerHisHurtDicttnpcNowHurtFamilyListtnpcHisHurtFamilyListtnpcHisHurtPlayerListtithurtObj((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytOnGMPrintFamilyOwnerBossHurtcs2  2       ''-c Cs$|dkrdS| s| r"dS|jƒ}|tjkrAdS|jƒ}|tjkr`dStj|ƒtjkr|dStj    d|ƒtj
ƒj ƒ}|j ƒ}|j ƒ}|jƒ}|jƒ}    tj    d||||    |f|ƒ|||f}
tƒ} t||| |
|ƒdS(Nis(OnPlayerHurtFamilyOwnerBoss hurtValue=%ssIÏÉÃËÇÀBossÔö¼ÓÉËѪ: lineID=%s,objID=%s,bossID=%s,familyID=%s,hurtValue=%s(tGetGameObjTypet IPY_GameWorldt    gotPlayertgotNPCt    NPCCommontGetDropOwnerTypetChConfigtDropOwnerType_FamilyRRRR+R,R-t GetPlayerIDt GetFamilyIDRtAddPlayerHurtFamilyOwnerBoss( R#tcurBossRt
curObjTypet curBossTypeR9RR(tplayerIDRRR:((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytOnPlayerHurtFamilyOwnerBoss‰s0               c    Csä|dkrdS|jƒ}|jƒ}|jƒ}|jƒ}i|jtgd6|jtgd6|jtgd6}    x?|    j    ƒD]1\}
} | \} } || kr´i| |<n| |}| tkrÐ|n|}||kr| tkrô|n|}t
|| ||ƒ||<n||}| tkr‚|j dkr‚|r‚t |j ƒƒr‚tj|tjƒtj|tjdƒq‚n|j |7_ tjd|
| ||j f|ƒqƒW|jj|iƒ}|j|gƒ}||kr|j|ƒ|||<||j|<ntj|ƒ}tj|ƒ}||g|j|<tj ddƒ}|j!tj"ƒ}||}|ràt#|d    |ƒ}|d\}}||krà|j$tj"|dƒt%j&d||j ƒgƒqàndS(
Nit FamilyNowHurtt FamilyHisHurtt PlayerHisHurtis2    ¸üÐÂÉËѪ%s: hurtType=%s,hurtID=%s,hurtValue=%st FairyGrabBossigY@('RLRMt GetPlayerNamet GetFamilyNameRtFamilyHurtObjType_FamilyRRtFamilyHurtObjType_PlayertitemsRRR)R-tPlayerActivitytAddDailyActionFinishCntRR!tPlayerWeekPartytAddWeekPartyActionCntRJtDef_WPAct_FamilyRobBossRRRR2tappendR/R0R1RR&R't GetDictByKeytDef_NPC_Dict_HPPerLogicMarktinttSetDictt PlayerControlt WorldNotify(R#ROR:RRRRRt
playerNamet
familyNamet addHurtDicttmarkthurtInfothurtDictthurtTypet objHurtDictthurtIDthurtNameRBtnpcFamilyPlayerIDDicttnpcFamilyPlayerIDListtnpcHPtnpcMaxHPtnpcHPPerNotifyListthpPerLogicMarktlogicHPPerListtnpcHPPert    notifyPert    notifyKey((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyRN­sZ        
 
!      
 
 "cCsxtjƒjƒ}|jƒ}|jƒ}|||f}tƒ}|j|ƒtj|ƒtj    |ƒg|j
|<dS(N( RRR+R,R-RRR/R0R1R(ROR9RR(RR:((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytFamilyOwnerBossOnRebornìs       %c*    Cs’tjƒjƒ}|jƒ}|jƒ}|||f}tj|ƒ}tjd|||||fƒtƒ}|j    j
|iƒ}|j j
|iƒ}    |j j
|iƒ}
d} ||    krñ|    |} | j } tjdd| |gƒn|jƒ} | jdtƒggggf\}}}}tjddiƒ}|j
|iƒ}|rdt|ƒnd}d}g}xÇ| D]¿}|j|kr˜q}n|d7}tj||gƒ}|j|jgƒ|j|ƒ|j||gƒ|ji|d6|d    6ƒ|j|j ƒtjd
||fƒ||kr}Pq}q}W|r±tjd |||d |ƒxLt|dƒD]8\}}tjdd |||gƒ|dkrrPqrqrWntjddƒ}tjddiƒ}|j
|gƒ}g}tjd||fƒx‚|    jƒD]t\}} | j}!t|!d|ƒ}"|
j
|gƒ}#tjd||!|"|#fƒ|"|kr~qn||#7}qW|r¾tj d||||gdi|d6ƒnt!||||dƒ}$tj"ƒ}%|j j
|iƒ}
xM|
jƒD]?}&x6|&D].}'|%j#|'ƒ}(|(rt$j%|(|$ƒqqWqWt&id||| g|6ƒ})tj'ƒj(dddd|)t)|)ƒƒ| S(s½ÏÉÃ˹éÊôboss±»»÷ɱ
                     ¹éÊôIDÓÉÍâ²ã¹éÊôËãºÃ´«È룬²»ÓÉÉËѪ¾ö¶¨£¬·ÀÖ¹¹éÊôÂß¼­ÐÞ¸Äʱ¸Äµ½Âß¼­
                     ÒòΪÓÐÉËѪ±£»¤£¬Èç¹ûÉËѪµÚÒ»²»Ëã¹éÊôµÄ»°£¬Âß¼­¾ÍÐèÒªÐÞ¸Ä
    sNFamilyOwnerBossOnKilled lineID=%s,objID=%s,bossID=%s,maxHP=%s,ownerFamilyID=%stitFairyGrabBossDeadR*RWitBossIDtOrders    ¹éÊôÏÉÃ˵Ú%sÃû¶îÍâ½±Àø: %stFairyGrabBoss2t batchDetailtFairyGrabBossRankiis*    ²ÎÓë½±ÐèÇóÉËѪ±ÈÀý: %s%%, ²ÎÓë½±Àø£º%sgY@s9    ÏÉÃËID=%s, ÀúÊ·ÉËѪ=%s, ÉËѪ±ÈÀý: %s%%, ²ÎÓëÍæ¼ÒID=%stFairyGrabBoss1tdetailtFamilyOwnerBossInfo(*RRR+R,R-R/R1tLogRRR2RRRRgRhR3R4R5R&R'tmaxRtGetDictValueByRangeKeyRbRt SendMailBatchR7t
GetFuncCfgR\RRet SendMailByKeyt__GetFamilyOwnerBossHurtPacktGetMapCopyPlayerManagertFindPlayerByIDt NetPackCommont SendFakePacktstrtGetPlayerManagertGameServer_QueryPlayerResultR6(*ROt ownerFamilyIDR9RR(RtmaxHPR:R=R<RstownerFamilyNametownerFamilyHisHurtR@tbatchPlayerIDListtbatchAddItemListtbatchParamListtbatchDetailListtownerFamilyPlayerOrderAwardDicttcurNPCPlayerOrderAwardDicttmaxOrdertcurOrdertorderPlayerNameListt
hurtPlayert awardItemListtordertorderPlayerNametjoinAwardNeedHurtHPPertjoinFamilyAwardDicttcurNPCJoinFamilyAwardListtjoinAwardPlayerIDListRt
hurtFamilyt familyHisHurtthurtPertfamilyPlayerIDListthurtPackt copyPlayerMngt playerIDListRRR#tsyncMsg((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytFamilyOwnerBossOnKilledøsŠ           
      
         ,  (cCs^tjƒjƒ}|jƒ}|jƒ}|||f}tƒ}|j|jƒƒ}    ||jt    j
ƒ|kr†t ||    ||ƒS|j t    j
|ƒ|j j|iƒ}
|jƒ} xÎt| ƒD]À} |j| ƒ} | dkrîqÇn| jƒsqÇn| jƒ}|tjkr!qÇntj| jƒ|ƒ}|jƒ|
krÇtjd||||jƒfƒt||||dƒqÇqÇW|jj|iƒ}|j j|iƒ}
|jj|iƒ}g}x|jƒD]}||krõqÝnt}||}xÅ|D]½}||
kr$q n|
|}tj|tjƒ}|r}|j|j ƒ|j!ƒ|    ƒr}t"}d|_#Pn|j#}|sŸ||_#t"}Pq ||t$j%ddƒdkr t"}Pq q W|sÝ|j&|ƒqÝqÝWx8|D]0}|j'|dƒtj(d|||fƒqîW|j)ƒ}|j*dt+ƒ||j,|<t ||    ||ƒS(NsJÏÉÃ˹éÊôBoss¿´µ½Íæ¼Ò£¬¼ÓÈëÉËѪ£¡lineID=%s, objID=%s, bossID=%s,playerID=%sit BossHurtValueiiès*Çå³ýÏÉÃËÉËѪ: lineID=%s,objID=%s,bossID=%sR*(-RRR+R,R-RtGetRefreshPosAttGetCurRefreshPointIndexRcRJt Def_NPC_Dict_LastRefreshHurtTicktGetFamilyOwnerAtkObjRfRR2tGetInSightObjCounttxrangetGetInSightObjByIndextNonet
GetVisibleRDRERFtGetObjRLRRNRRtkeystFalsetGetIsInRefreshPointtGetPosXtGetPosYtTrueR
R&RŒRbRRˆR3R4R5R(t
npcControlR8tticktrefreshIntervalR9RR(RR:t refreshPointR=tseePlayerCountRAtseeObjt
seeObjTypet    seePlayerR;RstclearHurtFamilyIDListRt isInProtectR®RRt playerHurtObjR£R
tclearHurtFamilyIDR>((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytRefreshFamilyOwnerNPCHurtUsx               
 
'                cCsNt|j|jƒ}|dkr%|St|j|jƒ}|dkrJ|SdS(Ni(R*RR    (thurtObj1thurtObj2tret((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR5·s  c Csô||jks||jkr"dS|j|}|j|}d}x«t|ƒD]\}}|j}    |dkry|    }n|    |kr‹qOn||    }
xT|
D]L} tj| tjƒ} | rœ|j| j    ƒ| j
ƒ|ƒrœ| |fSqœWqOWdS(sM»ñÈ¡ÏÉÃ˹éÊôboss¹¥»÷Ä¿±ê, ¹¥»÷ÔÚboss·¶Î§ÄڵĹéÊôÏÉÃ˳ÉÔ±£¬ÖÁÓÚ´òË­£¬Ëæ±ã
    Ni( RRR7RRR¾RERFRÁRÂRÃ( RÅRÈR:RtnpcFamilyNowHurtSortListRsR–RAR«RR®RRR£((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR¸Ås"            
 'cCs!tƒ}|jsdS|js,||_dS||jdkrCdS||_i}x”|jjƒD]ƒ\}}|\}}}|\}}    d}
d} |jj|gƒ} | rÏ| d} | j}
| j} n||    |
| g||<qbWt|ƒ}t    j
ƒj dddd|t |ƒƒdS(s. ÏÉÃ˹éÊôbossÉËѪ¶¨Ê±´¦Àí£¬Í¬²½GameServer
    Ni'iR~R‡( RRRR\RR2RRR“RR”R•R6(RÆR:R²RRR9RR(tcurHPR—t firstFamilyIDtfirstFamilyNamet nowHurtListtfirstFamilyHurtObj((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytOnFamilyOwnerBossProcessÞs0                     
      (cCsËtjƒjƒ}|jƒ}|jƒ}|||f}tƒ}t|ƒr |jj|iƒ}t    ||gƒ}tj
ƒj dddd|t |ƒƒn|j |ƒtjd|||fƒdS(NitHorsePetRobBossHurtPlayers7ClearFamilyOwnerBossHurt lineID=%s, objID=%s, bossID=%s(RRR+R,R-RR)RR2R“R”R•R6RR(ROR9RR(RR:tfamilyHurtPlayerIDListDictR²((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytClearFamilyOwnerBossHurts       + c Cstjƒj|ƒ}tjƒjƒ}|j}|j}|j}|||f}tƒ}    t    |    ||||ƒ}
|
r‹t
j ||
ƒndS(N( RR”tGetPlayerByIndexRR+tObjIDtNPCIDt    QueryTypeRRŽR‘R’( tindext
clientDataRÆR#R9RtnpcIDt    queryTypeRR:R¯((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytOnQueryFamilyBossHurt#s                ic
Cs"d}|dkr0|jj|gƒ}d}ndStjƒ}|jƒ||_||_||_||_g|_    x’|D]Š}tj
ƒ}    |j |    _ |j |    _|j|    _t|    jƒ|    _|j|    _|jtj|    _|jtj|    _|j    j|    ƒq~Wt|j    ƒ|_|S(Nii(RR2tChPyNetSendPackttagMCFamilyBossHurtListtClearRàRátHurtTypetIsSorttHurtListttagMCFamilyBossHurtRtFamilyIDRtHurtIDRtHurtNameR6tNameLenR    tInitTickRRtDef_PerPointValuet    HurtValuet HurtValueExRbt    HurtCount(
R:RRRåRætisSortt hurtObjListR¯RBRm((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyRŽ3s0      
                          cCs[tjƒ}xHt|jƒƒD]4}|j|ƒ}|jƒrFqnt||ƒqWdS(N(RR”Rºt OnlineCounttOnlineAttIsEmptyR"(RÆt playerManagerRAR#((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyt$OnFamilyKillHorsePetRobBossCntChangeRs  cCs#|jƒ}|sdStj|ƒr)dStjj|dƒ}tj}tj    ||ƒ}|\}}}}    |    sudSt
||    j ƒƒ}
|rÅ|j ƒ} | s¦dS| j ƒ} | |
krÏdSn
|
sÏdS|
sëtj|||ƒn4tjƒj||
ƒ} tj||| |g|ƒdS(Ni(RMt    PlayerTJGtGetIsTJGt
PyGameDatat"g_familyKillHorsePetRobBossCntDictR2RJt&Def_SkillID_HorsePetRobBossKillCntBufft SkillCommont FindBuffByIDtmint GetSkillMaxLVtGetSkillt
GetSkillLVt    BuffSkilltDelBuffBySkillIDRt GetGameDatatFindSkillByTypetAddBuffNoRefreshState(R#RÆRt    killCountt skillTypeIDt    skillInfotfindBufft buffManagertbuffTypet    findSkilltkillLVt    buffSkillt    curBuffLVtcurSkill((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR"^s4        ((('RRRER‘RèR]R_RgR&RRR
RÿRHRJR/RZR[RRR¼RRR$R)RCRSRNR}R³RÑR5R¸RÛRÞRçRŽRþR"(((se.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyt<module>sJ                                 &    $    ?         ]    b            '