일부 버그 수정
This commit is contained in:
parent
edb79eb4d5
commit
388e109c5f
|
|
@ -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초 감소합니다.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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"}]
|
||||||
Binary file not shown.
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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++)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue