4762 【后端】修复机器人被眩晕后一直站着不动bug;
| | |
| | | curTag = GameWorld.FindNPCByID(playerAtkObjID)
|
| | |
|
| | | npcControl = NPCCommon.NPCControl(curNPC)
|
| | | npcControl.RefreshBuffState(tick)
|
| | | # 没有玩家正在攻击的目标则取自身的仇恨列表
|
| | | if not curTag:
|
| | | #GameWorld.DebugLog("没有玩家正在攻击的目标,刷新自身仇恨目标!objID=%s,maxHP=%s" % (curNPC.GetID(), GameObj.GetMaxHP(curNPC)))
|
| | |
| | | if dist > 12:
|
| | | resultPos = GameMap.GetEmptyPlaceInArea(fbPlayer.GetPosX(), fbPlayer.GetPosY(), 3)
|
| | | curNPC.ResetPos(resultPos.GetPosX(), resultPos.GetPosY())
|
| | | elif dist > 5:
|
| | | npcControl.MoveToObj_Detel(fbPlayer, 5)
|
| | | elif dist > 3:
|
| | | npcControl.MoveToObj_Detel(fbPlayer, 3)
|
| | | return
|
| | | __NPCFight(npcControl, curNPC, curTag, tick)
|
| | | return
|
| | |
| | | # @remarks 刷新NPC属性
|
| | | def RefreshNPCAttrState(self, canSyncClient=True, isReborn=False):
|
| | | curNPC = self.__Instance
|
| | | if curNPC.GetType() == ChConfig.ntHelpBattleRobot:
|
| | | # 助战机器人不处理
|
| | | return
|
| | | #curNPCMaxHP_Before = GameObj.GetMaxHP(curNPC)
|
| | | #清空NPC战斗属性
|
| | | curNPC.ClearBattleEffect()
|
| | |
| | | # @remarks 刷新NPC行为属性
|
| | | def RefreshNPCActionState(self):
|
| | | curNPC = self.__Instance
|
| | | if curNPC.GetType() == ChConfig.ntHelpBattleRobot:
|
| | | # 助战机器人不处理
|
| | | return
|
| | | OperControlManager.ClearObjActionState(curNPC)
|
| | |
|
| | | #根据BUFF 加上状态
|