hxp
2018-10-09 f2980f81ddd8321a04c536f291f9b83a0b69263a
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
K¼[c@s§ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZejddƒejddƒd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%dS(iÿÿÿÿNs Script\NPC\tNPCAItcCsMtjƒd}tj|dƒtjƒd}tj|dƒtt_dS(NsScript\NPC\NPCAIRs
Script\NPCR(tChConfigt
GetAppPatht    GameWorldt ReloadScripttOnNPCDiet    NPCCommon(ttickt
scriptPath((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyt    ReloadNPC;s     cCsKtjtd|jƒdfƒ}|dkr>tjtjfS|||ƒS(Ns AIType_%d.%stOnGetOwnerRelation(Rt GetExecFuncRt    GetAITypetNoneRtType_Relation_FriendtDef_PASysMessage_None(tcurNPCtownertcallFunc((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyR Gs" cCs?tjtd|jƒdfƒ}|dkr2dS|||ƒS(Ns AIType_%d.%stGetNPCAttackTagLimit(RR RR R(RttagObjR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyROs" cCshtjƒj|jƒtjfƒtjtd|j    ƒdfƒ}|dkrTdS||||ƒdS(Ns AIType_%d.%stOnDie( tPassiveBuffEffMngtGetPassiveEffManagertRemovePassiveEfftGetIDt IPY_GameWorldtgotNPCRR RR R(RtHurtTypetHurtIDR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyR[s "" cCs@tjtd|jƒdfƒ}|dkr2dS||ƒdS(Ns AIType_%d.%st OnNPCSetDead(RR RR R(RR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyRds
" 
cCsMtj|ƒtjtd|jƒdfƒ}|dkr?dS||ƒdS(Ns AIType_%d.%st OnNPCReborn(tFBLogictOnNPCRebornInFBRR RR R(RR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyR ks  " 
cCsYtjtd|jƒdfƒ}|dkr2dS|||||ƒtj||ƒdS(Ns AIType_%d.%st
OnAttacked(RR RR RtPlayerActivitytOnAttackNPCActivity(tatkObjRtskillRR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyt OnNPCAttackedys
" cCstjtƒ|ƒdS(N(Rt GetPsycoFunct__Func_InitNPC(R((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pytInitNPC‡sc
Csštt_tjƒjƒ}tjd|ƒtjƒjƒ}g}tj    ddiƒ}||kr±t
d||dƒ}||kr±tj    ddƒ}tjd|ƒq±ntj ƒ}|j ƒ}x½t |ƒD]¯}|j|ƒ}    |    jƒ|kr|    jtƒqÖntj|    ƒ|    jƒdkrÖ|    jƒdkrÖtjd|    jƒ|    jƒ|    jƒ|    jƒfƒtd    ƒ‚qÖqÖWtjd
ƒdS( NsNPC Initing...FB %dtMapLineiiiis    hideNPCIDList=%ss@###NPC²ß»®Ìî±í´íÎó£¬NPC = %s , %s , Ë¢Ðµã = %sºÍÖØÉúµã = %s´íÎós ###NPC ²ß»®Ìî´í±íÀ­ s NPC Init OK!(RRRt GetGameWorldtGetCurGameWorldIndextLogtGetMaptGetMapIDt IpyGameDataPYtGetFuncEvalCfgtmaxt GetNPCManagert GetNPCCounttxranget GetNPCByIndextGetNPCIDt
SetVisibletFalseR+tGetRefreshPosCounttGetPatrolPosCounttGetNamet    Exception(
RtgameWorldIndextmapIDt hideNPCIDListtactivityMapLineDicttactivityLineIDtgameNPCtnpcCounttiR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyR*s0          $5 cCstjtƒ|ƒdS(N(RR)t__Func_NormalNPCAI(R((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyt NormalNPCAIµscCsÖtjƒ}g}xŸtd|jƒƒD]ˆ}|j|ƒ}|jƒdkrUq(n|jƒtjkr£tj    |ƒ}|dkr‹q(nt j |ƒr£q(q£n|j |ƒq(Wx|D]}t||ƒq»WdS(Ni(RR5trangetGetActiveNPCCounttGetActiveNPCByIndexRtGetGameNPCObjTypeRt
gnotSummont GetObjDetailRRt
IsGameBosstappendt ProcessNPCAI(RREtnormal_NPC_ListtindexR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyRH¿s        cCstjtƒ|ƒdS(N(RR)t__Func_BossSummonNPCAI(R((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pytBossSummonNPCAIîsc Cs}tjƒ}g}x–td|jƒƒD]}|j|ƒ}|jƒdkrUq(n|jƒtjkrpq(n|j    ƒdkrˆq(n|j ƒsšq(n|j |ƒq(Wx|D]}t ||ƒq²Wtjƒ}||jtjƒtjtjkrÿdS|jtj|ƒg}x¦td|jƒƒD]}|j|ƒ}|jƒdkr[q.n|jƒtjkrvq.n|j    ƒdkržtj|ƒ ržq.n|j ƒs°q.n|j |ƒq.Wx|D]}t ||ƒqÈWg}xQtd|jƒƒD]:}|j|ƒ}|jƒdkr(qûn|j |ƒqûWx|D]}t ||ƒq@Wg}x_t|jƒƒD]K}|j|ƒ}|j ƒs®tjd|jƒƒqpn|j |ƒqpWx|D]}t ||ƒqÆWg}    xutd|jƒƒD]^}|j|ƒ}
|
jƒdkr&qùn|
jƒs8qùn|
j ƒsJqùn|    j |
ƒqùWx|    D]}
t |
|ƒqbWdS(Nis###ïÚ³µËÀÍö , %s(RR5RJtGetSummonNPCCounttGetSummonNPCAtRtGetTypeRtntElftGetOwnerRtIsAliveRQRRR-t GetTickByTypeRtTYPE_Map_Tick_BossAITicktTYPE_Map_Tick_Timet SetTickByTypeRPt GetBossCountt    GetBossAtt GetTruckCountt
GetTruckAtR/R>t GetPetCounttGetPetAtt GetIsSummon( RREt gameElf_ListRTRt    gameWorldtgameSummon_Listt gameBoss_ListtgameTruck_Listt gamePet_ListtcurPet((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyRUös€    "        cCstjtƒ|ƒdS(N(RR)t__Func_NPCRefreshPoint(R((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pytNPCRefreshPointyscCstj|ƒdS(N(tNPCCustomRefreshtProcessAllNPCRefresh(R((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyRos cCs»|jƒ}tjƒjtj|ƒ}|rx||kr>dStjƒjtj|dƒtjd|||fƒntjt    d|j
ƒdfƒ}|dkrªdS|||ƒdS(Nis1NPCÐã½áÊø£¬¿ªÊ¼´¦ÀíAI!npcID=%s,tick=%s,endTick=%ss AIType_%d.%st    ProcessAI( R9Rt    GetGameFBtGetGameFBDictByKeyRtDef_FBDict_NPCShowEndTickt SetGameFBDicttDebugLogR RR R(RRtnpcIDtendTickR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyRRŒs      " cCs9tjtd|jƒdfƒ}|r5|||ƒSdS(Ns AIType_%d.%st OnCollectEnd(RR RR (t    curPlayerRR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyR{²s" cCs||jƒ}|jƒtjkr%tStj|ƒtj|ƒdkrKtStj    |tj|ƒƒt
j d||ƒtS(Nis!²»ËÀbossѪÁ¿Îª0ÉèÖÃÂúѪ! npcID=%s( R9RYRt    ntUndeathR;tGameObjtGetHPtGetMaxHPtTruetSetHPRRx(RRy((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pytOnUndeathBossAttackedòs "cCstjd||fƒtjƒj|ƒ}tj||ƒtjtd|jƒdfƒ}|dkrndS|||ƒdS(Ns----NPCAppearWarn:%s %ss AIType_%d.%st NPCAppearWarn(
RRxR5t FindNPCByIDt
SkillShelltNotifyNPCSkillWarnR RR R(RtobjIDRR((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyR„s"  (&RRRRRRqt GameLogInfottimetmatht ReadChConfigR$t SkillCommont    BuffSkillR~R†R!RR2t    ImportAllR
R RRRR R(R+R*RIRHRVRURpRoRRR{RƒR„(((sbE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\ChNPC.pyt<module> sL                                                                %    
    /        ƒ             &    @