From 81fd2426b2f8ca34e07e9eaea1f3af54b0ae9527 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 21 一月 2026 10:16:42 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(命格技能玄武;增加效果7012;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py | 6 ++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py | 10 +++++++---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 1 +
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
index c5b6b38..c72aff2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
@@ -882,6 +882,12 @@
curSkill = PySkill(ipyData, self._batObj.GetID())
self._skillDict[skillID] = curSkill
self._skillList.append(curSkill)
+
+ learnSkillExEff = curSkill.GetEffectByID(ChConfig.SkillEff_LearnSkillEx)
+ if learnSkillExEff:
+ skillIDEx = learnSkillExEff.GetEffectValue(0)
+ if skillIDEx:
+ self.LearnSkillByID(skillIDEx)
return curSkill
def __deleteSkill(self, curSkill):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index d76dd34..5b0b0b8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4123,6 +4123,7 @@
SkillEff_SkillUseCntLimit = 7009 # 限制技能最多触发次数
SkillEff_UseSkillStealBuff = 7010 # 释放技能前偷取buff
SkillEff_ReviveNoUse = 7011 # 没有复活目标时释放其他技能
+SkillEff_LearnSkillEx = 7012 # 额外学习技能(用于拆分完全独立的技能,视为已学习)
(
TriggerType_BeSuperHit, # 被暴击触发技能 1
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
index 135eb26..47f606b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -1569,6 +1569,10 @@
# ========== 以下触发被动 ==========
+ curBatLineup = curObj.GetTFBatLineup()
+ curMGObj = curBatLineup.getMinggeObj()
+ mgTriggerWayList = [] # 命格本次技能已触发方式列表,命格固定只触发一次
+
# buff消失后置处理的被动,优先处理,如破盾,区别于被动方式 ChConfig.TriggerWay_BuffDel(立即触发)
for buffObjID, buff, tagObjID, afterTriggerData in delBuffAfterEffList:
triggerWay, effInfoList = afterTriggerData
@@ -1615,6 +1619,9 @@
TurnBuff.DoBuffByRevive(turnFight, tagObj)
TurnPassive.OnTriggerPassiveEffect(turnFight, tagObj, ChConfig.TriggerWay_Revive, curObj, connSkill=useSkill)
TurnPassive.OnTriggerPassiveEffect(turnFight, tagObj, ChConfig.TriggerWay_InBattlefield, curObj, connSkill=useSkill)
+ if reviveObjList and curMGObj:
+ tagObj = reviveObjList[0]
+ TurnPassive.OnTriggerPassiveEffect(turnFight, curMGObj, ChConfig.TriggerWay_Revive, tagObj, connSkill=useSkill, byFriendObj=curObj)
# 曹仁防护触发,暂写死
for tagObj in caorenProtectList:
@@ -1633,9 +1640,6 @@
triggerOne = False
batType = useSkill.GetBatType()
isAttackDirect = (isUseSkill and SkillCommon.isAttackDirectSkill(useSkill)) # 是否直接攻击
- curBatLineup = curObj.GetTFBatLineup()
- curMGObj = curBatLineup.getMinggeObj()
- mgTriggerWayList = [] # 命格本次技能已触发方式列表,命格固定只触发一次
for tagObj in tagObjListAll:
tagID = tagObj.GetID()
--
Gitblit v1.8.0