84dc340193
fix(ui): 코드리뷰 발견 UI 버그 6건 수정
...
1. [높음] DealDamageToTarget에 ShowDmgPop 추가 — 단일/랜덤 공격 데미지
팝업 누락 해소(팝업 붙이던 PlayAttackFx는 죽은코드). 중복될 물약
ShowDmgPop 제거.
2. [중간] hand.mjs 다단 랜덤공격 total/hitN을 math.floor로 — 소수 HP →
render %d 크래시(akabeko/penNib 조건) 방지. 공통케이스 값 불변(=perHit).
3. [높음] ShowShop이 미보유 유물만 제시 — 상점 중복 유물 판매→스택 방지.
빈 슬롯 숨김·빈 유물 구매 가드 포함.
4. [중간] PickReward 스킵 시에도 BonusRewardScreens 소비 — 보상 건너뛰기
시 남은 보너스 보상 전량 소실 방지.
5. [낮음] RenderAllDeck: CodexMode면 제목 "카드 도감"으로 — 도감 제목
오표기(전사 전체 덱) 수정.
6. [낮음] OpenAllDeck에 CodexMode 리셋 추가(opener 간 비대칭 해소).
전 카테고리 검증: cbgap GAP 0·cbprops 0·cardkinds 정합·테스트 105/105
(sim-balance 회귀 없음). §6 미러 무영향.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_011xhLoQbJvQYL65kBtDNDTy
2026-07-09 13:16:20 +09:00
a2e4f16402
fix: codex #98/#99가 revert한 #96 수정 11개 재통합 + Defend 카드 수정
...
codex #98/#99(도적 Rogue/시프 카드 확장)가 main을 작업 브랜치에 머지
후 그 머지를 통째로 revert하면서, 먼저 머지됐던 #96의 버그수정 11개가
collateral로 전부 사라졌다. 이를 현재 main(codex 카드 147장) 위에 재통합.
복원된 #96(상세는 PR #96 ): BindButtons 1회가드·drawDamage per-draw+
CheckCombatEnd 멱등가드·firstCardDamageBonus class→kind·PiercingWail
시뮬 음수힘·Envenom AoE attackPoison·firstShivDamageBonus 시뮬 첫Shiv만·
Prepared 실제방어+설명·DealDamageToAllMonsters isAttack 분리·useAllEnergy
코스트감소 무시·설명 정정 6장(Rage kind Power→Attack 포함).
추가: Defend(아이언 바디) kind Attack→Skill — block만 있는 방어 카드가
Attack 라우팅(몬스터 드롭 필요)이라 위로 스윕으로 사용 불가였던 것 수정.
codex 변경과 라인 충돌 없이 git apply --3way로 소스 재적용 후 재생성.
카드 147장 유지, 테스트 88, propcheck 0, cbgap 0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01UUvHKjrt8jqLzDeCsRRGmj
2026-06-30 08:34:54 +09:00
5e2fd5db22
Revert "Merge branch 'main' of https://gitea.gahusb.synology.me/gahusb/maplecontest "
...
This reverts commit 17200d47ec , reversing
changes made to 95d6155086 .
2026-06-30 00:49:30 +09:00
d78049182b
fix(deck): DealDamageToAllMonsters를 isAttack 매개변수화 (버스트 평면화)
...
DealDamageToAllMonsters는 AoE 공격(취약 1.5x·attackPoison 적용)과
Outbreak 독 버스트(평면 피해) 두 용도로 공유되는데, 취약을 항상
적용해 버스트가 취약 대상에 과다 피해를 줬다(JS 미러는 버스트를
평면 applyDamage로 처리 — Lua만 발산). 또한 직전 커밋에서 추가한
attackPoison도 버스트에 적용돼, Envenom+Outbreak 동시 활성 시
버스트→attackPoison→독 적용→또 버스트의 재귀 위험이 있었다.
isAttack 매개변수를 추가해 취약·attackPoison을 공격일 때만 적용:
AoE 공격(ResolveCardEffects)은 true, 버스트는 미전달(평면). JS의
dealToTarget(취약+attackPoison) vs 버스트(평면) 분리와 일치.
산출물 재생성 포함.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01UUvHKjrt8jqLzDeCsRRGmj
2026-06-29 20:45:03 +09:00
926733dbef
fix(deck): firstCardDamageBonus 게이트 class→kind (영구 미발동 버그)
...
ChargedBlow(class=warrior, kind=Attack, firstCardDamageBonus=2)의 첫-카드
보너스가 Lua·JS 양쪽에서 `c.class == "Attack"`로 게이트돼 있었다. class는
warrior/bandit 등이라 절대 "Attack"이 아니어서 보너스가 영구 미발동(죽은 코드).
kind가 "Attack"이므로 `c.kind == "Attack"`로 수정(양쪽 미러).
RED-GREEN 회귀 테스트 추가: class=warrior·kind=Attack 카드의 첫 카드
보너스로 7뎀 → 1턴 처치(미수정 시 5뎀 2턴). 테스트 84→85.
산출물 재생성 포함.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01UUvHKjrt8jqLzDeCsRRGmj
2026-06-29 18:21:08 +09:00
d7813f9912
fix(deck): drawDamage/drawPoison를 per-play→per-draw로 (카드 설명과 일치)
...
Speedster("카드를 뽑을 때마다 피해")·CorrosiveWave("뽑을 때마다 중독")의
효과가 Lua에서는 ResolveCardEffects 끝에서 카드를 '낼 때마다' 발동해
카드 설명·JS 미러(sim-balance draw())와 어긋났다.
per-play 블록을 ApplyDrawTrigger() 메서드로 추출하고 DrawCards에서
뽑은 카드마다 호출해 per-draw로 정렬(JS와 동일). JS 미러는 이미
per-draw라 무변경 — 양쪽 일치.
부수: CheckCombatEnd에 self.CombatOver 멱등 가드 추가. per-draw로
호출이 잦아져(턴시작 5드로 등) 전멸 시 보상/골드/유물이 중복
발동할 수 있던 잠재 버그를 차단(공격+drawDamage 카드에서도 위험했음).
밸런스 영향: Speedster(Power)가 매턴 시작 드로에도 발동해 강해짐 —
값 튜닝은 sim으로 후속 조정 가능. 산출물 재생성 포함.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01UUvHKjrt8jqLzDeCsRRGmj
2026-06-29 18:17:01 +09:00
a3d5174b34
feat: 도적 공용 효과 정리
2026-06-22 21:59:28 +09:00
24a79a309f
Add shared bandit effect hooks
2026-06-22 16:08:05 +09:00
278007f908
도적 다음 스킬 반복 효과 추가
2026-06-21 17:55:25 +09:00
5b7f7bb69f
도적 불가침 기능 추가
2026-06-21 15:28:27 +09:00
34531b184f
도적 카드 공용 효과 추가
2026-06-19 21:59:49 +09:00
acf295d56c
도적 카드 공용 효과 추가
2026-06-19 02:57:11 +09:00
b2bf1bf4dd
카드 설명 키워드 하이라이트 추가
2026-06-19 01:51:36 +09:00
71435a2c91
밴딧 카드 공용 효과 확장
2026-06-19 01:26:15 +09:00
ba1651e52c
밴딧 공용 효과와 문서 정리
2026-06-19 00:56:08 +09:00
b06ad8e8ee
Merge PR #75 : 도적 버림/보존 카드 흐름 구현
2026-06-17 23:07:49 +09:00
f2828deb19
Implement thief discard and retain flows
2026-06-17 22:48:55 +09:00
5900af087e
feat(deck): 컨트롤러 UI 경로를 새 UIGroup으로 재연결
...
cb/*.mjs의 /ui/DefaultGroup/<Section> 리터럴을 메이커 재편 UIGroup으로 일괄 remap:
- SelectUIGroup(charselect/job), LobbyUIGroup(lobby/board/soulshop),
RunUIGroup(combat/map/shop/rest/treasure/reward/cardhand/deck),
DeckUIGroup(덱 도감). MainMenu·월드조작은 DefaultGroup 잔류.
- 몬스터 슬롯 CombatHud/MonsterSlot → RunUIGroup/CombatHud/MonsterStatus
- 검증: cbgap GAP 0 (참조 경로 전부 새 .ui에 실재), 이동섹션 DefaultGroup 잔여 0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 02:50:02 +09:00
a141939675
refactor(cb): codeblock 메서드 161개를 cb/*.mjs 17 모듈로 분리 (codeblock 바이트 동일)
...
writeCodeblocks의 메서드를 연속-런 17 모듈(boot/state/soul/charselect/run/
deckturn/deckview/hand/combat/jobs/runend/render/reward/items/tooltip/map/shop)로
분리, methods 배열은 spread-concat(원본 순서 보존). prop 103개는 오케스트레이터 유지.
산출물 무변경(diffcheck: SlayDeckController.codeblock IDENTICAL).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 08:02:22 +09:00