Project_WL/Assets/Script/Character/Projectile/Skill/Skill_IceArrows.cs

54 lines
1.5 KiB
C#
Raw Normal View History

2024-12-15 01:39:39 +00:00
using System.Collections;
using UnityEngine;
public class Skill_IceArrows : ProjectileBase
{
[Header("피해 범위")]
public float m_range = 1.5f;
public override void Set(ProjectileData _data)
{
if (!DSUtil.CheckNull(_data.target))
{
2025-05-09 22:53:47 +00:00
_data.v3_StartPos = _data.target.Get_position();
2024-12-15 01:39:39 +00:00
_data.eStartPos = eProjectileStartPos.Custom;
_data.LookTarget = false;
2025-05-13 23:11:24 +00:00
//_data.SetSkillExtraType = false;
2024-12-15 01:39:39 +00:00
base.Set(_data);
float range = m_range;
if (IsStep(1))
{
transform.localScale = Vector3.one * 2f;
range += Get_AwakenData(2, 1);
}
2025-05-09 23:04:47 +00:00
_data.AddDmgPercent = IsStep(2) ? Get_AwakenData(2, 1) : 0;
2025-05-09 22:53:47 +00:00
Set_ReduceCoolTime_byStep(3);
// 냉기 폭격일 때 개화
//_data.e_SkillExtraType = IsStep(2) ? eSkillExtraType.Slow : eSkillExtraType.None;
//_data.SetSkillExtraType = false;
//if (IsStep(3))
// _data.CC_AddVal2 = Get_AwakenData(3, 1);
2024-12-15 01:39:39 +00:00
StartCoroutine(Co_IceArrows(range));
}
else
Off();
}
IEnumerator Co_IceArrows(float range)
{
if (!DSUtil.CheckNull(m_ProjecTileData.target))
2024-12-15 01:39:39 +00:00
{
var enemies = Get_Enemies(m_ProjecTileData.target.transform, range);
2024-12-15 01:39:39 +00:00
for (int i = 0; i < enemies.Count; i++)
enemies[i].Get_Damage(Get_DamageInfo());
}
2025-05-09 22:53:47 +00:00
yield return new WaitForSeconds(0.5f);
2024-12-17 01:48:30 +00:00
Off(true);
2024-12-15 01:39:39 +00:00
}
}