refactor: 스킬 트리거 효과를 그룹 구조로 변경 — 하나의 애니메이션 이벤트로 여러 effect 발동 가능

- SkillGemTriggeredEffectEntry를 공용 타입 SkillTriggeredEffectEntry로 승격

- SkillData.effects를 List<SkillTriggeredEffectEntry>로 변경 (기존 flat list는 OnValidate에서 자동 마이그레이션)

- SkillLoadoutEntry, PlayerSkillInput 등 소비자 코드 그룹 구조 대응

- 기존 스킬 에셋 마이그레이션 완료

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-03 08:26:08 +09:00
parent ee8f4a5701
commit 40e3252901
70 changed files with 1373 additions and 36 deletions

View File

@@ -0,0 +1,34 @@
%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_\uACF5\uC6A9_\uAD6C\uB974\uAE30"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uAD6C\uB974\uAE30"
description: "\uD68C\uD53C \uC2A4\uD0AC. \uBA3C\uC800 \uBCF4\uC720\uC9C0 \uC2AC\uB86F\uC785\uB2C8\uB2E4."
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 16
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 0
cooldown: 1
manaCost: 0
maxGemSlotCount: 2
castStartEffects: []
effects: []

View File

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

View File

@@ -0,0 +1,34 @@
%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_\uACF5\uC6A9_\uB3CC\uC9C4"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uB3CC\uC9C4"
description: "\uBC14\uB77C\uBCF4\uB294 \uBC29\uD5A5\uC73C\uB85C \uB3CC\uC9C4\uD569\uB2C8\uB2E4."
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 17
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 0
cooldown: 1
manaCost: 0
maxGemSlotCount: 2
castStartEffects: []
effects: []

View File

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

View File

@@ -0,0 +1,35 @@
%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_\uB9C8\uBC95_\uAD11\uC120"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uAD11\uC120"
description:
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 1
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 8
cooldown: 3
manaCost: 8
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: 958fe7b9b5d33bb4d83303d3478756ba, type: 2}

View File

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

View File

@@ -0,0 +1,35 @@
%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_\uB9C8\uBC95_\uAD11\uC5ED\uCE58\uC720"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uAD11\uC5ED \uCE58\uC720"
description:
icon: {fileID: 0}
skillRole: 4
activationType: 1
baseTypes: 4
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 8
cooldown: 8
manaCost: 15
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: 91e08eac488e96b4797dd113dddb78ec, type: 2}

View File

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

View File

@@ -0,0 +1,35 @@
%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_\uB9C8\uBC95_\uBCF4\uD638\uB9C9"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uBCF4\uD638\uB9C9"
description: "\uBC94\uC704 \uC544\uAD70\uC5D0 \uBCF4\uD638\uB9C9\uC744 \uBD80\uC5EC\uD569\uB2C8\uB2E4."
icon: {fileID: 0}
skillRole: 4
activationType: 1
baseTypes: 4
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 8
cooldown: 10
manaCost: 15
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: 65ed1eabc2fb73d43b86230317222608, type: 2}

View File

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

View File

@@ -0,0 +1,35 @@
%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_\uB9C8\uBC95_\uBD80\uD65C"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uBD80\uD65C"
description: "\uC0AC\uB9DD\uD55C \uC544\uAD70\uC744 \uBD80\uD65C\uC2DC\uD0B5\uB2C8\uB2E4."
icon: {fileID: 0}
skillRole: 4
activationType: 1
baseTypes: 4
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 8
cooldown: 30
manaCost: 30
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: a0777ce154a0edd4ab3936e53205ba28, type: 2}

View File

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

View File

@@ -0,0 +1,35 @@
%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_\uB9C8\uBC95_\uC720\uB3C4\uD0C4"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uC720\uB3C4\uD0C4"
description:
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 1
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 0
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 8
cooldown: 2
manaCost: 6
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: 07a1db9cf2057fa4889d27ff699c490b, type: 2}

View File

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

