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