일부 버그 수정

This commit is contained in:
Ino 2026-01-15 08:00:10 +09:00
parent edb79eb4d5
commit 388e109c5f
6 changed files with 19 additions and 29 deletions

View File

@ -2,16 +2,16 @@
//HpUp 적에게 버틸 수 있는 성벽의 생명력이 증가합니다. //HpUp 적에게 버틸 수 있는 성벽의 생명력이 증가합니다.
//AttackUp 공격력이 +1 증가합니다. //AttackUp 공격력이 +1 증가합니다.
//PreviousArrow 투사체 타격 횟수가 +1 증가합니다. //PreviousArrow 투사체 타격 횟수가 +1 증가합니다.
DiagonalArrow 발사 된 투사체 방향으로 사선 방향의 투사체 1개가 추가됩니다. //DiagonalArrow 발사 된 투사체 방향으로 사선 방향의 투사체 1개가 추가됩니다.
ProjectilePierce 투사체가 적을 관통하는 횟수가 증가합니다. ProjectilePierce 투사체가 적을 관통하는 횟수가 증가합니다.
//Reflect 투사체 반사 횟수가 +1 증가합니다. //Reflect 투사체 반사 횟수가 +1 증가합니다.
Knockback 타격 된 적을 일정 거리 만큼 밀쳐냅니다. Knockback 타격 된 적을 일정 거리 만큼 밀쳐냅니다.
DoubleShot 같은 방향으로 발사되는 투사체의 수량이 증가합니다. (※연속 발사) DoubleShot 같은 방향으로 발사되는 투사체의 수량이 증가합니다. (※연속 발사)
Explosion 피격 된 대상을 처치하면 일정 범위에 피해를 입힙니다. (중첩 시 피해량과 범위가 증가) Explosion 피격 된 대상을 처치하면 일정 범위에 피해를 입힙니다. (중첩 시 피해량과 범위가 증가)
Stun 피해를 입힌 적을 일정 시간(=0.5초) 기절 시킵니다. (※보스 몬스터에게는 적용 안됨) Stun 피해를 입힌 적을 일정 시간(=0.5초) 기절 시킵니다. (※보스 몬스터에게는 적용 안됨)
Bounce 피격 된 대상이 있을 경우, 일정 범위 내 적에게 투사체 1개가 추가로 발사됩니다. //Bounce 피격 된 대상이 있을 경우, 일정 범위 내 적에게 투사체 1개가 추가로 발사됩니다.
ArrowUpDown 투사체에 적이 명중할 경우 상/하 방향으로 투사체가 1개씩 발사됩니다. //ArrowUpDown 투사체에 적이 명중할 경우 상/하 방향으로 투사체가 1개씩 발사됩니다.
ArrowLeftRight 투사체에 적이 명중할 경우 좌/우 방향으로 투사체가 1개씩 발사됩니다. //ArrowLeftRight 투사체에 적이 명중할 경우 좌/우 방향으로 투사체가 1개씩 발사됩니다.
ImpactArrow 투사체가 적의 방어막에 막혀도 +1의 피해를 고정으로 입힙니다. ImpactArrow 투사체가 적의 방어막에 막혀도 +1의 피해를 고정으로 입힙니다.
//AttackSpeedUp 공격 속도가 0.1초 감소합니다. //AttackSpeedUp 공격 속도가 0.1초 감소합니다.

View File

@ -1 +1 @@
[{"n_ProjectileID":"3001","s_ProjectilePrefabs":"Projectile_Arrow","s_HitEffect":"","f_ProjectileSpeed":"2.6","f_AttackBounceLimit":"1","f_ProjectileDistance":"-1","n_ProjectileLife":"2","f_KnockbackDistance":"1.1","f_StunTime":"0","f_ExplosionRange":"0.5","f_ExplosionDamage":"0"},{"n_ProjectileID":"3101","s_ProjectilePrefabs":"Projectile_MobMelee","s_HitEffect":"","f_ProjectileSpeed":"3","f_AttackBounceLimit":"0","f_ProjectileDistance":"-1","n_ProjectileLife":"5","f_KnockbackDistance":"0","f_StunTime":"0","f_ExplosionRange":"0.5","f_ExplosionDamage":"0"},{"n_ProjectileID":"3102","s_ProjectilePrefabs":"Projectile_MobRange","s_HitEffect":"","f_ProjectileSpeed":"3","f_AttackBounceLimit":"0","f_ProjectileDistance":"-1","n_ProjectileLife":"5","f_KnockbackDistance":"0","f_StunTime":"0","f_ExplosionRange":"0","f_ExplosionDamage":"0"}] [{"n_ProjectileID":"3001","s_ProjectilePrefabs":"Projectile_Arrow","s_HitEffect":"","f_ProjectileSpeed":"2.6","f_AttackBounceLimit":"1","f_ProjectileDistance":"-1","n_ProjectileLife":"2","f_KnockbackDistance":"0.5","f_StunTime":"0","f_ExplosionRange":"0.5","f_ExplosionDamage":"0"},{"n_ProjectileID":"3101","s_ProjectilePrefabs":"Projectile_MobMelee","s_HitEffect":"","f_ProjectileSpeed":"3","f_AttackBounceLimit":"0","f_ProjectileDistance":"-1","n_ProjectileLife":"5","f_KnockbackDistance":"0","f_StunTime":"0","f_ExplosionRange":"0.5","f_ExplosionDamage":"0"},{"n_ProjectileID":"3102","s_ProjectilePrefabs":"Projectile_MobRange","s_HitEffect":"","f_ProjectileSpeed":"3","f_AttackBounceLimit":"0","f_ProjectileDistance":"-1","n_ProjectileLife":"5","f_KnockbackDistance":"0","f_StunTime":"0","f_ExplosionRange":"0","f_ExplosionDamage":"0"}]

