| | |
| | | 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);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|