#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package Skill.PassiveTrigger.PassiveEff_5011
|
#
|
# @todo:´¥·¢Êͷż¼ÄÜ£¨¿É¼Ì³Ð´¥·¢¼¼ÄÜÄ¿±ê»òÖØÐÂÉèÖÃÄ¿±ê£©
|
# @author hxp
|
# @date 2025-08-25
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ´¥·¢Êͷż¼ÄÜ£¨¿É¼Ì³Ð´¥·¢¼¼ÄÜÄ¿±ê»òÖØÐÂÉèÖÃÄ¿±ê£©
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2025-08-25 12:00"""
|
#-------------------------------------------------------------------------------
|
|
import TurnSkill
|
import IpyGameDataPY
|
import GameWorld
|
import ChConfig
|
|
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill):
|
effectID = curEffect.GetEffectID()
|
skillID = curEffect.GetEffectValue(0) # ¼¼ÄÜID£¬Îª0ʱÊͷű¾¼¼ÄÜ
|
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
|
|
def DoBuffEffectLogic(turnFight, batObj, tagObj, curBuff, curEffect, connSkill):
|
return DoSkillEffectLogic(turnFight, batObj, tagObj, None, curEffect, connSkill)
|