전투
아래 규칙과 수치는 원작 실행 파일이 실제로 하는 계산에서 읽었습니다. 코드가 이름을 남기지 않은 자리는 지어내지 않고 확인된 데까지만 적습니다.
전투는 라운드로 돌지 않습니다
차례가 한 바퀴씩 도는 방식이 아니라, 모두가 각자의 행동 게이지를 채우다가 20에 닿은 쪽이 행동합니다. 한 바퀴는 이렇게 돕니다.
- 게이지 누적 — 파티와 적 전원의 게이지가 각자의 행동력만큼 늘어납니다. 상태이상의 남은 횟수도 이때 함께 1씩 줄어듭니다. 즉 상태이상의 지속은 행동 횟수가 아니라 이 누적 횟수로 셉니다.
- 행동할 쪽 고르기 — 게이지가 20 이상인 액터 중 게이지가 가장 큰 쪽입니다. 값이 같으면 나중에 검사된 쪽이 이기고, 적이 파티보다 나중에 검사됩니다.
- 행동 — 독에 걸려 있으면 행동에 들어가기 전에 독 피해부터 받습니다. 파티는 명령 입력을, 적은 AI가 고른 기술을 실행합니다.
- 20 차감 — 행동한 액터의 게이지에서 20을 빼고, 남은 값은 이월됩니다.
- 다시 2번으로 — 아직 20 이상인 액터가 남아 있으면 게이지를 더 채우지 않고 그 액터가 곧바로 이어서 행동합니다. 아무도 없을 때만 잠깐 쉬었다가 1번으로 돌아갑니다.
그래서 행동력이 40 이상인 적은 한 바퀴에 두 번 행동합니다. 그런 몬스터가 5종 있습니다. 적이 전투에 들어설 때 게이지는 0이 아니라 난수로 0~19 사이에서 출발하므로, 같은 구성이라도 누가 먼저 움직이는지는 전투마다 달라집니다.
행동력이 곧 빠르기입니다
게이지 증가량은 상태창에 있는 행동력(AP) 그 값입니다. 그리고 행동력은 레벨을 올려도 오르지 않습니다 — 원작의 레벨업 증가량 표에는 최대 HP·최대 MP·공격·방어 네 칸밖에 없습니다. 파티의 빠르기는 1레벨에 정해진 채로 끝까지 가고, 장비와 상태이상만이 그것을 흔듭니다.
파티 행동력
가장 빠른 몬스터
가장 느린 몬스터
몬스터 쪽 행동력도 같은 값이고, 개발 워크북이 부르는 이름도 AP로
같습니다. 같은 몬스터라도 레벨 변형끼리 다를 수 있어 이름마다 가장 빠른 기록을
실었습니다. 다만 복면남자만 상태창에 23으로 나오고 전투는 22로 씁니다. 원작이 이 칸을 두 벌 들고 있는 탓이며, 위 표는 상태창 값입니다.
게이지를 흔드는 것들
- 독 — 증가량이
×3/4로 줄어듭니다. 행동 순서가 밀리는 것과 HP가 깎이는 것을 함께 겪습니다. - 수면 · 마비 · 전투불능 — 증가량이 0이라 게이지가 아예 멈춥니다.
- 고장난 시계 — 증가량이
난수 % (행동력 × 2)가 됩니다. 평균은 거의 그대로인데 편차만 커지는 셈이라, "행동수치가 들쭉날쭉"이라는 원작 설명 그대로입니다. - 열받는 스카프 · 피의 방패 — 같은 처리에서 SG 카운터를 한 칸씩 더 올립니다. 기본이 한 바퀴에 1이니 둘 다 갖추면 3배입니다. 카운터 상한은 16이고, 스킬의 SG 소모 최대값도 정확히 16입니다.
세 장비는 이름이 아니라 아이템 번호로 걸립니다. 게이지를 채우는 처리가 그 번호 셋을 직접 물어보므로, 같은 효과의 다른 장비는 없습니다.
명중과 피해
공격 한 번은 명중 판정, 치명 판정, 피해 계산 순으로 끝납니다. 파티가 때릴 때와 적이 때릴 때가 서로 다른 식을 씁니다.
파티가 때릴 때
명중률 = clamp(90 + 방향 보정 − 적 방어 계열
+ 내 명중 계열 − 적 회피 계열, 40, 100)
난수 % 101 ≥ 명중률 → 빗나감
기본값 = max(0, (공격 계열 − 적 방어 계열) × 위력 / 200)
난수항 = (난수 % 20 + 90) × (위력 + 파워 계열 × 2) / 100
피해 = 상성 % × (난수항 + 기본값) / 100 × 칸 가중치 / 8
치명타면 ×2적이 때릴 때
명중률 = clamp(80 + 상태 보정 + 방향 보정
− 내 회피 계열 + 적 명중 계열, 10, 90)
난수 % 101 ≥ 명중률 → 빗나감
기본값 = 적 파워 계열 − 내 방어 계열 / 2
기본값 < 5 이면 난수 % 5 + 1
피해 = (난수 % 40 + (치명타면 30) + 40) × 기본값 / 100
× 상태 배율 / 100 × 상성 % / 100"계열"이라고 적은 항은 어느 능력치 칸을 읽는지가 아직 못 박히지 않은 자리입니다. 형태는 두 갈래가 같지만 파티 쪽 명중률은 40~100, 적 쪽은 10~90으로 잘려서, 같은 조건이면 파티가 더 자주 맞힙니다. 피해와 회복 수치는 마지막에 1,058,575에서 잘립니다.
등을 잡으면
공격자와 대상의 좌표 차이를 대상이 보고 있는 방향 기준으로 돌려서 0~4의 관계 값을 얻습니다. 정면이 0, 등 뒤가 4쪽입니다.
| 관계 | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| 명중 보정 | +0 | +8 | +15 | +23 | +30 |
| 피해 배율 | 100% | 110% | 120% | 135% | 150% |
속성 상성
공격과 대상의 속성 니블을 5×5 표로 맞춰 50%, 100%, 170% 중 하나를 씁니다. 네 속성이 고리처럼 물려 있어, 같은 상대에게
유리한 속성은 반대쪽 하나에 불리합니다.
반격은 별도의 3×5 표입니다. 같은 관계 값에서 위쪽 줄은 30~20%, 가운데는 20~10%, 아래쪽은 10~1%로, 등을 잡을수록 반격을 덜 맞습니다.
상태이상이 걸리는지는 난수 % 100 < 확률로 정합니다. 다만 공격하는
쪽에 행운의 행진이 걸려 있으면 기술이 가진 상태 대신 무엇이 걸릴지까지 무작위로 뽑습니다. 이미 걸려 있는 상태는 후보에서
빠집니다.
난수는 하나의 줄에서 나옵니다
난수는 곱셈 하나와 덧셈 하나로 다음 값을 만드는 고전적인 방식이고, 씨앗은 메모리 한 칸에 삽니다.
씨앗 = 씨앗 × 214013 + 2531011 난수 = (씨앗 >> 16) & 0x7FFF
첫 씨앗은 게임을 시작한 순간의 시스템 시간입니다. 같은 조작을 같은 순서로 반복해도 전투 결과가 판마다 달라지는 이유입니다. 더 중요한 것은 이 줄이 하나뿐이라는 점입니다. 명중·치명·상태이상·드롭 판정만 쓰는 게 아니라 NPC가 몇 칸 걸을지, 파편이 어디로 튈지, 화면 전환의 흩뿌림까지 같은 줄에서 차례로 뽑아 씁니다. 앞에서 연출이 난수를 몇 개 썼는지가 다음 판정을 그대로 밀어 놓습니다.
이벤트 스크립트가 쓰는 난수만 이것과 다른 두 번째 줄이고, 전투 판정과 섞이지 않습니다.
전투가 끝나면
쓰러뜨린 몬스터의 경험치와 돈을 모두 더한 다음, 두 합계에 각각 × 145 / 100을 합니다. 몬스터 페이지의 숫자가 그대로 들어오는 값이
아니라는 뜻입니다. 드롭은 같은 자리에서 몬스터마다 따로 굴리며 난수 % 1000 < 드롭 확률이라, 확률은 1000분율이고 1000이면
확정입니다.
상태이상과 방어 장비
지속 수치는 원작 상태 갱신의 기본 카운트입니다. 실제 해제 시점은 부여·갱신 순서에 따라 달라질 수 있습니다. 무엇을 걸 수 있는지는 공격 플래그의 8~12비트가 정합니다.아군 스킬에는 그 비트가 하나도 없어, 상태이상을 거는 쪽은 무기와 몬스터 기술입니다.
독 · 기본 4회
독 피해 처리 시 현재 HP의 1/4을 잃고, 행동 게이지 증가량이 3/4로 줄어듭니다.
거는 몬스터 기술 