View File

@@ -0,0 +1,35 @@
%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_\uB9C8\uBC95_\uCE58\uC720\uAD11\uC120"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uCE58\uC720 \uAD11\uC120"
description:
icon: {fileID: 0}
skillRole: 4
activationType: 1
baseTypes: 4
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 8
cooldown: 4
manaCost: 8
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: 3c87c068bc01da443bbb6e89eaaceb18, type: 2}

View File

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

View File

@@ -0,0 +1,35 @@
%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_\uBC29\uD328_\uBC29\uC5B4\uD0DC\uC138"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uBC29\uC5B4\uD0DC\uC138"
description: "\uC815\uBA74 \uD53C\uD574\uB97C \uAC10\uC18C\uC2DC\uD0A4\uACE0 \uC704\uD611 \uC0DD\uC131\uB7C9\uC744 \uB192\uC785\uB2C8\uB2E4."
icon: {fileID: 0}
skillRole: 2
activationType: 2
baseTypes: 3
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 0
allowedWeaponTraits: 4
cooldown: 8
manaCost: 10
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: 300d73daaa4a93044ac7e19585b06316, type: 2}

View File

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

View File

@@ -0,0 +1,36 @@
%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_\uBC29\uD328_\uBC29\uD328\uCE58\uAE30"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uBC29\uD328\uCE58\uAE30"
description:
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 3
animationClips: []
animationSpeed: 1
useRootMotion: 1
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 4
cooldown: 5
manaCost: 10
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: a6563db8afce56744b6d9011f7da33d1, type: 2}
- {fileID: 11400000, guid: 29608765f5e1e084aadd30c4d1dfab16, type: 2}

View File

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

View File

@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 94f0a76cebcac2f4fb5daf1b675fd79f, type: 3}
m_Name: "Data_Skill_Player_\uC591\uC190_\uB0B4\uB824\uCC0D\uAE30"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uD68C\uC804\uBCA0\uAE30"
skillName: "\uB0B4\uB824\uCC0D\uAE30"
description:
icon: {fileID: 0}
skillRole: 1
@@ -27,7 +27,7 @@ MonoBehaviour:
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 0
allowedWeaponTraits: 2
cooldown: 2
manaCost: 10
maxGemSlotCount: 2

View File

@@ -0,0 +1,36 @@
%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_\uC591\uC190_\uC5F0\uC18D\uBCA0\uAE30"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uC5F0\uC18D\uBCA0\uAE30"
description:
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 1
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 2
cooldown: 5
manaCost: 15
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: a99c0e3badadb474e91d173e78478af4, type: 2}
- {fileID: 11400000, guid: eabae38b59d43b940af4a05940e71ef4, type: 2}

View File

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

View File

@@ -0,0 +1,35 @@
%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_\uC591\uC190_\uCC0C\uB974\uAE30"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uCC0C\uB974\uAE30"
description: "\uC9E7\uC740 \uC2DC\uC804, \uC881\uACE0 \uAE38 \uBC94\uC704\uC758 \uCC0C\uB974\uAE30."
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 1
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 2
cooldown: 3
manaCost: 8
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: 94d1e7f22bfd24d4d827d52f83c18685, type: 2}

View File

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

View File

@@ -0,0 +1,36 @@
%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_\uC591\uC190_\uD68C\uC804\uBCA0\uAE30"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uD68C\uC804\uBCA0\uAE30"
description:
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 1
animationClips: []
animationSpeed: 1
useRootMotion: 1
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 2
cooldown: 6
manaCost: 15
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: cdb2092bc74fa35408cb093cd24fba82, type: 2}
- {fileID: 11400000, guid: ab86efb2934c18b4598e2fa5b6ccf648, type: 2}

View File

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

View File

