129 【战斗】战斗系统-服务端(吕布、张角技能;6014效果增加可验证是否首次释放技能;)
| | |
| | | #"""Version = 2025-09-25 18:00"""
|
| | | #-------------------------------------------------------------------------------
|
| | |
|
| | | import GameWorld
|
| | |
|
| | | def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
|
| | | return curEffect.GetEffectValue(0) |
| | | onlyFirstUse = curEffect.GetEffectValue(1) # 是否仅首次释放技能有效
|
| | | if onlyFirstUse:
|
| | | skillID = connSkill.GetSkillID() if connSkill else skillkwargs.get("connSkillID", 0)
|
| | | 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
|
| | | return curEffect.GetEffectValue(0)
|
| | |
| | | GameWorld.DebugLog("继承主技能目标! enhanceSkillID=%s" % enhanceSkillID)
|
| | | # 额外触发的技能直接在外层检查概率,如果都没有触发则不需要再处理
|
| | | enhanceRate = enhanceSkillData.GetHappenRate()
|
| | | enhanceRate += TurnPassive.GetTriggerEffectValue(turnFight, curBatObj, None, ChConfig.PassiveEff_AddSkillRate, connSkillTypeID=enhanceSkillData.GetSkillTypeID())
|
| | | enhanceRate += TurnPassive.GetTriggerEffectValue(turnFight, curBatObj, None, ChConfig.PassiveEff_AddSkillRate, connSkillTypeID=enhanceSkillData.GetSkillTypeID(), connSkillID=enhanceSkillID)
|
| | | enchanceTagObjList = []
|
| | | for tagObj in tagObjList:
|
| | | tagID = tagObj.GetID()
|