Commit Graph

179 Commits

Author SHA1 Message Date
60ee9871a6 chore: 쓸모없는 파일 정리 2026-04-03 23:22:52 +09:00
90da884718 feat: 플레이어 스킬 애니메이션 클립 OnEffect 이벤트 추가 및 10종 신규 클립
- 기존 6종 클립에 OnEffect 애니메이션 이벤트 추가 (마법발사, 마법휘두르기, 모아베기, 베기, 올려베기, 찌르기)

- 신규 10종 클립 추가: 마법_방패치기, 마법_내려찍기, 한손_연속베기, 방패_방패치기, 방패_연속베기, 양손_내려찍기, 양손_연속베기_0, 양손_연속베기_1, 마법_전진베기, 마법_회전베기

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:54:59 +09:00
feb34e6ecf feat: 24종 플레이어 스킬 데이터에 이펙트 연결 및 레거시 effects 필드 제거
- legacy effects 필드를 triggeredEffects/castStartEffects/channelTickEffects로 마이그레이션

- 한손 5종: 베기, 올려베기, 연속베기, 찌르기, 전진베기에 DamageEffect 연결

- 양손 5종: 모아베기, 내려찍기, 찌르기, 연속베기, 회전베기 이펙트 재연결

- 마법 5종: 마법발사, 마법휘두르기, 마법오름, 마법광선(채널링), 유도탄

- 방패 2종: 방어태세(ThreatModifier), 방패치기(DamageEffect)

- 지원 4종: 광역치유(HealEffect), 치유광선(채널링), 보호막(ShieldEffect), 부활(ReviveEffect)

- 공용 3종: 도발(TauntEffect), 구르기, 돌진

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:54:29 +09:00
0aa50c6495 chore: AGENTS.md에 Obsidian Vault 파일 도구 접근 규칙 추가
- UNC 경로 처리 문제로 cmd/powershell/bash 대신 파일 도구 사용 규칙 명시

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:53:31 +09:00
117b0ad8bc chore: MixamoAvatar 에셋을 External/Animations로 이동
- Assets/_Game/Animations/MixamoAvatar → Assets/External/Animations/MixamoAvatar

- ActorCore 에셋 External/Animations/ActorCore에 추가

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:53:05 +09:00
29e8bb5726 chore: 스킬 이펙트 에셋 네이밍에 분류 접두어 누락 수정
- 한손(7): 베기, 올려베기, 연속베기×2, 찌르기, 전진베기에 한손_ 접두어 추가

- 마법(6): 마법광선, 유도탄, 보호막, 부활, 광역치유, 치유광선에 마법_ 접두어 추가

- 방패(2): 방어태세, 방패치기에 방패_ 접두어 추가

- 공용(1): 도발에 공용_ 접두어 추가

- 한손_올려베기_0, 한손_연속베기_2 에셋 재생성 (이전 rename 사고로 유실)

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:50:34 +09:00
bbb2903ee1 feat: 채널링 빔 스킬 시스템 구현 및 PolygonParticleFX VFX 에셋 추가
- SkillData: 채널링 필드 추가 (지속시간, 틱 간격, 틱/종료 효과, VFX 프리팹, 마운트 경로, 크기 배율)
- SkillController: 채널링 상태 관리 (Start/Update/End), VFX 생성/파괴, 틱 효과 주기 발동, 버튼 해제로 중단
- SkillEffect: Beam(원통) 범위 판정 추가 (OverlapCapsule), 디버그 시각화
- PlayerSkillInput: 스킬 취소(canceled) 이벤트 구독 → 채널링 중단 통지
- SkillLoadoutEntry: 채널링 틱/종료 효과 수집 메서드 추가
- 스킬 데이터/이펙트/애니메이션/VFX 에셋 추가 (채널링 스킬용)
- PolygonParticleFX VFX 에셋 패키지 추가 (Materials, Models, Prefabs, Textures, Scenes)
2026-04-03 13:52:27 +09:00
40e3252901 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>
2026-04-03 08:26:08 +09:00
ee8f4a5701 chore: 미사용 스킬 및 이펙트 애셋 정리
- SkillData에서 레거시 legacySkillClip/legacyEndClip 필드 및 MigrateLegacyClips 제거
  - [FormerlySerializedAs] 누락으로 인해 실제로 동작하지 않던 마이그레이션 코드 정리
