From b5425051c9142c17be3953c939f055dc7c11f4ca Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 25 十二月 2025 19:11:42 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(张角所有技能;增加触发方式 56 57;优化效果6014支持直接配置首次增加概率;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py
index 34f9b4d..59d5158 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py
@@ -20,17 +20,17 @@
 
 def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     addRate = curEffect.GetEffectValue(0)
-    onlyFirstUse = curEffect.GetEffectValue(1) # 是否仅首次释放技能有效
+    firstTimeRate = curEffect.GetEffectValue(1) # 首次释放增加概率万分率
     skillID = connSkill.GetSkillID() if connSkill else skillkwargs.get("connSkillID", 0)
-    if onlyFirstUse:
+    if firstTimeRate:
         if not skillID:
             #GameWorld.DebugLog("没有增加概率的技能ID! %s" % skillkwargs)
             return
         useCnt = attacker.GetSkillUseCnt(skillID)
-        if useCnt > 0:
-            GameWorld.DebugLog("技能非首次使用不增加额外概率! skillID=%s,useCnt=%s" % (skillID, useCnt))
-            return
-        
+        if useCnt <= 0:
+            addRate = firstTimeRate
+            GameWorld.DebugLogEx("技能首次使用增加额外概率! skillID=%s,useCnt=%s,addRate=%s", skillID, useCnt, addRate)
+            
     failAddRateEx = curEffect.GetEffectValue(2) # 失败次数额外增加概率
     if failAddRateEx:
         failCnt = attacker.GetSkillHappenFailCnt(skillID)
@@ -39,7 +39,7 @@
             addRate = ChConfig.Def_MaxRateValue # 强制增加满概率
             GameWorld.DebugLog("技能概率失败次数必定成功: mustHappenFailCnt=%s,failCnt=%s,addRate=%s" % (mustHappenFailCnt, failCnt, addRate))
         elif failCnt > 0:
-            addRate = failAddRateEx * failCnt
+            addRate += failAddRateEx * failCnt
             GameWorld.DebugLog("技能概率失败次数增加概率: failAddRateEx=%s,failCnt=%s,addRate=%s" % (failAddRateEx, failCnt, addRate))
             
     if effBuff:

--
Gitblit v1.8.0