fix: map01 신규 몬스터 6종 등록 — 랜덤 행동 복구 #76
Reference in New Issue
Block a user
Delete Branch "fix/map01-monster-roster"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
문제
메이커 저작(#74)에서 map01에 수작업 배치한 몬스터 6종의
EnemyId가data/enemies.json에 미등록 상태였다. 전투 시BuildMonsters(run.mjs)가self.Enemies[id] = nil로 조회 실패 → fallback{ maxHp = 10, intents = {{ Attack, 5 }} }(단일 intent)으로 떨어졌다.그 결과
EnemyActStep의math.random(1, #intents)가random(1, 1)이 되어 항상 "공격 5"만 반복 — 행동 랜덤화 불가, 이름은 raw id(junior_bugi등), HP 10 고정. ("몬스터 행동 랜덤이 안 된다"는 증상)런타임 randomization 로직 자체는 정상이며, 원인은 데이터 누락.
미등록 6종
octopus,kapa_drake,junior_neki,junior_bugidile,mano(map01의
green_mushroom·king_slime·orange_mushroom, map02~05는 전부 등록된 적이라 정상)수정
data/enemies.json에 6종 등록 — 기존 티어 밸런스 범위(combat HP 1524 / elite HP 6580, 다중 intent)에 맞춤:SlayDeckController.codeblock재생성(산출물). 맵은 이미 해당 id를 참조하므로 맵 재생성 불필요 — 메이커 수작업 배치 그대로 유지.검증
CombatMonster.EnemyId↔ enemies.json 키 대조: OK 33 / MISSING 0self.Enemies에 신규 6종 전부 포함origin/main(#75 도적 버림/보존) 머지 후 재생성 — 산출물 바이트-동일(diffcheck), #75 Retain 기능 공존 확인