少年修仙传客户端代码仓库
client_Hale
2019-06-22 7320a4d50c8014b41d28cd95d4373a65c344d531
382 技能特效替换逻辑修复
1个文件已修改
64 ■■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
@@ -148,48 +148,58 @@
            StatusMgr.Instance.GetBuffIds(vNetData.ObjID, ref _skill.cacheBuffList);
            _skill.OnRecv_SkillCast();
            if (!(_attacker is GA_Player) || BattleEffectPlayRule.Instance.CanPlay(vNetData.ObjID))
            if (!(_skill.skillInfo.config.SkillType == (int)E_SkillType.Passive
             || _skill.skillInfo.config.SkillType == (int)E_SkillType.PassiveBuff
             || _skill.skillInfo.config.SkillType == (int)E_SkillType.PassiveContinuousGain
             || _skill.skillInfo.config.SkillType == (int)E_SkillType.PassiveControlBuff
             || _skill.skillInfo.config.SkillType == (int)E_SkillType.PassiveGainBuff
             || _skill.skillInfo.config.SkillType == (int)E_SkillType.PassiveReductionBuff
             || _skill.skillInfo.config.SkillType == (int)E_SkillType.PassiveSustainedReduction
             || (_skill.skillInfo.config.Skillactmark > 100 || _skill.skillInfo.config.Skillactmark < 10)))
            {
                // 这里播放配置的技能特效
                if (_skill.skillInfo.config.EffectName > 0)
                if (!(_attacker is GA_Player) || BattleEffectPlayRule.Instance.CanPlay(vNetData.ObjID))
                {
                    bool _playEffect = true;
                    if (vNetData.ObjID != PlayerDatas.Instance.PlayerId)
                    // 这里播放配置的技能特效
                    if (_skill.skillInfo.config.EffectName > 0)
                    {
                        if (!_attacker.ShowOrHide
                         || SystemSetting.Instance.GetCurrentQualityLevel() == GameQuality.Low)
                        {
                            _playEffect = false;
                        }
                    }
                        bool _playEffect = true;
                    if (_playEffect)
                    {
                        if (_skill.warnPosList.Count > 1)
                        if (vNetData.ObjID != PlayerDatas.Instance.PlayerId)
                        {
                            for (int i = 0; i < _skill.warnPosList.Count; ++i)
                            if (!_attacker.ShowOrHide
                             || SystemSetting.Instance.GetCurrentQualityLevel() == GameQuality.Low)
                            {
                                SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _skill.warnPosList[i], Vector3.forward);
                                _playEffect = false;
                            }
                        }
                        else
                        if (_playEffect)
                        {
                            if ((_skill.skillInfo.config.Tag % 10) == 0 || (_skill.skillInfo.config.Tag % 10) == 1 || _attacker is GActorNpcFight)
                            if (_skill.warnPosList.Count > 1)
                            {
                                SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _attacker);
                                for (int i = 0; i < _skill.warnPosList.Count; ++i)
                                {
                                    SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _skill.warnPosList[i], Vector3.forward);
                                }
                            }
                            else
                            {
                                Vector3 _pos = new Vector3((vNetData.PosX - GA_Hero.MapOffset.x) * .5f,
                                                _attacker.Pos.y,
                                                (vNetData.PosY - GA_Hero.MapOffset.z) * .5f);
                                if ((_skill.skillInfo.config.Tag % 10) == 0 || (_skill.skillInfo.config.Tag % 10) == 1 || _attacker is GActorNpcFight)
                                {
                                    SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _attacker);
                                }
                                else
                                {
                                    Vector3 _pos = new Vector3((vNetData.PosX - GA_Hero.MapOffset.x) * .5f,
                                                    _attacker.Pos.y,
                                                    (vNetData.PosY - GA_Hero.MapOffset.z) * .5f);
                                Vector3 _dir = MathUtility.ForwardXZ(_pos, _attacker.Pos);
                                    Vector3 _dir = MathUtility.ForwardXZ(_pos, _attacker.Pos);
                                SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName,
                                                                         _pos,
                                                                         _dir);
                                    SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName,
                                                                             _pos,
                                                                             _dir);
                                }
                            }
                        }
                    }