feat: 플레이어 탱킹 및 지원 스킬 1차 구현

- 도발, 방어 태세, 철벽 스킬과 위협 생성 배율 시스템을 추가

- 치유, 광역 치유, 보호막 스킬과 관련 이상상태/이펙트 자산을 구성

- 보호막 흡수 로직과 체력 HUD 보너스 표시를 PlayerNetworkController, PlayerHUD, StatBar에 반영

- 플레이어 프리팹 슬롯과 디버그 메뉴를 확장해 탱킹·지원 스킬 검증 경로를 추가

- Unity 컴파일과 런타임 테스트에서 도발, 치유, 광역 치유, 보호막 발동 및 보호막 수치 적용을 확인
This commit is contained in:
2026-03-24 19:17:16 +09:00
parent c4209855ab
commit 0c7c7b0c12
48 changed files with 1200 additions and 13 deletions

View File

@@ -0,0 +1,30 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 94f0a76cebcac2f4fb5daf1b675fd79f, type: 3}
m_Name: Data_Skill_Player_광역치유
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: 광역 치유
description: 주변 아군과 자신의 체력을 함께 회복한다.
icon: {fileID: 0}
skillClip: {fileID: -8689311932429934276, guid: ac0adc4c7f982fe4d82eac9c2267f0c6, type: 3}
endClip: {fileID: 0}
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
cooldown: 16
manaCost: 30
effects:
- {fileID: 11400000, guid: d33ec3ec97ad8084e81bb5a60f1e0eca, type: 2}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7a245d40a0d21b248b942033d4ec4309
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,30 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 94f0a76cebcac2f4fb5daf1b675fd79f, type: 3}
m_Name: Data_Skill_Player_도발
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: 도발
description: 주변 적의 위협 수치를 크게 높이고 짧은 시간 동안 위협 생성량을 증가시킨다.
icon: {fileID: 0}
skillClip: {fileID: -8689311932429934276, guid: ac0adc4c7f982fe4d82eac9c2267f0c6, type: 3}
endClip: {fileID: 0}
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
cooldown: 8
manaCost: 10
effects:
- {fileID: 11400000, guid: f0aaa98426be3d44082a386c00ea9aea, type: 2}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1020083ab98b8214f918fa2ab7c1a3a1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,30 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 94f0a76cebcac2f4fb5daf1b675fd79f, type: 3}
m_Name: Data_Skill_Player_방어태세
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: 방어 태세
description: 짧은 시간 동안 받는 피해를 줄이고 위협 생성량을 높인다.
icon: {fileID: 0}
skillClip: {fileID: -8689311932429934276, guid: ac0adc4c7f982fe4d82eac9c2267f0c6, type: 3}
endClip: {fileID: 0}
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
cooldown: 10
manaCost: 12
effects:
- {fileID: 11400000, guid: a7024f38a9ce6c94ba466164604bde3b, type: 2}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a822c7e8c7cee5546ad594b582208e53
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,30 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 94f0a76cebcac2f4fb5daf1b675fd79f, type: 3}
m_Name: Data_Skill_Player_보호막
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: 보호막
description: 주변 아군과 자신에게 피해를 흡수하는 보호막을 부여한다.
icon: {fileID: 0}
skillClip: {fileID: -8689311932429934276, guid: ac0adc4c7f982fe4d82eac9c2267f0c6, type: 3}
endClip: {fileID: 0}
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
cooldown: 18
manaCost: 24
effects:
- {fileID: 11400000, guid: 65ed1eabc2fb73d43b86230317222608, type: 2}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b78d2eb76cdfbe248b65bafe6e1dc231
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,30 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 94f0a76cebcac2f4fb5daf1b675fd79f, type: 3}
m_Name: Data_Skill_Player_철벽
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: 철벽
description: 짧은 시간 동안 무적이 되며 위협 생성량이 약간 증가한다.
icon: {fileID: 0}
skillClip: {fileID: -8689311932429934276, guid: ac0adc4c7f982fe4d82eac9c2267f0c6, type: 3}
endClip: {fileID: 0}
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
cooldown: 18
manaCost: 20
effects:
- {fileID: 11400000, guid: bc418a5bb985ee34395994d50918086b, type: 2}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 29e1ce0656471b54f84b18a773032a99
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,30 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 94f0a76cebcac2f4fb5daf1b675fd79f, type: 3}
m_Name: Data_Skill_Player_치유
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: 치유
description: 자신의 체력을 빠르게 회복한다.
icon: {fileID: 0}
skillClip: {fileID: -8689311932429934276, guid: ac0adc4c7f982fe4d82eac9c2267f0c6, type: 3}
endClip: {fileID: 0}
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
cooldown: 8
manaCost: 18
effects:
- {fileID: 11400000, guid: fa5f619fe89f93f4293a0d5edcfe9592, type: 2}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 21598931a138aa44c86d85d67f6c534a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,28 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: abc224c01f587d447bc8df723ef522ba, type: 3}
m_Name: Data_SkillEffect_Player_광역치유_0_회복
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.HealEffect
targetType: 1
targetTeam: 1
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 4294967295
includeCasterInArea: 1
areaRadius: 6
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseHeal: 18
healScaling: 0.75

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d33ec3ec97ad8084e81bb5a60f1e0eca
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,29 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bd72562b167fced4191f12bd3a86d341, type: 3}
m_Name: Data_SkillEffect_Player_도발_0_도발
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.TauntEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 4294967295
areaRadius: 5
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
flatThreatAmount: 60
threatLeadBonus: 20
selfThreatMultiplier: 1.75
selfThreatMultiplierDuration: 5

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f0aaa98426be3d44082a386c00ea9aea
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,28 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 639a0e2e83c292b4aaf5bc4b1532f099, type: 3}
m_Name: Data_SkillEffect_Player_방어태세_0_강화
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.CombatBuffEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
abnormalityData: {fileID: 11400000, guid: 125cb0e546495694c8d1d99ff0e15057, type: 2}
threatMultiplier: 1.35
threatMultiplierDuration: 4

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a7024f38a9ce6c94ba466164604bde3b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,29 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6598d3be8b5522b4494d1f60cbc1986c, type: 3}
m_Name: Data_SkillEffect_Player_보호막_0_보호막
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.ShieldEffect
targetType: 1
targetTeam: 1
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 4294967295
includeCasterInArea: 1
areaRadius: 6
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseShield: 28
shieldScaling: 0.8
duration: 5

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 65ed1eabc2fb73d43b86230317222608
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,28 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 639a0e2e83c292b4aaf5bc4b1532f099, type: 3}
m_Name: Data_SkillEffect_Player_철벽_0_강화
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.CombatBuffEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
abnormalityData: {fileID: 11400000, guid: 3d0f7370ef4e6e64a96ae38b4c266af5, type: 2}
threatMultiplier: 1.2
threatMultiplierDuration: 1.5

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bc418a5bb985ee34395994d50918086b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,28 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: abc224c01f587d447bc8df723ef522ba, type: 3}
m_Name: Data_SkillEffect_Player_치유_0_회복
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.HealEffect
targetType: 0
targetTeam: 1
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 4294967295
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseHeal: 30
healScaling: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fa5f619fe89f93f4293a0d5edcfe9592
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant: