CeHua_ZWJ
2018-08-30 2de4cdcd46391dfa5e79420bc2cf551b7420b100
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
é`‡[c@s,ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    dZ
dZ ddd„ƒYZ ddd„ƒYZ dad„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zdd„ZdS(iÿÿÿÿNiit FamilyHurtObjcBseZd„ZRS(cCsO||_||_||_||_d|_tjƒjƒ|_d|_    dS(Ni(
tfamilyIDtobjTypetobjIDtnamet    hurtValuet    GameWorldt GetGameWorldtGetTicktinitTicktstartProtectTick(tselfRRRR((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyt__init__#s                        (t__name__t
__module__R (((suE:\SnxxServerCode\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 ((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR 0s                             cCsl|jj|dƒ|jj|dƒ|jj|dƒ|jj|dƒ|jj|dƒi|_dS(Ni(RtpopRRRRR(R tkey((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyt ClearNPCHurtAs    cCsdS(N((R ((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytGetPlayerHisHurtDictJs(R RR RR(((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR.s            cCststƒantS(N(tg_familyOwnerBossHurtR(((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytGetFamilyHurtMgrNs cCs(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(t    curPlayertcurNPCtlineIDRtbossIDRthurtMgrtnpcFamilyNowHurtDicttnpcFamilyHisHurtDicttnpcPlayerHisHurtDicttnpcNowHurtFamilyListtnpcHisHurtFamilyListtnpcHisHurtPlayerListtithurtObj((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytOnGMPrintFamilyOwnerBossHurtTs2  2       ''-c Cs$tjd|ƒ|dkr!dS| s/| r3dS|jƒ}|tjkrRdS|jƒ}|tjkrqdStj|ƒtj    krdStj
ƒj ƒ}|j ƒ}|j ƒ}|jƒ}|jƒ}    tjd||||    |f|ƒ|||f}
tƒ} t||| |
|ƒdS(Ns(OnPlayerHurtFamilyOwnerBoss hurtValue=%sisIÏÉÃËÇÀBossÔö¼ÓÉËѪ: lineID=%s,objID=%s,bossID=%s,familyID=%s,hurtValue=%s(RRtGetGameObjTypet IPY_GameWorldt    gotPlayertgotNPCt    NPCCommontGetDropOwnerTypetChConfigtDropOwnerType_FamilyRRR R!t GetPlayerIDt GetFamilyIDRtAddPlayerHurtFamilyOwnerBoss( R,tcurBossRt
curObjTypet curBossTypeR.RR/tplayerIDRRR0((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytOnPlayerHurtFamilyOwnerBosszs0               cCs‚|dkrdS|jƒ}|jƒ}|jƒ}|jƒ}i|jtgd6|jtgd6|jtgd6}    xÝ|    j    ƒD]Ï\}
} | \} } || kr´i| |<n| |}| tkrÐ|n|}||kr| tkrô|n|}t
|| ||ƒ||<n||}|j |7_ t j d|
| ||j f|ƒqƒW|jj|iƒ}|j|gƒ}||kr°|j|ƒ|||<||j|<ntj|ƒ}tj|ƒ}||g|j|<tjddƒ}|jtjƒ}||}|r~t|d|ƒ}|d\}}||kr~|jtj|d    ƒtjd||jƒgƒq~ndS(
Nit FamilyNowHurtt FamilyHisHurtt PlayerHisHurts2    ¸üÐÂÉËѪ%s: hurtType=%s,hurtID=%s,hurtValue=%st FairyGrabBossigY@i(RBRCt GetPlayerNamet GetFamilyNameRtFamilyHurtObjType_FamilyRRtFamilyHurtObjType_PlayertitemsRRRRRR&tappendR#R$R%Rt IpyGameDataPYtGetFuncEvalCfgt GetDictByKeyR@tDef_NPC_Dict_HPPerLogicMarktinttSetDictt PlayerControlt WorldNotifyR!(R,RER0RRRHRt
playerNamet
familyNamet addHurtDicttmarkthurtInfothurtDictthurtTypet objHurtDictthurtIDthurtNameR8tnpcFamilyPlayerIDDicttnpcFamilyPlayerIDListtnpcHPtnpcMaxHPtnpcHPPerNotifyListthpPerLogicMarktlogicHPPerListtnpcHPPert    notifyPert    notifyKey((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyRDžsR        
 
      
 
 "cCsxtjƒjƒ}|jƒ}|jƒ}|||f}tƒ}|j|ƒtj|ƒtj    |ƒg|j
|<dS(N( RRRR R!RRR#R$R%R(RER.RR/RR0((suE:\SnxxServerCode\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ƒ}
||    krå|    |} t jdd| j|gƒn|jƒ} | jdtƒggg} }}tjddiƒ}|j
|iƒ}|rNt|ƒnd}d}g}x¬| D]¤}|j|kr‚qgn|d7}tj||gƒ}| j|jgƒ|j|ƒ|j||gƒ|j|jƒtjd||fƒ||krgPqgqgW| rYt jd| ||ƒtjj|ƒ}t jdd    ||gƒntjdd
ƒ}tjdd iƒ}|j
|gƒ}g}tjd ||fƒx‚|    jƒD]t\}}|j }t!|d |ƒ}|
j
|gƒ} tjd|||| fƒ||kr&q¼n|| 7}q¼W|rYt j"d||||gƒnt#||||dƒ}!tj$ƒ}"|j j
|iƒ}
xM|
jƒD]?}#x6|#D].}$|"j%|$ƒ}%|%r¬t&j'|%|!ƒq¬q¬WqŸWdS(s½ÏÉÃ˹éÊôboss±»»÷ɱ
                     ¹éÊôIDÓÉÍâ²ã¹éÊôËãºÃ´«È룬²»ÓÉÉËѪ¾ö¶¨£¬·ÀÖ¹¹éÊôÂß¼­ÐÞ¸Äʱ¸Äµ½Âß¼­
                     ÒòΪÓÐÉËѪ±£»¤£¬Èç¹ûÉËѪµÚÒ»²»Ëã¹éÊôµÄ»°£¬Âß¼­¾ÍÐèÒªÐÞ¸Ä
    sNFamilyOwnerBossOnKilled lineID=%s,objID=%s,bossID=%s,maxHP=%s,ownerFamilyID=%sitFairyGrabBossDeadRRMis    ¹éÊôÏÉÃ˵Ú%sÃû¶îÍâ½±Àø: %stFairyGrabBoss2tFairyGrabBossRankiis*    ²ÎÓë½±ÐèÇóÉËѪ±ÈÀý: %s%%, ²ÎÓë½±Àø£º%sgY@s9    ÏÉÃËID=%s, ÀúÊ·ÉËѪ=%s, ÉËѪ±ÈÀý: %s%%, ²ÎÓëÍæ¼ÒID=%stFairyGrabBoss1N((RRRR R!R#R%tLogRRR&RRRZR[RR'R(R)RTRUtmaxRtGetDictValueByRangeKeyRSRt SendMailBatcht ShareDefinet    Def_Spacetjoint
GetFuncCfgRRRRXt SendMailByKeyt__GetFamilyOwnerBossHurtPacktGetMapCopyPlayerManagertFindPlayerByIDt NetPackCommont SendFakePack(&REt ownerFamilyIDR.RR/RtmaxHPR0R3R2RftownerFamilyHisHurtR6tbatchPlayerIDListtbatchAddItemListtbatchParamListtownerFamilyPlayerOrderAwardDicttcurNPCPlayerOrderAwardDicttmaxOrdertcurOrdertorderPlayerNameListt
hurtPlayert awardItemListtorderPlayerNametjoinAwardNeedHurtHPPertjoinFamilyAwardDicttcurNPCJoinFamilyAwardListtjoinAwardPlayerIDListRt
hurtFamilyt familyHisHurtthurtPertfamilyPlayerIDListthurtPackt copyPlayerMngt playerIDListRHR,((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytFamilyOwnerBossOnKilledâs|           
 
         cCsntjƒ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ÝWxH|D]@}|j'|dƒ|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(-RRRR R!RtGetRefreshPosAttGetCurRefreshPointIndexRVR@t Def_NPC_Dict_LastRefreshHurtTicktGetFamilyOwnerAtkObjRYRR&tGetInSightObjCounttxrangetGetInSightObjByIndextNonet
GetVisibleR:R;R<tGetObjRBRRDRRtkeystFalsetGetIsInRefreshPointtGetPosXtGetPosYtTrueR
RTR|RSRRuR'R(R)R(t
npcControlR-tticktrefreshIntervalR.RR/RR0t refreshPointR3tseePlayerCountR7tseeObjt
seeObjTypet    seePlayerR1RftclearHurtFamilyIDListRt isInProtectR˜RHt playerHurtObjRŽR
tclearHurtFamilyIDR4((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytRefreshFamilyOwnerNPCHurt6sz               
 
'                cCsNt|j|jƒ}|dkr%|St|j|jƒ}|dkrJ|SdS(Ni(RRR    (thurtObj1thurtObj2tret((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR)˜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( RRR+RRR§R;R<RªR«R¬( R®R±R0RtnpcFamilyNowHurtSortListRfRƒR7R•RR˜RHRŽ((suE:\SnxxServerCode\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'ittFamilyOwnerBossInfo( RRRRRRR&RRtstrRtGetPlayerManagertGameServer_QueryPlayerResultR*(R¯R0tsyncMsgRRR.RR/tcurHPR„t firstFamilyIDtfirstFamilyNamet nowHurtListtfirstFamilyHurtObj((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytOnFamilyOwnerBossProcess¿s0                     
      (cCsmtjƒjƒ}|jƒ}|jƒ}|||f}tƒ}|j|ƒtjd|||fƒdS(Ns7ClearFamilyOwnerBossHurt lineID=%s, objID=%s, bossID=%s(RRRR R!RRR(RER.RR/RR0((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pytClearFamilyOwnerBossHurtæs       c Cstjƒj|ƒ}tjƒjƒ}|j}|j}|j}|||f}tƒ}    t    |    ||||ƒ}
|
r‹t
j ||
ƒndS(N( RRÂtGetPlayerByIndexRRtObjIDtNPCIDt    QueryTypeRR~RR‚( tindext
clientDataR¯R,R.RtnpcIDt    queryTypeRR0R™((suE:\SnxxServerCode\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(RR&tChPyNetSendPackttagMCFamilyBossHurtListtClearRÍRÎtHurtTypetIsSorttHurtListttagMCFamilyBossHurtRtFamilyIDRtHurtIDRtHurtNameR*tNameLenR    tInitTickRRytDef_PerPointValuet    HurtValuet HurtValueExRSt    HurtCount(
R0RRRÒRÓtisSortt hurtObjListR™R8R`((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyR~ s0      
                          (((RRyR;RRÕRZRTR>R@R#RPRQRRR¥RRR9RIRDRpRœRºR)R¡RÊRËRÔR~(((suE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FamilyRobBoss.pyt<module>s6                   &    $    8         T    b            '