|  |  |  | 
|---|
|  |  |  | #  @remarks 函数详细说明. | 
|---|
|  |  |  | def OnNPCDie(curNPC,HurtType,HurtID): | 
|---|
|  |  |  | PassiveBuffEffMng.GetPassiveEffManager().RemovePassiveEff((curNPC.GetID(), IPY_GameWorld.gotNPC)) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 召唤NPC死亡触发被动技能 | 
|---|
|  |  |  | owner = NPCCommon.GetSummonNPCOwner(IPY_GameWorld.gotPlayer, curNPC) | 
|---|
|  |  |  | if owner: | 
|---|
|  |  |  | owner.SetDict("summondie", curNPC.GetNPCID()) | 
|---|
|  |  |  | PassiveBuffEffMng.OnPassiveSkillTrigger(owner, None, None, ChConfig.TriggerType_SummonDie, | 
|---|
|  |  |  | GameWorld.GetGameWorld().GetTick()) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "OnDie")) | 
|---|
|  |  |  | if callFunc == None: | 
|---|
|  |  |  | return None | 
|---|
|  |  |  | 
|---|
|  |  |  | callFunc(atkObj, curNPC, skill, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | PlayerActivity.OnAttackNPCActivity(atkObj, curNPC) | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def OnCheckCanDie(atkObj, curNPC, skill, tick): | 
|---|
|  |  |  | callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "OnCheckCanDie")) | 
|---|
|  |  |  | if callFunc == None: | 
|---|
|  |  |  | return True | 
|---|
|  |  |  | return callFunc(atkObj, curNPC, skill, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #--------------------------------------------------------------------- | 
|---|
|  |  |  | ## 初始化NPC | 
|---|
|  |  |  | #  @param tick 当前时间 | 
|---|
|  |  |  | 
|---|
|  |  |  | for curNPC in gameTruck_List: | 
|---|
|  |  |  | ProcessNPCAI(curNPC, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 宠物AI | 
|---|
|  |  |  | ProcessPetAI(gameWorld, gameNPC, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 宠物AI需求减弱特殊处理, 减少性能消耗 | 
|---|
|  |  |  | def ProcessPetAI(gameWorld, gameNPC, tick): | 
|---|
|  |  |  | #---处理宠物的AI--- | 
|---|
|  |  |  | #未到刷新间隔 | 
|---|
|  |  |  | if tick - gameWorld.GetTickByType(ChConfig.TYPE_Map_Tick_PetAITick) < \ | 
|---|
|  |  |  | ChConfig.TYPE_Map_Tick_Time[ChConfig.TYPE_Map_Tick_PetAITick]: | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | gameWorld.SetTickByType(ChConfig.TYPE_Map_Tick_PetAITick, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | gamePet_List = [] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for index in range(0, gameNPC.GetPetCount()): | 
|---|