@@ -0,0 +1,36 @@
%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_\uD55C\uC190_\uC5F0\uC18D\uBCA0\uAE30"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uC5F0\uC18D\uBCA0\uAE30"
description:
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 1
animationClips: []
animationSpeed: 1
useRootMotion: 0
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 1
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 1
cooldown: 4
manaCost: 10
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: 5c8977946ac095044961f0b2645210c3, type: 2}
- {fileID: 11400000, guid: 06e16e53f7d1a5e4783e2ffa4d4ec950, type: 2}

View File

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

View File

@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 94f0a76cebcac2f4fb5daf1b675fd79f, type: 3}
m_Name: "Data_Skill_Player_\uD55C\uC190_\uC62C\uB824\uBCA0\uAE30"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uCC0C\uB974\uAE30"
skillName: "\uC62C\uB824\uBCA0\uAE30"
description:
icon: {fileID: 0}
skillRole: 1

View File

@@ -0,0 +1,36 @@
%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_\uD55C\uC190_\uC804\uC9C4\uBCA0\uAE30"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uC804\uC9C4\uBCA0\uAE30"
description:
icon: {fileID: 0}
skillRole: 1
activationType: 1
baseTypes: 17
animationClips: []
animationSpeed: 1
useRootMotion: 1
ignoreRootMotionY: 1
jumpToTarget: 0
blockMovementWhileCasting: 0
blockJumpWhileCasting: 1
blockOtherSkillsWhileCasting: 1
allowedWeaponTraits: 1
cooldown: 3
manaCost: 8
maxGemSlotCount: 2
castStartEffects: []
effects:
- {fileID: 11400000, guid: a62b755095eb8904a9c5f72e89b18458, type: 2}
- {fileID: 11400000, guid: ed7044f0b4d4e7f479aecc4f29ce59fe, type: 2}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1cac7541505a6e74abbcdd41ce1c402d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uAD11\uC120_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseDamage: 5
damageType: 1
statScaling: 0.5

View File

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

View File

@@ -0,0 +1,31 @@
%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_\uAD11\uC5ED\uCE58\uC720_0_\uCE58\uC720"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.HealEffect
targetType: 1
targetTeam: 1
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 1
areaRadius: 8
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseHeal: 15
healScaling: 1
flatThreatAmount: 5
threatPercentOfHeal: 0.5
threatRadius: 50

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 91e08eac488e96b4797dd113dddb78ec
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: ae36db0b9307b554bae67c8825a36b99, type: 3}
m_Name: "Data_SkillEffect_Player_\uBC29\uC5B4\uD0DC\uC138_0_\uC704\uD611\uC99D\uAC00"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.ThreatModifierEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
threatMultiplier: 1.5
duration: 5

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 300d73daaa4a93044ac7e19585b06316
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uBC29\uD328\uCE58\uAE30_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 1
targetTeam: 0
areaCenter: 0
areaShape: 1
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 60
baseDamage: 10
damageType: 0
statScaling: 1.2

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a6563db8afce56744b6d9011f7da33d1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: ae36db0b9307b554bae67c8825a36b99, type: 3}
m_Name: "Data_SkillEffect_Player_\uBC29\uD328\uCE58\uAE30_1_\uC704\uD611\uC99D\uAC00"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.ThreatModifierEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
threatMultiplier: 2
duration: 5

View File

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

View File