- 애니메이션 클립이 없는 스킬 11개 삭제 (투척, 광역치유, 구르기, 돌진, 방어태세, 보호막, 부활, 철벽, 치유, 투사체, 회전베기)
- 삭제된 스킬에 연결된 전용 이펙트 11개 삭제
- 어떤 스킬에서도 참조되지 않는 고아 이펙트 9개 추가 삭제 (투척투사체_0_데미지, 기절, 다운, 베기_1_버프, 베기_2_디버프, 치유_0_회복, 침묵, 투사체_0_데미지, 한손_마법발사_0_데미지)
- 양손_내려찍기 애니메이션 클립 신규 추가 (untracked)
2026-04-03 00:05:05 +09:00
f4da79a699 fix: Ground Target 조작법 변경 (클릭 확정 → 같은 스킬키 확정)
- 스킬키 재입력으로 지면 타겟 확정 (좌클릭 제거)
- 타겟팅 모드 중 다른 스킬 키 입력 시 취소
- 우클릭/ESC 취소 유지
2026-04-02 22:47:49 +09:00
90e3d4ae74 fix: 3인칭 카메라 폐색 시 순간이동 및 충돌 레이어 과도 포함 문제 수정
- 카메라 충돌 시 SmoothDamp로 부드럽게 보간하도록 변경 (기존: 즉시 hit.point 이동)
- collisionMask 기본값을 Default/Enemy/Ground 레이어로 제한 (기존: 모든 레이어 포함)
- collisionRadius 0.2→0.3 증가로 보스 등 대형 오브젝트 탐지 개선
- minDistance 0.5 추가로 카메라가 플레이어 모델 안으로 파고드는 현상 방지
2026-04-02 22:35:57 +09:00
188b134062 feat: VFX 인프라 구축 및 Ground Target 시스템 구현
- VfxEffect 스킬 이펙트 클래스 추가 (일회성 VFX 스폰, 위치/스케일/파티클 제어)
- SkillEffect.IsVisualOnly 프로퍼티 추가로 서버 가드 없이 모든 클라이언트에서 VFX 로컬 실행
- SkillProjectile 트레일 VFX 지원 (OnNetworkSpawn에서 양쪽 생성, despawn 시 월드 분리)
- SkillProjectile HitEffectClientRpc 추가로 충돌 이펙트 클라이언트 동기화
- Ground Target 시스템: 타겟팅 모드 상태머신, 인디케이터, 지면 위치 RPC 전달
- 마법 오름 Ground Target 스킬 에셋 및 VfxEffect 에셋 추가
- 마법 오름 애니메이션 클립 추가
- Ground layer (Layer 7) 추가
- ProjectileBasic에 trailPrefab/hitEffect 필드 추가
- Prefabs/VFX/ 폴더 생성
2026-04-02 22:25:19 +09:00
57ab230c61 fix: 스킬 슬롯 아이템 변경 불가 문제 수정 (slot/loadoutEntry 양방향 의존성 제거)
- SyncLegacySkillsToLoadoutEntries를 양방향에서 슬롯→엔트리 단방향으로 변경
  (skillSlots를 SSOT로 지정, loadoutEntry는 항상 슬롯을 따름)