수면 · 기본 3회
행동할 수 없고 행동 게이지가 증가하지 않습니다.
거는 몬스터 기술 


침묵 · 기본 3회
몬스터의 일부 기술 선택을 제한합니다. 아군의 명령 제한은 같은 규칙으로 확인되지 않았습니다.
거는 무기 
거는 몬스터 기술 


마비 · 기본 2회
행동할 수 없고 행동 게이지가 증가하지 않습니다.
거는 무기 



거는 몬스터 기술 



저주 · 기본 3회
명중 보정이 10 감소합니다.
거는 몬스터 기술 

이로운 상태
같은 상태 워드의 위쪽 비트이고, 상태창도 같은 시트의 옆칸을 씁니다. 거는 쪽은 스킬의 연출 루틴 주소가 복원된 코어의 이름 붙은 핸들러와 일치하는 경우에만 적었습니다.
행운의 행진 0x2000
명중 보정이 10 늘어납니다. 저주의 반대쪽으로, 같은 두 비트를 함께 읽어 판정합니다.
거는 스킬 럭키 마치
데미지 가드 0x4000
상태창에 표시되는 자리는 확인했지만, 거는 쪽과 계산식은 해독된 코드에서 확인되지 않았습니다.
반사 0x8000
마찬가지로 표시 자리만 확인했습니다. 반격 처리의 반사 플래그는 이것과 다른 값입니다.
파워 삼바 0x10000
원작 설명은 "공격력을 올려준다"입니다. 증가폭은 해독된 코드에 드러나 있지 않습니다.
거는 스킬 파워 삼바
힙합 0x20000
원작 설명은 "불타는 힙합으로 몸을 지키자"입니다. 수치는 마찬가지로 확인되지 않았습니다.
거는 스킬 정열의 힙합
네 격투장
서주 격투장
접수 공간과 전투장이 서로 다른 맵입니다.
남주 격투장
접수 공간과 전투장이 서로 다른 맵입니다.
서쪽 마탑 비밀격투장
서쪽 마탑 7층의 숨겨진 입구로 연결됩니다. 조사 대상 타일은 (4, 17)입니다.
동쪽 마탑 비밀격투장
동쪽 마탑 6층의 숨겨진 입구로 연결됩니다. 조사 대상 타일은 (6, 22)입니다.
두 비밀격투장은 내부 맵을 공유하지만 입장 경로와 귀환 층이 다릅니다. 입구는 진행 상태와 지형 변화의 영향을 받습니다.





















































