From 19445aa75a0f8a327bbcd744041bfbf0fb4e9a22 Mon Sep 17 00:00:00 2001 From: Ino Date: Thu, 15 Jan 2026 11:03:26 +0900 Subject: [PATCH] ImpactArrow --- Assets/OneShotOneKill.txt | 6 +++--- Assets/Script/InGame/Actor/MobActor.cs | 2 +- Assets/Script/InGame/Actor/MobShield.cs | 9 ++++++++- Assets/Script/InGame/Actor/MobShields.cs | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Assets/OneShotOneKill.txt b/Assets/OneShotOneKill.txt index eb05d24..1d77f41 100644 --- a/Assets/OneShotOneKill.txt +++ b/Assets/OneShotOneKill.txt @@ -12,10 +12,10 @@ Stun 피해를 입힌 적을 일정 시간(=0.5초) 기절 시킵 //Bounce 피격 된 대상이 있을 경우, 일정 범위 내 적에게 투사체 1개가 추가로 발사됩니다. //ArrowUpDown 투사체에 적이 명중할 경우 상/하 방향으로 투사체가 1개씩 발사됩니다. //ArrowLeftRight 투사체에 적이 명중할 경우 좌/우 방향으로 투사체가 1개씩 발사됩니다. -ImpactArrow 투사체가 적의 방어막에 막혀도 +1의 피해를 고정으로 입힙니다. -//AttackSpeedUp 공격 속도가 0.1초 감소합니다. +//ImpactArrow 투사체가 적의 방어막에 막혀도 +1의 피해를 고정으로 입힙니다. +//AttackSpeedUp 공격 속도가 0.1초 감소합니다. -반사와 관통이 동시에 있을 경우, 관통 후 반사 +스킬 카드에 별 표시 몬스터 이동방식 구현 // - 직진 diff --git a/Assets/Script/InGame/Actor/MobActor.cs b/Assets/Script/InGame/Actor/MobActor.cs index d411ed6..0561029 100644 --- a/Assets/Script/InGame/Actor/MobActor.cs +++ b/Assets/Script/InGame/Actor/MobActor.cs @@ -151,7 +151,7 @@ public class MobActor : MonoBehaviour IngameMgr.Ins.Add_MobKill(m_Data.n_DropExp); gameObject.SetActive(false); } - else if (!bBoss) + else if (!bBoss && data.m_Data != null) { m_State = eMobState.KnockBack; v3_knockBack = transform.position + new Vector3(0f, diff --git a/Assets/Script/InGame/Actor/MobShield.cs b/Assets/Script/InGame/Actor/MobShield.cs index 2c32f49..698894a 100644 --- a/Assets/Script/InGame/Actor/MobShield.cs +++ b/Assets/Script/InGame/Actor/MobShield.cs @@ -6,15 +6,22 @@ public class MobShield : MonoBehaviour public SpriteRenderer m_SR; bool m_CrashShield; + MobActor m_Mob; - public void Set(bool crashshield) + public void Set(bool crashshield, MobActor mob) { m_CrashShield = crashshield; + m_Mob = mob; m_SR.sprite = sprites[m_CrashShield ? 1 : 0]; } public void Get_Dmg() { gameObject.SetActive(m_CrashShield); + var ImpactArrow = (int)IngameMgr.Ins.Get_SkillValue(eSkillType.ImpactArrow); + if (ImpactArrow > 0) + { + m_Mob.Get_Dmg(new ProjectileData { Dmg = ImpactArrow }); + } } } \ No newline at end of file diff --git a/Assets/Script/InGame/Actor/MobShields.cs b/Assets/Script/InGame/Actor/MobShields.cs index dc93604..a649567 100644 --- a/Assets/Script/InGame/Actor/MobShields.cs +++ b/Assets/Script/InGame/Actor/MobShields.cs @@ -41,7 +41,7 @@ public class MobShields : MonoBehaviour case 3: shield.transform.localPosition = Vector3.left * 2.5f; break; } - shield.Set(index++ < crash); + shield.Set(index++ < crash, GetComponentInParent()); } }