- GetSkill/GetSkillLoadout에서 불필요한 sync 호출 제거로 읽기 시 역동기화 방지
- SetSkillGem에서 skillSlots 역동기화 제거
- SetSkillLoadout/SetSkillLoadouts에서 슬롯 우선 갱신 후 젬만 복사하도록 개선
2026-04-02 20:23:22 +09:00
90192e38fa chore: 신규 스킬 에셋 .meta 파일 추가 2026-04-02 19:52:01 +09:00
eead05c562 feat: 양손 모아베기, 마법 발사, 마법 휘두르기 스킬 추가
- 양손 모아베기: TwoHanded 전용, 부채꼴 Physical 범위 데미지, Root Motion
- 마법 발사: Magic 전용, 투사체형 Magical 데미지 (SpawnEffect + hitEffect)
- 마법 휘두르기: Magic 전용, 부채꼴 Magical 범위 데미지
- 각 스킬에 대응하는 DamageEffect/SpawnEffect 에셋 생성
2026-04-02 19:51:54 +09:00
5f8c39186b chore: 애니메이션 애셋 네이밍 규칙 적용 및 스킬 데이터 재구성
- 애니메이션 클립을 Anim_{소유자}_{이름}_{순서} 규칙으로 일괄 rename
  - 플레이어: 한손 → 공용 카테고리 변경, _{순서} 접미사 추가
  - 드로그: 기존 클립 rename + 밟기, 짓밟기, 스윙 등 신규 추가
  - Anim_Common_Base 추가 (모든 컨트롤러 공용 base clip)
  - 미사용 Mixamo 클립 (A_MOD_SWD_*) 제거
  - MixamoAvatar 애셋 추가
- SkillData를 Data_Skill_{소유자}_{이름} 규칙으로 rename
  - 드로그: 강타R, 평타1R, 평타2R, 밟기, 짓밟기, 스윙, 올려치기, 점프시작 등
  - 플레이어: 한손 → 공용 카테고리 변경
  - 미사용 스킬 (한손_마법사무기) 제거
- AnimatorController에 base clip 할당
- 플레이어/드로그 프리팹 참조 업데이트
- TMP 폰트 애셋 자동 갱신
2026-04-02 19:00:43 +09:00
52b0e682a8 feat: 스킬 애니메이션 N클립 순차 재생 및 이름 기반 자동 매칭 시스템
- SkillData: skillClip/endClip 단일 필드를 animationClips 리스트로 통합
  - Data_Skill_ 접두사 애셋 이름과 Anim_{key}_{순서} 클립을 자동 매칭
  - 레거시 skillClip/endClip 데이터 자동 마이그레이션
- SkillController: 클립 시퀀스 내 순차 재생 로직 (TryPlayNextClipInSequence)
  - baseSkillClip을 컨트롤러 Skill state에서 OnValidate로 자동 발견
  - waitingForEndAnimation / IsInEndAnimation 제거
- BuildSimulationEngine: 전체 클립 duration 합산 및 모든 클립 OnEffect 이벤트 파싱
- PlayerAbnormalityVerificationRunner: GetSkillDuration 전체 클립 길이 합산으로 변경
- EnemyBase: IsInEndAnimation 참조 제거
- AnimationClipExtractor: animationClips 리스트 기반 relink/collect로 변경
- AnimationClipSkillDataMatcher: 클립 변경 시 관련 SkillData 자동 갱신 (AssetPostprocessor)
- BaseSkillClipAssigner: 모든 컨트롤러의 Skill state에 base clip 일괄 할당 에디터 메뉴
- pre-commit hook: Anim_ 네이밍 규칙에 {순서} 패턴 추가 및 Anim_↔Data_Skill_ 매칭 검증
2026-04-02 18:57:03 +09:00
08b1e3d95a fix: Section Speed Editor에서 본 곡선 없는 클립 length 0으로 표시되는 문제 수정
- Mixamo export 클립 등 m_FloatCurves만 있는 경우 bone transform 곡선이 없어 length가 0으로 계산되던 문제 수정
- bone 곡선이 없으면 m_StopTime을 기준으로 폴백하도록 effectiveLength 로직 추가
2026-04-02 13:45:06 +09:00
d6d120cb61 chore: 애니메이션 클립 네이밍 체계화 및 에셋 정리
- Player 클립에 한손/양손/공용 프리픽스 추가 (강타→양손_강타, 베기→한손_베기, 구르기→공용_구르기 등)
- Drog 점프 클립을 점프시작/점프공중/점프착지로 분리
- 사용하지 않는 클립 삭제 (방어태세, 보호막, 철벽, _End 클립들 등)
- Common에 공중, 걷기, 점프 클립 추가
2026-04-02 13:34:53 +09:00
0402ca9b6c fix: SkillController 클립 자동 등록 필터 추가 및 Drog 프리팹 적용
- clipAutoRegisterFilter 필드 추가로 각 캐릭터별 클립 자동 등록 필터 분리
- 필터 좌우 _ 제거 로직 추가 (예: "_Drog_" → "Drog" 매칭)
- AutoRegisterPlayerClips → AutoRegisterClips으로 리네임
- Drog 프리팹에 clipAutoRegisterFilter = "_Drog_" 설정
- AC_Boss_Default의 Skill 상태 Motion을 baseSkillClip과 동일 에셋으로 수정
2026-04-02 12:45:11 +09:00
bd99283f17 refactor: FBX 애니메이션 클립 독립 .anim 추출 및 자동 등록 시스템 구축
- FBX 내장 AnimationClip을 개별 .anim 파일로 추출하는 에디터 툴 추가 (AnimationClipExtractor)
  - 스킬/보스/AnimatorController에서 참조 중인 클립만 선택적 추출
  - 추출 후 모든 참조(SkillData, BossPhaseData, AnimatorController)를 .anim으로 자동 relink
  - 추출 완료된 FBX 자동 삭제 (참조 안전성 검증 포함)