@@ -0,0 +1,27 @@
%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: 848cbb76281c68842a4d00329110b769, type: 3}
m_Name: "Data_SkillEffect_Player_\uBD80\uD65C_0_\uBD80\uD65C"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.ReviveEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
healthPercent: 0.3

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a0777ce154a0edd4ab3936e53205ba28
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uC591\uC190_\uC5F0\uC18D\uBCA0\uAE30_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseDamage: 18
damageType: 0
statScaling: 1.8

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a99c0e3badadb474e91d173e78478af4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uC591\uC190_\uC5F0\uC18D\uBCA0\uAE30_1_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseDamage: 12
damageType: 0
statScaling: 1.2

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: eabae38b59d43b940af4a05940e71ef4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uC591\uC190_\uCC0C\uB974\uAE30_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseDamage: 12
damageType: 0
statScaling: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 94d1e7f22bfd24d4d827d52f83c18685
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uC591\uC190_\uD68C\uC804\uBCA0\uAE30_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 1
targetTeam: 0
areaCenter: 0
areaShape: 1
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 5
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 90
baseDamage: 12
damageType: 0
statScaling: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cdb2092bc74fa35408cb093cd24fba82
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 27cd4e4eb6a485845953db2a108a37f8, type: 3}
m_Name: "Data_SkillEffect_Player_\uC591\uC190_\uD68C\uC804\uBCA0\uAE30_1_\uB109\uBC31"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.KnockbackEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
force: 8
upwardForce: 2
duration: 0.3

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ab86efb2934c18b4598e2fa5b6ccf648
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uC5F0\uC18D\uBCA0\uAE30_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseDamage: 15
damageType: 0
statScaling: 1.5

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5c8977946ac095044961f0b2645210c3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uC5F0\uC18D\uBCA0\uAE30_1_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseDamage: 10
damageType: 0
statScaling: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 06e16e53f7d1a5e4783e2ffa4d4ec950
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uC720\uB3C4\uD0C4_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseDamage: 8
damageType: 1
statScaling: 0.6

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 07a1db9cf2057fa4889d27ff699c490b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uC804\uC9C4\uBCA0\uAE30_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseDamage: 8
damageType: 0
statScaling: 0.8

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a62b755095eb8904a9c5f72e89b18458
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
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: 27cd4e4eb6a485845953db2a108a37f8, type: 3}
m_Name: "Data_SkillEffect_Player_\uC804\uC9C4\uBCA0\uAE30_1_\uB109\uBC31"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.KnockbackEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
force: 5
upwardForce: 1
duration: 0.2

View File

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

View File

@@ -0,0 +1,31 @@
%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_\uCE58\uC720\uAD11\uC120_0_\uCE58\uC720"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.HealEffect
targetType: 2
targetTeam: 1
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
baseHeal: 10
healScaling: 1
flatThreatAmount: 5
threatPercentOfHeal: 0.5
threatRadius: 50

View File

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

View File

@@ -916,14 +916,22 @@ namespace Colosseum.Player
}
SkillData skill = loadoutEntry.BaseSkill;
if (skill != null)
if (skill != null && skill.TriggeredEffects != null)
{
foreach (var effect in skill.Effects)
for (int i = 0; i < skill.TriggeredEffects.Count; i++)
{
if (effect != null
&& effect.TargetType == TargetType.Area
&& effect.AreaCenter == AreaCenterType.GroundPoint)
return true;
var entry = skill.TriggeredEffects[i];
if (entry == null || entry.Effects == null)
continue;
for (int j = 0; j < entry.Effects.Count; j++)
{
SkillEffect effect = entry.Effects[j];
if (effect != null
&& effect.TargetType == TargetType.Area
&& effect.AreaCenter == AreaCenterType.GroundPoint)
return true;
}
}
}

View File

