| | |
| | | # @return None
|
| | | # @remarks 函数详细说明.
|
| | | def OnNPCAttacked(atkObj, curNPC, skill, tick):
|
| | | NPCCommon.OnNPCAttacked(atkObj, curNPC, skill, tick)
|
| | | callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "OnAttacked"))
|
| | | if callFunc == None:
|
| | | return None
|
| | |
| | | callFunc(atkObj, curNPC, skill, tick)
|
| | |
|
| | | PlayerActivity.OnAttackNPCActivity(atkObj, curNPC)
|
| | | return
|
| | |
|
| | | def OnCheckCanDie(atkObj, curNPC, skill, tick):
|
| | | callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "OnCheckCanDie"))
|
| | |
| | | GameWorld.GetGameFB().SetGameFBDict(ChConfig.Def_FBDict_NPCShowEndTick % npcID, 0)
|
| | | GameWorld.DebugLog("NPC秀结束,开始处理AI!npcID=%s,tick=%s,endTick=%s" % (npcID, tick, endTick))
|
| | |
|
| | | callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "ProcessAI"))
|
| | | callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%s.%s"%(GetAIName(curNPC), "ProcessAI"))
|
| | | if callFunc == None:
|
| | | #NPCAI不可使用
|
| | | # #默认call类型1的AI
|
| | |
| | | return
|
| | |
|
| | | callFunc(curNPC, tick)
|
| | | return
|
| | |
|
| | | def GetAIName(curNPC):
|
| | | if curNPC.GetType() in [ChConfig.ntPriWoodPilePVE, ChConfig.ntPriWoodPilePVP]:
|
| | | return "PriWood"
|
| | | return curNPC.GetAIType()
|
| | |
|
| | | ##################################################logic
|
| | |
|