2683 子 天赋技能和新增双职业各两个技能 / 【后端】天赋技能  --- 天赋技能减CD,buff减层关联技能可触发
4个文件已修改
1个文件已添加
51 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4064.py 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4366,7 +4366,8 @@
TriggerType_StormAttackReduceCD, # 类剑刃风暴攻击每攻击一次减少CD  58
TriggerType_AttackAddFinalPer,   #增加最终伤害百分比 59
TriggerType_SummonDie,   #自身召唤兽死亡触发技能 60
) = range(1, 61)
TriggerType_GiftReduceCD, # 天赋用的减CD 61
) = range(1, 62)
# NPC功能类型定义
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -99,6 +99,13 @@
    coolDownTime = curSkill.GetCoolDownTime()
    remainTime = coolDownTime
    if isPassiveSkill(curSkill):
        if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
            # 天赋有减CD效果
            reduceSkillCDPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, None, curSkill, ChConfig.TriggerType_GiftReduceCD)
            # 减CD比率
            if reduceSkillCDPer > 0:
                remainTime = int(remainTime * max(0, ShareDefine.Def_MaxRateValue - reduceSkillCDPer) / ShareDefine.Def_MaxRateValue)
        # 被动技能的处理和主动技能区分
        curSkill.SetRemainTime(remainTime)
        return
@@ -108,7 +115,6 @@
    #    remainTime = skillData.GetCoolDownTime()
    
    reduceSkillCDPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, None, curSkill, ChConfig.TriggerType_ReduceCD)
    # 减CD比率
    if reduceSkillCDPer > 0:
        remainTime = int(remainTime * max(0, ShareDefine.Def_MaxRateValue - reduceSkillCDPer) / ShareDefine.Def_MaxRateValue)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py
@@ -19,6 +19,20 @@
import IPY_GameWorld
def CheckCanHappen(attacker, defender, passiveEffect, skillID, **skillkwargs):
    # 先判断概率
    rate = passiveEffect.GetEffectValue(0)
    if rate and not GameWorld.CanHappen(rate):
        return False
    # 关联技能
    checkSkillID = passiveEffect.GetEffectValue(2)
    if checkSkillID:
        useSkill = skillkwargs.get("useSkill", None)
        if not useSkill:
            return False
        if useSkill.GetSkillTypeID() != checkSkillID:
            return False
    curSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)
    if not curSkill:
        return False
@@ -35,10 +49,6 @@
        return False
    if buff.GetLayer() <= 0:
        return False
    rate = passiveEffect.GetEffectValue(0)
    if rate and not GameWorld.CanHappen(rate):
        return False
    
    BuffSkill.SetBuffLayer(attacker, buff, buff.GetLayer()-1, skillTypeID=curSkill.GetSkillTypeID())
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4064.py
New file
@@ -0,0 +1,21 @@
#!/usr/bin/python
# -*- coding: GBK -*-
#
# @todo: 天赋减CD
#
# @author: Alee
# @date 2018-1-9 下午09:39:37
# @version 1.0
#
# @note:
#
#---------------------------------------------------------------------
import ChConfig
import GameObj
def CheckCanHappen(attacker, defender, effect, curSkill):
    return True
def GetValue(attacker, defender, effect):
    return effect.GetEffectValue(0)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -339,6 +339,7 @@
             4061:ChConfig.TriggerType_AttackOverPassive,  # 攻击(对敌技能)后被动技能被触发在其他被动效果处理后调用,触发顺序原因
             4062:ChConfig.TriggerType_AttackAddFinalPer, # 增加最终伤害百分比 59
             4063:ChConfig.TriggerType_SummonDie,   #自身召唤兽死亡触发技能 60
             4064:ChConfig.TriggerType_GiftReduceCD, # 天赋减少CD9, #CD
             }
    return tdict.get(effectID, -1) 
    #===========================================================================