- OnBeginPlay: 공격 키(Ctrl, 로비 한정) 바인딩
- ShowLobby→GoLobbyMap: 월드 시작·런 종료 시 로비 맵 텔레포트
- OnLobbyNpcInteract(id): 월드 NPC→기존 기능 패널 디스패치
- StartRun: 1막 진입 시 map01 물리 텔레포트(BuildMonsters CurrentMapName 필터 대응)
- LobbyHud: 버튼-행 제거, 투명·비레이캐스트화(맵 노출·클릭 통과), 영혼/승천 미니 정보바만 유지
- BindLobbyButtons: NPC 바인딩 제거
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 손패 카드에 마우스 진입/이탈 이벤트를 연결해 hover 시 1.12배로 확대
- 보상 카드와 상점 카드에도 UITouchReceiveComponent를 추가하고 같은 hover 확대 동작 적용
- ApplyCardFace에서 카드 렌더 시 UIScale을 기본값으로 리셋해 재사용 카드가 확대 상태로 남지 않도록 처리
- 생성기 변경 후 ui/DefaultGroup.ui와 SlayDeckController.codeblock 산출물 재생성
검증:
- node --check tools/deck/gen-slaydeck.mjs
- node --test tools/balance/sim-balance.test.mjs tools/map/rogue-map.test.mjs
- SetCardHover/UITouchEnterEvent/UITouchReceiveComponent 산출물 카운트 확인
- 도적 시작 직업을 선택 화면에서 활성화하고 bandit 스타터 덱으로 런을 시작하도록 생성기를 연결
- Slay the Spire 사일런트 카드 75장을 bandit 카드 풀에 추가하고 카드명/설명을 한글화
- 현재 전투 엔진이 지원하는 피해, 방어도, 드로우, 독, 약화, 취약, 광역, 다단히트, 회복, 파워 효과로 카드 효과를 매핑
- 도적 스타터 덱을 타격 5장, 수비 5장, 무력화, 생존자로 구성
- bandit 및 도적 전직 계열(shiv, poisoner, trickster)을 카드 프레임 매핑에 연결
- ui/DefaultGroup.ui와 SlayDeckController.codeblock을 생성기로 재생성
검증:
- node --check tools/deck/gen-slaydeck.mjs
- node --test tools/balance/sim-balance.test.mjs tools/map/rogue-map.test.mjs
- 도적 카드 75장 및 한글화 잔여 영어/깨짐 없음 확인
- relics.json goldIdol 설명 "골드"→"메소" (유일하게 남았던 표면 잔존 정정)
- CombatHud TopBar·ShopHud 메소 금액 옆에 금색 코인 아이콘 스프라이트 추가
(공식 RUID 흰박스 리스크 회피 위해 색상 채움 스프라이트 사용)
- 내부 식별자 self.Gold 등은 산출물 id 안정성 위해 유지. 산출물 재생성
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- ReqLoadAscension[Server]/RecvAscension[Client·특정 유저 응답]/SaveAscension[Server]
- ExecSpace 일괄 6 → 명시값 보존 (첫 서버-클라 RPC)
- 모디파이어: 적 HP/피해 ×1.1~1.2·정예 배율 +0.2/0.4·시작 HP -10/-20·메소 ×0.75/0.5
- 메인 메뉴 승천 [-]/라벨/[+], 클리어 시 해금+1·저장·'승천 N 해금!' 표시
- TopBar '· 승천N', 테스트 40건 유지
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- poison 틱(행동 시작·사망 시 행동 생략·전멸 승리 체크)·aoe(개별 취약/방어)·heal 클램프·draw
- 테스트 4건 추가 — 전체 40건 통과
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- TreasureHud: 보물 상자(클릭→흔들림 0.08s×6→열림 RUID 교체→유물+메소 보상)
- 상자 닫힘/열림 RUID 메이커 선별, PickNewRelic 재사용 (소진 시 메소 대체)
- ShowState/HideGameHud/LeaveNode treasure 등록, 표시 화폐 '골드'→'메소' 전환
- 테스트 30건(rogue-map 9 + sim 21) 통과
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Node_r{1..7}c{1..4}+boss 정적 그리드, Dot 간선 192개 (기본 비활성)
- RenderMapNode: 타입색 6종·현재(골드)/방문(어둡게)/도달가능/잠김
- RenderMapDots: 간선 존재 토글·현재 노드 발신 간선 골드 강조
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
단일 전투를 N전투 런으로 확장(로그라이크 메타 첫 조각).
- 런 상태: RunDeck(보유 카드)·Gold·Floor·RunLength·RewardChoices·RunActive (SlayDeckController 확장)
- StartRun(영속 초기화·버튼 1회 바인딩) vs StartCombat(전투별 초기화·RunDeck에서 드로·Floor++) 분리
- 플레이어 HP 전투 간 유지, BindButtons를 StartRun 1회 호출로 이동(핸들러 중첩 버그 예방)
- 승리: 골드 +15 → Floor<RunLength면 OfferReward(카드 3택1), 아니면 '런 클리어!'
- PickReward: 선택 카드 RunDeck 추가(건너뛰기=추가 안 함)→다음 전투. 입력잠금 가드
- UI: CombatHud 층/골드 표시, RewardHud(보상 카드 3+건너뛰기) 생성
- 런 파라미터(RUN_LENGTH=3·GOLD_PER_WIN=15)는 생성기 상수(향후 외부화)
- 메이커 Play 검증: 전투→보상→덱+1→다음전투→3전투 런 클리어, 패배·입력잠금 정상
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cards·시작덱·적 정의를 data/cards.json·data/enemies.json으로 분리, gen-slaydeck가 로드·검증·주입.
- data/cards.json: 카드 정의(name/cost/kind/damage|block/desc) + starterDeck
- data/enemies.json: 적 정의(name/maxHp/intents) + activeEnemy
- 생성기: JSON 로드 + fail-fast 검증(미존재 카드/적 id) + Lua 직렬화 헬퍼
- StartCombat·EnemyMaxHp·카드 미리보기·CombatHud 초기텍스트를 데이터에서 생성
- codeblock 출력은 기존과 동일(순수 리팩터), ui 미리보기는 카드 종류 순환 표시
- 검증: 데이터 1장 수치 변경→재생성 반영 확인, 결정성, fail-fast(exit1), 메이커 Play 정상
- 수치는 임시 placeholder, 추후 메이플 IP대로 카드/적 확장 예정
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>