From 9bc8c9c3e4b48dab63efbca946713465ee30b4cd Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 17 一月 2024 15:47:31 +0800 Subject: [PATCH] 10019 【砍树】回合战斗(副本回合制NPC支持配置精怪技能、神通技能;增加属性强化治疗215、弱化治疗216;NPC支持触发被动效果;被动效果触发方式增加按回合触发-效果ID5000;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py index 007e3ad..82737c0 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py @@ -1254,8 +1254,10 @@ return # 治疗加成 - curePer = PlayerControl.GetCurePer(curObj) if curObjType == IPY_GameWorld.gotPlayer else ChConfig.Def_MaxRateValue - addValue = int(addValue*curePer*1.0/ChConfig.Def_MaxRateValue) + curePer = GameObj.GetCurePer(curObj) + ChConfig.Def_MaxRateValue + curePerReduce = TurnAttack.GetEnemyCureDefPer(curObj) # 弱化治疗,取对方的 + curePerFinal = max(0, curePer - curePerReduce) + addValueFianl = int(addValue*curePerFinal*1.0/ChConfig.Def_MaxRateValue) maxHP = GameObj.GetMaxHP(curObj) @@ -1263,15 +1265,16 @@ if curHP == maxHP: #广播加血类型 if isNotify: - AttackCommon.ChangeHPView(curObj, curObj, skillTypeID, addValue, ChConfig.Def_HurtTYpe_Recovery) - return + AttackCommon.ChangeHPView(curObj, curObj, skillTypeID, addValueFianl, ChConfig.Def_HurtTYpe_Recovery) + GameWorld.DebugLog(" 治疗时已满血: curID=%s,skillTypeID=%s,maxHP=%s" % (curObj.GetID(), skillTypeID, maxHP)) + return addValueFianl - remainHP = min(curHP + addValue, maxHP) + remainHP = min(curHP + addValueFianl, maxHP) #---玩家处理--- if curObjType == IPY_GameWorld.gotPlayer: GameObj.SetHP(curObj, remainHP, not isNotify) - FBLogic.OnFBAddHP(curObj, addValue) + FBLogic.OnFBAddHP(curObj, addValueFianl) #---NPC处理--- elif curObjType == IPY_GameWorld.gotNPC: @@ -1287,9 +1290,11 @@ #广播加血类型 if isNotify: - AttackCommon.ChangeHPView(curObj, curObj, skillTypeID, addValue, ChConfig.Def_HurtTYpe_Recovery) - - return + AttackCommon.ChangeHPView(curObj, curObj, skillTypeID, addValueFianl, ChConfig.Def_HurtTYpe_Recovery) + + GameWorld.DebugLog(" 治疗: curID=%s,skillTypeID=%s,curePerFinal=%s(%s-%s),addValue=%s,addValueFianl=%s,HP=%s" + % (curObj.GetID(), skillTypeID, curePerFinal, curePer, curePerReduce, addValue, addValueFianl, remainHP)) + return addValueFianl ## 直接扣血不走公式 # view 是否广播客户端飘血 -- Gitblit v1.8.0