cehua_lyf
2019-03-06 3c8ee0a8a524a6251d7d5aae2372e76fd8a99b9c
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
ÏnQ\c@sBddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z d„Zd„Zded„Zd„Zdded„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNcCs_tj}tj|ƒr$tj}ntj|ƒtjkrHtj}n|jƒj    |ƒdS(N(
tChConfigtDef_NormalNPCAngryCountt
IsGameBosstDef_SuperFBBossAngryCountt    NPCCommontGetDropOwnerTypetDropOwnerType_MaxAngrytDef_SuperBossAngryCountt GetNPCAngrytInit(tcurNPCt
angryCount((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pytDoInit1s      cCsKtj|ƒ}|jƒtjks6|jƒtkrR|j|ƒdkrRdSn|jƒr‡|j    |ƒt
j |ƒdkr‡dSn|jƒ}|tj krË|j ƒtjkrËtj||ƒdSt||ƒ}|jƒ sî| r$|tjkr |j|ƒ r tj||ƒndSt|||ƒ|jtjdƒdS(Ni(Rt
NPCControlt GetCurActiont IPY_GameWorldtlaNPCDietIsAlivetTruetDieTickt    GetIsBosstRefreshBuffStatetGameObjtGetHPt    laNPCMovetGetCurMoveTypetmtRuntAICommontNormalNPCFast_Movet__RefreshDropOwnertGetIsNeedProcesst    laNPCNulltProcessHPRestoretNormalNPCFree_Movet
__NPCFightt DoHPPerLogicRtDef_NPCHurtTypeAll(R
ttickt
npcControlt curNPCActionttagObj((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt    ProcessAIAs('   $i¸ c    Cstj|ƒ}d}d\}}tj|ƒ}|rntjdtjƒjƒ|jƒ|j    ƒ|fƒn|t
j kr|j ||ƒ}    |    rQ|    j ƒ|    jƒ}}|t
jkrÕt||||ƒ}qÿ|t
jkrÿtj|tjƒ}qÿqQnO|t
jkrQtj||||ƒ}
|
rQ|
\}} t
j| }}qQn|r†tjd|||srdn    |jƒfƒn|spd\} } |j||dtƒ|jƒ}|rí|jƒ}|jƒ} tj|| ƒ} n| }| tjkrM| rM| rM| jƒ}|r4t
j|}}qMt
j| jƒ}}n|rptjd||fƒqpnt ||||||ƒ|S(Nis6BossËÀÍö: lineID=%s,objID=%s,npcID=%s,dropOwnerType=%ss%ownerType=%s, ownerID=%s, tagObjID=%st
isUpdAngrys"angryObj, ownerType=%s, ownerID=%s(ii(NN(!RR tNoneRt    GameWorldtLogt GetGameWorldt    GetLineIDtGetIDtGetNPCIDRtDropOwnerType_MaxHurttRefreshHurtListt GetValueTypet
GetValueIDtDef_NPCHurtTypeTeamt__GetMaxHurtTeamPlayertDef_NPCHurtTypePlayertGetObjRt    gotPlayertDropOwnerType_Familyt FamilyRobBosstRefreshFamilyOwnerNPCHurttDef_NPCHurtTypeFamilyt GetPlayerIDtRefreshAngryListRtGetMaxAngryTagtGetObjIDt
GetObjTypet    GetTeamIDt__RefreshBossDropOwnerObjBuff(R
R%trefreshIntervaltisDeadR&R(t    ownerTypetownerIDt dropOwnerTypet
maxHurtObjt    ownerInfot ownerFamilyIDt angryObjTypet maxAngryObjtmaxAngrytangryIDtteamID((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyRbsP     / /     cCs«tjƒj|ƒ}|r–|j|jƒƒ}|rVtjd||jƒfƒnxNt|jƒƒD]&}|j|ƒ}|dksœ|j
ƒdkr¼|ritjd|ƒqiqin|j ƒdkrú|ritjd||j
ƒfƒqiqin|j ƒs2|ritjd||j
ƒfƒqiqin|rjtjd||j ƒ|jƒ|j
ƒfƒn|j|j ƒ|jƒ|ƒri|SqiWntjd|ƒdS(Ns$¶ÓÎé³ÉÔ±Êý: teamID=%s,memberCount=%sis    i=%s, ¶ÓԱΪ¿Õ!s&    i=%s, ¶ÓԱѪÁ¿Îª0!, memPlayerID=%ss%    i=%s, ¶ÓÔ±²»¿É¼û!, memPlayerID=%ss*    i=%s, ¶ÓÔ±×ø±ê(%s, %s)! memPlayerID=%ssÕÒ²»µ½¸Ã¶ÓÎé: teamID=%s(R,tGetTeamManagertFindTeamtGetRefreshPosAttGetCurRefreshPointIndexR-tGetMemberCounttxranget    GetMemberR+R?Rt
GetVisibletGetPosXtGetPosYtGetIsInRefreshPointtErrLog(R
R&RRRGtcurTeamt refreshPointtit curTeamPlayer((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR7˜s2    2! icCs|jƒ}tj|ƒ}|tjtjtjgkr=dS|jtjƒ}|jtj    ƒ}    t
j ƒj ƒ|j ƒ|f}
|rÖ|    |ks ||krÖt
jd|
|||    |fƒt||    ||ƒnidddf\} } } }|jtj|ƒ|jtj    |ƒ|r=t
jd|
||fƒn|tjkr£t
j|tjƒ}|ræ|jƒ}tj|} }|| |<t|||ƒqænC|tjkrÕt
jƒj|ƒ} | sÑdStjd} }|rt
jd| jƒƒn|j|jƒƒ}xÍt| jƒƒD]¥}| j |ƒ}|dks\|jƒdkr||r)t
jd|ƒq)q)n|j!ƒt
j ƒj!ƒkr7|j"|j#ƒ|j$ƒ|ƒr7t%j&||t'ƒr7|j(ƒr7t|||ƒ|| |jƒ<|rÎt
jd||jƒt)j*|tj+ƒfƒqÎq)t,j-|tj.|d|ƒ}|r{t
j/d||jƒfƒn|r)t
jd    ||jƒ|j!ƒ|j#ƒ|j$ƒt%j&||t'ƒfƒq)q)Wn|tj0krætj0|} }|j|jƒƒ}t
j1ƒ}xÎt|j2ƒƒD]·}|j3|ƒ}|sIq(n|j4ƒ|kr›|j"|j#ƒ|j$ƒ|ƒr›|j(ƒr›t|||ƒq(t,j-|tj.|d|ƒ}|r(t
j/d
||jƒfƒq(q(Wn|r}| rþ| j5ƒnd}| r&| | | |ft6j7|
<n+|tj0krQid| |ft6j7|
<nt
jd ||
| j8ƒ|| |fƒndS( Ns\¹éÊô±ä¸ü, Çå³ý¾É¹éÊô! key=%s,ownerType=%s,ownerID=%s,lastDropOwnerType=%s,lastDropOwnerID=%sis(Boss¹éÊô: key=%s,ownerType=%s,ownerID=%ss¶ÓÎé³ÉÔ±Êý: %ss    i=%s, ³ÉÔ±²»´æÔÚ!s6    i=%s, ³ÉÔ±ÓйéÊôȨ! memPlayerID=%s,±³°üÊ£Óà¿Õ¸ñ=%st    buffOwners'ɾ³ý¹éÊô¶ÓÔ±buff: teamID=%s,playerID=%ssS    i=%s, ³ÉÔ±ÎÞ¹éÊôȨ! memPlayerID=%s,copyMapID=%s,pos(%s,%s),CheckKillNPCByCnt=%ss-ɾ³ý·Ç¹éÊôÏÉÃ˳ÉÔ±buff: teamID=%s,playerID=%ssKBoss±»»÷ɱ: npcID=%s,key=%s,playerIDList=%s,teamID=%s,hurtType=%s,hurtID=%s(9R1RRRR2RR;t GetDictByKeytDef_NPC_Dict_LastDropOwnerIDtDef_NPC_Dict_LastDropOwnerTypeR,R.R/R0R-t__DelBossDropOwnerBuffR+tSetDictR8R9RR:R?t__AddBossDropOwnerPlayerBuffR6RSRTtDef_NPCHurtTypeSpecialRWRURVRXRYt GetCopyMapIDR]R[R\t AttackCommontCheckKillNPCByCnttFalseRZt
ItemCommontGetItemPackSpacetrptItemt    BuffSkilltDelBuffBySkillIDtDef_SkillID_DropOwnerBufftDebugLogR>tGetMapCopyPlayerManagertGetPlayerCounttGetPlayerByIndext GetFamilyIDRDt
PyGameDatatg_npcKillerInfotkeys(R
R&R%RHRIRGtnpcIDRJtlastDropOwnerIDtlastDropOwnerTypetkeyt
killerDictR_thurtTypethurtIDt    curPlayertplayerIDR`RaRbtisOkt copyPlayerMgrtindextplayerRR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyREµs– !     
!!    ,     $ ?'    #cCsYtj|tjƒd}|sUtj|tj|d|ƒtjd|jƒƒndS(NiRcsÌí¼Ó¹éÊôbuff: playerID=%s(t SkillCommont FindBuffByIDRRttAddBuffBySkillType_NoRefurbishR,RuR?(R„R%R
tfindBuff((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyRis
cCs|tjkr^tj|tjƒ}|s.dStjd|ƒtj|tj    |d|ƒn®|tj
kr tj ƒj |ƒ}|sŒdStjd|ƒxlt |jƒƒD]U}|j|ƒ}|dks°|jƒdkréq°ntj|tj    |d|ƒq°WndS(Nsɾ³ý¹éÊôÍæ¼Òbuff: playerID=%sRcsɾ³ý¹éÊô¶ÓÎébuff: teamID=%si(RR8R,R9RR:RuRrRsRtR6RSRTRXRWRYR+R?(R
RHRIR%R„R_RaRb((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyRg"s"#c
CsW|jtjƒ}|jtjƒ}|tjkrbtj|tjƒ}|sRdSt    ||ƒnñ|tj
krðtj ƒj |ƒ}|sdSxÀt |jƒƒD]F}|j|ƒ}|dks£|jƒdkrÜq£nt    ||ƒq£Wnc|tjkrStjƒ}xEt |jƒƒD].}|j|ƒ}    |    s?qnt    |    |ƒqWndS(s ÑÓ³ÙbossµôÂä¹éÊôbuffÏûʧʱ¼ä Ni(RdRReRfR8R,R9RR:t#__SetBossDropOwnerBuffDisappearTimeR6RSRTRXRWRYR+R?R>RvRwRx(
R
RIRHR„R_RaRbR‡RˆR‰((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt__DelayBossDropOwnerBuff7s0 c Cstjƒjtjƒ}|s"dStj|ƒ}tj||ƒ}|dkrSdSd}tjƒj    ƒ}|d}xt
|j ƒƒD]‰}|j |ƒ}    |    j ƒ}
|
jƒtjkrÄqˆn|jƒ|    jƒkràPn|    j|ƒ|    j|ƒ|j||    jƒƒPqˆWdS(Ni'i((R,t GetGameDatatGetSkillBySkillIDRRtRŠt GetBuffTypetGetBuffManagerByBuffTypeR.tGetTickRXt GetBuffCounttGetBufftGetSkilltGetSkillTypeIDR0t
GetOwnerIDtSetCalcStartTickt SetRemainTimetSync_RefreshBufft GetRemainTime( R„R
t    findSkilltbuffTypet    buffTuplet
RemainTimeR%tbuffStateManagerRˆtcurBufft    buffSkill((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyRŽVs, 
   cCs,|jƒtjkr(tj||ƒndS(N(tGetGameObjTypeRR:t PlayerStatetSetBossStateTick(tatkObjR
tskillR%((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt
OnAttackedscCsttj|ƒ}|tjgkr%tSt||dƒ}| sE| rptj|dƒtj    d|j
ƒƒt StS(Niis"Bossµ±Ç°×´Ì¬Ï²»¿ÉÒÔËÀÍö£¡npcID=%s( RRRR2RRRtSetHPR,R^R1Rn(R¨R
R©R%RJR(((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt OnCheckCanDie„scCs9tjƒjƒ}tj||ƒt||dtƒdS(Ni(R,R.R”R¦R§RR(R
R„R©R%((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pytOnAttackDieByPlayer‘scCstj|ƒdS(N(RtDoNPCUseSkillOnDie(R
tHurtTypetHurtID((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pytOnDieŸs cCst|ƒdS(N(R(R
((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt OnNPCSetDead£s
cCsBtj||ƒrdStj|ƒtj|ƒ}|jƒtkrR|jƒdS|dksst    j
|ƒdkrwdSt j |j ƒ|jƒ|j ƒ|jƒƒ}tj||||ƒrÃdS||jƒkræ|j|ƒdS||jƒ|jƒkrdS|j|j ƒ|jƒƒr(dStj||d|ƒdS(Ni(RtDoNPCSkillWarningProcessRtSetNPCInBattleStateR tIsInRefreshAreaRtMoveBackR+RRR,tGetDistR[R\tDoAutoUseSkillt
GetAtkDisttMoveToObj_Detelt GetAttackTicktGetAtkIntervalt    FixTagPost
BaseAttacktAttack(R
tcurTagR%R&ttagDist((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR"®s* 
!0 (RRRRR<RlR,R¾R¦RŠRzRrRRoR R)RnRR7RERiRgRRŽRªR¬R­R±R²R"(((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt<module>s8                      !6    f                )