From 28389cb71e12d4bec085559355d54dd72ad43e36 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 05 十二月 2018 00:26:32 +0800
Subject: [PATCH] 4999 【后端】【1.3.100】血量百分比不管有没被超过,哪怕一击秒杀也会强制触发,pvp强制触发

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 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..0edc709 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -1986,9 +1986,8 @@
         # 设置npc死亡及自身处理
         SetDeadEx(summonNPC)
         
-    if curNPC.GetGameObjType() == IPY_GameWorld.gotNPC and \
-        curNPC.GetGameNPCObjType() == IPY_GameWorld.gnotSummon:
-        FBLogic.DoFB_SummonNPCDead(curNPC)
+    if curNPC.GetGameObjType() == IPY_GameWorld.gotNPC:
+        FBLogic.DoFB_NPCDead(curNPC)
     
     summonPlayerID = curNPC.GetDictByKey(ChConfig.Def_NPC_Dict_SummonMapNPCPlayerID)
     if summonPlayerID > 0:
@@ -3654,7 +3653,7 @@
     #  @remarks 刷新NPC属性
     def RefreshNPCAttrState(self, canSyncClient=True, isReborn=False):
         curNPC = self.__Instance
-        curNPCMaxHP_Before = GameObj.GetMaxHP(curNPC)
+        #curNPCMaxHP_Before = GameObj.GetMaxHP(curNPC)
         #清空NPC战斗属性
         curNPC.ClearBattleEffect()
         #--------------------------------------------
@@ -3691,6 +3690,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(eval(IpyGameDataPY.GetFuncCompileCfg("HelpBattleRobot", 2)))
+        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 +3736,6 @@
     #  @remarks 刷新NPC行为属性
     def RefreshNPCActionState(self):
         curNPC = self.__Instance
-        
         OperControlManager.ClearObjActionState(curNPC)
         
         #根据BUFF 加上状态

--
Gitblit v1.8.0