@@ -67,9 +67,35 @@ namespace Colosseum.Skills
/// </summary>
private void OnValidate()
{
MigrateLegacyEffects();
RefreshAnimationClips();
}
/// <summary>
/// 레거시 flat effects 리스트를 grouped triggeredEffects 구조로 마이그레이션합니다.
/// </summary>
private void MigrateLegacyEffects()
{
if (effects == null || effects.Count == 0)
return;
if (triggeredEffects != null && triggeredEffects.Count > 0)
return;
triggeredEffects = new List<SkillTriggeredEffectEntry>();
for (int i = 0; i < effects.Count; i++)
{
SkillEffect effect = effects[i];
if (effect == null)
continue;
triggeredEffects.Add(new SkillTriggeredEffectEntry(i, new List<SkillEffect> { effect }));
}
effects.Clear();
UnityEditor.EditorUtility.SetDirty(this);
Debug.Log($"[SkillData] '{name}' effects 마이그레이션 완료: {triggeredEffects.Count}개 엔트리", this);
}
/// <summary>
/// 애셋 이름 기반으로 매칭되는 애니메이션 클립을 자동 수집합니다.
/// SkillData 이름이 'Data_Skill_'으로 시작하면 'Anim_{key}_{순서}' 클립을 찾아 animationClips에 채웁니다.
@@ -192,13 +218,18 @@ namespace Colosseum.Skills
[Tooltip("이 스킬에 장착 가능한 젬 슬롯 수")]
[Min(0)] [SerializeField] private int maxGemSlotCount = 2;
[Header("효과 목록")]
[Header("시전 시작 효과")]
[Tooltip("시전 시작 즉시 발동하는 효과 목록. 시전 보호 버프 등에 사용됩니다.")]
[SerializeField] private List<SkillEffect> castStartEffects = new List<SkillEffect>();
[Header("효과 목록")]
[Tooltip("애니메이션 이벤트 OnEffect(index)로 발동. 리스트 순서 = 이벤트 인덱스")]
[SerializeField] private List<SkillEffect> effects = new List<SkillEffect>();
[Header("트리거 효과 목록")]
[Tooltip("애니메이션 이벤트 OnEffect(index)로 발동. 각 엔트리의 Trigger Index가 이벤트 인덱스와 매칭됩니다.")]
[SerializeField] private List<SkillTriggeredEffectEntry> triggeredEffects = new();
/// <summary>
/// 레거시 flat effects 리스트. OnValidate에서 triggeredEffects로 자동 마이그레이션됩니다.
/// </summary>
[HideInInspector] [SerializeField] private List<SkillEffect> effects = new List<SkillEffect>();
// Properties
public string SkillName => skillName;
@@ -227,7 +258,7 @@ namespace Colosseum.Skills
public bool BlockJumpWhileCasting => blockJumpWhileCasting;
public bool BlockOtherSkillsWhileCasting => blockOtherSkillsWhileCasting;
public IReadOnlyList<SkillEffect> CastStartEffects => castStartEffects;
public IReadOnlyList<SkillEffect> Effects => effects;
public IReadOnlyList<SkillTriggeredEffectEntry> TriggeredEffects => triggeredEffects;
public WeaponTrait AllowedWeaponTraits => allowedWeaponTraits;
/// <summary>

View File

@@ -24,18 +24,27 @@ namespace Colosseum.Skills
}
/// <summary>
/// 젬 효과가 발동될 애니메이션 이벤트 인덱스와 효과 목록입니다.
/// 애니메이션 이벤트 인덱스와 해당 타이밍에 발동할 효과 목록입니다.
/// SkillData와 SkillGemData 모두에서 사용합니다.
/// </summary>
[Serializable]
public class SkillGemTriggeredEffectEntry
public class SkillTriggeredEffectEntry
{
[Tooltip("OnEffect(index)와 매칭되는 애니메이션 이벤트 인덱스")]
[Min(0)] [SerializeField] private int triggerIndex = 0;
[Tooltip("해당 인덱스에서 함께 실행할 추가 효과")]
[Tooltip("해당 인덱스에서 함께 실행할 효과 목록")]
[SerializeField] private List<SkillEffect> effects = new();
public int TriggerIndex => triggerIndex;
public IReadOnlyList<SkillEffect> Effects => effects;
public SkillTriggeredEffectEntry() { }
public SkillTriggeredEffectEntry(int triggerIndex, List<SkillEffect> effects)
{
this.triggerIndex = Mathf.Max(0, triggerIndex);
this.effects = effects ?? new List<SkillEffect>();
}
}
/// <summary>
@@ -101,7 +110,7 @@ namespace Colosseum.Skills
[Tooltip("시전 시작 시 즉시 발동하는 추가 효과")]
[SerializeField] private List<SkillEffect> castStartEffects = new();
[Tooltip("애니메이션 이벤트 인덱스별로 발동하는 추가 효과")]
[SerializeField] private List<SkillGemTriggeredEffectEntry> triggeredEffects = new();
[SerializeField] private List<SkillTriggeredEffectEntry> triggeredEffects = new();
[Header("이상상태 부여")]
[Tooltip("스킬 사용 시 자신에게 즉시 부여할 이상상태")]
@@ -127,7 +136,7 @@ namespace Colosseum.Skills
public IReadOnlyList<SkillGemCategory> IncompatibleCategories => incompatibleCategories;
public IReadOnlyList<SkillGemData> IncompatibleGems => incompatibleGems;
public IReadOnlyList<SkillEffect> CastStartEffects => castStartEffects;
public IReadOnlyList<SkillGemTriggeredEffectEntry> TriggeredEffects => triggeredEffects;
public IReadOnlyList<SkillTriggeredEffectEntry> TriggeredEffects => triggeredEffects;
public IReadOnlyList<AbnormalityData> SelfAbnormalities => selfAbnormalities;
public IReadOnlyList<SkillGemTriggeredAbnormalityEntry> OnHitAbnormalities => onHitAbnormalities;

