From 2560077959fd4d841ce35cb65e2367e568b3b08b Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 19 一月 2024 17:26:02 +0800 Subject: [PATCH] 10019 【砍树】回合战斗(调整闪避公式计算方式;灵宠及反击必命中;普攻暴击后可触发被动;调整击晕优先级提前到其他被动触发前;NPC新增触发被动方式;) 1. 调整闪避公式计算方式,改为是否闪避,简化公式; 2. 增加灵宠及反击必命中;部分触发类伤害技能可通过技能ExAttr2配置必命中; 3. 普攻暴击后可触发被动; 4. 调整击晕优先级提前到反击和其他被动触发前;不然可能导致被攻击方先触发了反击或某些被动后再被击晕;最大击晕概率配置由6000调整为9000; 5. NPC支持被击、闪避、击晕、暴击、连击、反击前、反击后可触发被动; 6. 回血量增加支持按已损失血量百分比恢复; --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py index eea964f..66117f9 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py @@ -440,7 +440,12 @@ # 暂且特殊处理控制类buff才触发 if SkillCommon.GetBuffType(curSkill) == IPY_GameWorld.bfActionBuff: PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(curObj, buffOwner, curSkill, ChConfig.TriggerType_AddBuffOver, False) - + + # 击晕触发 + if curSkill.GetSkillTypeID() == ChConfig.Def_SkillID_AtkerFaint: + GameWorld.DebugLog(" 被击晕: curID=%s,atkID=%s" % (curObj.GetID(), buffOwner.GetID())) + PassiveBuffEffMng.OnPassiveSkillTrigger(buffOwner, curObj, None, ChConfig.TriggerType_Faint, tick) + #是否是持续性技能 isLstSkill = curSkill.GetSkillType() in ChConfig.Def_LstBuff_List @@ -712,8 +717,8 @@ remainTime = curBuffRemainTime if passTurnNum > 0: # 最小单位1回合,有满1回合才减时长 remainTime = curBuffRemainTime - ChConfig.Def_PerTurnTick * passTurnNum - GameWorld.DebugLog(" 刷新回合buff时间: objID=%s,skillID=%s,remainTime=%s,calcTick=%s,timeline=%s,passTurnNum=%s" - % (curObj.GetID(), curSkill.GetSkillID(), remainTime, calcTick, turnFightTimeline, passTurnNum)) + GameWorld.DebugLog(" 刷新回合buff时间: objID=%s,skillID=%s(%s),layer=%s,remainTime=%s,calcTick=%s,timeline=%s,passTurnNum=%s" + % (curObj.GetID(), curSkill.GetSkillID(), curSkill.GetSkillName(), curBuff.GetLayer(), remainTime, calcTick, turnFightTimeline, passTurnNum)) curBuff.SetCalcStartTick(turnFightTimeline) curBuff.SetRemainTime(remainTime) -- Gitblit v1.8.0