From c615417ddd01508caebc533b4fa21ed961d4bf06 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 20 十二月 2025 21:52:57 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(吕玲绮突破2潜能;张飞突破2、4潜能;刘备突破2潜能;黄月英突破2、6、7潜能;增加效果5508;优化效果5005;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5005.py | 18 +++++++-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5508.py | 45 ++++++++++++++++++++++
2 files changed, 60 insertions(+), 3 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5005.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5005.py
index 05191ff..889c75b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5005.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5005.py
@@ -16,15 +16,21 @@
#-------------------------------------------------------------------------------
import GameWorld
+import TurnSkill
import TurnBuff
import random
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
skillTypeList = curEffect.GetEffectValue(0) # buff技能类型
delBuffCnt = curEffect.GetEffectValue(1) # 移除个数,0为全部
+ isSelf = curEffect.GetEffectValue(2) # 目标是否强制为自己
+
+ effObj = batObj if isSelf else tagObj
+ if not effObj:
+ return
buffList = []
- buffMgr = tagObj.GetBuffManager()
+ buffMgr = effObj.GetBuffManager()
for index in range(buffMgr.GetBuffCount()):
buff = buffMgr.GetBuffByIndex(index)
skillData = buff.GetSkillData()
@@ -39,7 +45,13 @@
buffList = buffList[:delBuffCnt]
for buff in buffList:
- GameWorld.DebugLog("移除/驱散buff: tagID=%s,buffID=%s" % (tagObj.GetID(), buff.GetBuffID()))
- TurnBuff.DoBuffDel(turnFight, tagObj, buff, connSkill)
+ GameWorld.DebugLog("移除/驱散buff: tagID=%s,buffID=%s" % (effObj.GetID(), buff.GetBuffID()))
+ TurnBuff.DoBuffDel(turnFight, effObj, buff, connSkill)
+
+ exSkillID = curEffect.GetEffectValue(3) # 成功驱散额外释放技能ID
+ if exSkillID:
+ effectID = curEffect.GetEffectID()
+ effSkillID = effSkill.GetSkillID()
+ TurnSkill.OnUsePassiveSkill(turnFight, batObj, effObj, exSkillID, connSkill, effSkillID, effectID, connBuff, **kwargs)
return True
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5508.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5508.py
new file mode 100644
index 0000000..6bdde5a
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5508.py
@@ -0,0 +1,45 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#-------------------------------------------------------------------------------
+#
+##@package Skill.PassiveTrigger.PassiveEff_5508
+#
+# @todo:触发释放技能(对触发友军)
+# @author hxp
+# @date 2025-12-20
+# @version 1.0
+#
+# 详细描述: 触发释放技能(对触发友军)
+#
+#-------------------------------------------------------------------------------
+#"""Version = 2025-12-20 22:00"""
+#-------------------------------------------------------------------------------
+
+import TurnSkill
+import GameWorld
+
+def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
+ if "byFriendObj" not in kwargs:
+ return
+ byFriendObj = kwargs.pop("byFriendObj") # 直接取出,防止传递
+
+ passiveSkillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
+ rate = curEffect.GetEffectValue(1) # 概率万分率
+ sameCountryRate = curEffect.GetEffectValue(2) # 友军同国时的概率
+ if sameCountryRate:
+ if byFriendObj.GetCountry() == batObj.GetCountry():
+ rate = sameCountryRate
+
+ if not GameWorld.CanHappen(rate):
+ GameWorld.DebugLogEx("5508概率不触发技能! rate=%s,friendID=%s", rate, byFriendObj.GetID())
+ return
+ GameWorld.DebugLogEx("5508概率触发技能! rate=%s,friendID=%s", rate, byFriendObj.GetID())
+
+ if not passiveSkillID:
+ passiveSkillID = effSkill.GetSkillID()
+ if not passiveSkillID:
+ return
+
+ effectID = curEffect.GetEffectID()
+ effSkillID = effSkill.GetSkillID()
+ return TurnSkill.OnUsePassiveSkill(turnFight, batObj, byFriendObj, passiveSkillID, connSkill, effSkillID, effectID, connBuff, **kwargs)
--
Gitblit v1.8.0