- SkillController: registeredClips를 OnValidate에서 _Player_ 이름 기반 자동 등록
- PlayerSkillInput: skillSlots를 OnValidate에서 _Skill_Player_ 이름 기반 자동 등록
- 38개 FBX 삭제, 40+개 .anim 파일로 교체 완료
2026-04-02 11:01:50 +09:00
affb241e85 chore: SkillRegistry 에셋 경로를 Data/Skills에서 Data로 이동 2026-04-02 11:00:16 +09:00
eadf9a7bde feat: 스킬 레지스트리 도입으로 빌드 스킬 포함 보장 및 기본 장착 구조 개편
- SkillRegistry ScriptableObject 추가: _Skill_Player_ 에셋을 자동 수집하여 빌드 포함 보장
- PlayerSkillInput에 Registry 참조 추가 및 AutoRegisterPlayerSkills 개편
  - 슬롯 0~5는 Inspector에서 디버그용 수동 설정 가능 (AutoRegister 불개입)
  - 슬롯 6(회피)에 구르기 스킬 자동 유지
  - OnValidate 호출 순서 변경: SyncLegacySkillsToLoadoutEntries → AutoRegisterPlayerSkills
- 플레이어 프리팹에 SkillRegistry 에셋 할당 (14개 플레이어 스킬 수집됨)
- 에디터 전용 EditorAllPlayerSkills 정적 프로퍼티로 전체 스킬 목록 접근 가능
2026-04-02 10:58:23 +09:00
5c2b9ccb69 feat: 애니메이션 클립 병합/잘라내기 에디터 툴 추가 및 메뉴 통합
- AnimationClipMerger: 여러 클립을 순서 조정 후 이어 붙이는 에디터 윈도우 추가
- AnimationClipTrimmerWindow: 시작/종료 프레임 지정으로 클립 잘라내기 에디터 윈도우 추가
- 기존 애니메이션 에디터 툴 메뉴를 Tools/Animation/ 서브메뉴로 통합
  - Merge Clips, Trim Clip, Reverse Clip, Section Speed Editor
2026-04-02 00:11:20 +09:00
7ff9332333 feat: 드로그 펀치R 스킬 및 애니메이션 추가
- Anim_Drog_펀치R 애니메이션 클립 및 FBX 에셋 추가
- Data_Skill_Drog_펀치R 스킬 데이터 생성
- Model_Enemy_Drog 프리팹 업데이트
2026-04-01 23:19:33 +09:00
ce883e4fa3 feat: 디버그 패널 스킬 강제 발동 및 UI 모드 토글 시스템 추가
- UIModeController: leftAlt 키로 커서 표시/게임플레이 입력 차단 토글 (공용 싱글톤)
- DebugPanelUI: 보스 스킬 강제 발동 섹션 추가 (드롭다운 + 발동/취소 버튼)
- 에디터에서 Data/Skills의 보스 이름 기반 스킬 검색, 빌드에서 패턴 슬롯 fallback
- BossCombatBehaviorContext.GetAllPatternSkills() 추가 (디버그용 스킬 목록 수집)
- TMP Settings에 한글 폰트(MaruBuri)를 fallback으로 등록
- 젬/패시브/디버그 토글 버튼을 우측 하단에 수직 정렬
- InputSystem에 UIMode 액션(leftAlt) 추가
2026-04-01 23:14:05 +09:00
3663692b9d feat: 무기 특성(WeaponTrait) 시스템 및 보조손 장착 구현
- WeaponTrait enum 추가 (Melee/TwoHanded/Defense/Magic/Ranged)

