Commit Graph

9 Commits

Author SHA1 Message Date
깃 관리자 0b2f56f271 장수 스킬 144개 새 기획 구현(#1112 · PD 2026-11-10 엑셀 「장수 목록」) — 효과 표 skill_effects.csv(효과 1줄 · 한글 주석 열) · 이름 56개 새로
- 수치 SOT = Assets/Data/OutGame/skill_effects.csv(skill_id·key·target·cond·dur·p1~p3 + effect_ko·p1_ko~p3_ko 주석) · skills.csv effect_key = 키 목록 · heroes.csv gender(m|f)
- 처리기 121종(SkillKeys) · 대상 칸(자신·같은 편·진영·반경·행동 반경) · 조건 칸(치명타·상대 상태 이상·병종·성별·턴·장착 중) · 지속 라운드
- 상태 이상 = 혼란·출혈(이동 거리 비례)·중독(중첩)·화상 + 기절(기믹 행동 불가 재사용) · 정화 · 회복·흡혈·부활·무적·무효화·호위(반격)
- 재행동(유비·위연·여몽·손견·곽가·우금·맹획·감녕·고순·장합) · 치명타 확률·피해·무조건
- 이동 변형: 관통(손견·안량·손책 아군 통과) · 핀볼 튕김(손책·동탁) · 복귀(조운·손책·여포·문추·공손찬·순우경 · 하후돈 탭 지점·쓸어 감) · 위치 교환(위연) · 끌어오기(장료) · 아군 통과+탭 방향 밀치기(조조) · 반복(정보) · 난동(동탁)
- 특수 사격: 거대 화살 · 직선 관통 · 폭발(화염구·독구름·운석·화살비) · 부채꼴 · 멀티샷 · 도탄 · 회오리 · 목책 · 불 장벽·불꽃·독 지대 · 궁병식 비도 · 광역 회복
- 즉시형: 광역 타격·밀기 · 흡수 · 일제 사격 · 미인계 끌어오기 · 범위 회복·정화 · 재행동 부여 · 변진
- 가상 실행(적 AI) 스킬 상태 사본(TakeState/RestoreState) · 옛 견제 스킬 확장 제거
- 테스트(고친 부분 클래스만): SkillTests 19(새로) · BattleFlowTests 42 · TacticalAITests 7 · GimmickTests 19 · OutGameTests 15 · OutGameCTests 12 전부 통과 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 19:00:18 +09:00
깃 관리자 838d065877 스킬 이펙트 1차 + IB(쿠로네코) 연출 시험 — 돌진·조준 UI·타격감 (PD 2026-11-10)
- 기본 공격(돌진) = IB 이펙트 그대로 시험: 앞 빛 물결 · 속도 꼬리(진영색 4색 · 멈춘 자리에서 0.12초 흐려짐) · WL 흙먼지 · 기준점 dash(아래로 갈수록 발 쪽) · 히트 이펙트 제거(PD 지정 대기)
- 슬링샷 방향 결정 UI = IB GameTouchArrow 이식(IbAimArrow · IB 유닛 반지름 0.496 기준 비율) + 진행 중 캐릭터 연출(IbUnitMarks: 발밑 원 · 몸 빛 · 조준 중 속성 방울) · 값 표 Resources/Skills/ib_ui.csv
- 기병: 복귀 영역(채운 원 · PreviewCavalryReturn) · 복귀 때 돌아서기(UnitView.TurnAround)
- 타격감: HitFeel + CameraController.Shake · 표 hit_feel.csv(IB 흔들림 값은 디컴파일에 없어 추정값)
- 액티브 스킬 1차 연출(Fable 제안 56 스킬 · 사본 Resources/Fx/TKS_Fx_Sk_*) · SkillVfx 확장(s_camp · f_fwd · f_drift · f_fade · s_over · b_flat · 트레일 페이드) · 셀화 셰이더 포트
- 2D 돌진 시험본(Dash2D · Aura2D test_aura) · 이전 시험 행은 skill_vfx.csv 에 # 주석
- 여포 크기: dz_boss_lvbu 몸 높이 819 → 718(깃털 제외 · 말 탄 유닛 머리 끝 상한 때문에 작아졌음)
- 원본 = Assets/VFX/IB(쿠로네코 · GUID 유지 · Tools/wl_vfx_import.py --skip-scripts) · 사본 도구 Tools/make_ib_fx_copies.cs · make_ib_camp_textures.py · build_dash2d.cs
- 테스트 PlayMode 118/118 통과 · 자동 재직렬화(png meta · UITheme · ProjectSettings) 제외

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 13:19:44 +09:00
깃 관리자 445211ce87 스킬 이펙트 작업 준비 — 스킬 테스트 씬 · WL 이펙트 이식 · 이펙트 표 · 보병·창·기병 슬링샷 공격 = WL 창 돌진 이펙트 시험(PD 2026-11-09)
PD 「WL 프로젝트에서 스킬을 구현하던 방식과 동일하게 유닛 별 스킬 구현」 · 「테스트 목적: 보병, 창, 기병을 슬링샷으로 공격할 때 WL 창 돌진 공격 이펙트」
- 스킬 테스트 씬 Assets/Scenes/SkillTest.unity(SkillTestBootstrap · 메뉴 TKS/Skill Test/Build Scene): 영웅 목록 선택(heroes.csv 56) · 더미(죽지 않음 · 행동 토글 · 배치 표 Resources/Skills/skill_test.csv) · 슬링샷 · 액티브 버튼 · 쿨 무시 · 영웅 무적 · 이펙트 보기(에디터 · Assets/VFX 검색 → 영웅에 띄움)
- 이펙트 표 Resources/Skills/skill_vfx.csv → Runtime/Skills/SkillVfx(키 = 스킬 id 또는 basic_<병종> · cast/travel/hit · f_every 반복 · 사본 Resources/Fx/TKS_Fx_*) · 훅 = SkillSystem Announce/BeginAction/EndAction/Hit/Instant
- WL 이펙트 이식 Assets/VFX(약 640 MB · 빌트인 호환분만 · GUID 유지 · 도구 Tools/wl_vfx_import.py) · URP 셰이더 빌트인 이식 4종 Assets/VFX/_BuiltinPorts · com.unity.shadergraph 17.3.0 · 카메라 깊이 텍스처 켬(셰이더 그래프 소프트 파티클)
- 시험: basic_infantry/spear/cavalry travel = TKS_Fx_SpearRush · SpearRushWrap · SpearRushDust(WL WLStaffEarth rushFx 1~3 값 환산) — 표 9행 삭제 = 원래대로
- 테스트 118/118 · console error 0 · 이 PC 첫 임포트 자동 재직렬화(png·tga .meta · UITheme · ProjectSettings · InputManager)는 제외

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 23:13:03 +09:00
깃 관리자 b27edb3c49 기마 크기 상한 ×1.3 · 관우 대기 그림 귀 조각 덮음(#1104 · PD 2026-11-09)
- PD 「완벽한 비율 아니어도 됨(게임적 허용) · 기마는 보병·창병보다 조금 크게 · 너무 커지지 않게 조금 줄여」:
  BalanceConfig.mountedArtMaxTop = 1.3(크기 표 mounted = 1 의 그려진 머리 끝 상한 = 표준 키 × 1.3) →
  조운·조조군 기병 ×1.56 · 여포 ×1.82 · 장비 ×1.43 · 황건 기병 ×1.38 → 모두 ×1.3(탄 사람 = 보병의 약 0.8~0.9)
  · 영웅 목록 카드는 그대로(머리 크기 같음)
- PD 「관우 옆얼굴이 깨진 것처럼 보임」: 원인 = front_idle 오른쪽 귀(붉은 조각 3,795 px)가 외곽선 없이 머리카락 사이에 끼어 있음
  → 그 조각만 둘레 머리카락으로 메움(cv2.inpaint TELEA · 검은 외곽선·얼굴 유지 · 재생성 없음) · ready·action 은 귀에 외곽선이 있어 그대로
- 테스트 118/118(기마 머리 끝 = 표준 키 × 상한 · 보병 < 기마) · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 19:33:00 +09:00
깃 관리자 747b3968a8 유닛 크기 = 머리(눈 간격) 기준 통일 · 기마 = 탄 사람이 보병 크기 · 위군 그림 5종 폐기(#1104 · PD 2026-11-09)
- PD 「영웅 리스트 캐릭터 크기 동일 · 말 탄 유닛도 보병·창병과 비슷한 비율」: 원인 = 그림마다 몸 키(bodyHeightPx)를 같은
  높이로 맞춰 와서, 말까지 한 그림에 든 기마는 탄 사람이 절반 크기(눈 간격/키 0.09~0.12 vs 보병 0.14~0.20)
- 크기 표 Assets/Resources/Units/art_size.csv(SOT) = 눈 간격 자동 측정(Tools/unit_art_size.py · 얼굴 피부 안 어두운 구멍 2개)
  ÷ 말 안 탄 14종 중앙값 0.1687 → size_px(머리 크기가 표준인 유닛의 키) · mounted 열만 수동(장비 · 조운 · 여포 = 1)
- 게임: FrameAnimator 배율 = size_px 기준(기마 x1.38~1.82) · TopHeight = 실제 머리 끝 → Unit.ArtHeight(HP 바 · 머리 위 표시)
- 영웅 목록 카드: 같은 px 배율 → UnitPx 450 / size_px(머리 크기 같음 · 머리 끝 위치 그대로)
- PD 「화풍이 전혀 다른 유닛 폐기」 = Resources/Units/wei_* 5종 삭제(사마의 영웅 · 위군 = 도형 대체 · heroes.csv art id 유지)
- 테스트 118/118(+1 UnitArt_SizeTable_SameHeadSize_MountedRiderLikeFoot) · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 19:23:50 +09:00
깃 관리자 6992d992df 책사 병종 + 궁병 화살 투사체(PD #1087 ⑤⑥) — 궁병 사격 = 타겟 방향 화살(arrowRadius 0.1 원 캐스트 · 비행 = 사거리 · 경로 위 첫 유닛 피격 · 아군 포함 · 관통 없음 · 첫 피격 = 타겟 + 목표점 명중 시 크리 · 아군 피격 = 같은 공식 · 반격·명중 보상 없음 · 타겟 없으면 쏘지 않음 유지) · UnitType.Strategist(책 · 65/24/3 · 슬링 4.0 · 반지름 0.42 · 상성 5×5 = 궁병과 같은 값 · 근접 패널티 동일) = ArcherRoutine 재사용 + 중심(첫 피격) 반경 strategistSplashRadius 1.5 안 다른 유닛 전원 × strategistSplashRatio 0.6(크리 없음 · 상성 대상별) · 같은 편 × strategistAllyDamageRatio 1.0 · 쏜 책사 제외 · 조준 UI = 화살 경로선 + 첫 피격 강조(아군 붉게) + 책사 광역 원·휩쓸릴 아군 붉게 · 적 AI = 사선이 빈 대상 우선 · 책사는 광역에 자기 편 없는 대상 먼저 · 없으면 그냥 쏨 · 연출 = 투사체 1종(책사 보라) + 광역 터짐 · BalanceConfig 4필드 + BalanceDefaults 시드 · 재시드(추가만) · stages.csv strategist 열(전부 0 · 비거나 없으면 0) + 중군 배치(궁 다음) · 테스트 40/40(신규 9) · console error 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 13:06:32 +09:00
깃 관리자 6cdab1fc11 전투 로직 #1080 — 알까기 충돌(보병) · 관통·아군 직전 정지(기병) · 밀며 함께 전진(창병) · 밀린 아군 공격 기회 · 궁병 제자리 사격(사거리 = 슬링샷)+접근 20 % · 궁수 근접 피해 50 %/피격 +50 % · 원화 1차·2차 반영(전장 배경 + 황건적 5 + 동탁군 4) · 테스트 22/22
- ActionResolver 전면 재작성: InfantryRoutine(접촉점 정지 · Push 접촉 방향 × collisionPushRatio · 적이면 공격+반격 뒤 밀림) · SpearRoutine(앞 유닛과 같은 속도로 함께 전진 · 접촉 간격 유지) · CavalryRoutine(벽만 막음 · StopBeforeUnclearedAllies) · ArcherRoutine(AttackRange = 슬링 · ArcherMoveAllow = 슬링 × archerRangeRatio) · PushedAllyAttack(규칙 ⑤ · ActionOutcome.Pushed/Notes)
- Combat: Damage(melee) 궁병 근접 배율(근접 유닛 상대만) · FirstUnitOnPath · TouchingOpponent · FreeTravel ignore
- BalanceConfig/Defaults: archerMeleeDealtRatio 0.5 · archerMeleeTakenRatio 1.5 · collisionPushRatio 1 · boardArt battlefield_01 (자산 재시드)
- Board: Resources/Board/<boardArt> 원화 배경(격자·진영 띠 생략) · UnitArtImporter Board 규칙 · GameBootstrap
- Resources/Units: hgj_infantry·spear·cavalry·archer·boss_zhangjiao · dz_infantry·spear·cavalry·archer (원화 세션 납품 정지 그림 · rig_frames_export static) · Resources/Board/battlefield_01.png
- BattleManager Describe 「밀어냄 · 밀린 B → 적 공격」 · BattleHUD 궁병 줄 · 테스트 22종(신규·개정 7 + 원화 확인) · CLAUDE.md · README

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 15:56:02 +09:00
깃 관리자 bc8e571eea 사거리 표시·궁병 규칙·유닛 아트 반영 — PD 2026-11-04 #1078
- 유닛 탭(아군·적군) → RangeIndicator: 슬링샷 최대 거리 = 얇은 반투명 원 · 궁병 = 슬링샷 범위 ~ ×(1+archerRangeRatio) 채워진 붉은 도넛(범위 안 적 없으면 회색)
- 궁병 사거리 = slingMaxDistance × archerRangeRatio(0.2 · 슬링샷 범위 +20 %) · 조준 방향 「당긴 거리 + 사거리」 안에 적 없으면 놓기 취소(AI 는 Cancelled 대기) · 적 가장자리가 사거리에 들어올 때까지만 이동 후 사격 · UnitStats.attackRange 는 창병 견제 반경만
- 유닛 아트: Resources/Units/<art>/<clip>/f###.png + meta.json(skeletal-anim-pipeline rig_frames_export.py) · UnitArt 로더 + FrameAnimator(대기·준비·공격·피격·승리) · UnitArtImporter(피벗·PPU) · 유비·관우·장비 프레임 12클립 15fps(482×470 · 11 MB) · 조운·황충·적 = 도형 유지 · HeroDef/EnemySpawn.art · unitArtHeight · 카메라 CustomAxis 정렬
- BalanceConfig.asset 재시드(art id · archerRangeRatio · 자산 git 미수정 확인) · 테스트 14 → 17(궁병 사거리·범위 밖 취소·사거리 표시·유닛 아트) · 사본 배치 17/17 · PD 에디터 비동기 17/17 · console error 0
- CLAUDE.md: playMode 확인 절차 · 사본 검증 · 재시드 규칙 · 유닛 아트 반영 절 · test run --async-tests

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 13:08:31 +09:00
깃 관리자 5135d828e2 삼국지 슬링샷 프로토타입 초기 구현 — 턴제 슬링샷 전투(보병·기병·궁병·창병 규칙 · 상성·반격 · 창병 대기 · 적 AI · HUD · 4 스테이지) · 도형 플레이스홀더 · 설정 자산 SOT · 플레이모드 테스트 12종 · CLI 셋업/테스트/자동 플레이 캡처
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 04:10:10 +09:00