From 26958aff1b844a743a805b4f9075bee800b72a46 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 04 十一月 2025 14:35:37 +0800
Subject: [PATCH] 332 【主界面】座骑系统-服务端
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py | 50 ++++++++++++++++++++------------------------------
1 files changed, 20 insertions(+), 30 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
index f6a554e..a93acd6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
@@ -17,42 +17,32 @@
import TurnSkill
import IpyGameDataPY
-import GameWorld
-import ChConfig
-def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill):
- effectID = curEffect.GetEffectID()
+def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
skillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
+ checkHPInfo = curEffect.GetEffectValue(1) # 可附加验证生命值[计算方式, 百分比]
+ if checkHPInfo:
+ checkType, checkHPPer = checkHPInfo
+ nowPer = batObj.GetHP() / float(batObj.GetMaxHP()) * 100
+ # 小于等于
+ if checkType == 0:
+ if nowPer > checkHPPer:
+ return
+ # 大于等于
+ else:
+ if nowPer < checkHPPer:
+ return
+
if not skillID:
passiveSkill = effSkill
else:
passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID)
if not passiveSkill:
return
- passiveSkillID = passiveSkill.GetSkillID()
- # 继承主技能目标
- if passiveSkill.GetTagAim() == ChConfig.SkillTagAim_MainSkill:
- happenRate = passiveSkill.GetHappenRate()
- GameWorld.DebugLog("被动触发技能,继承主技能目标! effectID=%s,passiveSkillID=%s,happenRate=%s" % (effectID, passiveSkillID, happenRate))
- tagObjList = [tagObj]
- passiveTagObjList = []
- for tagObj in tagObjList:
- tagID = tagObj.GetID()
- if not tagObj.IsAlive():
- GameWorld.DebugLog(" 已被击杀不触发: tagID=%s" % (tagID))
- continue
- if happenRate and happenRate != ChConfig.Def_MaxRateValue and not GameWorld.CanHappen(happenRate, ChConfig.Def_MaxRateValue):
- GameWorld.DebugLog(" 概率不触发: tagID=%s,happenRate=%s" % (tagID, happenRate))
- continue
- passiveTagObjList.append(tagObj)
-
- if passiveTagObjList:
- TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, passiveTagObjList, batType=ChConfig.TurnBattleType_Passive, bySkill=connSkill)
- else:
- GameWorld.DebugLog("被动触发技能,重新锁定目标! effectID=%s,passiveSkillID=%s" % (effectID, passiveSkillID))
- TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, batType=ChConfig.TurnBattleType_Passive, bySkill=connSkill)
-
- return
+ effectID = curEffect.GetEffectID()
+ effSkillID = effSkill.GetSkillID()
+ return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID, connBuff)
-def DoBuffEffectLogic(turnFight, batObj, tagObj, curBuff, curEffect, connSkill):
- return DoSkillEffectLogic(turnFight, batObj, tagObj, None, curEffect, connSkill)
+def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs):
+ effSkill = effBuff.GetSkillData().GetIpyData()
+ return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs)
--
Gitblit v1.8.0