# HIU DUNGEON split build

현재 빌드: `v0.7.48`

기존 단일 `index.html`의 인라인 CSS/JS를 여러 파일로 분리한 작업용 구조입니다. 앞으로도 다시 한 파일로 합치지 않고, 큰 기능은 관련 파일 또는 새 파일로 분리해 개발합니다.

## 실행 방법

`index.html`, `css/`, `js/` 폴더를 같은 위치에 둔 상태로 `index.html`을 브라우저에서 여세요.
모바일로 옮길 때도 ZIP 전체를 풀고 폴더 구조를 유지해야 합니다.

## 파일 구조

```text
index.html
css/
  00-base-menu-codex.css          # 기본 리셋, 메인 화면, 도감
  01-game-hud.css                 # 게임 화면, HUD, 미니맵, 무기 슬롯
  02-mobile-controls.css          # 조이스틱, 공격/스킬/대시/패링 버튼
  03-testroom-inventory.css       # 테스트룸, 인벤토리, 가방/룬 UI
  04-dialogue-responsive.css      # 대화창, 반응형 보정
js/
  00-config-state-dom.js          # CONFIG, DOM 참조, 전역 상태, 입력 상태
  03-utils-random.js              # 랜덤/공용 유틸 일부
  12-app-flow.js                  # 화면 전환, 시작/종료, 캔버스 크기
  13-ui-hud-inventory-codex.js    # HUD, 도감, 가방/룬 UI 렌더링
  14-loop-events-input.js         # 게임 루프, 이벤트, 모바일/PC 입력
  15-physics-status-utils.js      # 충돌, 상태이상, 공용 계산 유틸
  16-boot.js                      # 초기 실행 진입점
js/data/
  01-bag-items.js                 # 가방 아이템 정의, 외형/히트박스
  02-weapon-runes-codex.js        # 무기 룬, 도감 정적 데이터
  03-treasure-chests.js           # 보상상자 등급/드랍 테이블
  04-event-rooms.js               # 이벤트방 카탈로그, 테스트 이벤트 선택지
  05-synergies.js                 # 가방 아이템/룬 시너지 규칙
js/systems/
  04-dungeon-generation.js        # 절차적 던전 생성
  10-tutorial.js                  # 튜토리얼 컨트롤러와 단계 정의
js/entities/
  05-player.js                    # Player
  06-weapons-projectiles.js       # Weapon, Projectile 계열
  07-enemies.js                   # DummyEnemy와 적 AI 계열
  08-summons-pickups-shop.js      # 소환수, 드랍, NPC, 상점 표시물
  09-effects-objects.js           # 이펙트, 보상 오브, 박스/상자/비밀문
js/core/
  11-game.js                      # Game 본체
```

## 추가 에셋

- `assets/icons/synergy_sheet.jpg`: 시너지 아이콘 원본 시트.
- `assets/icons/synergy/synergy_01.png` ~ `synergy_32.png`: 원본 시트를 왼쪽 위부터 순서대로 자른 64x64 PNG 아이콘.
- `assets/icons/synergy/synergy_junk.png`: `잡동사니` 시너지 아이콘.

## 최근 변경

