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