View File

@@ -321,15 +321,22 @@ namespace Colosseum.Skills
if (destination == null)
return;
if (baseSkill != null && baseSkill.Effects != null)
if (baseSkill != null && baseSkill.TriggeredEffects != null)
{
for (int i = 0; i < baseSkill.Effects.Count; i++)
for (int i = 0; i < baseSkill.TriggeredEffects.Count; i++)
{
SkillEffect effect = baseSkill.Effects[i];
if (effect == null)
SkillTriggeredEffectEntry entry = baseSkill.TriggeredEffects[i];
if (entry == null || entry.Effects == null)
continue;
AddTriggeredEffect(destination, i, effect);
for (int j = 0; j < entry.Effects.Count; j++)
{
SkillEffect effect = entry.Effects[j];
if (effect == null)
continue;
AddTriggeredEffect(destination, entry.TriggerIndex, effect);
}
}
}
@@ -344,7 +351,7 @@ namespace Colosseum.Skills
for (int j = 0; j < gem.TriggeredEffects.Count; j++)
{
SkillGemTriggeredEffectEntry entry = gem.TriggeredEffects[j];
SkillTriggeredEffectEntry entry = gem.TriggeredEffects[j];
if (entry == null || entry.Effects == null)
continue;
@@ -499,7 +506,7 @@ namespace Colosseum.Skills
{
if (baseSkill.CastStartEffects != null && CheckEffectsForTargetType(baseSkill.CastStartEffects, type))
return true;
if (baseSkill.Effects != null && CheckEffectsForTargetType(baseSkill.Effects, type))
if (baseSkill.TriggeredEffects != null && CheckTriggeredEntriesForTargetType(baseSkill.TriggeredEffects, type))
return true;
}
@@ -514,17 +521,22 @@ namespace Colosseum.Skills
if (gem.CastStartEffects != null && CheckEffectsForTargetType(gem.CastStartEffects, type))
return true;
if (gem.TriggeredEffects != null)
{
for (int j = 0; j < gem.TriggeredEffects.Count; j++)
{
SkillGemTriggeredEffectEntry entry = gem.TriggeredEffects[j];
if (entry == null || entry.Effects == null) continue;
if (gem.TriggeredEffects != null && CheckTriggeredEntriesForTargetType(gem.TriggeredEffects, type))
return true;
}
if (CheckEffectsForTargetType(entry.Effects, type))
return true;
}
}
return false;
}
private static bool CheckTriggeredEntriesForTargetType(IReadOnlyList<SkillTriggeredEffectEntry> entries, TargetType type)
{
if (entries == null) return false;
for (int i = 0; i < entries.Count; i++)
{
SkillTriggeredEffectEntry entry = entries[i];
if (entry != null && CheckEffectsForTargetType(entry.Effects, type))
return true;
}
return false;