de1e69de7d
fix(lobby): 전투맵 PlayerLock에 WalkAcceleration=0 런타임 재잠금 (P15)
...
로비에서 푼 이동(WalkAcceleration)이 텔레포트 후 전투맵에 누설돼도 PlayerLock이 맵 로드 시 0으로 재설정해 확실히 잠금. 정찰로 WalkAcceleration이 실제 이동 레버임을 확인.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 12:31:50 +09:00
a683f186d4
feat(lobby): LobbyNpc(근접·클릭 상호작용)·LobbyMobility(이동 해제) codeblock (P15)
...
LobbyNpc: 거리 폴링→머리위 마크 토글, TouchEvent/UpArrow→Interact→컨트롤러 OnLobbyNpcInteract. LobbyMobility: 진입 시 pc.Enable·WalkAcceleration=0.7 복원(정찰 확정). 공격 키는 컨트롤러에서 처리.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 12:29:44 +09:00
a309da2a99
feat(lobby): 로비 전용 맵 + NPC 4종 월드 엔티티 생성기 (P15)
...
map01 클론→lobby.map(헤네시스 배경), 몬스터 제거, NPC 4종(공식 메이플 NPC 스프라이트)+머리위 마크 배치. 각 NPC에 TouchReceiveComponent+script.LobbyNpc, 루트에 script.LobbyMobility(PlayerLock 제거). SectorConfig map://lobby 등록.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 12:27:44 +09:00
82bf22d4cc
docs(p15): 로비 맵 + 월드 NPC 구현 계획
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 12:15:44 +09:00
f36bc0d14e
docs(p15): 로비 맵 + 월드 NPC 설계 spec
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 11:55:54 +09:00
8f233296af
Merge pull request 'feat: P14 — 반복 런·로비·영혼·도적·몬스터 랜덤성 (요청 17항목)' ( #52 ) from feature/p14-loop-lobby-soul into main
...
Reviewed-on: #52
2026-06-14 01:50:19 +09:00
5f89d61a8b
fix(lobby): 로비 카드 도감용 Cards/Frames 테이블을 OnBeginPlay에 시드
...
- ShowCodex가 self.Cards를 순회하는데 런 시작 전(로비)엔 미설정이라 pairs(nil) 오류
→ OnBeginPlay에서 luaCardsTable/luaFramesTable을 미리 주입(StartRun과 중복 무해)
- 메이커 플레이테스트로 로비·도감·가로맵·전투(도적/메소아이콘/스킬아이콘) 전 루프 검증
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 01:28:56 +09:00
8879647b26
feat(soul): 영혼 메타 성장 시스템 (P14-9)
...
- 2차 전직 상태로 맵 보스 클리어 시 영혼 +1 적립(CheckCombatEnd 보스 분기 AwardSouls)
- UserDataStorage 영속 RPC: ReqLoadSouls/RecvSouls/SaveSouls(ExecSpace 5/6, 승천 패턴 복제)
· key soulPoints(수치)·soulUnlocks(해금 set, 콤마 직렬화). OnBeginPlay에서 로드
- 로비 영혼 상점(SoulShopHud) 4종 해금: 두둑한 지갑(시작 메소+60)·단련된 육체(시작HP+15)
·덱 정제(기본카드 1장 제거)·유물 수집가(시작 유물+1). BuySoulUnlock 구매·영속 저장
- ApplySoulUnlocks가 StartRun에서 해금 효과 적용 → 덱빌딩 이점. 승천(패널티)과 분리 공존
- 산출물 재생성(id 유일성·JSON 검증 통과)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 01:23:00 +09:00
7ee323ea8b
feat(lobby): 로비 허브 + NPC 4종 + 반복 런 루프 (P14-8)
...
- LobbyHud: 메이플 로비 화면. NPC 4종 클릭 — 모험가(런 시작)·사서(카드 도감)·
상인(영혼 상점)·안내원(게시판) + 승천 +/- + 영혼 수치 표시
- ShowState "lobby" 추가, OnBeginPlay·EndRun → ShowLobby (첫 실행/패배/클리어 모두
로비 기점, 반복 런 루프). ShowLobby가 BindMenuButtons도 호출(전직 버튼 바인딩 보존)
- 카드 도감: DeckAllHud 재사용(CodexMode) — 저주 제외 전 카드 표시, 닫으면 로비 복귀
- 게시판(BoardHud): 게임 규칙/팁 패널. 영혼 상점(SoulShopHud): 셸(P9에서 해금 채움)
- guid 네임스페이스 lob/brd/soul 추가(id 충돌 방지). 산출물 재생성(id 유일성 검증 통과)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 01:16:56 +09:00
7cc311ee91
feat(economy): 메소 표기 완성 + 메소 코인 아이콘 추가 (P14-7)
...
- relics.json goldIdol 설명 "골드"→"메소" (유일하게 남았던 표면 잔존 정정)
- CombatHud TopBar·ShopHud 메소 금액 옆에 금색 코인 아이콘 스프라이트 추가
(공식 RUID 흰박스 리스크 회피 위해 색상 채움 스프라이트 사용)
- 내부 식별자 self.Gold 등은 산출물 id 안정성 위해 유지. 산출물 재생성
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 01:06:59 +09:00
5cde11647f
feat(card-ux): 손패 최대 10장·초과 자동버림 + 마우스오버 확대/툴팁 (P14-6)
...
- 손패 슬롯 5→10 확장(Card6~10 신규 생성), RenderHand 장수 비례 동적 간격 배치
- DrawCards 손패 10장 상한 — 초과 드로는 버린 더미로 자동 이동(StS식, sim 미러)
- 카드 마우스오버: UITouchEnter→UIScale 1.3배 확대 + ShowTooltip(이름/설명),
Exit→복원+숨김. 드래그 중(DragSlot) 확대 억제. RenderHand가 UIScale 리셋
- HoverCard/UnhoverCard 메서드 신설. sim 35/35 통과. 산출물 재생성
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 01:04:24 +09:00
8296775e21
feat(cards): 실제 메이플 스킬 아이콘 적용 + 피격 이펙트(fx) 분리 (P14-5)
...
- 카드 아트(image)를 경로 검증된 실제 스킬 아이콘 RUID로 교체(28종)
· mapleImgFullPath의 /icon 경로 확인으로 스킬 아이콘 보장(기존엔 이펙트 프레임·맵
오브젝트가 섞여 있었음)
- 피격 이펙트(fx) 필드 신설(18종) — 스킬 effect/hit 프레임 RUID
· PlayCard가 PlayAttackFx/PlayAoeFx에 c.fx or c.image 전달(이펙트 분리, 없으면 폴백)
· luaCardsTable fx 직렬화. MSW asset 메타데이터 경로 검증으로 수급(워크플로 6에이전트)
- 아이콘 미발견 카드는 기존 RUID 유지. sim 35/35 통과. 산출물 재생성
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 00:57:24 +09:00
d546d62755
feat(thief): 도적 클래스 + 2차 전직(어쌔신/시프) 추가 (P14-4)
...
- CLASSES.thief(maxHp 75), JOBS.thief = [어쌔신(CriticalThrow), 시프(SavageBlow)]
- 카드 11종: 도적1차(럭키세븐/더블스탭/다크사이트/헤이스트/드레인)
· 어쌔신(크리티컬스로우/쉐도우스타/클로마스터리)
· 시프(새비지블로우/스틸/메소가드), starterDecks.thief 추가
- cardframes classToFrame: thief/assassin/bandit → bandit 프레임(기존 RUID 재사용)
- CharacterSelectHud Thief 해금, BindMenuButtons ThiefButton, RenderCharacterSelect·
StartNewGame·StartRun·JobLabel 도적 분기. 전사/법사 2차는 기존 완비 확인
- 산출물 재생성(생성기 검증 통과)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 00:38:52 +09:00
8f58a90746
feat(combat): 몬스터 랜덤 구성·랜덤 행동·덱 오염(AddCard)·map01 로스터 (P14-3)
...
- 구성 랜덤화: BuildMonsters를 그룹별 수집 후 노드 타입별 추첨
(일반 1~3 / 엘리트 1+일반0~2 / 보스 1, MAX_MONSTERS=4 내)
- 행동 랜덤화: EnemyActStep 순차(round-robin) → 정의된 intent 중 math.random 선택
(스폰 시 시작 intent도 랜덤, sim-balance.mjs 미러 동기화)
- StS2식 덱 오염: AddCard intent 신규 — 저주 카드(Wound/Burn)를 버린 더미에 추가
· Wound=사용불가 사석, Burn=사용불가+턴종료 피해2(EndPlayerTurn 처리)
· PlayCard unplayable 가드, CardPool class 필터로 보상/상점 자동 제외
· luaIntentsArray(card/count)·luaCardsTable(unplayable/curse/endTurnDamage) 직렬화
- map01 인카운터: 일반 5종(주황/초록/빨강달팽이/파랑/돼지) + 엘리트1 + 보스1, 우측 포메이션
· enemies.json red_snail/stump 신규, blue_mushroom/mushmom에 AddCard intent
· gen-map-encounters 레이아웃 맵별 분기 + 풀 인덱싱 일반화
- 막 배율 0.6→0.45(5막 기준 완화). sim 테스트 35/35 통과(신규 3 포함). 산출물 재생성
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 00:33:49 +09:00
8fa1079548
feat(map-ui): 노드 맵 가로 진행 레이아웃(왼→오른쪽) (P14-2)
...
- nodeX=행(좌→우)·nodeY=열(분기)로 좌표축 스왑, 보스는 최우측 중앙
- 호출부(노드/도트/보스 간선) 인자 스왑. Lua 무수정(좌표는 JS 빌더 전담)
- 도트 보간·간선·라벨 좌표 함수 파생이라 자동 추종. 산출물 재생성
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 00:14:24 +09:00
9e16465218
feat(map): 맵 5막화·노드 depth 7·rest/shop/elite 연속 금지 (P14-1)
...
- ACT_COUNT/RUN_LENGTH 3→5, ACT_MAPS map01~map05 (반복 런 기반 확장)
- MAP_ROWS 7→6 (걷는 행 6 + 보스 = depth 최대 7), 막 배율 0.6→0.45 완화
- 노드 타입 인접 금지를 elite 단독 → rest/shop/elite 3종으로 일반화
(Lua GenerateMap + rogue-map.mjs JS 미러 동시 수정, 테스트 9/9 통과)
- 맵 파일 생성기 카운트 11→5, map06~map11 삭제, SectorConfig 정리(stale 제거)
- 산출물 재생성(ui/codeblock/map01~05). 검증 헬퍼 tools/verify/count.mjs 추가
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 00:13:16 +09:00
f67471435e
docs(p14): 반복 런·로비·영혼·도적·몬스터 랜덤성 설계 spec
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 00:03:13 +09:00
fd57e0d56d
Merge pull request 'fix(card-frames): 카드 프레임 슬롯 레이아웃 정밀 보정 (픽셀 실측)' ( #51 ) from fix/p13-card-layout into main
2026-06-13 04:01:57 +09:00
afe995a895
fix(card-frames): 프레임 슬롯 픽셀 실측 기반 레이아웃 정밀 보정 (이름→배너 중심·코스트→육각 중심·이름 폭 축소로 육각 겹침 제거)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-13 04:01:08 +09:00
6a6b64cbc5
Merge pull request 'feat(card-frames): 커스텀 카드 프레임 — 직업×등급 프레임·보상 가중 추첨 (P13)' ( #50 ) from feature/p13-card-frames into main
2026-06-13 00:11:01 +09:00
b2693be111
fix(card-frames): 카드 단위 엔티티 id v2 네임스페이스 발급 — 에디터에서 소실된 자식 엔티티 신규 생성 유도
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-13 00:01:25 +09:00
675616bf51
fix(card-frames): 엔티티 id↔path 매핑 보존 (구 stride 유지·중복 검증) — 메이커 refresh in-place 병합 꼬임 수정
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 23:56:40 +09:00
1e48fa35b3
feat(card-frames): 산출물 재생성 (프레임 렌더링·등급·보상 가중)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 23:41:40 +09:00
aaa68ebe07
feat(card-frames): 보상 등급 가중 추첨 70/25/5 (Lua + JS 미러 rarityForRoll·경계 테스트)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 23:40:58 +09:00
35dfcbaffe
feat(card-frames): 생성기 — 프레임 렌더링·cardFaceLayout 통합 (5개 카드 사이트·단색판 제거)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 23:39:27 +09:00
9aa4721790
feat(card-frames): 카드 등급 배정(normal10·unique17·legend5)·프레임 RUID 매핑 데이터
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 23:31:33 +09:00
e553ebe666
feat(card-frames): 카드 프레임 스프라이트 9종 로컬 임포트 (warior·mage·bandit × normal·unique·legend)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 23:30:53 +09:00
a814bf2c4b
docs(card-frames): P13 설계·계획 — 커스텀 카드 프레임(직업×등급)·보상 가중
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 23:30:05 +09:00
9e162d6e2d
Merge pull request 'docs(readme): P1~P12 구현 현황·향후 개선 계획 갱신' ( #48 ) from docs/readme-p12 into main
2026-06-12 19:31:22 +09:00
8baa97bde8
docs(readme): P1~P12 구현 현황·향후 개선 계획 갱신
...
- 구현 기능 표 전면 갱신 (클래스/전직·버프/디버프·절차 맵·유물/물약·승천·모션)
- 디렉토리 구조 갱신 (potions.json·rogue-map·gitea-pr·RULES.md, map.json 제거 반영)
- 스크립트 호출 예시·향후 개선 계획 10항목·RULES.md 셋업 안내
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 19:30:46 +09:00
66c1ac8ee1
Merge pull request 'feat(motion): 전투 모션 — 공격·피격·독뎀 (배포 퀄리티 P12)' ( #47 ) from feature/p12-combat-motion into main
2026-06-12 18:42:41 +09:00
abd6d00052
feat(motion): 전투 모션 — 공격/피격/독뎀 (생성기+산출물)
...
- PlayerAttackMotion(StateComponent ATTACK→IDLE)·PlayerHitMotion(HIT+넉백 틱)
- MonsterLunge(공격 시 런지)·MonsterHitMotion(hit 클립 스왑→stand 복귀, 폴백 흔들림)
- BuildMonsters에 hit/stand 클립 pcall 캐시·motionBusy
- 훅: PlayCard·DealDamageToTarget·PlayAoeFx·독 틱·체인메일 반사·EnemyActStep
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 18:37:42 +09:00
2cd672b474
docs(motion): P12 설계·계획 — 전투 모션 (공격/피격/독뎀)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 18:32:39 +09:00
56d958fe19
Merge pull request 'feat(ascension): 승천 시스템 A1~A10 + UserDataStorage 개인 저장 (배포 퀄리티 P11)' ( #46 ) from feature/p11-ascension into main
2026-06-12 14:25:19 +09:00
7aed1943b7
fix(ascension): 메뉴 Asc 엔티티 guid 충돌 해소 (190→195~197)
...
CharacterSelectHud/OpaqueBackdrop이 menu:190 선점 — AscMinus 미표시 원인
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 14:24:36 +09:00
9989a61675
fix(ascension): RPC ExecSpace 실측 보정 — Server=5·Client=6 (프로브 검증)
...
- 1은 ServerOnly(클라 호출 무시)라 저장/로드 RPC 미동작 → 5로 수정
- RecvAscension 6(Client): 서버→특정 클라 userId 라우팅 실측 확인
- 설계 문서 ExecSpace 표 갱신, 프로브 메서드 제거
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 14:20:05 +09:00
2c28935d95
fix(ascension): UserId 접근을 PlayerComponent.UserId로 (빌드 경고 2건 해소)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 14:11:48 +09:00
b635cb3a63
feat(ascension): 승천 A1~A10·UserDataStorage 개인 저장·서버 RPC (생성기+산출물)
...
- 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 >
2026-06-12 14:10:30 +09:00
bcdf9457c8
docs(ascension): P11 설계·계획 — 승천 A1~A10·UserDataStorage 개인 저장·서버 RPC
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 14:04:06 +09:00
89056e903d
Merge pull request 'feat(magician): 법사 클래스 — 1차 5종·2차 3계열·신규 메커니즘 4종 (배포 퀄리티 P10)' ( #45 ) from feature/p10-magician into main
2026-06-12 14:00:42 +09:00
fc0a96fcb7
fix(magician): Jobs prop 선언 누락 (빌드 경고 6건 해소)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 13:57:41 +09:00
7b6e181cb0
feat(magician): 시뮬 메커니즘 동기화 + 산출물 재생성
...
- poison 틱(행동 시작·사망 시 행동 생략·전멸 승리 체크)·aoe(개별 취약/방어)·heal 클램프·draw
- 테스트 4건 추가 — 전체 40건 통과
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 13:56:52 +09:00
e1d298f972
feat(magician): 캐릭터 선택 오픈·전직 화면 동적화 (생성기)
...
- Mage 버튼 활성·SelectClass(magician)·2클래스 하이라이트/가드
- JobSelectHud Job_slot1..3 범용화 + ShowJobSelect(클래스별 JOBS 채움)
- SetJob/JobLabel을 Jobs 테이블 기반으로 (luaJobsTable 주입, luaStr 개행 이스케이프)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 13:54:14 +09:00
811c8ec2ac
feat(magician): 독 DoT·AoE·회복·드로 메커니즘 (생성기+시뮬 loadData)
...
- PlayCard: aoe→PlayAoeFx(전 생존 적 각자 취약/방어·슬롯별 팝업), heal/draw/poison
- EnemyActStep 행동 시작 독 틱(피해 팝업·사망 시 행동 생략·체인 계속)
- BuffsLabel 독N 표시, 클래스별 StartRun(HP 80/70·시작 덱), JOBS 상수·검증
- sim loadData: starterDecks.warrior 사용
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 13:51:15 +09:00
6b6037739f
feat(magician): 법사 카드 14종·클래스별 시작 덱 데이터
...
- 1차 5종(에너지 볼트·매직 가드·매직 클로·텔레포트·슬로우)
- 2차: 위자드 불독(파이어 애로우·포이즌 브레스·엘레멘트 앰플)
위자드 썬콜(썬더 볼트 AoE·콜드 빔·칠링 스텝) 클레릭(힐·블레스·홀리 애로우)
- starterDeck → starterDecks{warrior, magician}, 신규 필드 draw/heal/poison/aoe
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 13:48:01 +09:00
80c5daabbf
docs(magician): P10 설계·계획 — 법사 14종·신규 메커니즘 4종·전직 동적화
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 13:45:54 +09:00
6e8d1a88f5
Merge pull request 'feat(job): 전직 시스템 코어 + 전사 2차 (배포 퀄리티 P9)' ( #44 ) from feature/p9-job-advancement into main
2026-06-12 13:42:36 +09:00
13d1ccb771
feat(job): 산출물 재생성 (전직·전사 2차)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 13:39:10 +09:00
d0b8fbe091
feat(job): 시뮬 신규 메커니즘 동기화 (hits·pierce·selfVuln·energy/blockPerTurn)
...
- 다단히트: 타격마다 힘 적용 합산·취약 1회 (Lua 동기화)
- pierce 방어 무시, selfVuln, 파워 루프 확장 (블록 리셋 후)
- 신규 테스트 6건 — 전체 36건 통과 (sim 27 + rogue-map 9)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 13:39:08 +09:00
2c9a1b351e
feat(job): 클래스 풀 필터·전직 선택 흐름·전직 HUD (생성기)
...
- CardPool(클래스 필터) — 보상·상점 공용
- 보스 분기: 1차+비최종막 → JobChoiceHud(유물/전직), ContinueAfterBoss 추출
- JobSelectHud 3직업 패널, SetJob(대표 카드 지급·직업명 갱신)
- guid 'job'=0xe4, HideGameHud·BindButtons 등록
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 13:36:46 +09:00