From 75dac27b4e1d2cc22f7ca6356d258eb47f7e9e38 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 07 一月 2026 17:56:09 +0800
Subject: [PATCH] 412 【挑战】定军阁-服务端(定军阁功能专享属性支持;优化主阵容属性支持专有功能属性,不影响通用主阵容属性、战力,专享阵容与主阵容相同,只是属性、战力可能不一样;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 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 af339b5..5fe4ae7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -2154,6 +2154,32 @@
aFinalDamPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddFinalDamPer, curSkill)
aFinalDamPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.AttrID_FinalDamPer, curSkill)
+ #招架 - 无视攻击方最终增伤百分比
+ dZhaojia = defObj.GetBatAttrValue(ChConfig.AttrID_Zhaojia)
+ aZhaojiaDef = atkObj.GetBatAttrValue(ChConfig.AttrID_ZhaojiaDef)
+ if dZhaojia > aZhaojiaDef:
+ perMoreValue, perReduce = IpyGameDataPY.GetFuncEvalCfg("ZhaojiaCfg", 1) # 每高与对方抗贯穿x值无视y%最终减伤
+ reducePer = (dZhaojia - aZhaojiaDef) / float(perMoreValue) * perReduce
+ reduceMin, reduceMax = IpyGameDataPY.GetFuncEvalCfg("ZhaojiaCfg", 2) # 最小无视百分比|最大无视百分比
+ if reducePer >= reduceMin and GameWorld.CanHappen(IpyGameDataPY.GetFuncCfg("ZhaojiaCfg", 3)):
+ reducePer = min(reducePer, reduceMax)
+ hurtTypes |= pow(2, ChConfig.HurtAtkType_Zhaojia)
+ aFinalDamPer = int(aFinalDamPer * (100 - reducePer) / 100.0) # 按百分比减少
+ GameWorld.DebugLogEx("dZhaojia=%s,aZhaojiaDef=%s,reducePer=%s,aFinalDamPer=%s", dZhaojia, aZhaojiaDef, reducePer, aFinalDamPer)
+
+ #贯穿 - 无视防守方最终减伤百分比
+ aGuanchuan = atkObj.GetBatAttrValue(ChConfig.AttrID_Guanchuan)
+ dGuanchuanDef = defObj.GetBatAttrValue(ChConfig.AttrID_GuanchuanDef)
+ if aGuanchuan > dGuanchuanDef:
+ perMoreValue, perReduce = IpyGameDataPY.GetFuncEvalCfg("GuanchuanCfg", 1) # 每高与对方抗贯穿x值无视y%最终减伤
+ reducePer = (aGuanchuan - dGuanchuanDef) / float(perMoreValue) * perReduce
+ reduceMin, reduceMax = IpyGameDataPY.GetFuncEvalCfg("GuanchuanCfg", 2) # 最小无视百分比|最大无视百分比
+ if reducePer >= reduceMin and GameWorld.CanHappen(IpyGameDataPY.GetFuncCfg("GuanchuanCfg", 3)):
+ reducePer = min(reducePer, reduceMax)
+ hurtTypes |= pow(2, ChConfig.HurtAtkType_Guanchuan)
+ dFinalDamPerDef = int(dFinalDamPerDef * (100 - reducePer) / 100.0) # 按百分比减少
+ GameWorld.DebugLogEx("aGuanchuan=%s,dGuanchuanDef=%s,reducePer=%s,dFinalDamPerDef=%s", aGuanchuan, dGuanchuanDef, reducePer, dFinalDamPerDef)
+
aNormalSkillPer, dNormalSkillPerDef = 0, 0
if isTurnNormalSkill:
aNormalSkillPer = atkObj.GetBatAttrValue(ChConfig.AttrID_NormalSkillPer) # 普技增伤
@@ -2805,7 +2831,7 @@
for buff in buffMgr.FindBuffListByState(ChConfig.BatObjState_DamBackShield):
damBackPer += buff.GetValue1()
connSkillTypeID = buff.GetSkillTypeID()
- damBackPer += TurnPassive.GetTriggerEffectValue(turnFight, defObj, atkObj, ChConfig.PassiveEff_AddSkillPerByBuffLayer, connSkillTypeID=connSkillTypeID)
+ damBackPer += TurnPassive.GetTriggerEffectValue(turnFight, defObj, atkObj, ChConfig.PassiveEff_AddDamBackPerByBuffLayer, connSkillTypeID=connSkillTypeID)
if damBackPer <= 0:
return
--
Gitblit v1.8.0