3.6 KiB
3.6 KiB
P10 — 법사 클래스 설계
날짜: 2026-06-12 (사용자 승인 — P9/P10/P11 중 2단계)
브랜치: feature/p10-magician
선행: P9 (클래스 모델·전직 흐름·CardPool 필터)
범위
- 캐릭터 선택 오픈 — 시작 화면 전사/법사 2택 (법사 시작 HP 70, 전용 시작 덱)
- 법사 1차 카드 5종 + 2차 3계열 9종 (위자드(불·독)/위자드(썬·콜)/클레릭 — 실제 메이플 직업)
- 신규 메커니즘 4종: 독(DoT)·전체 공격(AoE)·회복 카드·드로 카드 (Lua + 시뮬 동기화)
- 전직 선택 화면을 클래스별 동적 구성으로 리팩터 (P9의 고정 3패널 → 슬롯 3개 + 런타임 채움)
데이터
cards.json:starterDeck→starterDecks{ warrior: [...], magician: [에너지 볼트×5, 매직 가드×4, 매직 클로×1] }- 신규 카드 필드:
draw(드로 N)·heal(HP 회복)·poison(적에게 독 N)·aoe(true=전체 공격) - 클래스 상수(생성기): warrior HP 80 / magician HP 70
법사 카드 14종 (메이플 스킬명):
| id | 직업 | 이름 | 코 | 효과 |
|---|---|---|---|---|
| EnergyBolt | magician | 에너지 볼트 | 1 | 피해 6 |
| MagicGuard | magician | 매직 가드 | 1 | 방어 5 |
| MagicClaw | magician | 매직 클로 | 1 | 피해 3 × 2회 |
| Teleport | magician | 텔레포트 | 1 | 방어 3, 드로 1 |
| Slow | magician | 슬로우 | 1 | 약화 2 부여 |
| FireArrow | firepoison | 파이어 애로우 | 1 | 피해 8 |
| PoisonBreath | firepoison | 포이즌 브레스 | 1 | 독 4 부여 |
| ElementAmp | firepoison | 엘레멘트 앰플 | 1 | Power: 매턴 힘 +1 |
| ThunderBolt | icelightning | 썬더 볼트 | 2 | 전체 적 피해 6 |
| ColdBeam | icelightning | 콜드 빔 | 2 | 피해 7, 약화 2 |
| ChillingStep | icelightning | 칠링 스텝 | 1 | 방어 8 |
| Heal | cleric | 힐 | 1 | HP 10 회복 |
| Bless | cleric | 블레스 | 1 | 힘 +1, 방어 5 |
| HolyArrow | cleric | 홀리 애로우 | 1 | 피해 8 |
(설계 초안 대비 수치 미세 조정: 힐 12→10·블레스 방어 6→5·홀리 애로우 9→8 — 1코 효율 정렬)
신규 메커니즘 규칙
- 독: 적 디버프. 해당 적 행동 시작 시
hp -= poison후poison -= 1(StS 동일). 방어 무시. 독 사망 시 행동 생략·체인 계속. 버프 라인에독N표시. - AoE(
aoe: true): 생존 적 전원에게 각자 취약/방어 적용해 피해. 중앙 이펙트 1회(PlayAoeFx), 슬롯별 팝업. - 회복(
heal):PlayerHp = min(+N, Max). - 드로(
draw): 사용 시 N장 드로 (손패 상한 5 초과분은 기존 DrawCards 동작 따름).
전직 화면 동적화
JobSelectHud의 패널을Job_slot1..3(범용)으로 변경,ShowJobSelect가SelectedClass별 옵션 테이블(JOBS 상수 주입)로 이름/설명/대표 카드 텍스트를 채움. 클릭 →SetJob(JobOpts[i].id).- JOBS: warrior=[fighter/page/spearman], magician=[firepoison(위자드 불·독)/icelightning(위자드 썬·콜)/cleric(클레릭)]
- 대표 카드: firepoison→파이어 애로우, icelightning→썬더 볼트, cleric→힐
JobLabel확장: 마법사/위자드(불·독)/위자드(썬·콜)/클레릭
캐릭터 선택
- 기존
MageButton(잠금) → 활성: key Mage,SelectClass("magician"), 하이라이트·상태 텍스트 클래스 공용화,StartNewGame가드 warrior|magician 허용 StartRun: 클래스별 MaxHp·RunDeck 분기
검증
- 시뮬: poison/aoe/heal/draw 재현 + 테스트 4건 이상 (전체 40건+)
- 메이커: 법사 선택→시작 덱 확인→전직(클레릭 등)→전용 카드 풀·독/AoE/힐 실동작, 빌드·런타임 0에러