- SkillData에 allowedWeaponTraits 필드 및 MatchesWeaponTrait() 검증 메서드 추가

- WeaponEquipment에 보조손(오프핸드) 슬롯 지원 (장착/해제/스탯 보너스/네트워크 동기화)

- EquippedWeaponTraits 프로퍼티로 메인+보조 무기 특성 합산 제공

- PlayerSkillInput 4곳(OnSkillInput/RPC/CanUseSkill/DebugExecute)에 무기 trait 제약 검증 추가

- SkillSlotUI에 무기 불호환 시 회색 표시(weaponIncompatibleColor) 지원

- 기존 검 에셋에 weaponTrait=Melee 설정
2026-04-01 21:13:05 +09:00
2ec7216b6d chore: Zweihander 애니메이션 에셋 추가 (Knight_Zweihander_Animset)
- 공격: Attack01~10, Air Attack, Run Attack, SP Attack, Buff
- 방어: DefenseL1/L2/R1/R2, Block, Rebound, 방어 이동
- 공용: Idle, Equip, Unarm
- 이동: Walk, Run, Sprint, Strafe (8방향 Inplace/Root)
- 피격/사망, 구르기/회피 애니메이션 포함
2026-04-01 21:05:22 +09:00
02e4fe749e feat: 전진베기 애니메이션 구간 분할 및 회전베기·본대베기 클립 추가
- 전진베기를 WindUp/Hit/FollowThrough 서브클립으로 분할
- 회전베기(Anim_Player_회전베기) 애니메이션 클립 추가
- 본대베기(Anim_Player_본대베기) 애니메이션 클립 및 Ready 클립 추가
- BalanceDummy 씬에 AllyTargetingDebugTest 및 Temp_Player_Edit 추가
2026-04-01 16:46:38 +09:00
3015aa3c22 feat: 애니메이션 구간별 재생 속도 조절 에디터 툴 추가
- AnimationSectionSpeedEditor: 에디터 윈도우로 .anim 클립의 특정 프레임 구간 키프레임 간격 조절
  - In-Memory API 방식(AnimationUtility + SerializedObject)로 FBX 타임라인 확장 문제 회피
  - ImportAsset 미사용으로 Model Importer 재처리 차단
  - 본/IK/prop/eyeLight 모든 커브 동시 수정, Humanoid muscle curve만 제외
  - AnimationEvent 시간도 구간에 맞게 리맵핑
  - 접선 스케일링으로 속도 변경 시 곡선 형태 유지
