Files
tiny_tackle_heroes/Assets/_Project/Scripts/Constants/PlayerConstants.cs
T

41 lines
2.2 KiB
C#

using UnityEngine;
namespace BumpCombat.Constants
{
[CreateAssetMenu(menuName = "BumpCombat/Constants/Player")]
public sealed class PlayerConstants : ScriptableObject
{
[Header("기본 능력치")]
[Tooltip("플레이어 기본 이동 속도 (유닛/초)"), Min(0f)] public float BaseMoveSpeed = 3f;
[Tooltip("플레이어 기본 최대 체력"), Min(1f)] public float BaseMaxHealth = 100f;
[Header("피격")]
[Tooltip("피격 뒤 무적시간 (초)"), Min(0f)] public float InvulnerabilityDuration = 1f;
[Tooltip("피격 넉백 지속시간 (초)"), Min(0f)] public float KnockbackDuration = 0.14f;
[Tooltip("Hurt 이동 잠금시간 (초)"), Min(0f)] public float HurtMovementLockDuration = 0.5f;
[Tooltip("Hurt 종료 뒤 무적에 더하는 여유시간 (초)"), Min(0f)] public float HurtRecoveryPadding = 0.5f;
[Header("연속 처치 이속 보너스")]
[Tooltip("연속 처치 인정 시간창 (게임 초)"), Min(0f)]
public float PressureStreakWindowSeconds = 3f;
[Tooltip("보너스 발동에 필요한 몸통박치기 처치 수"), Min(1)]
public int PressureStreakKillTarget = 3;
[Tooltip("연속 처치 보너스 이동속도 증가율"), Range(0f, 1f)]
public float PressureStreakMoveSpeedIncrease = 0.2f;
[Tooltip("연속 처치 보너스 지속시간 (게임 초)"), Min(0f)]
public float PressureStreakDuration = 3f;
[Header("가드")]
[Tooltip("가드 재사용 대기시간 (초)"), Min(0f)] public float GuardCooldownDuration = 10f;
[Tooltip("가드 무적 지속시간 (초)"), Min(0f)] public float GuardDuration = 1f;
[Tooltip("가드가 실제 공격을 막았을 때 회복하는 쿨타임 비율 (%)"), Range(0f, 100f)]
public float GuardSuccessCooldownRechargePercent = 70f;
[Header("전장 가장자리 fallback")]
[Tooltip("ArenaBounds가 없는 테스트 장면에서 사용하는 전장 반너비/반높이")]
public Vector2 ArenaHalfExtents = new(15f, 8.4375f);
[Tooltip("ArenaBounds가 없는 테스트 장면의 플레이어 가장자리 여백")]
public Vector2 ArenaPadding = new(0.5f, 0.625f);
}
}