View File

@ -41,7 +41,7 @@ public class IngameMgr : MonoBehaviourSingletonTemplate<IngameMgr>
m_Lv = m_Wave = 1; m_Lv = m_Wave = 1;
m_Lv.RandomizeCryptoKey(); m_Lv.RandomizeCryptoKey();
m_Exp = m_Coin = m_Item = 0; m_Exp = m_Coin = m_Item = 0;
f_Time = 90f; f_Time = 300f;
m_MobDieCount = 0; m_MobDieCount.RandomizeCryptoKey(); m_MobDieCount = 0; m_MobDieCount.RandomizeCryptoKey();
dic_Skill.Clear(); dic_Skill.Clear();

View File

@ -1,6 +1,5 @@
using CodeStage.AntiCheat.ObscuredTypes; using CodeStage.AntiCheat.ObscuredTypes;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEditor.Overlays;
using UnityEngine; using UnityEngine;
public class Projectile : MonoBehaviour public class Projectile : MonoBehaviour
@ -215,19 +214,6 @@ public class Projectile : MonoBehaviour
return offsets; return offsets;
} }
void SpawnProjectile(
Vector3 pos,
Vector2 dir,
ProjectileData baseData
)
{
Projectile p = ProjectileMgr.Ins.Get(baseData.m_Data.s_ProjectilePrefabs);
p.Set(baseData);
p.transform.position = pos;
p.SetDirection(dir);
}
void SpawnExtra(Vector3 pos, Vector3 dir) void SpawnExtra(Vector3 pos, Vector3 dir)
{ {
var p = ProjectileMgr.Ins.Get(m_ProjectileData.m_Data.s_ProjectilePrefabs); var p = ProjectileMgr.Ins.Get(m_ProjectileData.m_Data.s_ProjectilePrefabs);
@ -240,7 +226,7 @@ public class Projectile : MonoBehaviour
ArrowLeftRight = 0, ArrowLeftRight = 0,
ArrowUpDown = 0, ArrowUpDown = 0,
Bounce = 0 Bounce = m_ProjectileData.Bounce
}); });
p.transform.position = pos; p.transform.position = pos;
@ -252,16 +238,16 @@ public class Projectile : MonoBehaviour
if (m_ProjectileData.ArrowLeftRight <= 0) return; if (m_ProjectileData.ArrowLeftRight <= 0) return;
Vector3 hitPos = tf.position; Vector3 hitPos = tf.position;
float spacing = 1.5f; float spacing = 0.5f;
int count = m_ProjectileData.ArrowLeftRight; int count = m_ProjectileData.ArrowLeftRight;
var offsets = GetOffsets(count, spacing); var offsets = GetOffsets(count, spacing);
foreach (float offset in offsets) foreach (float offset in offsets)
{ {
// ▶ 오른쪽 // ▶ 오른쪽
SpawnProjectile(hitPos + Vector3.up * (offset + 0.5f), Vector2.right, m_ProjectileData); SpawnExtra(hitPos + Vector3.up * (offset + 0.5f), Vector2.right);
// ◀ 왼쪽 // ◀ 왼쪽
SpawnProjectile(hitPos + Vector3.up * (offset + 0.5f), Vector2.left, m_ProjectileData); SpawnExtra(hitPos + Vector3.up * (offset + 0.5f), Vector2.left);
} }
} }
void Spawn_UpDown(Transform tf) void Spawn_UpDown(Transform tf)
@ -276,10 +262,10 @@ public class Projectile : MonoBehaviour
foreach (float offset in offsets) foreach (float offset in offsets)
{ {
// ▲ 위 // ▲ 위
SpawnProjectile(hitPos + Vector3.right * offset, Vector2.up, m_ProjectileData); SpawnExtra(hitPos + Vector3.right * offset, Vector2.up);
// ▼ 아래 // ▼ 아래
SpawnProjectile(hitPos + Vector3.right * offset, Vector2.down, m_ProjectileData); SpawnExtra(hitPos + Vector3.right * offset, Vector2.down);
} }
} }
void Spawn_Bounce(MobActor mob) void Spawn_Bounce(MobActor mob)
@ -287,11 +273,15 @@ public class Projectile : MonoBehaviour
if (m_ProjectileData.Bounce <= 0 || mob == null) return; if (m_ProjectileData.Bounce <= 0 || mob == null) return;
MobActor target = IngameMgr.Ins.FindNearestMob(mob.transform.position, mob); MobActor target = IngameMgr.Ins.FindNearestMob(mob.transform.position, mob);
if (target == null) return; if (target == null)
{
Kill();
return;
}
Vector3 dir = (target.transform.position - mob.transform.position).normalized; Vector3 dir = (target.transform.position - mob.transform.position).normalized;
SpawnExtra(mob.transform.position, dir); SetDirection(dir);
--m_ProjectileData.Bounce; --m_ProjectileData.Bounce;
} }
} }

View File

@ -14,7 +14,7 @@ public class Play_UI_ChoiceSkill : MonoBehaviour
private void OnEnable() private void OnEnable()
{ {
CanSelectTime = 2f; CanSelectTime = 1f;
list_skill = table_skill.Ins.Get_ThreeDatas(); list_skill = table_skill.Ins.Get_ThreeDatas();
for (int i = 0; i < list_skill.Count; i++) for (int i = 0; i < list_skill.Count; i++)