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