- ReverseAnimation: 애니메이션 반전 에디터 스크립트 추가
2026-04-01 16:32:44 +09:00
e9e6257ad4 refactor: 집행개시 시그니처 전용 경로를 BT 일반 패턴 스텝으로 통합
- PatternStepType.ChargeWait 및 ChargeStepData 도입으로 충전/차단 판정을 일반 패턴 스텝으로 표현
- UsePatternByRoleAction에서 IsSignature 분기 완전 제거, 일반 패턴 경로로 통합
- BossCombatBehaviorContext에서 시그니처 전용 메서드 10개 이상 제거
- BossStaggerAction(신규): 충전 차단 성공 시 보스 경직 처리
- SignatureFailureEffectsAction(신규): 차단 실패 시 범위 피해/넉백/다운 적용
- RebuildDrogBehaviorAuthoringGraph에 시그니처 Sequence + outcomeBranch 구조 추가
- 집행개시 에셋 스텝 구성을 ChargeWait(3초) → Skill으로 변경
- BossHealthBarUI 시그니처 UI 비활성화, PlayerSkillDebugMenu 디버그 메서드 제거
2026-04-01 14:21:38 +09:00
0a0bc45209 fix: signature/combo 브랜치 RequiresAllConditions 누락 수정
- signatureBranch에 SetBranchRequiresAll(true) 추가
- comboBranch에 SetBranchRequiresAll(true) 추가
- 누락 시 패턴 준비만 되면 페이즈 조건 무시하고 발동 가능했음
2026-03-31 23:46:42 +09:00
d4b10fa5fd feat: 돌진 및 회전베기 스킬 애니메이션 클립 등록
- 돌진 스킬에 Anim_Player_전진베기 + 전진베기_End 클립 할당
- 회전베기 스킬에 Anim_Player_돌려베기 + 돌려베기_End 클립 할당
- Prefab_Player_Default registeredClips에 4개 클립 추가 (네트워크 동기화)
2026-03-31 23:10:55 +09:00
96575479f7 Merge branch 'main' of http://192.168.10.102:30008/dal4segno/Colosseum 2026-03-31 23:09:39 +09:00
106e53c9aa feat: 아군 타게팅 시스템 구현 — SingleAlly 투사체형 치유/보호막
- 치유/보호막 스킬을 즉발 자가시전에서 투사체형 아군 1인 타겟팅으로 전환

- TargetType.SingleAlly 추가, targetOverride 매개변수로 외부 타겟 주입 지원

- PlayerSkillInput: 카메라 레이캐스트 기반 아군 탐지, 서버 검증, RPC 타겟 ID 전달

- AllyTargetIndicator: 호버 아군 위에 디스크 인디케이터 표시, 사거리/초과 색상 변경

- SpawnEffect: 타겟 방향 회전 보정

- 투사체 스폰 이펙트 에셋 생성 (치유/보호막 각각)

- 인디케이터 프리팹 + URP/Unlit 머티리얼 생성

- Player 프리팹에 AllyTargetIndicator 컴포넌트 추가 및 설정

- Input.mousePosition → Mouse.current.position.ReadValue() 수정 (Input System 호환)
2026-03-31 23:08:46 +09:00
8cd2623163 feat: 아군 타게팅 시스템 구현 — SingleAlly 투사체형 치유/보호막
- 치유/보호막 스킬을 즉발 자가시전에서 투사체형 아군 1인 타겟팅으로 전환

- TargetType.SingleAlly 추가, targetOverride 매개변수로 외부 타겟 주입 지원

- PlayerSkillInput: 카메라 레이캐스트 기반 아군 탐지, 서버 검증, RPC 타겟 ID 전달

- AllyTargetIndicator: 호버 아군 위에 디스크 인디케이터 표시, 사거리/초과 색상 변경

- SpawnEffect: 타겟 방향 회전 보정

- 투사체 스폰 이펙트 에셋 생성 (치유/보호막 각각)

- 인디케이터 프리팹 + URP/Unlit 머티리얼 생성

- Player 프리팹에 AllyTargetIndicator 컴포넌트 추가 및 설정

- Input.mousePosition → Mouse.current.position.ReadValue() 수정 (Input System 호환)
2026-03-31 23:06:13 +09:00
2c6a65d406 feat: 드로그 Phase 3 연타2강타-도약 조합 패턴 추가
- Phase 3 대표 조합 패턴 에셋 생성 (Data_Pattern_Drog_연타2강타-도약)
  - 연타2-강타(오른손치기+스윙) → 대기 0.5초 → 조건부 도약(점프+점프착지)
  - minPhase=3, category=Big, cooldown=22초
  - 거리 초과 대상 없으면 도약 스킵
- BT에 조합 패턴 브랜치 추가 (comboBranch → Sequence 구조)
  - Sequence: 연타2강타 실행 → Branch(거리 초과 대상 존재?) → 도약 실행
  - IsTargetBeyondDistanceCondition으로 조건부 도약이 BT에 시각화됨
