cehua_hzl
2018-08-28 b6bc677e368e506f67a39553d1114417e7d26896
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
x{[c@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z d„Z d„Z ded„Zd„Zdded„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((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pytDoInit/s      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((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt    ProcessAI?s('   $i¸ cCs¡tj|ƒ}d}d\}}tj|ƒ}|tjkrÁ|j||ƒ}    |    rÁ|    jƒ|    jƒ}}|tj    kr”t
|||ƒ}q¾|tj kr¾t j |tjƒ}q¾qÁn|s„d\}
} |j||dtƒ|jƒ} | r(| jƒ} | jƒ}
t j | |
ƒ} n| }|
tjkr„| r„| jƒ}|rhtj    |}}qtj | jƒ}}q„nt||||||ƒ|S(Nit
isUpdAngry(ii(NN(RR tNoneRRtDropOwnerType_MaxHurttRefreshHurtListt GetValueTypet
GetValueIDtDef_NPCHurtTypeTeamt__GetMaxHurtTeamPlayertDef_NPCHurtTypePlayert    GameWorldtGetObjRt    gotPlayertRefreshAngryListRtGetMaxAngryTagtGetObjIDt
GetObjTypet    GetTeamIDt GetPlayerIDt__RefreshBossDropOwnerObjBuff(R
R%trefreshIntervaltisDeadR&R(t    ownerTypetownerIDt dropOwnerTypet
maxHurtObjt angryObjTypet maxAngryObjtmaxAngrytangryIDtteamID((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR`s8      cCsÄtjƒj|ƒ}|rÀ|j|jƒƒ}xt|jƒƒD]v}|j|ƒ}|dksC|j    ƒdkr|qCn|j
ƒdkr”qCn|j |j ƒ|j ƒ|ƒrC|SqCWndS(Ni(R3tGetTeamManagertFindTeamtGetRefreshPosAttGetCurRefreshPointIndextxrangetGetMemberCountt    GetMemberR+R;RtGetIsInRefreshPointtGetPosXtGetPosY(R
R&RGtcurTeamt refreshPointtit curTeamPlayer((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR1†s! ic CsB|jƒ}tj|ƒ}|tjtjgkr7dS|jtjƒ}|jtjƒ}    |r¬|    |ksy||kr¬t    j
d|||    |fƒt ||    ||ƒnidddf\}
} } } |j tj|ƒ|j tj|ƒ|tjkrVt    j|tjƒ}|r·|jƒ}tj|} } ||
|<t|||ƒq·na|tjkr·t    jƒj|ƒ} | s„dStjd} } |j|jƒƒ}x t| jƒƒD]ô}| j|ƒ}|dks¼|jƒdkrõq¼n|jƒt    jƒjƒkrl|j|j ƒ|j!ƒ|ƒrlt"j#||t$ƒrlt|||ƒ||
|jƒ<q¼t%j&|tj'|d|ƒ}|r¼t    j
d||jƒfƒq¼q¼Wn|r>t    jƒj(ƒ|j)ƒ|f}| rð| j*ƒnd}|
r|
| | | ft+j,|<nt    j-d|||
j.ƒ|fƒndS(NsU¹éÊô±ä¸ü, Çå³ý¾É¹éÊô! ownerType=%s,ownerID=%s,lastDropOwnerType=%s,lastDropOwnerID=%sit    buffOwners'ɾ³ý¹éÊô¶ÓÔ±buff: teamID=%s,playerID=%ss5Boss±»»÷ɱ: npcID=%s,key=%s,playerIDList=%s,teamID=%s(/tGetNPCIDRRRR,Rt GetDictByKeytDef_NPC_Dict_LastDropOwnerIDtDef_NPC_Dict_LastDropOwnerTypeR3tDebugLogt__DelBossDropOwnerBuffR+tSetDictR2R4RR5R;t__AddBossDropOwnerPlayerBuffR0RHRItDef_NPCHurtTypeSpecialRJRKRLRMRNt GetCopyMapIDt GetGameWorldRORPRQt AttackCommontCheckKillNPCByCnttFalset    BuffSkilltDelBuffBySkillIDtDef_SkillID_DropOwnerBufft    GetLineIDtGetIDR:t
PyGameDatatg_npcKillerInfotLogtkeys(R
R&R%R?R@R>tnpcIDRAtlastDropOwnerIDtlastDropOwnerTypet
killerDictRRthurtTypethurtIDt    curPlayertplayerIDRSRTRUtisOktkeyRG((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR<•sZ      
!'!&cCsYtj|tjƒd}|sUtj|tj|d|ƒtjd|jƒƒndS(NiRVsÌí¼Ó¹éÊôbuff: playerID=%s(t SkillCommont FindBuffByIDRRgtAddBuffBySkillType_NoRefurbishR3R[R;(RtR%R
tfindBuff((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR^Õs
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=%sRVsɾ³ý¹éÊô¶ÓÎébuff: teamID=%si(RR2R3R4RR5R[ReRfRgR0RHRIRLRMRNR+R;(R
R?R@R%RtRRRTRU((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR\Üs"#cCsô|jtjƒ}|jtjƒ}|tjkrbtj|tjƒ}|sRdSt    ||ƒnŽ|tj
krðtj ƒj |ƒ}|sdSx]t |jƒƒD]F}|j|ƒ}|dks£|jƒdkrÜq£nt    ||ƒq£WndS(s ÑÓ³ÙbossµôÂä¹éÊôbuffÏûʧʱ¼ä Ni(RXRRYRZR2R3R4RR5t#__SetBossDropOwnerBuffDisappearTimeR0RHRIRLRMRNR+R;(R
R@R?RtRRRTRU((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt__DelayBossDropOwnerBuffñs"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((R3t GetGameDatatGetSkillBySkillIDRRgRxt GetBuffTypetGetBuffManagerByBuffTypeRatGetTickRLt GetBuffCounttGetBufftGetSkilltGetSkillTypeIDRit
GetOwnerIDtSetCalcStartTickt SetRemainTimetSync_RefreshBufft GetRemainTime( RtR
t    findSkilltbuffTypet    buffTuplet
RemainTimeR%tbuffStateManagertindextcurBufft    buffSkill((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR|s, 
   cCs,|jƒtjkr(tj||ƒndS(N(tGetGameObjTypeRR5t PlayerStatetSetBossStateTick(tatkObjR
tskillR%((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt
OnAttacked1scCs9tjƒjƒ}tj||ƒt||dtƒdS(Ni(R3RaR‚R•R–RR(R
RtR˜R%((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pytOnAttackDieByPlayer7scCstj|ƒt|ƒdS(N(RtDoNPCUseSkillOnDieR}(R
tHurtTypetHurtID((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pytOnDieEs 
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+RRR3tGetDistRPRQtDoAutoUseSkillt
GetAtkDisttMoveToObj_Detelt GetAttackTicktGetAtkIntervalt    FixTagPost
BaseAttacktAttack(R
tcurTagR%R&ttagDist((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyR"Qs* 
!0 (RRRRRbR3RªR•RxRjReRR R)RdRR1R<R^R\R}R|R™RšRžR"(((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCAI\AIType_186.pyt<module>s0                    !&    @                )