2683 子 天赋技能和新增双职业各两个技能 / 【后端】天赋技能 ----- 补齐第一版
6个文件已修改
1个文件已添加
69 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4062.py 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -1771,6 +1771,8 @@
        aNPCHurtAddPer = PlayerControl.GetNPCHurtAddPer(atkObj)     # PVE伤害加成
        aDamagePerPVP = PlayerControl.GetDamagePerPVP(atkObj)     # 外层PVP伤害加成
        aFinalHurtPer = PlayerControl.GetFinalHurtPer(atkObj) # 最外层伤害加成, 可能为负值
        aFinalHurtPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AttackAddFinalPer)
        aFinalHurt = PlayerControl.GetFinalHurt(atkObj)     # 最终固定伤害
        # 被动增加最终伤害
        aFinalHurt += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AttackAddFinalValue)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4359,7 +4359,9 @@
TriggerType_AddBuffOver, # 添加buff之后触发技能 56
TriggerType_StormAttackOver, # 类剑刃风暴每攻击一次触发技能  57
TriggerType_StormAttackReduceCD, # 类剑刃风暴攻击每攻击一次减少CD  58
) = range(1, 59)
TriggerType_AttackAddFinalPer,   #增加最终伤害百分比 59
TriggerType_SummonDie,   #自身召唤兽死亡触发技能 60
) = range(1, 61)
# NPC功能类型定义
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
@@ -90,6 +90,13 @@
#  @remarks 函数详细说明.
def OnNPCDie(curNPC,HurtType,HurtID):
    PassiveBuffEffMng.GetPassiveEffManager().RemovePassiveEff((curNPC.GetID(), IPY_GameWorld.gotNPC))
    # 召唤NPC死亡触发被动技能
    owner = NPCCommon.GetSummonNPCOwner(IPY_GameWorld.gotPlayer, curNPC)
    if owner:
        PassiveBuffEffMng.OnPassiveSkillTrigger(owner, None, None, ChConfig.TriggerType_SummonDie,
                                                GameWorld.GetGameWorld().GetTick())
    callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "OnDie"))
    if callFunc == None:
        return None
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -625,10 +625,10 @@
# @param curNPC NPC实例
# @param summonID 召唤兽的NPCID
# @return 召唤兽数量
def GetSummonCountByNPCID(curNPC, summonID):
def GetSummonCountByNPCID(gameObj, summonID):
    count = 0
    for i in range(0, curNPC.GetSummonCount()):
        summonNPC = curNPC.GetSummonNPCAt(i)
    for i in range(0, gameObj.GetSummonCount()):
        summonNPC = gameObj.GetSummonNPCAt(i)
        
        if not summonNPC:
            continue
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py
@@ -15,6 +15,8 @@
import GameWorld
import SkillCommon
import BuffSkill
import SkillShell
import IPY_GameWorld
def CheckCanHappen(attacker, defender, passiveEffect, skillID, **skillkwargs):
    curSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)
@@ -35,7 +37,24 @@
    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())
    triggerSkillID = passiveEffect.GetEffectValue(1)
    if triggerSkillID and attacker.GetGameObjType() == IPY_GameWorld.gotPlayer:
        skillManager = attacker.GetSkillManager()
        #获得技能
        curSkill = skillManager.FindSkillBySkillTypeID(triggerSkillID)
        if curSkill:
            #玩家技能会升级
            SkillShell.UsePassiveTriggerSkill(attacker, curSkill, defender, GameWorld.GetGameWorld().GetTick(), isEnhanceSkill = True)
        else:
            triggerSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)
            if triggerSkill:
                SkillShell.UsePassiveTriggerSkill(attacker, triggerSkill, defender, GameWorld.GetGameWorld().GetTick(), isEnhanceSkill = True)
    return True
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4062.py
New file
@@ -0,0 +1,29 @@
#!/usr/bin/python
# -*- coding: GBK -*-
#
##@package
#
# @todo: 攻击增加最终伤害百分比
#
# @author: Alee
# @date 2018-11-6 下午07:22:44
# @version 1.0
#
# @note:
#
#---------------------------------------------------------------------
import ChConfig
import GameWorld
import GameObj
def CheckCanHappen(attacker, defender, effect, curSkill):
    return GameWorld.CanHappen(effect.GetEffectValue(0))
def GetValue(attacker, defender, effect):
    return effect.GetEffectValue(1)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -337,6 +337,8 @@
             4059:ChConfig.TriggerType_StormAttackOneByOne, # 类剑刃风暴攻击1对1触发技能  57
             4060:ChConfig.TriggerType_StormAttackOver, # 类剑刃风暴攻击后触发技能  57
             4061:ChConfig.TriggerType_AttackOverPassive,  # 攻击(对敌技能)后被动技能被触发在其他被动效果处理后调用,触发顺序原因
             4062:ChConfig.TriggerType_AttackAddFinalPer, # 增加最终伤害百分比 59
             4063:ChConfig.TriggerType_SummonDie,   #自身召唤兽死亡触发技能 60
             }
    return tdict.get(effectID, -1) 
    #===========================================================================