- Drog 프리팹 comboPattern 슬롯에 에셋 할당
- 도약 패턴에 targetMode: Mobility 추가
- BT 리빌드 스크립트에 combo Sequence 구조 반영
- 전체 노드 간격 확대 (stepY 220→320)으로 가독성 개선
2026-03-30 17:41:42 +09:00
c6fc56e9c6 refactor: 드로그 BT 의사결정 투명화 — 모든 조건을 BT 노드로 표시
- BossCombatPatternRole enum 완전 제거, BossPatternData에 직접 필드 추가
- 14개 패턴별 Check*/Use*Action → CheckPatternReadyCondition + UsePatternByRoleAction으로 통합
- BT 계단식 Branch 체인 구조 도입 (BranchingConditionComposite + FloatingPort)
- 패턴별 고유 전제 조건을 BT Condition으로 분리
  - Punish: IsDownedTargetInRangeCondition (다운 대상 반경)
  - Mobility: IsTargetBeyondDistanceCondition (원거리 대상)
  - Utility: IsTargetBeyondDistanceCondition (원거리 대상)
  - Primary: IsTargetInAttackRangeCondition (사거리 이내)
- Phase 진입 조건을 BT에서 확인 가능하도록 IsMinPhaseSatisfiedCondition 추가
- IsPatternReady()에서 minPhase 체크 분리 → 전용 Condition으로 노출
- Secondary 패턴 개념 제거 (secondaryPattern, 보조 차례, 교대 카운터 로직 전부 삭제)
- CanResolvePatternTargetCondition 삭제 (7개 중 5개가 노이즈)
- RebuildDrogBehaviorAuthoringGraph로 BT 에셋 자동 재구성 메뉴 제공
2026-03-30 15:34:21 +09:00
dea7fd39ec fix: 플레이어 스폰 위치 중복 문제 해결 — Round-Robin 순차 할당 도입
- PlayerSpawnPoint.GetRandomSpawnPoint()을 랜덤에서 Round-Robin 순차 할당으로 변경
- 접속 순서대로 스폰 포인트를 순환하며 중복 스폰 방지
- BalanceDummy 씬에 두 번째 스폰 포인트 추가 (x=-5, y=3, z=0)
2026-03-28 21:18:07 +09:00
282e4b29c4 feat: 빈사/부활 시스템 및 ReviveEffect 추가
- PlayerNetworkController에 Revive(healthPercent) 메서드와 OnRevived 이벤트 추가

- ReviveEffect 스킬 이펙트 구현 (Area/Ally 타겟팅, healthPercent로 체력 복구)

- GameManager가 OnRevived 구독하여 alivePlayers 동적 복구

- GameManager.Update에서 나중에 스폰된 플레이어 자동 구독 (MPP 대응)

- SkillCancelReason에 Revive 추가

- 부활 스킬/이펙트 ScriptableObject 에셋 생성 (치유 클립 임시 사용)

- PlayerSkillDebugMenu에 즉사/부활/리스폰/스폰/Client1 스킬 디버그 메뉴 추가

- PlayerAbnormalityDebugHUD에 부활 버튼 추가

- DebugExecuteSkillAsServer에 실패 원인 로그 추가

- AGENTS.md에 코드 변경 후 force reload 규칙 추가
2026-03-28 21:03:28 +09:00
057b17e6cc chore: 위협 테스트 임시 오브젝트 정리 및 폰트 에셋 갱신
- Test 씬에서 __SupportThreatSkillTest 임시 GameObject 삭제
- TMP_MaruBuri 폰트 에셋 자동 갱신 반영
2026-03-28 18:33:11 +09:00
a5e9b78098 feat: 서포트 스킬(힐/보호막/버프) 위협 생성 시스템 추가
- ThreatUtility: 공통 위협 생성 유틸리티 (OverlapSphere 기반 반경 내 적 탐색)
  - OverlapSphereNonAlloc 버퍼 32→256 확장으로 씬 콜라이더 누락 수정
  - 위협 배율 체인: SkillGem × ThreatController × Passive
