From 5605938972fbfb13e266d068e190e9ffae56fcc3 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 25 九月 2025 19:12:59 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(丁奉技能;觉醒1技能强化护盾,暂无反弹;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py index 6078234..0e8ae44 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py @@ -73,7 +73,8 @@ if not tagObjList: tagObjList = GetSkillTags(turnFight, curBatObj, useSkill) rate = useSkill.GetHappenRate() - if rate and rate != ChConfig.Def_MaxRateValue: + if rate: + rate += TurnPassive.GetTriggerEffectValue(turnFight, curBatObj, None, ChConfig.PassiveEff_AddSkillRate, useSkill) for tagObj in tagObjList[::-1]: if not GameWorld.CanHappen(rate, ChConfig.Def_MaxRateValue): tagObjList.remove(tagObj) @@ -992,6 +993,7 @@ GameWorld.DebugLog("继承主技能目标! enhanceSkillID=%s" % enhanceSkillID) # 额外触发的技能直接在外层检查概率,如果都没有触发则不需要再处理 enhanceRate = enhanceSkillData.GetHappenRate() + enhanceRate += TurnPassive.GetTriggerEffectValue(turnFight, curBatObj, None, ChConfig.PassiveEff_AddSkillRate, connSkillTypeID=enhanceSkillData.GetSkillTypeID()) enchanceTagObjList = [] for tagObj in tagObjList: tagID = tagObj.GetID() @@ -1064,6 +1066,7 @@ # 继承主技能目标 if passiveSkill.GetTagAim() == ChConfig.SkillTagAim_MainSkill: happenRate = passiveSkill.GetHappenRate() + happenRate += TurnPassive.GetTriggerEffectValue(turnFight, batObj, None, ChConfig.PassiveEff_AddSkillRate, passiveSkill) GameWorld.DebugLog("被动触发技能,继承主技能目标! effSkillID=%s,effectID=%s,passiveSkillID=%s,happenRate=%s,bySkillID=%s" % (effSkillID, effectID, passiveSkillID, happenRate, bySkillID)) if not tagObj: return @@ -1071,7 +1074,7 @@ if not tagObj.IsAlive(): GameWorld.DebugLog(" 已被击杀不触发: tagID=%s" % (tagID)) return - if happenRate and happenRate != ChConfig.Def_MaxRateValue and not GameWorld.CanHappen(happenRate, ChConfig.Def_MaxRateValue): + if happenRate and not GameWorld.CanHappen(happenRate, ChConfig.Def_MaxRateValue): GameWorld.DebugLog(" 概率不触发: tagID=%s,happenRate=%s" % (tagID, happenRate)) return passiveTagObjList = [tagObj] @@ -1205,10 +1208,7 @@ dHP, dMaxHP = defObj.GetHP(), defObj.GetMaxHP() dDef = 0 if ignoreDef else defObj.GetDef() # 防守方防御力 - atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPer, curSkill) - atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByHP, curSkill) - atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByJob, curSkill) - atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByBuffLayer, curSkill) + atkSkillPer += GetAddSkillPer(turnFight, atkObj, defObj, curSkill) aFinalDamPer = atkObj.GetBatAttrValue(ChConfig.AttrID_FinalDamPer) # 最终加成 dFinalDamPerDef = defObj.GetBatAttrValue(ChConfig.AttrID_FinalDamPerDef) # 最终减伤 @@ -1311,6 +1311,15 @@ hurtValue = max(1, int(hurtValue)) # 负值、保底防范,放最后 return hurtValue, hurtTypes + +def GetAddSkillPer(turnFight, atkObj, defObj, curSkill): + ## 获取额外增加的技能万分比 + atkSkillPer = 0 + atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPer, curSkill) + atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByHP, curSkill) + atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByJob, curSkill) + atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByBuffLayer, curSkill) + return atkSkillPer def CanSuperHit(turnFight, atkObj, defObj, curSkill): if TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_MustSuperHit, curSkill): @@ -1490,7 +1499,7 @@ skillPer = curSkill.GetSkillPer() #skillValue = curSkill.GetSkillValue() - skillPer += TurnPassive.GetTriggerEffectValue(turnFight, userObj, tagObj, ChConfig.PassiveEff_AddSkillPer, curSkill) + skillPer += GetAddSkillPer(turnFight, userObj, tagObj, curSkill) cureHP = __calcCureHP(turnFight, userObj, tagObj, curSkill, cureType, skillPer, largeNum) -- Gitblit v1.8.0