마나 폭발

This commit is contained in:
Ino 2025-05-12 09:24:26 +09:00
parent 3750624bca
commit dc6f32d639
8 changed files with 87047 additions and 124 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1027,12 +1027,12 @@ public class Actor : MyCoroutine
}
#endregion
protected bool IsCC(eCC cc) { return cc >= eCC.Freeze && cc < eCC.Max; }
public bool IsCC()
public bool IsCC(bool ignoreknockback = false)
{
if (dic_ccData[eCC.Freeze].CCTime > 0f) return true;
if (dic_ccData[eCC.Attract].CCTime > 0f) return true;
if (dic_ccData[eCC.KnockedAirborne].CCTime > 0f) return true;
if (dic_ccData[eCC.KnockBack].CCTime > 0f) return true;
if (!ignoreknockback && dic_ccData[eCC.KnockBack].CCTime > 0f) return true;
if (dic_ccData[eCC.Stun].CCTime > 0f) return true;
return false;
}
@ -1583,12 +1583,11 @@ public class Actor : MyCoroutine
#endregion
#region :
float StunAfterKnockBackTime = 0f;
public virtual void KnockBack(double _time, float speed = 4f, Action after = null)
public virtual void KnockBack(double _time, float speed = 4f, Action after = null, bool ignorePreknockback = false)
{
if (m_Stat.Get_Stat(eStat.CC_Immunity) > 0) return;
if (IsRole(eRole.OBJ) || IsSubRole(eSubRol.Boss) || DSUtil.CheckNull(m_NavMeshAgent) || IsCC()) return;
if (dic_ccData[eCC.KnockBack].CCTime < _time)
StartCoroutine(Co_KnockBack(_time, speed, after));
if (IsRole(eRole.OBJ) || IsSubRole(eSubRol.Boss) || DSUtil.CheckNull(m_NavMeshAgent) || IsCC(ignorePreknockback)) return;
StartCoroutine(Co_KnockBack(_time, speed, after));
}
IEnumerator Co_KnockBack(double _time, float speed, Action after)
{

View File

@ -18,7 +18,7 @@ public class BullRushMobActor : MobActor
StartCoroutine(Co_Attack());
}
public override void KnockBack(double _time, float speed = 4, Action after = null)
public override void KnockBack(double _time, float speed = 4, Action after = null, bool ignorePreknockback = false)
{
return;
}

View File

@ -5,13 +5,18 @@ public class Skill_ExplosionArea : ProjectileBase
{
[Header("스킬 판정 범위")]
public BoxCollider m_Collider;
public Transform tf_effect;
Vector3 originScale = Vector3.zero;
bool isStep3;
public override void Set(ProjectileData _data)
{
if (originScale == Vector3.zero) originScale = tf_effect.localScale;
_data.eStartPos = eProjectileStartPos.Custom;
_data.v3_StartPos = _data.shooter.Get_position();
_data.Action_OnHit = hitter => { hitter.KnockBack(1f, 8f, null, true); };
base.Set(_data);
transform.eulerAngles = Vector3.zero;
Set_ReduceCoolTime_byStep(1);
@ -22,15 +27,14 @@ public class Skill_ExplosionArea : ProjectileBase
IEnumerator Co_ExplosionArea()
{
m_Collider.size = Vector3.one * 4f;
if (IsStep(2)) m_Collider.size = Vector3.one * (4f + Get_AwakenData(2, 1));
tf_effect.localScale = originScale;
if (IsStep(2)) tf_effect.localScale *= Get_AwakenData(2, 1);
m_Collider.enabled = false;
yield return new WaitForSeconds(2.8f);
m_Collider.enabled = true;
yield return new WaitForSeconds(0.05f);
yield return null;
yield return null;
m_Collider.enabled = false;
yield return new WaitForSeconds(0.5f);
yield return new WaitForSeconds(1.5f);
Off(true);
}

View File

@ -14,8 +14,8 @@ public enum eCC {
Cri_Up, MultiShot, ATK_Down, SilenceCurse, Aggro, Cure, Barrier, PerHPBuff_SPD, PerHPBuff_ADEF, PerHPBuff_AMDEF,
ATK_Mul, DEF_Mul, MDEF_Mul, PerHPBuff_AASPD, PerHPBuff_AMSPD,
// 움직임 제한
Freeze, Attract, KnockedAirborne, KnockBack, Stun,
// 움직임 제한
Freeze, Attract, KnockedAirborne, KnockBack, Stun,
Max }
public enum eAddExtraType { None,