- HealEffect: flatThreat + (actualHeal × threatPercent) 공식 적용
- ShieldEffect: flatThreat + (actualShield × threatPercent) 공식 적용
- AbnormalityEffect: flatThreat 고정 위협 생성
- EditMode 유닛 테스트 9/9 통과 (SupportThreatTests)
- 테스트 씬 UI 레이아웃 수정 사항 포함
2026-03-28 17:05:57 +09:00
ba52518d65 chore: .gitignore에 nul 추가 2026-03-28 15:14:25 +09:00
3e6e4f04ae chore: 테스트 로드아웃 구성 변경 및 환경 설정 정리
- 테스트 로드아웃에서 돌진/회전베기를 보호막/방어태세로 교체
- 밸런스 더미 씬 DPS 벤치마크 UI 앵커 조정
- .gitignore에 BuildSimulationReports 추가
- Unity MCP 서버 설정(.mcp.json) 추가
- TMP 마루부리 폰트 아틀라스 갱신
2026-03-28 15:14:00 +09:00
77accc4150 feat: 보스 패턴 페이즈 제한을 애셋 기반 minPhase로 통합
- BossPatternData에 minPhase 필드 추가 (기본값 1, Inspector 설정 가능)
- BossCombatBehaviorContext의 signatureMinPhase를 minPhase로 대체
- IsPatternReady와 CheckPatternReadyActionBase에 Phase 체크 통합
- BT 경로와 Update 경로 모두 일관되게 Phase 제한 적용
- 집행개시 패턴 minPhase=3, 점프 패턴 minPhase=2 설정
2026-03-28 15:13:14 +09:00
2bc5241ff1 feat: 런타임 보스 디버그 패널 및 MCP 커맨드 추가
- HUD 우측 하단 접이식 디버그 패널 (DebugPanelUI): 보스 HP 슬라이더/직접입력/프리셋, 페이즈 전환, 리스폰, 보호막, 이상상태 적용
- MCP execute_menu_item으로 호출 가능한 MenuItem 커맨드 (DebugBossMenuItems): HP/페이즈/보호막 제어, 상태 조회, 임의 값 설정 지원
- BossEnemyEditor 인스펙터 HP 조작 확장: 퍼센트 슬라이더 및 직접 HP 입력 추가
- Test 씬 UI Canvas 하위 DebugPanel GameObject 배치
- UNITY_EDITOR || DEVELOPMENT_BUILD 가드로 릴리즈 빌드 미포함
2026-03-28 15:09:56 +09:00
343ef1b072 chore: 테스트 로드아웃 프리셋 정리
- 애니메이션 미구현 상태인 돌진, 회전베기 참조를 테스트용 플레이어 로드아웃 프리셋에서 제거
- 탱커/지원/딜러 계열 프리셋이 현재 사용 가능한 스킬 조합만 가리키도록 재생성한 결과를 반영
2026-03-28 15:09:26 +09:00
285da31047 feat: 허수아비 계산 시뮬레이터 추가
- 빌드 입력, 룰셋, 회전 정책, 결과/리포트 모델을 포함한 데미지 계산 시뮬레이터 기반을 추가
- 단일 실행 창과 배치 전수 조사 창, 플레이어 데미지 스윕 메뉴를 추가
- DamageEffect 계산값 접근자를 열어 기존 전투 공식을 시뮬레이터에서 재사용하도록 정리
2026-03-28 15:07:09 +09:00
29cb132d5d feat: 허수아비 DPS 벤치마크 씬 추가
- BalanceDummy 씬과 TrainingDummy 프리팹을 추가해 밸런싱용 허수아비 전투 공간을 구성
- TrainingDummyTarget과 DummyDpsBenchmarkRunner를 구현해 일정 시간 자동 시전 기반 DPS 측정을 지원
- 디버그 메뉴, 빌드 설정, 네트워크 프리팹 목록을 연결해 플레이 모드 검증 경로를 정리
2026-03-27 17:18:11 +09:00
d78e0edabd feat: 패시브 트리 레이아웃 자동화 및 UI 정리
- 패시브 트리 노드 배치를 삼각형 기반 자동 배치 구조로 전환하고 축 및 브릿지 반경을 재정리\n- 패시브 UI 프리팹과 런타임 렌더링을 수정해 노드 겹침, 링크 관통, 상태별 간격 변화, 하단 여백 문제를 정리\n- 프로토타입 패시브 노드, 트리, 프리셋 자산을 재생성해 최신 레이아웃과 확장 노드 구성을 반영
2026-03-27 04:43:14 +09:00