feat: 드로그 BT 및 전투 패턴 재구성

- 드로그 BT를 페이즈 전환, 부활 트리거, 가중치 근접 패턴 중심으로 재구성

- 땅 울리기 및 콤보-기본기1_3 패턴/스킬/이펙트를 추가하고 기존 평타 파생 자산을 정리

- 드로그 행동 검증용 PlayMode/Editor 테스트와 관련 런타임 상태 추적을 추가
This commit is contained in:
2026-04-09 23:21:38 +09:00
parent 1307123029
commit 7776f7ed05
77 changed files with 449522 additions and 345357 deletions

View File

@@ -77,10 +77,13 @@ namespace Colosseum.Editor
AnimationClip comboStompHit1Clip = EnsureClipFromSource($"{AnimationsFolder}/Anim_Drog_콤보-발구르기_1_0.anim", ZweihanderAttack013SourcePath, "Zweihander_Attack01_3_Root");
AnimationClip comboStompHit2Clip = EnsureClipFromSource($"{AnimationsFolder}/Anim_Drog_콤보-발구르기_2_0.anim", HeavyCombo01CSourcePath, "A_MOD_SWD_Attack_HeavyCombo01C_RM_Neut");
AnimationClip stompClip = EnsureClipFromSource($"{AnimationsFolder}/Anim_Drog_발구르기_0.anim", $"{AnimationsFolder}/Anim_Drog_발구르기_0.anim");
AnimationClip groundShakeClip = EnsureClipFromSource($"{AnimationsFolder}/Anim_Drog_땅 울리기_0.anim", $"{AnimationsFolder}/Anim_Drog_강타R_0.anim");
AnimationClip leapPrepareClip = EnsurePlaceholderClip($"{AnimationsFolder}/Anim_Drog_도약_준비_0.anim");
AnimationClip leapAirClip = EnsurePlaceholderClip($"{AnimationsFolder}/Anim_Drog_도약_공중_0.anim");
AnimationClip leapLandingClip = EnsurePlaceholderClip($"{AnimationsFolder}/Anim_Drog_도약_착지_0.anim");
AnimationClip stepClip = EnsurePlaceholderClip($"{AnimationsFolder}/Anim_Drog_밟기_0.anim");
SetSingleOnEffectEvent(stompClip, 0.80f);
SetSingleOnEffectEvent(groundShakeClip, 0.95f);
SetSingleOnEffectEvent(stepClip, 0.80f);
AnimationClip throwClip = EnsurePlaceholderClip($"{AnimationsFolder}/Anim_Drog_투척_0.anim");
AnimationClip roarClip = EnsurePlaceholderClip($"{AnimationsFolder}/Anim_Drog_포효_0.anim");
@@ -267,6 +270,28 @@ namespace Colosseum.Editor
180f,
AreaCenterType.Caster);
DamageEffect groundShakeDamage = CreateDamageEffect(
$"{EffectsFolder}/Data_SkillEffect_Drog_땅 울리기_0_데미지.asset",
36f,
DamageType.Physical,
0.95f,
AreaShapeType.Sphere,
6.5f,
1f,
6.5f,
180f,
AreaCenterType.Caster);
DownEffect groundShakeDown = CreateDownEffect(
$"{EffectsFolder}/Data_SkillEffect_Drog_땅 울리기_1_다운.asset",
2.2f,
AreaShapeType.Sphere,
3.4f,
1f,
3.4f,
180f,
AreaCenterType.Caster);
DamageEffect leapLandingDamage = CreateDamageEffect(
$"{EffectsFolder}/Data_SkillEffect_Drog_도약_착지_0_데미지.asset",
34f,
@@ -526,6 +551,19 @@ namespace Colosseum.Editor
stompDamage,
stompStagger);
SkillData groundShakeSkill = CreateSkill(
$"{SkillsFolder}/Data_Skill_Drog_땅 울리기.asset",
"땅 울리기",
"Phase 2 중반 압박 전환을 선언하는 광역 내려찍기입니다.",
new[] { groundShakeClip },
1f,
SkillCastTargetTrackingMode.FaceTarget,
true,
true,
false,
groundShakeDamage,
groundShakeDown);
SkillData leapPrepareSkill = CreateSkill(
$"{SkillsFolder}/Data_Skill_Drog_도약_준비.asset",
"도약 준비",
@@ -722,10 +760,22 @@ namespace Colosseum.Editor
false,
TargetResolveMode.HighestThreat,
2.5f,
1,
2,
false,
PatternStepDefinition.CreateSkillStep(stepSkill));
CreatePattern(
$"{PatternsFolder}/Data_Pattern_Drog_땅 울리기.asset",
"땅 울리기",
PatternCategory.Big,
false,
false,
TargetResolveMode.HighestThreat,
30f,
2,
false,
PatternStepDefinition.CreateSkillStep(groundShakeSkill));
CreatePattern(
$"{PatternsFolder}/Data_Pattern_Drog_도약.asset",
"도약",
@@ -761,7 +811,7 @@ namespace Colosseum.Editor
true,
false,
TargetResolveMode.HighestThreat,
45f,
90f,
3,
false,
PatternStepDefinition.CreateSkillStep(executionReadySkill),