From f7f55b690a02105991f07014b59916c50c02f611 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 28 九月 2025 09:46:07 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(周瑜、小乔技能;增加技能目标细分7-仅焚血(毒奶)目标,增加技能毒奶支持;增加效果7003-修改技能目标;增加技能buff状态24-焚血(毒奶);优化效果6011;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py index e76260f..243507f 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py @@ -108,7 +108,7 @@ callFunc(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs) return -def GetTriggerEffectValue(turnFight, atkObj, defObj, calcEffID, connSkill=None, **kwargs): +def GetTriggerEffectValue(turnFight, atkObj, defObj, calcEffID, connSkill=None, connSkillTypeID=0, **kwargs): ''' 获取触发被动的值,一般用于某种条件下才会产生的值,如xx情况下属性变化 或 xx情况下是否发生什么 @param calcEffID: 需要统计的效果ID,可以是属性ID或者其他自定义效果ID @return: 触发的值,0-没有触发或本身触发的值为0;非0-触发的具体值 @@ -116,7 +116,7 @@ triggerWay = ChConfig.TriggerWay_CalcEffValue passiveEffMgr = atkObj.GetPassiveEffManager() - effInfoList = passiveEffMgr.GetPassiveEffByTrigger("%s_%s" % (triggerWay, calcEffID), connSkill) + effInfoList = passiveEffMgr.GetPassiveEffByTrigger("%s_%s" % (triggerWay, calcEffID), connSkill, connSkillTypeID) if not effInfoList: return 0 @@ -125,7 +125,6 @@ buffMgr = atkObj.GetBuffManager() # [["skill/buff", skillID/buffID, effIDList], ...] tagID = defObj.GetID() if defObj else 0 - GameWorld.DebugLog("统计被动效果值: calcEffID=%s,objID=%s,tagID=%s,%s" % (calcEffID, atkObj.GetID(), tagID, effInfoList)) for effInfo in effInfoList: sign = effInfo[0] if sign == "skill": @@ -133,6 +132,7 @@ effSkill = skillMgr.FindSkillByID(skillID) if not effSkill and connSkill and connSkill.GetSkillID() == skillID: effSkill = connSkill + effBuff = None elif sign == "buff": buffID, effIDList = effInfo[1:] effBuff = buffMgr.GetBuff(buffID) @@ -161,12 +161,13 @@ callFunc = GameWorld.GetExecFunc(PassiveTrigger, "%s.%s" % (pyName, "GetHappenValue")) if not callFunc: continue - value = callFunc(atkObj, defObj, effect, effSkill, **kwargs) + value = callFunc(atkObj, defObj, effect, effSkill, effBuff, **kwargs) if value is None: continue if effID in ChConfig.PassiveEffHappenValueList: if value: + GameWorld.DebugLog("统计被动效果值: calcEffID=%s,objID=%s,tagID=%s,%s,curValue=%s" % (calcEffID, atkObj.GetID(), tagID, effInfoList, value)) return value elif effID in ChConfig.PassiveEffValueMaxList: curValue = max(curValue, value) # 取最大值 @@ -181,5 +182,6 @@ # if curSkill.GetCoolDownTime(): # SkillCommon.SetSkillRemainTime(curSkill, 0, tick, attacker) + GameWorld.DebugLog("统计被动效果值: calcEffID=%s,objID=%s,tagID=%s,%s,curValue=%s" % (calcEffID, atkObj.GetID(), tagID, effInfoList, curValue)) return curValue -- Gitblit v1.8.0