From ae8e857873ba53e55392ab06237cd7b16426d93e Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 25 十一月 2018 17:55:06 +0800 Subject: [PATCH] 4762 【后端】助战机器人AI及伤血; --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py | 31 +++++++++++++++++++++++++++++-- 1 files changed, 29 insertions(+), 2 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py index d38537a..0e6c4f0 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py @@ -3654,7 +3654,10 @@ # @remarks 刷新NPC属性 def RefreshNPCAttrState(self, canSyncClient=True, isReborn=False): curNPC = self.__Instance - curNPCMaxHP_Before = GameObj.GetMaxHP(curNPC) + if curNPC.GetType() == ChConfig.ntHelpBattleRobot: + # 助战机器人不处理 + return + #curNPCMaxHP_Before = GameObj.GetMaxHP(curNPC) #清空NPC战斗属性 curNPC.ClearBattleEffect() #-------------------------------------------- @@ -3691,6 +3694,28 @@ return + def SetHelpBattleRobotRebornAttr(self, fightPower): + '''助战机器人只设置血量属性 + 血量算法,(助战玩家=助战机器人):每个副本配置伤害*(助战玩家战力/副本规定战力)*系数值 系数值暂定为50 + ''' + curNPC = self.__Instance + mapID = FBCommon.GetRecordMapID(GameWorld.GetMap().GetMapID()) + funcLineID = FBCommon.GetFBPropertyMark() + ipyData = IpyGameDataPY.GetIpyGameData("FBHelpBattle", mapID, funcLineID) + if not ipyData: + return + + SetSuppressFightPower(curNPC, fightPower) + fbFightPower = ipyData.GetFightPowerMin() + baseHurt = ipyData.GetRobotBaseHurt() + hpCoefficient = ipyData.GetRobotHPCoefficient() + maxHP = int(baseHurt * fightPower / fbFightPower * hpCoefficient) + GameWorld.DebugLog("设置助战机器人属性: objID=%s,fightPower=%s,maxHP=%s" % (curNPC.GetID(), fightPower, maxHP)) + GameObj.SetMaxHP(curNPC, maxHP) + GameObj.SetHP(curNPC, maxHP) + curNPC.Notify_HPEx() + curNPC.Notify_MaxHPEx() + return # NPC移动速度特殊处理,只处理百分比不能处理固定值 # 因为 ChConfig.TYPE_Calc_AttrSpeed 非服务端移动速度,偷懒处理法 @@ -3715,7 +3740,9 @@ # @remarks 刷新NPC行为属性 def RefreshNPCActionState(self): curNPC = self.__Instance - + if curNPC.GetType() == ChConfig.ntHelpBattleRobot: + # 助战机器人不处理 + return OperControlManager.ClearObjActionState(curNPC) #根据BUFF 加上状态 -- Gitblit v1.8.0