From 06233c1cb36e7a1bdd10d7d88d94473878e96dba Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 19 三月 2019 20:45:04 +0800 Subject: [PATCH] 6369 【后端】【2.0】删除职业阶设定 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 40 insertions(+), 3 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py index 68338f7..d70b3fb 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py @@ -1419,6 +1419,21 @@ PYView_UseSkillPos(attacker, skillID, battleType, useSkillPosX, useSkillPosY, g_skillHurtList, False) return + +# 通知客户端表现封包 无其他作用 +def Sync_AttackResult(attacker, curSkill): + global g_skillHurtList + g_skillHurtList.Clear() + + defender = None + if SkillShell.GetSkillFireAim(curSkill) == ChConfig.Def_UseSkillAim_Obj: + useSkillTagID = attacker.GetUseSkillTagID() + useSkillTagType = attacker.GetUseSkillTagType() + defender = GameWorld.GetObj(useSkillTagID, useSkillTagType) + + __Sync_AttackResult(attacker, defender, curSkill) + + ##############################主动攻击成功############################# ## 玩家攻击成功 # @param curPlayer 攻击Obj @@ -1484,9 +1499,10 @@ curPlayerSkill = curPlayer.GetSkillManager().FindSkillBySkillTypeID(skillTypeID) if curPlayerSkill: - - #设置玩家所学技能冷却CD - SkillCommon.SetSkillRemainTime(curPlayerSkill, PlayerControl.GetReduceSkillCDPer(curPlayer), tick, curPlayer) + + if not IsSkipSkillCD: + #设置玩家所学技能冷却CD + SkillCommon.SetSkillRemainTime(curPlayerSkill, PlayerControl.GetReduceSkillCDPer(curPlayer), tick, curPlayer) #调用任务触发器 #EventShell.EventRespons_UseSkillOK(curPlayer, skillTypeID) #执行连环被动技能处理 @@ -1501,6 +1517,27 @@ # 普攻和对敌技能 UseSkillOver(curPlayer, target, curSkill, tick) return True + +# 无冷却状态 +def IsSkipSkillCD(curPlayer, target, curSkill, tick): + # 暴击情况下 + isSuperHit = False + for i in xrange(g_skillHurtList.GetHurtCount()): + hurtObj = g_skillHurtList.GetHurtAt(i) + if not hurtObj: + continue + + if hurtObj.GetAttackType() == ChConfig.Def_HurtType_SuperHit: + isSuperHit = True + break + + if isSuperHit: + if PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(curPlayer, None, curSkill, ChConfig.TriggerType_SuperHitSkipCD): + return True + if PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(curPlayer, None, curSkill, ChConfig.TriggerType_SuperHitSkipCD): + return True + return False + # 根据伤血类型触发技能,群攻只触发一次,放在伤血列表被清之前 def OnHurtTypeTriggerSkill(attacker, target, curSkill, tick): -- Gitblit v1.8.0