Commit Graph

12 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
깃 관리자 b383e355c8 근접 3병종 특징 재정의(#1111 · PD 2026-11-10) — 창병 견제 제거 · 크게 밀치고 적게 밀림 / 기병 복귀 제거 · 관통 이동 / 보병 = 밀치고 튕기며 연쇄 공격
- 창병: BalanceConfig.spearPushRatio 1.5 신설(보병 1.0) · spearRecoilRatio 0.5 → 0.2 · 목표점 명중 → 대기(견제) 삭제 · HUD 견제 반경·대기 중 문구 삭제
- 기병: 목표점 명중 제자리 복귀 삭제(위진소요 추가 관통 유지) · PreviewCavalryReturn · 조준 복귀 영역(ShowReturnZones) 삭제 · 결과 문구 정리
- 적 AI: ai_weights cav_return · cav_stranded 삭제(기획 tables 원본과 같음) · 관통 점수 = 적중 수 × 10
- 보병: #1098 알까기 + 연쇄 그대로(목표점 명중 추가 이동 1회 유지 = PD 확인 대상)
- 튜토리얼 1-3 이름 「창병 밀치기」 · 팁 3행 새 정의 · CLAUDE.md 충돌 규칙 · 근접 3병종 줄
- 견제·복귀 스킬 15개 = 발동 안 함 · 재설계 PD 결정 대기 → ApplyOverwatch 등 내부는 남겨 둠 · SkillTests.Spear_OverwatchSkills_* [Ignore]
- 확인(고친 부분만): 재컴파일·재임포트 error 0 · 테스트 13 통과 · 1 건너뜀

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 17:25:47 +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
깃 관리자 ca8b4cc5e0 전투 결과 · 공용 팝업 · 거래 비주얼 개선 = Fable 제안서 §4-2~§4-4 구현(#1104 · PD 2026-11-09)
- 전투 결과: 별 받침 원 + 큰 별(Icon_Star_On/Off 한 벌) 0.15 s 튀김(UiPop) · 조건 행 3(체크/엑스) · 보상 타일(ItemFrame 5층 + 수량 칩 · 장비 = 등급 칸 · 상자) · 「다시」(같은 노드 재출전 · 군량 확인 · WorldMapScreen.RetryLast · 화면 탭은 이 버튼 위만 제외 = SlingshotInput.HoldResultTap) + 「확인」 Primary 노랑 · 리본 뒤 금빛(호흡)
- 군량 팝업: 필드 인셋 · 현재 군량 블록 · 교환 행 2(비용 → 군량 · 오늘 횟수 · Secondary 하늘/녹 · 다 쓰면 회색) · 닫기 = X 만
- 스테이지 팝업: 필드 인셋 · 적 구성 병종 원 ×n + 장수 칩 · 보상 타일 4(첫 클리어 뱃지) · 별 조건 행 3 · 출정 = 붉은 Primary + 군량 비용 · 소탕 = 녹 Secondary · 닫기 버튼 삭제(PopupFill · CostOf 훅)
- 거래(뽑기): 목록 바탕 · 서브탭 Round10 · 배너 아래 문양 띠 + 「픽업」 뱃지 · 천장 = 레벨형 게이지 + 노랑 배지 · 확률 = 섹션 패널 + 제목 띠 + 행 3(별 · 바 · %) · 1회 Secondary 하늘 + 보옥 비용 · 10연 Primary 노랑 + 「첫 무료」 꼬리 칩 · 각주 → ⓘ 팝업
- UiKit 공용 부품 ②: At · SkinBtn · BtnCost · SubTab/SetSubTab · Gauge/SetGauge · InfoChip · QtyChip · RewardTile · CondRow · SubTitle
- 테마 행 추가(ui_theme.csv): 버튼 btn_l_yellow·btn_l_red · 소제목 선 · 큰 별 · 뱃지 · 배너 문양 · 상자 색(구 TreasureScreen.ChestColor 상수 이관 준비) 등
- 테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 18:03:43 +09:00
깃 관리자 98f675dfda 지형 기믹 레이어(PD #1097 세션 D) + 병종 규칙 개정 2건 · 예측 시뮬레이션 적 AI(PD #1098)
- 데이터: Assets/Data/Gimmicks/{gimmicks,stage_gimmicks,tutorial_tips}.csv + Assets/Data/AI/ai_weights.csv(기획 tables/ 사본) → 메뉴 TKS/Import Gimmicks(검증 · 오류 시 자산 불변) → Resources/Gimmicks/GimmickDb(16)·StageGimmickTable(16 + 팁 3) · Resources/AI/AiWeights(32)
- 레이어: GimmickLayer(전투 시작 = 스테이지 배치 · 배경 위 유닛 아래 · 원/사각/다각 · 색 도형 + 글자 · 내구 핍 · 강 콜라이더 = 다리 구간 제외 · 겹친 유닛 보정) · 장애물 = 병종별 내구 피해·튕김·창 목책 밀기·바위 굴림·기병 정지 · 투사체 pass/block/destroy · 폭약 광역(아군 포함)+밀기+불 · 책사 광역 덤불 제거 · 강 낙하
- 지대: 경로 스윕(독 1→2→3 % · 늪 ×2 · 불 10 % · 빙판 미끄러짐 · 고지 · 안개 · 군기 · 함정) · 양 진영 턴 시작 훅
- 규칙 개정: 보병 튕김 중 다른 적과 연쇄 1회 · 창병 반작용(spearRecoilRatio · 밀며 전진 폐기) · 기존 테스트 기대값 갱신
- 적 AI: Runtime/AI(Sim 가상 실행 · TacticalAI 후보·점수·난이도·턴 운영 · 1부 보스 액티브) · 조준선 = 가상 실행 예상 궤적·기믹 반응·지대 띠 · TKS/Gimmick Painter · 캡처 GimmickImporter.Capture
- 검증: 컴파일 0 · 플레이모드 113/113(신규 26) · console error 0 · 적 10기 턴 결정 62 ms

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 01:20:07 +09:00
깃 관리자 85aed38ce5 스킬 시스템(PD #1093 세션 B) — skills.csv effect_key 51종 처리기 · 액티브(예약/즉시)·패시브 · HUD 스킬 버튼 · 적 무장 패시브 · 스킬 레벨업·스킬서
- 데이터: SkillInfoDb(= 스킬 DB) 에 effect_key·p1~p3(pMask)·lv_scale·needs_impl 추가 · 임포터 검증(trigger · 키 51종 · p 칸 · skill_levels 연속 · lv_max) · skill_levels = levels(비용 표)
- 처리기 Runtime/Skills: SkillKeys(51종 · 레벨 계수 = 값×계수 / 배율은 1 넘는 몫 / 횟수 반올림 / 켜기·치환 고정 · 팀 키) · SkillDef·SkillCatalog · SkillSystem(유닛별 쿨·예약 · 즉시형 시한 효과 이번 아군 턴/이번 적 턴 · 행동 훅 · 호위 분담 · HUD 한 줄) · SkillMods(전투 코드 수치 질의) · SkillRules(상한 = 등급 + ★3 액티브 +1 · ★5 패시브 ×1.5 = evolve.csv · 레벨업 · 스킬서 판매)
- 전투 연결: ActionResolver(밀기·튕김·추가 이동 n·추가 이동 공격·충돌 추가 피해·밀며 전진 ×·삼첨도·관통 피해/넉백/반격 없음/빗나가도 복귀/한 번 더 관통·사거리·사선 통과·크리·광역 반경/비율/아군 0·백기습영 이동 후 사격·군령/대장군 공격 횟수) · Combat(상성 하한·공 %·주는/받는 피해·근접 패널티 해제·반격 배율/받는 반격·견제 배율) · BattleManager(편성·적 무장 부착 · 견제 반경/횟수/무제한/회복 · 교전 반응 정지 · 교전 범위 · 즉시형 실행) · EnemyAI·RangeIndicator(슬링·사거리 스킬 반영)
- UI: HUD 스킬 버튼(이름·Lv·쿨·사용 가능/불가·패시브) · 탭 = 예약/취소/즉시 · 조준 중 2손가락 탭 · 발동 = 이름 글자 + 플래시 · 스킬 한 줄 · 예약 배지 · 변진 반경 원 · 영웅 상세 스킬 레벨업 팝업 · 거래 상점 스킬서 칸(임시)
- 표: economy.csv start_skill_books 10 · skill_book_shop_daily 3 · skill_book_price 300(임시 · PD 확인)
- 테스트 73/73(기존 56 + SkillTests 17 · 51종 전부) · console error 0 · 캡처 = DataImporter.CaptureSkills

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 23:31:27 +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
깃 관리자 645f8646cf 궁병 — 조준 방향에 적이 없으면 목표점까지 이동(PD 2026-11-04 2차 지시 · 「행동 취소」 폐기) · 에디터 그래픽 API D3D11 우선(oCam 훅 D3D12 크래시 우회) · 테스트 17/17
- ActionResolver.ArcherRoutine: 복도(당긴 거리 + 사거리) 안에 적 없음 → FreeTravel 로 목표점까지 이동 · MovedOnly · ActionOutcome.Cancelled 삭제
- SlingshotInput: archerBlocked(놓기 취소 · 회색 목표 링 · HUD 안내 문구) 삭제 · BattleManager.Describe 「사거리 안에 적이 없어 대기」 삭제 · AI 적 궁병도 전진
- 테스트: Archer_CannotAct_… → Archer_MovesToTarget_WhenNoEnemyWithinSlingPlusRatio (사본 배치 error CS 0 · 17/17)
- ProjectSettings: WindowsStandaloneSupport m_APIs D3D11 → D3D12 (PD 에디터 15:04 크래시 2회 = oCam HookSurfaceDLL → D3D12SwapChain::Present · 사본 GUI 실측 Direct3D 11.0 · oCam 켜진 채 자동 플레이 1턴 정상)
- CLAUDE.md(궁병 규칙 · 크래시 진단 절차) · README 병종 표 갱신

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 15:16:15 +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
깃 관리자 ceaec991dd 넓은 전장(20×32)·스크롤 카메라·미니맵·적 교전 범위 — PD 추가 지시 「스크롤 가능한 비교적 넓은 전장」 · 빈 곳 드래그 스크롤·휠 줌·행동 유닛 추적·미니맵 탭 이동 · 적은 교전 범위 안에서만 행동 · 스테이지 4종 전위/중군/후군 재배치 · 창병 대기 링 상시 표시 결함 수정 · 자동 플레이 timeScale 가속 · 테스트 14종
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 04:29:16 +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