| | |
| | | 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()):
|