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
îù[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     / /     cCsstjƒj|ƒ}|r^|j|jƒƒ}|rVtjd||jƒfƒnxt|jƒƒD]î}|j|ƒ}|dksœ|j
ƒdkr¼|ritjd|ƒqiqin|j ƒdkrú|ritjd||j
ƒfƒqiqin|r2tjd||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, ¶ÓÔ±×ø±ê(%s, %s)! memPlayerID=%ssÕÒ²»µ½¸Ã¶ÓÎé: teamID=%s(R,tGetTeamManagertFindTeamtGetRefreshPosAttGetCurRefreshPointIndexR-tGetMemberCounttxranget    GetMemberR+R?RtGetPosXtGetPosYtGetIsInRefreshPointtErrLog(R
R&RRRGtcurTeamt refreshPointtit curTeamPlayer((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR7˜s*  2! icCsi|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În+|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!ƒkr+|j"|j#ƒ|j$ƒ|ƒr+t%j&||t'ƒr+t|||ƒ|| |jƒ<|rÂt
jd||jƒt(j)|tj*ƒfƒqÂq)t+j,|tj-|d|ƒ}|rot
j.d||jƒfƒn|r)t
jd    ||jƒ|j!ƒ|j#ƒ|j$ƒt%j&||t'ƒfƒq)q)Wn|tj/krÎtj/|} }|j|jƒƒ}t
j0ƒ}xÂt|j1ƒƒD]«}|j2|ƒ}|s=qn|j3ƒ|krƒ|j"|j#ƒ|j$ƒ|ƒrƒt|||ƒqt+j,|tj-|d|ƒ}|rt
j.d
||jƒfƒqqWn|re| ræ| j4ƒnd}| r| | | |ft5j6|
<n+|tj/kr9id| |ft5j6|
<nt
jd ||
| j7ƒ|| |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(8R1RRRR2RR;t GetDictByKeytDef_NPC_Dict_LastDropOwnerIDtDef_NPC_Dict_LastDropOwnerTypeR,R.R/R0R-t__DelBossDropOwnerBuffR+tSetDictR8R9RR:R?t__AddBossDropOwnerPlayerBuffR6RSRTtDef_NPCHurtTypeSpecialRWRURVRXRYt GetCopyMapIDR\RZR[t AttackCommontCheckKillNPCByCnttFalset
ItemCommontGetItemPackSpacetrptItemt    BuffSkilltDelBuffBySkillIDtDef_SkillID_DropOwnerBufftDebugLogR>tGetMapCopyPlayerManagertGetPlayerCounttGetPlayerByIndext GetFamilyIDRDt
PyGameDatatg_npcKillerInfotkeys(R
R&R%RHRIRGtnpcIDRJtlastDropOwnerIDtlastDropOwnerTypetkeyt
killerDictR^thurtTypethurtIDt    curPlayertplayerIDR_R`RatisOkt copyPlayerMgrtindextplayerRR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyRE±s– !     
!    ,     $ 3'    #cCsYtj|tjƒd}|sUtj|tj|d|ƒtjd|jƒƒndS(NiRbsÌí¼Ó¹éÊôbuff: playerID=%s(t SkillCommont FindBuffByIDRRstAddBuffBySkillType_NoRefurbishR,RtR?(RƒR%R
tfindBuff((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyRhs
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=%sRbsɾ³ý¹éÊô¶ÓÎébuff: teamID=%si(RR8R,R9RR:RtRqRrRsR6RSRTRXRWRYR+R?(R
RHRIR%RƒR^R`Ra((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyRfs"#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(RcRRdReR8R,R9RR:t#__SetBossDropOwnerBuffDisappearTimeR6RSRTRXRWRYR+R?R>RuRvRw(
R
RIRHRƒR^R`RaR†R‡Rˆ((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt__DelayBossDropOwnerBuff3s0 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 GetGameDatatGetSkillBySkillIDRRsR‰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Rs, 
   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
OnAttacked{scCsttj|ƒ}|tjgkr%tSt||dƒ}| sE| rptj|dƒtj    d|j
ƒƒt StS(Niis"Bossµ±Ç°×´Ì¬Ï²»¿ÉÒÔËÀÍö£¡npcID=%s( RRRR2RRRtSetHPR,R]R1Rm(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,tGetDistRZR[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<RkR,R½R¥R‰RyRqRRnR R)RmRR7RERhRfRŽ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                )