- `v0.7.48`: `배신자` 아이템의 전용 외형과 히트박스를 추가했습니다. 신규 비소모 가방 아이템에 `BAG_ITEM_GEOMETRY`가 없으면 콘솔 경고가 뜨도록 검증을 추가해 기본 격자 외형으로 떨어지는 누락을 줄였습니다. 플레이어가 보유한 스택/버프/디버프/상태이상을 HP/MP/SP 창 아래 별도 줄의 작은 사각형 아이콘으로 표시하고, 스택 수와 남은 시간을 아이콘 하단 배지로 보여줍니다. 칼날 세례 스택과 샷건 `화력강화`/불지팡이 `초고열` 같은 무기 강화 상태도 표시하며, 대시/회피 무적은 표시하지 않습니다. 신규 무기 `성검`을 추가했습니다. 성검은 기본공격 3연속 콤보로 회전베기와 관통 검기를 발동하고, 스킬 `빛모으기`로 2초 감속 후 6초 동안 마법피해량 +50% 및 기본공격 마법피해 태그 추가 강화 상태가 됩니다.
- `v0.7.47`: `칼날 세례` 대시 발사를 좁은 폭의 연사 방식으로 변경했습니다. 보유 칼날 스택을 한 번에 모두 생성하지 않고, 0.045초 간격으로 하나씩 난사하듯 발사합니다.
- `v0.7.46`: `황금 바늘통`과 `사냥꾼 갈고리`에 `칼날 세례` 시너지를 추가했습니다. 신규 아이템 `배신자`를 추가했으며, `역병`/`칼날 세례` 시너지를 가지고 적이 맹독 디버프 피해를 받을 때 10% 확률로 칼날 스택을 1 얻습니다.
- `v0.7.45`: `칼날 세례` 시너지를 기획 기준으로 재작업했습니다. 2중첩은 5초마다 칼날 1스택을 얻고, 대시 시 보유한 모든 칼날스택을 소모해 스택 1당 칼날 투사체 1발을 발사합니다. 4/7중첩은 칼날스택 획득 주기와 대시 칼날 피해를 더 강화합니다.
- `v0.7.44`: `불의 꽃`을 기획 기준에 맞게 재작업했습니다. 기본공격은 가까운 적 최대 3명을 타겟팅해 화염 꽃방울을 발사하고, 적중 시 화염 4스택과 3회 연쇄 전이를 적용합니다. 스킬은 화염 디버프 상태인 적 수만큼 꽃잎을 수확해 다음 기본공격의 피해와 연쇄 횟수를 강화합니다.
- `v0.7.43`: 테스트룸 인벤토리 도감에서 아이템/룬/무기 상세 설명창에 해당 물건을 즉시 바닥에 소환하는 테스트룸 전용 버튼을 추가했습니다.
- `v0.7.42`: `감전` 타겟팅 체인 전이에 0.1초 지연을 넣고 전이 가능 범위를 560으로 확대했습니다. 신규 시너지 `칼날 세례`는 25번 아이콘을 사용하며 대시 시 물리/투사체 칼날을 발사합니다. 신규 무기 `불의 꽃`은 화염 꽃잎 기본공격과 `꽃잎 강화` 스킬을 추가했습니다.
- `v0.7.41`: `감전` 자동 발동이 실제 게임 루프에서 막히던 문제를 수정했습니다. `Player`에는 `alive` 속성이 없는데 감전 발동 조건이 `player.alive`를 확인해 항상 실패하던 것이 원인이어서, HP 기반 `Game.isPlayerAlive()` 판정으로 교체했습니다. 활성 상태에서는 가까운 적에게 발동 후 5초 쿨타임마다 다시 발동합니다.
- `v0.7.40`: `감전` 시너지의 5초 자동 발동 타이머를 활성/비활성 전환 때 안정화하고, `타겟팅:체인`의 연쇄 횟수 n을 “첫 타격 후 n회 전이”로 정리했습니다. 다음 대상 선택은 현재 대상과 직전 대상을 제외해 A→B→A 즉시 되튐은 막고, A→B→C→A처럼 한 유닛을 거친 재적중은 허용합니다.
- `v0.7.39`: 감전 시너지 자동 발동 대상 탐색 범위를 넓히고, 체인이 실제로 적중했을 때만 쿨타임을 소비하도록 보강했습니다. 감전 2중첩 보너스 계산도 로컬로 확인했습니다.
- `v0.7.38`: 감전 시너지 발동 조건을 정리하고, `타겟팅:체인` 피해를 첫 대상에서 주변 적으로 번개가 튕기는 체인 피해로 변경했습니다. 직전 대상에게 바로 되돌아가지 않으며, 한 유닛을 거친 뒤에는 다시 피해를 받을 수 있습니다.
- `v0.7.37`: `잡동사니` 시너지 효과를 적용했습니다. `감전` 시너지를 추가해 번개피해/타겟팅:체인 피해를 강화하고, 일정 주기마다 가까운 적에게 연쇄 번개를 가합니다.
- `v0.7.36`: `녹아내리는 별`이 이름 때문에 `광폭의 별` 시너지를 자동 획득하지 않도록 제외했습니다. 아이템 `빙하 파편`을 추가해 마법피해 +10%, 대시 시 얼음 파편 3발 발사를 제공합니다.
- `v0.7.35`: `녹아내리는 별`의 아이템 설명에서 시너지 텍스트를 제거하고, 전용 별 실루엣 지오메트리를 추가해 드랍/가방/상점 아이콘 표시를 정리했습니다.
- `v0.7.34`: 아이템 `녹아내리는 별`을 추가했습니다. 역병/깨어난자 시너지를 가지며, 혼돈 스택이 있는 적이 맹독 피해를 받을 때 10% 확률로 혼돈 스택을 1 올립니다.
- `v0.7.33`: 시너지 `역병`의 4/7중첩을 추가했습니다. 맹독속성 피해가 더 크게 증가하고, 역병 유도탄의 피해/타겟 수/발동 안정성이 더 강해집니다.
- `v0.7.32`: 시너지 `역병`을 추가했습니다. 맹독속성 피해를 강화하고, 독 지속피해 틱마다 행운 기반 확률로 가까운 적에게 독 유도탄을 발사합니다.
- `v0.7.31`: 대시공격 스테미나 소모를 전역으로 50% 낮추고, 모든 대시공격 기본 피해를 35% 상향했습니다. 신규 대시공격은 공통 헬퍼를 쓰면 같은 규칙이 자동 적용됩니다.
- `v0.7.30`: 시너지 `폭풍`을 추가했습니다. 바람속성피해, `범위:소용돌이` 피해, `범위:소용돌이` 공격 크기 증가가 적용됩니다.
- `v0.7.29`: 테스트룸 창에 플레이어 스탯 조절 패널을 추가했습니다. 테스트룸에서 최대 HP/마나/스테미나, 피해량, 방어력, 공격속도, 치명타, 속성/태그 피해, 소환수 관련 스탯을 즉시 증감/초기화할 수 있습니다.

## 주의

이 버전은 작업 편의를 위한 분리 빌드입니다. 파일 로드 순서가 중요하므로 `index.html`의 `<script>` 순서를 바꾸지 마세요.
기존 단독 실행형처럼 `index.html` 하나만 복사하면 실행되지 않습니다.
