diff --git a/Assembly-CSharp.csproj.DotSettings b/Assembly-CSharp.csproj.DotSettings
new file mode 100644
index 00000000..47f964ba
--- /dev/null
+++ b/Assembly-CSharp.csproj.DotSettings
@@ -0,0 +1,2 @@
+
+ True
\ No newline at end of file
diff --git a/Assets/JYY/Scripts.meta b/Assets/JYY/Scripts.meta
new file mode 100644
index 00000000..2f884734
--- /dev/null
+++ b/Assets/JYY/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d71915ab89436f04291470c4877deb39
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/JYY/Scripts/Character.meta b/Assets/JYY/Scripts/Character.meta
new file mode 100644
index 00000000..6ed931e0
--- /dev/null
+++ b/Assets/JYY/Scripts/Character.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 04daad0a5fd8ee441ac26c6addd95d0c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/JYY/Scripts/Character/CharacterBase.cs b/Assets/JYY/Scripts/Character/CharacterBase.cs
new file mode 100644
index 00000000..d2a3932f
--- /dev/null
+++ b/Assets/JYY/Scripts/Character/CharacterBase.cs
@@ -0,0 +1,63 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public abstract class CharacterBase : MonoBehaviour
+{
+ [Header("기본 능력치")]
+ public string characterName; // 이름
+ public int maxHP = 100; // 최대 체력
+ public int currentHP; // 현재 체력
+ public float attackPower = 10f; // 공격력
+ public float defensePower = 5f; // 방어력
+ public float moveSpeed = 5f; // 이동 속도
+ public float gravity = -9.81f; // 중력
+
+ [Header("상태 이상")]
+ public List statusEffects = new List();
+
+ protected virtual void Start()
+ {
+ currentHP = maxHP;
+ }
+
+ public virtual void TakeDamage(float damage)
+ {
+ float actualDamage = Mathf.Max(0, damage - defensePower);
+ currentHP -= Mathf.RoundToInt(actualDamage);
+ Debug.Log($"{characterName}이 {actualDamage}의 피해를 입었습니다. 현재 체력: {currentHP}");
+
+ if (currentHP <= 0)
+ {
+ Die();
+ }
+ }
+
+ public virtual void Die()
+ {
+ Debug.Log($"{characterName}이 사망했습니다.");
+ // TODO: 사망 처리
+ }
+
+ // 상태이상 추가 메서드
+ public virtual void AddStatusEffect(StatusEffect effect)
+ {
+ statusEffects.Add(effect);
+ // TODO: 상태이상 처리 로직 추가
+ }
+}
+
+public abstract class StatusEffect
+{
+ // 받는 피해 증가
+ // 주는 피해 감소
+ // 느려짐
+ // 기절
+ // 넉백
+
+ public string effectName;
+ public float duration;
+
+ public virtual void ApplyEffect(CharacterBase target) {}
+ public virtual void RemoveEffect(CharacterBase target) {}
+}
\ No newline at end of file
diff --git a/Assets/JYY/Scripts/Character/CharacterBase.cs.meta b/Assets/JYY/Scripts/Character/CharacterBase.cs.meta
new file mode 100644
index 00000000..7a35fb3a
--- /dev/null
+++ b/Assets/JYY/Scripts/Character/CharacterBase.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4ca899178d924fa4e8de15831c666f22
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: