Commit Graph

3 Commits

Author SHA1 Message Date
깃 관리자 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
깃 관리자 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