장원필 포트폴리오포트폴리오 › 릴 오브 포춘

릴 오브 포춘 · 슬롯 머신 턴제 덱빌딩 로그라이크

릴 오브 포춘 전투 시스템 기획서

작성
원전: 전투 시스템 상세기획서 · 메타 진행 시스템 기획서(주도 작성 · 기획 2인 협업) · 작성: 장원필
PART 01

게임 개요

① 개요

01-1게임 소개

항목내용
제목릴 오브 포춘(Reel of Fortune)
장르로그라이크 + 덱빌딩
진행 방식1대 1 PvE 턴제 전투. 슬롯 머신을 돌려 행동 · 배율 · 부가효과를 무작위로 정한다
핵심 경험"내가 만든 돌림판 안에서 룰렛을 돌리는 재미" — 확률에 따라 결정되는 행동 방식을 가진 채로, 그 확률을 비트는 플레이를 통해 어려움을 헤쳐나가는 재미
타겟"쉽게 즐기는 슬레이 더 스파이어"를 목표로, 운에 맡기는 재미와 단순한 조작, 가벼운 덱빌딩을 좋아하는 플레이어
플랫폼 · 규모PC(빌드 완성) · 4인 팀(기획 2 · 프로그래머 1 · PM 겸 아트 1) · 개발 3주(순수 기획 1주 반)

01-2용어

일반적인 뜻과 다르게 쓰거나 뜻이 갈릴 수 있는 말

용어뜻
퍽열의 칸에 끼우는 조각. 행동 퍽 · 배율 퍽 · 부가효과 퍽
열슬롯 머신의 각 세로줄(행동 · 배율 · 부가효과로 나뉨)
행슬롯 머신의 각 가로줄(행동 1회 시의 퍽 한 묶음)
칸슬롯 머신에서 퍽 하나가 차지하는 자리
결과 칸멈췄을 때 결과가 되는 칸
효과퍽 · 아이템 · 적 의도 · 인카운터 선택지가 실행하는 동작과 그 양. 패시브 아이템만 정해진 발동 시점에 조건을 검사한 뒤 실행하고, 나머지는 쓰는 순간 바로 실행한다.
의도적이 다음에 할 행동
랭크퍽 · 아이템 · 적 스탯 · 처치 골드 · 상점 정가가 함께 쓰는 밸런스 척도. F~S까지 7단계로 구성되어 있으며, 랭크마다 기준값이 정해져 있다.
등급같은 종류의 퍽을 나누기 위한 표시법으로, 하급 · 중급 · 상급 단계로 분류. 랭크는 퍽마다 따로 정해진다(하급 F 또는 E · 중급 C 또는 B · 상급 A 또는 S).
토큰액티브 아이템을 발동하기 위해 필요한 자원. 턴마다 1씩 충전된다.
구간전체 맵을 10층 단위로 나눈 단위. 구간마다 등장하는 적의 범위가 정해진다.
PART 02

레퍼런스

② 레퍼런스

02-1슬레이 더 스파이어

슬레이 더 스파이어

슬레이 더 스파이어

항목내용
장르덱빌딩 로그라이크
사이클지도에서 갈림길 중 하나를 골라 전투, 이벤트, 상점 등을 들르며 탑을 오른다.
전투턴제로 이루어져 있으며, 매 턴 주어지는 에너지를 이용하여 적 의도에 대응하며 카드를 사용한다.
성장전투 보상으로 카드를 더하고, 상점 · 이벤트에서 카드를 빼며, 휴식처 · 이벤트에서 카드를 강화한다. 추가로 유물을 통해 다양한 패시브 효과를 얻을 수 있다.

02-2레퍼런스 참고 내역

구분슬레이 더 스파이어릴 오브 포춘
가져온 것턴제 전투적과 번갈아 행동한다.
가져온 것적 의도 예고적의 의도에 맞는 대응을 할 수 있도록 적의 다음 행동을 미리 보여 준다.
변경한 것덱빌딩 요소덱 대신 슬롯 머신 열의 퍽을 더하거나 바꾼다. 열에 무엇을 넣을지(확률 분포)를 설계한다.
버린 것에너지 · 손패 운영난이도를 낮추고 전투의 템포를 높인다.

02-3슬롯 머신(실물)

슬롯 머신(실물)

슬롯 머신(실물)

가져온 것적용 방식
작동 방식열마다 따로 돌다가 무작위 문양이 가운데에 멈추는 작동 방식을 그대로 가져왔다.
잭팟 · 당첨같은 그림이 한 줄로 늘어서는 당첨은 아이템 효과로 따로 넣었다(일정 확률로 큰 이득을 주는 잭팟).

02-4다키스트 던전

구분다키스트 던전릴 오브 포춘
가져온 것죽음의 문턱체력 0에서 죽음을 확률로 유예한다.
변경한 것지속 상태체력이 0이 되는 순간 한 번 확률 판정하고, 성공하면 최대 체력의 30%로 부활한다. 확률은 전투마다 처음으로 돌아간다.
PART 03

콘텐츠

③ 콘텐츠

03-1콘텐츠 플로우

메인 화면(로비) 시작 · 이어 하기 매 층 되풀이 전투 · 인카운터 갈림길에서 고른 노드 보상 · 편집 골드 · 퍽 · 아이템 등반 다음 층 갈림길을 고른다 다음 층으로 정해진 주기마다 10 · 30 · 50층 상점 구매 · 업그레이드 · 도파민 딜 골드를 성장으로 바꾸는 자리 보스 보스 전용 의도를 쓰는 강한 적 구간 끝의 관문 최종 보스 클리어 게임 클리어 엔딩 · 크레딧

그림 · 콘텐츠 플로우

03-2전투

전투의 종류

종류나오는 적보상
일반 적그 구간의 적골드 + 확률 드롭. 노드가 골드형이면 골드 2배, 퍽형이면 퍽 1개 확정, 아이템형이면 아이템 1개 확정
엘리트다음 구간의 적골드 + 퍽 1개와 아이템 1개 확정 드롭
보스10 · 30 · 50층(1 · 3 · 5구간의 마지막 층)의 정해진 보스엘리트와 같은 보상 + 특수 보상(「보스」). 50층 최종 보스는 보상 대신 게임 클리어

전투의 경험

경험순간느끼게 하려는 것
의도를 읽고 대비한다적의 예고「정답」이 보이는 상태에서 행동한다 — 아이템을 사용할 타이밍을 정할 수 있고, 무엇이 당첨이고 무엇이 꽝인지 인지한 상태로 돌리게 되어 긴장감을 형성한다.
단순한 조작입력 대기(진행 버튼 한 번)아이템 사용 타이밍을 제외하고는 부담 없이 슬롯 머신을 돌리는 데만 집중할 수 있다.
돌리면서 느끼는 긴장감돌리기매 열이 한 축을 담당하고 있어 하나가 맞아도 나머지가 잘 맞춰지는 걸 기다려야 하기 때문에 긴장감을 유지할 수 있다.
확률을 마음대로 조정하는 정복감덱빌딩자신이 마음에 드는 방식으로 덱 방향성을 정할 수 있다. 고점과 저점이 확실한 덱, 저점을 보장하는 덱, 물리/마법 공격을 메인으로 한 덱 등 어느 칸에 어떤 퍽을 배치하느냐에 따라 덱의 정체성이 바뀌며, 원하는 대로 덱이 완성되었을 때 정복감을 느낄 수 있다.

03-3보스

일반 전투와 다른 점

항목기획 의도
보스 전용 의도(예고)일반 적과는 다른 고유한 의도로 기존 리소스를 최대한 재사용하면서도 다른 전투의 경험을 만들기 위함
높은 기본 스탯소위 말하는 당첨이 되어도 한 방에 깨는 경우를 방지함으로 보스의 전투 경험을 온전히 전달하기 위함
특수 보상슬롯 머신의 추가 기능을 해금시켜줌으로서 단계적 학습과 폭발적 성장을 동시에 이루게 하여 플레이 시의 리듬감을 유지하기 위함
최대 체력 증가다른 기본 스탯과 다르게 아이템으로 상승할 여지가 거의 없고, 적의 스탯은 구간마다 계속 오르므로 플레이어에게 강한 적들을 상대할 기반을 제공하기 위함

보스 종류

보스체력(기준값)공격력(기준값)방어력(기준값)보스 전용 의도(첫 턴)특수 보상
10층 보스 · 치킨 게이머150(D)15(D)8(F)치킨 게임 — 전투가 끝날 때까지 적과 플레이어 모두 회복 · 방어가 불가능해진다.부가효과 열 해금(2 → 3열)
30층 보스 · 광기어린 삐에로650(B)34(B)62(B)뒤죽박죽 — 전투 동안 플레이어 스탯 4종(물리 공격력 · 마법 공격력 · 방어력 · 회복량)의 기본값을 무작위 값으로 바꾸고, 보유 퍽을 같은 퍽의 다른 등급으로 바꿔 열 안에서 섞는다2라인(2줄로 확장 · 열당 7칸 · 새 퍽 6개 제공)
50층 보스 · 균형의 수호자650(B)78(S)145(S)규칙역행 — 전투 동안 적이 한 번에 받는 피해가 50을 넘지 않는다X (승리 시 게임 클리어)
PART 04

전체 설계

④ 전체 설계

04-1전체 구조

한 판의 흐름 매 층 되풀이 갈림길 노드 후보 5개 중 무작위 2개 노드 진행 전투 · 인카운터 · 상점 보상 판정 · 팝업 드롭 · 획득/분해 편집 반영 덮어쓰기 · 교체 다음 층 직접 눌러 진입 게임 클리어 최종 보스 처치 패배 캐릭터 사망 보스 층 — 10 · 30 · 50층 상점 층 — 7층마다 상점 하나 전투 시스템 이 문서 05 전투 시작 06 입력 대기 07 돌리기와 결과 08 효과 시스템 09 쌍방 행동 10 죽음의 문턱 11 턴 종료와 전투 종료 전투가 쓰는 시트 13장 puck (퍽) item_active (액티브 아이템) item_passive (패시브 아이템) intent (적 의도) effect (동작) stat_catalog (수치 항목) code (값 목록) enemy (적) enemy_ai (적 AI 세트) grade_base (랭크별 기준값) enemy_roll (굴림 비율 · 보상 확률) player (시작 상태) battle_setting (전투 설정) 메타 시스템 랭크와 등급 · 등반과 층 생성 전투 보상 · 퍽 편집과 머신 성장 상점 · 인카운터 게임 흐름과 저장 · 설정과 조작 메타 전용 시트 6장 floor_set (층 구간) floor_pool (구간별 출현 적) shop (상점 설정) shop_weight (상점 랭크 가중치) encounter (인카운터) encounter_option (인카운터 선택지) 데이터 — CSV 시트 19장

그림 · 게임 흐름과 전체 데이터 구조도

04-2설계 원칙

설계 원칙과 근거(「등반」 = 층을 하나씩 오르는 한 판의 진행 · 「운의 관리」 = 운을 없애지 않고, 운에 맡길지 대가를 치르고 확실한 쪽을 고를지 플레이어가 정하게 하는 일)

번호원칙근거
P1한 턴은 한 번의 돌리기로 정해진다. 개입은 누르기 전에 건다(액티브 사용 · 리롤 걸기). 결과를 본 뒤에 할 수 있는 것은 걸어 둔 리롤로 열을 다시 돌리는 것뿐이고, 조작을 늘리는 요소는 두지 않는다타겟(01) · 돌리면서 느끼는 긴장감(03 「전투」)
P2본 것은 그대로 일어나고, 일어난 것은 보인다. 적의 예고 · 발동 시점 · 피해 적용 순서는 도중에 바뀌지 않는다. 멈춘 열 결과는 걸어 둔 리롤로 다시 돌리거나 결과 퍽 등급을 올리는 효과로만 바뀌고, 적의 의도는 플레이어가 액티브로 바꿀 때만 바뀐다. 체력 변화 · 막힌 효과 · 인카운터 결과는 화면에 남긴다돌리면서 느끼는 긴장감(03 「전투」)
P3플레이어가 먼저 움직이고 적은 예고한 대로 받아친다. 이번 돌리기로 쓰러뜨리면 반격이 없고, 못 쓰러뜨리면 예고된 공격을 그대로 받는다. 적의 방어만 플레이어보다 먼저 일어난다돌리면서 느끼는 긴장감(03 「전투」) · 전투(03)
P4좋은 결과는 여러 열이 한꺼번에 좋은 칸에 멈추기 어렵다는 데서 나온다. 칸의 확률은 균등하고 퍽마다 가중치가 없어, 확률을 움직이는 것은 칸에 무엇을 넣는가와 아이템 효과(리롤 · 최고 계보로 변환 등)뿐이다. 잭팟은 열 추첨과 따로 판정한다돌리면서 느끼는 긴장감(03 「전투」) · 확률을 마음대로 조정하는 정복감(03 「전투」)
P5성장은 퍽 구성 · 슬롯 머신 크기 · 아이템 · 보스 처치 때 오르는 최대 체력과 일부 인카운터의 기본 스탯 변화로 쌓인다. 레벨은 없다. 슬롯 머신은 보스 보상으로만 두 번 커진다(부가효과 열 해금 · 2라인)확률을 마음대로 조정하는 정복감(03 「전투」) · 등반 · 보스(03)
P7개입은 운을 대체하지 않고 조절만 한다. 액티브 아이템과 죽음의 문턱이 최악의 운만 깎고, 스펙이 모자라면 정상적으로 진다운의 관리
P9같은 적도 만날 때마다 조금 다르다. 랭크는 기준값만 정하고, 적 스탯 · 처치 골드(기준값의 80%) · 상점 정가(품목 배율 적용)는 그 값에서 ±15%를 굴린다등반 · 전투(03)
P12효과는 한 문법으로 적는다. 퍽 · 아이템 · 적 의도 · 인카운터 선택지가 모두 동작 시트(effect) 한 장을 가리키고 양은 자기 행에 적는다. 효과 데이터 없이 코드가 처리하는 패시브 아이템과 보스 전용 의도는 예외로 동작 시트를 가리키지 않는다. 새 콘텐츠는 행을 더하는 일이고, 발동 시점은 정해진 목록으로만 늘린다플랫폼 · 규모(01)

04-3전투 화면

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
ppt_05_a

그림 · 입력 대기 화면

ppt_05_b

그림 · 리롤 선택 화면

ppt_05_e

그림 · 다음 전투 선택 화면

입력 대기 화면

번호요소보여 주는 것
1층 표시현재 층
2설정연출 속도, 음량 설정 및 게임 종료 버튼 표시
3플레이어 체력현재 / 최대 체력으로 표시
4적 의도적이 이번 턴에 할 행동과 수치
5적 체력현재 / 최대 체력으로 표시
6보유 퍽 패널현재 퍽 배치 확인
7골드소지한 골드
8스탯 4종물리 공격력 · 마법 공격력 · 방어력 · 회복량(장착 몫 포함)
9진행 버튼누르면 돌리기 시작. 인카운터 · 리롤 선택 · 다음 전투 선택 · 보상 팝업에서는 확정 · 닫기
10액티브 사용 버튼장착한 액티브 아이템 발동
11충전 게이지찬 토큰 / 상한 토큰
12액티브 아이템 칸장착한 액티브 아이템 1개
13패시브 칸장착한 패시브 아이템 2개

리롤 선택 화면

번호요소보여 주는 것
14슬롯 머신무작위로 멈춘 결과
15남은 리롤(리롤을 걸었을 때만 표시) 남은 리롤 횟수
16리롤 버튼행동 · 배율 · 부가효과 열마다 하나를 지정

다음 전투 선택 화면

번호요소보여 주는 것
17다음 전투 선택갈 수 있는 길을 표시

04-4한 턴의 순서

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
다음 턴 전투 시작패시브 적용 1 턴 시작 2 입력 대기 ★ 3 돌리기 ★ 되돌릴 수 없다 4 결과 공개 5 리롤 ★ 6 쌍방 행동 적용 7 턴 종료 전투 종료결과값 → 메타 A A 리롤을 걸어 두었고 잭팟이 아닌가 예 다시 돌릴 열을 고른 뒤 확정 아니오 건너뛴다(잭팟이면 횟수를 버린다) B B 적의 이번 의도가 방어인가 예 적이 먼저 방어값을 올린다 아니오 플레이어가 행동을 모두 마친 뒤 적이 행동 C C 체력 0이 된 쪽이 플레이어인가(액티브 사용 뒤 · 플레이어 행동 뒤 · 적 행동 뒤) 예 죽음의 문턱 아니오 그 자리에서 승리 · 반격 없음

그림 · 한 턴의 순서

04-5전투 데이터 구조

사용처 4 동작 1 · 목록 2 적 4 설정 2 puck39행 · 잭팟 퍽 포함 공용 item_active35행 공용 item_passive53행 공용 intent13행 · 보스 3 포함 effect81행 · 동작 한 행양 · 조건 없음 공용 stat_catalog56항목 · 코드에서 자동 생성 공용 code112행 · 값 목록 18묶음코드에서 자동 생성 공용 enemy53행 · 보스 3 포함 공용 enemy_ai53행 · 의도 최대 6개 grade_base7행 · 랭크별 기준값 공용 enemy_roll1행 · 굴림 비율 공용 player1행 · 시작 상태 공용 battle_setting1행 · 전투 규칙 공용 메타 전용 6장 메타 시스템 기획서 「데이터 구조」 floor_pool · floor_set shop · shop_weight encounter_option · encounter 화살표: 참조 칸이 가리키는 시트 공용: 메타 시스템 기획서도 쓰는 시트 상자 안 둘째 줄 숫자: CSV 데이터 행 수 점선: 메타 전용 시트가 가리키는 곳(구간별 출현 목록 → 적 · 상점 → 퍽 · 인카운터 선택지 → 동작) enum 칸은 모두 code를 가리키고, player → puck · item_active · item_passive(시작 퍽 · 시작 아이템) 화살표는 생략했다. enemy → grade_base는 참조 칸이 아니라 랭크 칸(hp_grade 등)의 값으로 찾는다.

그림 · 데이터 관계도

04-6효과 문법

사용처와 동작

퍽 · 액티브 · 패시브 · 적 의도 · 인카운터 선택지의 행(사용처)은 동작 시트(effect)의 한 행(동작)을 가리키고, 양은 자기 행에 적는다. 동작이 수치형이면 수치 항목을 바꾸고, 기능형이면 코드에 정해 둔 동작을 실행한다

사용처(동작을 가리키고 양을 적는 행) puck퍽(부가효과)effect_id · param실행 — 행동 적용 때 item_active액티브 아이템effect_N · value_N (N = 1~3)실행 — 입력 대기 중 사용 item_passive패시브 아이템effect_N · value_N (N = 1~3)실행 — timing 시점 intent적 의도effect_N · value_N (N = 1~4)실행 — 적 행동 때 encounter_option인카운터 선택지effect_N · value_N (N = 1~3)실행 — 선택 직후 동작 — 한 행 = 동작 하나 · 양 없음 effect82행effect_id (키)누구에게 actor무엇을 behavior · resource양의 기준 value_source성질 filter · counts · duration 동작 번호 동작이 가리키는 것 수치 항목56개어떤 수치를 어떻게 바꾸는가목록은 코드가 정함 기능형 동작 17종코드다시 돌리기 · 행동 반복 · 부활 …인자 개수 · 종류는 동작마다 정해 둠code.csv group = behavior code20묶음 117값값 목록 — enum 칸이 고르는 값group · key · code · name · desc효과가 쓰는 묶음actor · behaviorvalue_source · duration resource 수치형일 때 behavior 기능형일 때 enum 칸 · 동작은 effect 행에 · 양은 사용처 행에 적는다. 같은 동작 행을 여러 사용처가 함께 가리킨다(플레이어 아이템과 적 의도가 같은 행을 쓴다). · 수치형(behavior = numeric)은 resource가 고른 수치 항목을 바꾸고, 기능형은 behavior가 고른 코드 동작을 실행한다.

그림 · 사용처 · 동작 · 수치 항목 · 값 목록의 참조 관계

04-7전투 데이터와 메타 데이터

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
메타 한 판 · 세이브 전투 한 전투 메타 → 전투(전투 시작 때 1회)현재 · 최대 체력세이브슬롯 머신 구성 · 해금 상태세이브장착 아이템액티브 1 · 패시브 2스탯 4종세이브 기본값 + 장착 몫골드세이브패시브 충전 · 소모 상태세이브토큰세이브층 · 노드 · 적 정보구간별 출현 목록 → 적 시트노드 종류 · 보스 차수마지막 보스 여부 전투 → 메타(적 처치 때 1회 · 보상 판정용)처치한 적위험 랭크 · 보스 여부노드 종류굴린 처치 골드처치 골드 배율초과 피해 골드판정 밖 · 골드 줄 때 그대로 더함부가효과 열 해금 여부추가 보상 선택지 수장착 몫 + 처치 몫 체력 · 토큰 · 골드 · 패시브 충전 · 소모 상태는 세이브로 다음 전투에 이어진다 · 보상은 전투가 받는 데이터가 아니다

그림 · 전투 데이터와 메타 데이터의 구조도

PART 05

전투 시작

⑤ 전투 시스템

05-1전투 시작 순서

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
순서하는 일기획 의도
1받은 적 행으로 적 스프라이트를 걸고, 보스면 배경 · BGM을 바꾼다(「적 데이터」).
2상태를 초기화한다 — 장착 · 상시 효과(패시브 always)를 다시 계산하고 적 체력을 채운다.초기화하지 않았을 때 중복 계산 등의 오류를 방지하기 위함
3전투 시작 시 발동되는 battle_start 패시브를 발동한다(「패시브 발동」)항상 적용되는 패시브와 전투 시에만 적용되는 패시브가 구분되어 있다.
4적의 첫 의도를 예고한다.데이터를 모두 읽은 뒤 의도 세트(enemy_ai)로 첫 의도를 정한다. 보스의 첫 의도는 보스 전용 의도다(PART 06 「의도 표시」)
5턴 시작 상태로 이동한다.플레이어 입력 전에 모든 준비가 되어 있어야 하므로 전투 시작을 한 단계로 구분함.

05-2데이터 처리

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
항목을 나눈 기준

전투마다 새로 정하는 값은 초기화하고, 그 밖의 값은 메타에서 받은 그대로 쓴다.

초기화 항목

항목전투 시작 때 값
죽음의 문턱 기준 확률기본값(PART 10 죽음의 문턱)
지난 턴 상태(리롤 · 결과 고정 등)비움
전투 끝까지 잠긴 패시브(lock_until_battle_end)잠금 해제
액티브 골드 비용기본값
전투 동안만 붙는 효과(강화 · 약화 단계 · 받는 피해 감소 · 적 공격 무효 · 체력 상한 배율 · 차단류 · 방어값)모두 초기값
전투 동안 쌓이는 수치(잭팟 확률 등)0
적 체력최대
턴1턴

메타에서 받는 항목

항목가져오는 곳
현재 · 최대 체력세이브 · 새 게임은 player.max_hp
슬롯 머신 구성 · 해금 상태(부가효과 열 · 2라인)세이브 · 새 게임은 player.action_N · multiplier_N · additional_N
장착 아이템세이브의 아이템 번호 → item_active · item_passive 행 · 새 게임은 player.active_item_id · passive_item_N
스탯 4종세이브의 기본 스탯 + 장착 몫(PART 09 「행동 계산」) · 새 게임은 player 네 칸
골드세이브 · 새 게임은 player.gold
패시브 충전 · 소모 상태세이브
토큰세이브
층 · 노드 · 적 정보받은 적 행 → enemy_ai · grade_base · enemy_roll · 노드 종류 · 보스 차수 · 마지막 보스 여부

05-3패시브 발동

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
시점이 맞고 준비됐나발동 조건을 채웠나순서대로 효과 발동예예아니오건너뜀아니오건너뜀 · 충전은 그대로준비 = 소모 안 됨 · 잠기지 않음 · 충전이 참일회용인 경우슬롯을 비움전투당 1번일 경우효과를 비활성화함

그림 · 패시브 효과 발동 방식

13

그림 · 입력 대기 화면

요소규칙
13 패시브 칸2칸 · 아이콘만. 빈 칸은 그림을 끈다. 마우스를 올리면 설명 패널. 같은 패시브 두 개를 장착할 수 있다. 충전 진행 · 전투 끝까지 잠김 · 발동 순간은 칸에 표시하지 않는다
충전charge_actions가 있으면 턴마다 플레이어 행동(두 줄 · "한 번 더")이 모두 끝나면 +1. 전투를 넘어 이어지고, 전투 시작 때는 잠금만 푼다. token_charged 시점은 충전이 막 찬 순간 activate_when_charged인 패시브만 쓴다
코드 고정 패시브효과 칸이 하나도 없는 패시브는 허용 목록에 있는 것만 받고, timing 칸과 관계없이 코드가 처리한다
패시브timing에 발동. charge_actions만큼 턴이 쌓여야 발동(턴마다 플레이어 행동이 모두 끝나면 +1 · 0이면 충전 없음) · activate_when_charged · consume_on_use(발동한 뒤 사라짐) · lock_until_battle_end(한 전투에 한 번만 발동)
조건condition_type(action_is · hp_below · hp_above · battle_won) + condition_value 두 칸. 비면 항상. battle_won은 battle_end에서 이겼을 때만 발동하고 값 칸을 비운다
상시(always)장착 · 해제 · 복원 · 전투 시작 · 전투 끝 · 플레이어 수치 변화 때 다시 계산. 전투 밖 상점 · 보상에도 적용
새 시점은 값 목록 timing 끝에만 추가한다. 번호는 유지하고 삭제된 0 instant는 비운다

발동 시점별 timing 키

시점 · 조건timing 키
상시always 0
전투 시작battle_start 1
턴 시작turn_start 2
행동 적용 직전 / 직후(행마다 적용)before_action 3 · after_action 4
피해 입힌 직후(타격마다 적용) / 피해 입은 직후after_hit 5 · after_hurt 6
방어로 피해를 경감한 직후after_block 7
플레이어 회복 시 / 적 회복 시player_heal 8 · enemy_heal 9
패시브가 충전된(charge_actions) 순간token_charged 10
죽음의 문턱(PART 10) 판정 실패 시death_threshold 11
전투 종료(승리 때만 · 패배면 무시)battle_end 12

05-4시작 상태

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료 player

player.csv의 용도와 역할

구분내용
용도새 게임의 시작 상태를 한 행으로 정리한다. 체력 · 스탯 4종 · 골드 · 시작 시 기본 퍽 · 기본 장착 아이템을 담는다.
새 게임새 게임을 시작할 때 한 번만 읽어 첫 세이브를 만든다.
참조시작 퍽은 puck, 시작 아이템은 item_active · item_passive의 행을 참조한다(PART 06 「액티브와 토큰」 · PART 07 「데이터 구조」 · 「패시브 데이터」).

player.csv 칸(시작 상태 설정 · 키 칸 없음)

칸값 형식설명범위
max_hpint시작 최대 체력1 이상
physical_attackint시작 물리 공격력0 이상
magical_attackint시작 마법 공격력0 이상
defenceint시작 방어력0 이상
heal_amountint시작 회복량0 이상
goldint시작 골드0 이상
multiplier_Nref:puck배율 열의 기본 퍽 5칸N = 1~5 · 필수 · multiplier만
additional_Nref:puck부가효과 열의 기본 퍽 5칸N = 1~5 · 필수 · additional_effect만
action_Nref:puck행동 열의 기본 퍽 5칸N = 1~5 · 필수 · puck_type 행동 4종만
active_item_idref:item_active기본 액티브 아이템빈 값 = 없음
passive_item_Nref:item_passive기본 패시브 아이템N = 1~2 · 빈 값 = 없음 · 중복 거부

05-5적 데이터

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료 enemy

enemy.csv의 용도와 역할

구분내용
용도적 한 종류를 한 행으로 정리한다. 이름 · 일반/보스 구분 · 체력 · 공격력 · 방어력 · 위험 랭크 · 의도 세트 · 연출(외형 · 공격 효과음 · 공격 애니메이션 · 보스전 배경 · BGM)을 담는다.
적 생성전투 시작 전 풀에 등록된 적 ID를 불러와 적을 생성한다.
수치적 스탯을 만들 때 hp_grade · attack_grade · defense_grade가 가리키는 기준값에서 ±stat_variance%(지금 15%)를 고르게 굴린다(소수 그대로 · 화면에는 반올림한 정수). 동일한 적이라도 어느 정도 다른 전투 경험을 만들기 위함이다. 체력은 1, 공격력 · 방어력은 0 밑으로 내려가지 않는다.
보스용 의도컬럼 중boss_intent_id은 첫 턴의 보스 전용 의도를 가져온다(PART 06 「의도 표시」).

enemy.csv 칸

칸값 형식설명범위
enemy_id (키)int적의 고유 번호1 이상
namestring적의 이름1~14자
enemy_typeenum:enemy_type일반 · 보스 구분. 엘리트 값은 없다normal · boss
hp_gradeenum:rarity체력 랭크. 이 랭크의 grade_base.stat_hp를 기준값으로 쓴다f ~ s
attack_gradeenum:rarity공격력 랭크. 이 랭크의 stat_attack을 기준값으로 쓴다f ~ s
defense_gradeenum:rarity방어력 랭크. 이 랭크의 stat_defense를 기준값으로 쓴다f ~ s
danger_gradeenum:rarity위험 랭크. 처치 골드의 기준값(stat_gold_reward)과 드롭 랭크를 정한다f ~ s
set_idref:enemy_ai이 적이 쓰는 의도 세트. 여러 적이 한 세트를 공유할 수 있다필수
boss_intent_idref:intent보스가 첫 턴에 무조건 쓰는 보스 전용 의도boss면 필수 · 그 외 빈 값
visualpath외형 스프라이트. 임포터가 그림으로 풀어 적 데이터에 연결한다Assets 기준 상대경로
attack_soundpath공격 효과음 파일빈 값 불허 · 파일이 없으면 거부
attack_animenum:attack_anim공격 애니메이션 종류slash · arrow · magic · punch · chomp · scrape
stage_backgroundpath이 보스와 싸우는 동안 쓸 배경boss만 채움 · 그 외 빈 값
stage_bgmpath이 보스와 싸우는 동안 쓸 BGMboss만 채움 · 그 외 빈 값

enemy.csv 예시 행

enemy_idnameenemy_typehp_gradeattack_gradedefense_gradedanger_gradeset_idboss_intent_id
104고블린normalfeee104
201정예 고블린normaledfd201
9901치킨 게이머bossddfe990111

05-6패시브 데이터

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료 item_passive

item_passive.csv 칸

칸값 형식설명범위
item_id (키)int아이템 번호비거나 겹치면 거부(데이터는 1부터)
namestring아이템 이름1~14자
descstring툴팁 설명문0~130자
rarityenum:rarity아이템 랭크f ~ s
iconpath목록과 팝업 그림(경로#조각 이름)Assets 기준 상대경로
charge_actionsint발동까지 필요한 턴 수(턴마다 플레이어 행동이 모두 끝나면 +1 · 발동하면 0으로)0 이상 · 0이면 충전 없음
activate_when_chargedbool충전이 찬 순간(token_charged) 저절로 발동하는가필수(true · false)
consume_on_usebool발동한 뒤 사라지는가필수(true · false)
lock_until_battle_endbool한 전투에 한 번만 발동하는가필수(true · false)
timingenum:timing언제 발동하는가. 이 아이템의 효과 전부가 이 시점필수 · 13값 · instant 불허
condition_typeenum:condition_type발동 조건의 종류. 비면 항상action_is · hp_below · hp_above · battle_won(timing battle_end에서만) · 빈 값
condition_valueint조건 값. action_is면 puck_type 행동 4종의 번호, hp_*면 체력 %condition_type이 있을 때 필수(battle_won은 빈 값) · action_is 0~3 · hp_* 1~100
effect_Nref:effect실행할 동작N = 1~3 · 효과 0건은 허용 목록에 있는 행만
value_Nfloat그 동작의 N번째 인자item_active.value_N과 같음

item_passive.csv 예시 행(설명 · 그림 · 둘째 이후 효과 칸 뺌)

item_idnameraritycharge_actionsactivate_when_chargedconsume_on_uselock_until_battle_endtimingcondition_typecondition_valueeffect_1value_1
16용사 보험 증서a0falsetruefalsedeath_threshold4350
22치유의 손길d0falsefalsefalsealwayshp_below504630
49불멸자의 가호s0falsefalsetruedeath_threshold581

패시브 아이템 「근력의 장갑」의 토큰 충전

item_passive

28 근력의 장갑

timingafter_actioncondition_typeaction_iscondition_value0effect_147value_11

행동을 적용한 직후, 그 행동이 물리 공격(0)이면 47번 동작(액티브 토큰 · 1회)을 양 1로 실행한다

▶

effect

47 액티브 토큰 · 1회

behaviornumericresource33counts1

33번 수치 항목(액티브 토큰 더하기)을 바꾼다. 충전형이라 counts 1은 턴당 1회

결과물리 공격 행동을 한 턴에는 기본 충전 1(돌리기를 한 턴)에 더해 토큰이 1 더 찬다(한 턴에 한 번)

PART 06

입력 대기

⑤ 전투 시스템

06-1의도 표시

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료 intent enemy_ai
spot_06_intent

그림 · 입력 대기 화면의 적 의도

요소규칙
표시 형식의도 이름 + 수치(반올림). 수치는 동작이 체력 · 방어 · 회복이고 0보다 클 때만 추가된다. 적 스탯이 바뀌면 다시 계산한다.
표시 구간턴 종료 때 다음 의도 표시 → 적이 행동할 때까지 유지 → 적 행동 직후 비움 → 턴 종료 때 새 의도 표시 순으로 적용한다.

의도

항목규칙
의도적이 다음 턴에 할 일. 의도 한 행이 동작(effect_N) 1~4개와 값(value_N)을 갖고, 수행할 때 차례대로 실행한다.
고유 능력별도 특수 능력 시스템 없이 의도로 표현한다. 보스의 고유 능력도 보스 전용 의도다.
분류(kind)의도 분류용 컬럼이며, 이 값으로 의도를 다룬다. '강한 공격'과 '일반 공격' 등 효과의 종류가 똑같은 다른 의도들을 이 컬럼으로 분류한다.
0 · 7다음 의도 정하기1예고 표시2~5입력 대기 ~ 리롤6쌍방 행동보스의 첫 턴인가예보스 전용 의도로 고정boss_intent_idAI 세트에서 추첨아니오체력이 기준 체력(low_hp) 이하인가예낮음 상태 가중치로 계산한다낮음 상태 가중치가 빈 칸이면 평소 값기본 가중치로 계산한다아니오지금 걸 수 없는 의도는 후보에서 뺀다의도 이름 + 수치를 적 위에 띄운다수치는 체력 · 방어 · 회복 의도만플레이어 효과로 의도가 바뀌었나예공격 · 방어만 바뀌고 곧바로 다시 예고예고대로 유지아니오방어 의도인가예플레이어 행동 전에 방어값 적용플레이어 행동 뒤 수행아니오수행 뒤 표시를 비운다7 턴 종료 때 다음 의도(전투가 이어질 때만)

그림 · 적 의도가 정해지고 예고 · 수행되는 차례

intent.csv 칸

칸값 형식설명범위
intent_id (키)int의도 번호1 이상
namestring예고에 뜨는 이름1~10자
kindenum:intent_kind의도 분류(위 「분류」)13종 중 하나
scopeenum:intent_scope누가 쓰는 의도인가normal · boss
visualenum:intent_visual적이 의도대로 행동할 때의 연출 묶음필수 · enemy_buff · enemy_debuff · player_debuff · none · enemy_and_player_debuff
effect_Nref:effect실행할 동작. N은 실행 순서N = 1~4 · 앞에서부터 · 보스 전용 의도는 효과 0건 허용
value_NfloatN번째 동작의 값실수형 · 안 쓰면 빈 값

intent.csv 예시 행(둘째 이후 효과 칸 뺌)

intent_idnamekindscopevisualeffect_1value_1
1공격attacknormalnone62100
6약화attack_weakennormalplayer_debuff671
11치킨 게임boss_chicken_gamebossenemy_and_player_debuff

의도 목록(intent.csv 10종)

의도지속하는 일
공격즉시공격력의 (수치)% 만큼 피해를 입힌다.
방어그 턴플레이어가 행동하기 전에 방어력의 (수치)%만큼 방어값을 올린다.
회복즉시(수치)만큼 회복한다.
공격 효율 증가전투 동안적 물리 공격 강화 단계 +1(단계 1 · 2 · 3 = 20 · 40 · 50%)
방어 효율 증가전투 동안적 방어 강화 단계 +1(단계 1 · 2 · 3 = 20 · 40 · 50%)
약화전투 동안플레이어 물리 공격 약화 단계 +1
회복 금지전투 끝까지플레이어의 회복 금지
부가효과 무효그 턴발동한 턴에 플레이어의 부가효과 퍽을 계산하지 않는다.
퍽 약화전투 동안무작위 플레이어 퍽 하나의 등급을 1 내린다. 만약 해당 퍽이 이미 최하 등급이면 다시 고른다.
퍽 변화전투 동안무작위 플레이어 퍽 하나를 같은 종류의 다른 퍽으로 바꾼다.

적 AI

항목규칙
AI 세트적마다 AI 세트(enemy_ai) 하나를 쓴다(enemy.set_id). 세트에는 쓸 의도 최대 6개와 의도별 가중치가 있어, 같은 의도 세트를 가진 적이라도 자주 하는 행동이 다르다.
의도 고르기턴 종료 때 세트의 의도 중 하나를 추첨해 다음 턴 의도로 정한다. 해당 턴에 의미가 없는 행동은 후보에서 제외한다. 예) 체력이 가득 찼을 때에는 회복하지 않음
체력이 낮을 때세트에 기준 체력(low_hp %)이 있으면, 체력이 그 이하로 내려간 뒤부터 낮음 상태 가중치(low_weight_N)로 추첨한다. 예: 기준 30%에 회복 가중치를 평소 0 · 낮음 12로 두면 체력이 낮을 때만 회복을 사용한다.
보스첫 턴은 보스 전용 의도(enemy.boss_intent_id)로 고정하고 전투 시작 때 예고한다(PART 05 「전투 시작 순서」 4). 둘째 턴부터는 세트에서 추첨한다.
수행쌍방 행동 단계에서 정해진 의도대로 행동한다(PART 09 「쌍방 행동 순서」). 방어와 부가효과 무효는 플레이어 행동 전에 먼저 적용된다.

enemy_ai.csv 칸

칸값 형식설명범위
set_id (키)int세트 번호1 이상
namestring세트 이름("광전사형")1~30자
low_hpfloat기준 체력 %. 체력이 이 값 이하면 low_weight_N을 사용한다1 이상 100 미만 · 빈 값 = 없음 · low_weight_N과 함께 써야 함
intent_Nref:intent이 세트가 쓰는 의도. N은 세트 안 순번N = 1~6 · 앞에서부터 · 보스 의도 거부
weight_Nint그 의도의 평소 가중치0 이상 · intent_N이 있으면 필수
low_weight_Nint체력이 기준 체력 이하일 때의 가중치0 이상 · 빈 값 = 평소 가중치 그대로

enemy_ai.csv 예시 행(넷째 이후부터 생략)

set_idnamelow_hpintent_1weight_1low_weight_1intent_2weight_2low_weight_2intent_3weight_3low_weight_3
101해골 병사112212
104고블린1626612

고블린의 다음 턴 의도

enemy

고블린

enemy_typenormalset_id104

일반 적. 고블린 AI를 사용한다

▶

enemy_ai

고블린

intent_11weight_16intent_22weight_26intent_36weight_312

공격 6 · 방어 6 · 약화 12로 한 번 추첨. low_hp가 비어있어 체력과 상관없이 이 가중치를 적용한다.

▶

intent

6 약화

kindattack_weakeneffect_167value_11

행동 때 물리 공격을 1단계 약화시킨다.

결과매 턴 공격 25% · 방어 25% · 약화 50%. 약화가 나오면 플레이어 물리 공격력이 전투 동안 20% 줄고(단계 규칙은 PART 09 「행동 계산」), 이미 최대 단계면 약화는 추첨에서 빠진다

06-2액티브와 토큰

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
101112

그림 · 입력 대기 화면

요소규칙
10 액티브 사용 버튼누를 수 없을 때는 버튼이 어두워진다. 쓴 액티브의 연출과 승패 판정이 끝날 때까지는 버튼이 비활성화된다. 상점 안에서는 「상점 나가기」 버튼이 된다.
11 충전 게이지현재 토큰 / 상한. 막대만 있고 숫자는 없다. 발동할 만큼 차면 막대 색이 바뀐다. 커서를 올리면 토큰 수 혹은 소모 골드량이 표시된다.
12 액티브 아이템 칸커서를 올리면 설명 패널이 등장하여 종류 · 이름 · 랭크 · 설명이 표시된다.
토큰돌리기 1회 당 토큰이 1개 충전된다. 아이템 최초 획득 시 토큰이 전부 충전되어 있다.
2입력 대기 · ⑩ 누르기7턴 종료 · 전투 종료골드형골드를 cost만큼 소모하여 사용한다active_type = gold축적형토큰이 1개 이상일 때 모든 토큰을 소모하여 사용한다active_type = stack토큰형토큰이 cost만큼 찼을 때 사용한다active_type = token사용 조건을 만족했는가설정한 토큰/골드만큼 차감effect_N을 순서대로 실행승패 판정예아니오버튼 비활성화 상태 유지이 턴 몫 토큰 +1상한치 이상으로 쌓였는가예넘는 몫은 버린다그대로 쌓인다아니오다음 턴 입력 대기로(전투가 이어질 때만)

그림 · 액티브 사용과 토큰 충전

06-3데이터 구조

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료 item_active

item_active.csv 칸

칸값 형식설명범위
item_id (키)int아이템 번호1 이상
namestring아이템 이름1~14자
descstring툴팁 설명문0~130자
rarityenum:rarity아이템 랭크f ~ s
active_typeenum:active_type비용을 내는 방식token · stack · gold
costint토큰형 = 토큰 비용 · 축적형 = 쌓을 수 있는 최대 토큰 · 골드형 = 내는 골드. 쓰기 전에 골드 · 의도 변경 · 적 생존을 검사해, 하나라도 안 되면 아무것도 실행하지 않고 비용도 내지 않는다. 통과하면 비용을 먼저 내고 효과를 끝까지 실행한다1 이상 · 토큰형 · 축적형은 99 이하
effect_Nref:effect실행할 동작. N은 실행 순서N = 1~3 · 앞에서부터 · 중간이 비면 거부 · 효과 0건 거부
value_NfloatN번째 동작의 인자출처가 있으면 0 이상(100 초과 허용 · 음수 허용 항목 제외) · 안 쓰면 빈 값
iconpath아이콘 경로 지정Assets 기준 경로

item_active.csv 예시 행(설명 · 그림 칸 뺌)

item_idnamerarityactive_typecosteffect_1value_1effect_2value_2effect_3value_3
2초급 정비도구ctoken5101
11이중 가챠dgold101710
16악마의 동전dtoken5192012402040
PART 07

돌리기와 결과

⑤ 전투 시스템

07-1슬롯머신

열담당시작 상태퍽이 정하는 것
행동 열무엇을 할지 — 물리 공격 · 마법 공격 · 방어 · 회복처음부터 열림puck_type 행동 4종과 기본 수치 param
배율 열그 행동을 몇 배로 키울지처음부터 열림배율 param ×0.5~×5 — 1 미만(꽝)도 있다
부가효과 열행동에 덧붙는 특수 효과새 게임 시작 때 잠김 — 첫째 보스 처치로 해금동작 effect_id 하나와 그 양 param
칸 수열마다 5칸이고 칸마다 멈출 확률이 같다(2라인 해금 뒤 열마다 7칸 · 두 줄)
행동 수치(행동 퍽의 기본 수치 + 그 행동에 더하는 스탯) × 배율. 부가효과 퍽이 그 위에 효과를 더한다
① 기본

① 기본

② 3열 개방

② 3열 개방

③ 2행 개방

③ 2행 개방

그림 · 머신이 가질 수 있는 상태(실제 화면)

머신이 가질 수 있는 상태

상태화면
① 기본행동 퍽과 배율 퍽만 존재하며, 세 번째 열은 비어있다. 각 열마다 5개의 퍽을 넣을 수 있다.
② 3열 개방부가효과 열이 해방되어 행동에 반영된다(메타 시스템 기획서 「퍽 편집과 머신 성장」).
③ 2행 개방머신 틀이 두 줄짜리(2 × 3)로 바뀌고 슬롯머신이 확장된 이미지로 출력되며, 행동이 총 2번 실시된다. 각 열마다 넣을 수 있는 퍽이 7개로 늘어나고, 빈 칸은 임의의 퍽이 지급되어 채워진다.
해금 순서: 보스 처치 횟수를 트리거로 순차적으로 해금한다. 최종 보스는 클리어 = 게임 클리어이므로 무시한다.

07-2확률과 작동

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
규칙설명
시작 구성시작 퍽은 player.csv(PART 05 「시작 상태」)에서 조절하여 추후 다른 캐릭터가 추가되었을 때 개성적으로 조합을 구성할 수 있도록 한다.
입력 방법자기 턴 때 돌리기 버튼을 눌러 슬롯머신을 돌릴 수 있다.
독립 시행각 열마다 돌리기가 각각 시행되는 방식으로 작동한다.
무작위매 칸이 등장할 확률은 일정하며, 보정치가 적용되지 않는다.
편집퍽은 전투 밖에서 같은 종류 열에 덮어쓰기로만 바꾼다. 전투 중 적 행동이 바꾼 퍽은 전투가 끝나면 되돌아간다

07-3누르기에서 결과 확정까지

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
9141516

그림 · 리롤 선택 화면

요소규칙
9 돌리기 버튼항상 누를 수 있으나 입력 대기 · 리롤 단계에서만 입력되며 나머지 상황에선 모션만 출력된다. 버튼을 연타하는 모습을 연출하여 게임기의 다음 버튼을 계속 누르는 느낌을 준다.
14 슬롯 머신입력 대기 상태에서 돌리기 버튼을 누르면 등장한다. 돌리기 결과가 확정되면 아래로 내려간다.
15 16 리롤액티브 아이템 효과로 특정 열의 결과를 다시 돌릴 수 있다. 아이템마다 지정된 횟수만큼만 리롤할 수 있다.
2입력 대기3돌리기4결과 공개5리롤6결과 확정누르기 버튼 입력턴 시작 패시브 발동turn_start잭팟 판정에 성공했나예모든 열 결과가 잭팟 퍽으로고정왼쪽 열부터 차례로결과 공개아니오퍽 등급 상승 효과가존재하는가예퍽 상승 효과 적용그대로아니오리롤 효과 아이템을사용했고 잭팟이 아닌가남은 리롤 횟수가0인가열마다 리롤버튼이 등장리롤 버튼 입력리롤을 입력한 열의 돌리기재시행예아니오아니오잭팟일 경우 바로 결과확정누르기 버튼입력남은 횟수를 버림다시 공개예

그림 · 돌리기 절차

07-4데이터 구조

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료 puck

puck.csv의 용도와 역할

구분내용
용도슬롯 머신의 칸에 꽂히는 퍽을 정의한다. 행동 · 배율 · 부가효과 세 열 중 어느 열에 들어가는지(puck_type)와 그 칸에 멈췄을 때 하는 일(행동 종류 · 기본 위력 · 배수 · 부가효과 동작)을 담는다.
전투돌리기로 멈춘 칸의 퍽 행을 읽어 그 턴의 행동을 계산한다(PART 09 「행동 계산」).
메타메타의 퍽 편집 · 상점 · 드롭 · 강화와 같은 데이터를 사용한다. rarity가 가격 · 강화비 · 드롭 추첨을, grade가 같은 퍽의 하급 · 중급 · 상급 묶음을 정한다(메타 시스템 기획서 「퍽 편집과 머신 성장」).
참조부가효과 퍽은 effect 에서 효과를 가져온다(PART 08 「효과 규칙」).

puck.csv 칸

칸값 형식설명범위
puck_id (키)int퍽 고유 번호. 세이브가 열 구성을 이 번호로 적는다1 이상
namestring화면에 뜨는 이름1~12자
descstring설명문0~60자
puck_typeint퍽 종류와 행동 유형을 번호로 구분한다.0 물리 공격 · 1 마법 공격 · 2 방어 · 3 회복 · 4 배율 · 5 부가효과
paramfloat숫자 값 한 칸. 행동 4종 = 기본 위력 · 배율 = 배수 · 부가효과 = 가리킨 동작의 양행동 정수 0~999 · 배율 0.1~10.0 · 부가효과는 동작이 정한 범위
effect_idref:effect부가효과 퍽이 실행할 효과.부가효과일 때 필수 · 그 외에는 공란
hit_countint행동 실행 횟수 지정.주로 마법 공격에 사용
gradeint같은 퍽의 등급(하급 · 중급 · 상급)을 묶는 번호. 빈 값 = 등급 없음 = 강화 · 상점 · 드롭에서 제외1 이상 또는 빈 값 · 같은 번호 안 rarity 중복 불가
rarityenum:rarity상점 가격 · 강화 비용 책정 · 드롭 추첨에 사용하는 랭크f ~ s
iconpath목록 · 팝업 · 열 위 퍽에 뜨는 그림. 여러 장이 든 파일은 경로#조각 이름으로 지정.Assets 기준 상대경로

puck.csv 예시 행(설명 · 그림 칸 뺌)

puck_idnamepuck_typeparameffect_idhit_countgraderarity
2공격 중급0280c
5마법 중급1021c
16x2424c
23금상첨화 하급53026e
777잭팟0777s
PART 08

효과 시스템

⑤ 전투 시스템

08-1효과 구성

effect.csv의 용도와 역할

구분내용
용도게임에 나오는 퍽 · 액티브 · 패시브 · 적 의도 · 인카운터 선택지의 효과를 한 시트에서 관리한다.
행의 범위한 행은 누구에게(actor) 무슨 효과를(behavior · resource) 어떤 기준으로(value_source) 주는지 담는다. 적용하는 수치는 참조되는 쪽의 value_N(퍽은 param)에 적는다.
전투부가효과 퍽 · 액티브 · 패시브 발동 시, 적 행동 시 이 행을 읽어 실행한다(아래 「단계별 효과 발동 시점(전투 한정)」).
참조수치형은 수치 항목(resource), 기능형은 code의 behavior 값을 가리킨다.
메타인카운터 선택지도 같은 시트를 사용한다(메타 시스템 기획서 「인카운터」).

08-2효과 규칙

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
0전투 시작2입력 대기3돌리기6쌍방 행동7턴 종료8전투 종료상시 패시브 계산(수치가바뀔 때마다 다시)always패시브battle_start액티브 사용액티브 타격마다 피해 입힌직후 패시브after_hit승패 판정 · 문턱 실패 시패시브death_threshold누른 직후 패시브turn_start플레이어 행동적 행동행동 직전 패시브before_action부가효과 퍽(줄 순서) · 적이부가효과 무효 의도면 건너뜀행동 적용 중 패시브(피해 입힌 직후 ·플레이어 회복)after_hitplayer_heal행동 직후 패시브after_action승패 판정 · 문턱 실패 시 패시브death_threshold의도대로 행동적 행동이 끝난 뒤 패시브(방어로경감 · 피해 입은 직후 · 적 회복)after_blockafter_hurtenemy_heal턴 기한 효과가 끝난다turn 소모형 · 이번 턴 몫 · 방어값승패 판정 · 문턱 실패 시패시브death_threshold패시브battle_end

그림 · 단계별 효과 발동 시점(전투 한정)

중복 적용되지 않는 경우

항목규칙
토큰 용량 · 체력 상한 배율합치지 않고 한 쪽만 적용(같은 패시브를 두 개 장착해도 하나 몫)
단계강화 · 약화는 따로 세어 서로 상쇄하지 않고, 각각 최대 3단계까지 적용, 초과하는 경우 무시(3단계면 그 의도가 추첨에서 빠진다)
차단류이미 걸려 있으면 같은 종류의 명령 무시
전투 끝까지회복 차단은 전투 끝까지 유지된다(효과 대상에 따라 플레이어만 또는 양쪽의 회복을 막는다)

중첩 적용 방식

유형항목규칙
동시곱연산 배율겹치면 곱해서 적용
동시합연산 배율, 단순 수치, 단계겹치면 더해서 적용
동시적 공격 무효겹치면 횟수가 쌓이며, counts회를 막거나 유지 시간(duration) 중 먼저 만료되는 쪽이 사라진다.
선후패시브 아이템패시브 칸 순서대로 하나씩 실행한다
선후아이템 하나의 다중 효과 적용한 아이템에 효과가 여럿일 경우 effect_N 순서대로 실행한다

아이템 · 퍽을 주는 기능형(지급)은 인카운터 전용이다. 전투 중에 쓰는 효과가 없어 전투 쪽 지급은 만들지 않았다

메타0전투 시작2입력 대기3돌리기6쌍방 행동7턴 종료8전투 종료인카운터 선택지encounter_option ·effect_N패시브item_passive · effect_N액티브item_active · effect_N패시브item_passive · effect_N패시브item_passive · effect_N부가효과 퍽puck · effect_id적 의도intent · effect_N패시브item_passive · effect_N패시브item_passive · effect_N패시브item_passive · effect_Neffect(각 시트의 effect 칸이 번호로 가리키는 효과 행)

그림 · effect를 쓰는 곳

effect.csv 칸

칸값 형식설명범위
effect_id (키)int동작 고유 번호. 수치형 · 기능형이 같은 번호 범위비거나 겹치면 거부(데이터는 1부터)
namestring시트에서 알아보기 위한 이름1~30자
actorint효과를 적용할 대상을 의미한다.0 self · 1 opponent
behaviorenum:behaviornumeric(번호 0)이면 수치형(resource로 고름), 그 밖(번호 1 이상)이면 기능형 동작을 뜻한다.필수 · 인자 개수 · 종류는 코드 인자표
resourceref:stat_catalog수치형인 경우 수치를 적용할 대상을 지정한다.behavior = 수치형이면 필수
filterstring대상 종류. 지급은 grant_target, 의도 변경은 intent_kind(attack만), 보유 퍽 등급 변경은 puck_type그 동작이 쓸 때만 · 빈 값 = 전체(지급은 아이템 또는 퍽 50:50 · 의도 변경은 같은 세트의 다른 의도) · 목록 밖 키 거부
value_sourceenum:value_source효과 동작의 기준값을 지정한다.필수 · 기능형은 fixed만(일부 동작 예외) · 값마다 쓸 수 있는 시점이 정해져 있음
countsint효과를 적용할 횟수를 뜻한다.1~99 · 빈 값
durationint턴 지속 형태를 사용하는 효과가 지속되는 턴 수를 표시한다.소모형 항목일 때 필수(1~99 · -1)

behavior 값 목록

번호값
0numeric(수치형)
1reroll(다시 돌리기)
2fix_result(결과 고정)
3result_rarity(이번 결과 퍽 등급 변경)
4top_grade(최고 계보로 변환)
5repeat_action(행동 반복)
6double_gacha(이중 가챠)
7lethal_counter(치명 반격)
8revive(부활)
9owned_rarity(보유 퍽 등급 변경)
10owned_swap(보유 퍽 무작위 교체)
11change_intent(의도 변경)
12heal_block(회복 차단)
13additional_block(부가효과 차단)
14guard_break(방어 의도 추가 피해)
15instant_kill(즉사)
16grant(지급)
17random_stat(무작위 기본 스탯 변경)

value_source 값 목록

번호값
0fixed(고정값)
1range(−N~+N 정수 무작위)
2current_hp(대상 현재 체력 %)
3max_hp(대상 최대 체력 %)
4actor_attack(쓰는 쪽 공격력 %)
5actor_defense(쓰는 쪽 방어력 %)
6reel_final(릴 최종값 %)
7damage_dealt(준 피해 %)
8blocked_damage(막은 피해 %)
9overkill(초과 피해 %)
10heal_overflow(넘친 회복량 %)
11enemy_heal(적 회복량 %)
12spent_token(쓴 토큰 1개당)

actor 값 목록

번호값
0self(자신)
1opponent(상대)

timing 값 목록

번호값
0always(상시)
1battle_start(전투 시작)
2turn_start(턴 시작)
3before_action(행동 적용 전)
4after_action(행동 적용 후)
5after_hit(피해를 준 뒤)
6after_hurt(피해를 받은 뒤)
7after_block(방어로 막았을 때)
8player_heal(플레이어 회복 시)
9enemy_heal(적 회복 시)
10token_charged(토큰 충전 시)
11death_threshold(빈사 판정 시)
12battle_end(전투 종료)

grant_target 값 목록

번호값
0item(액티브 · 패시브 무작위)
1active(액티브)
2passive(패시브)
3puck(퍽)
빈 값아이템 또는 퍽 50:50

전체 19묶음 · 114값은 code.csv에 있다

effect.csv 예시 행

effect_idnameactorbehaviorresourcefiltervalue_sourcecountsduration
54빈사 확률 보너스0numeric37fixed
57체력 회복 · 준 피해0numeric18damage_dealt
62체력 피해 · 행위자 공격력1numeric22actor_attack
72체력 증감0numeric18fixed
27받는 피해 감소 · 턴 · 1회0numeric30fixed11
10다시 돌리기0rerollfixed
77보유 퍽 등급 올림 · 영구 · 물리 공격0owned_rarityphysical_attackfixed1

08-3효과 적용 예시

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료

패시브 아이템 「죽음 전문가」(수치형 · 고정값)

item_passive

44 죽음 전문가

timingbattle_starteffect_154value_120

전투 시작 때 54번 동작(빈사 확률 보너스)을 양 20으로 실행한다

▶

effect

54 빈사 확률 보너스

actor0(self)behaviornumericresource37value_sourcefixed

자신의 37번 수치 항목(빈사 확률 보너스 %)을 고정값으로 바꾼다

결과죽음의 문턱 생존 확률 +20% — 그 전투 동안

패시브 아이템 「흡혈귀의 손톱」(수치형 · 값 출처)

item_passive

47 흡혈귀의 손톱

timingafter_hitcondition_typeaction_iscondition_value0effect_157value_110

물리 공격으로 피해를 입힌 직후 57번 동작(체력 회복 · 준 피해)을 양 10으로 실행한다

▶

effect

57 체력 회복 · 준 피해

actor0(self)behaviornumericresource18value_sourcedamage_dealt

자신의 18번 수치 항목(현재 체력 더하기)을 「준 피해」 기준 %로 바꾼다

결과타격마다 준 피해의 10%만큼 체력을 회복한다

액티브 아이템 「중급 정비도구」(기능형)

item_active

3 중급 정비도구

active_typetokencost6effect_110value_12

토큰 6을 쓰고 10번 동작(다시 돌리기)을 양 2로 실행한다

▶

effect

10 다시 돌리기

actor0(self)behaviorrerollvalue_sourcefixed

기능형 동작 「다시 돌리기」. resource는 빈 값

▶

code

behavior · reroll

code1name다시 돌리기

인자 1 = 다시 돌릴 횟수

결과그 턴 결과 공개 뒤 열을 2번까지 다시 돌린다

적 의도 「공격」(적도 같은 시트를 쓴다)

intent

1 공격

kindattackeffect_162value_1100

적 행동 때 62번 동작(체력 피해 · 행위자 공격력)을 양 100으로 실행한다

▶

effect

62 체력 피해 · 행위자 공격력

actoropponentbehaviornumericresource22value_sourceactor_attack

상대의 22번 수치 항목(체력 피해)을 「행위자 공격력」 기준 %로 바꾼다

결과적 공격력의 100%를 플레이어에게 피해로 준다

부가효과 퍽 「한 번 더 중급」(동작 하나)

puck

21 한 번 더 중급

puck_type5(부가효과)effect_id1param25

행동 적용 때 1번 동작(행동 반복)을 양 25로 실행한다

▶

effect

1 행동 반복

actor0(self)behaviorrepeat_actionvalue_sourcefixed

기능형 동작 「행동 반복」

▶

code

behavior · repeat_action

code5name행동 반복

인자 1 = 반복 행동의 위력(이번 최종값의 %)

결과그 턴의 행동 줄이 모두 끝난 뒤, 이 퍽이 나온 줄의 행동만 그 줄 최종값의 25%로 한 번 더 한다

PART 09

쌍방 행동

⑤ 전투 시스템

09-1쌍방 행동 순서

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료 플레이어 행동이 다 끝나기 전에 적 체력이 0이 됐는가예회복을 제외한 다른 효과 생략아니오남은 행동 전부 시행
순서하는 일
1적의 이번 의도가 방어면 적이 먼저 방어값을 올린다(PART 06 「의도 표시」).
2플레이어 행동 — 첫째 줄 → 둘째 줄 순으로 행동을 시행한다. 부가효과는 줄마다 적용한다.
3토큰 — 플레이어 행동이 끝나면 토큰 1을 채운다(상한에서 멈춤 · PART 06 「액티브와 토큰」).
4승패 판정 — 플레이어 행동이 다 끝난 뒤, 체력이 0이 된 쪽이 있으면 PART 11 「승패 판정」을 따른다.
5적 행동 — 방어를 제외한 의도일 때 적이 행동한다.
6턴 종료 — 다시 승패를 판정하고, 둘 다 쓰러지지 않았으면 다음 턴으로 넘긴다(PART 11 「턴 종료 순서」).

09-2행동 계산

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
spot_09_calc 행동 수치 계산 공식 = ( ① 기본수치 + ② 대응 스탯 ) × ( ③ 배율 + ④ 배율 가산 ) × ④ 최종값 배율 + ④ 최종값 더하기 피해량 계산 공식 = 행동 수치 × 주는 피해 배율 × ⑤ 100 ÷ ( 100 + 방어값 ) × ( 1 − 받는 피해 감소% ) 노란 줄은 계산 예시(위 전투 화면) — 공격 중급 퍽(28) · 공격력 45 · 배율 ×1 · 운명의 도움 하급(배율 +0.5) · 적 방어값 0 ① 행동 퍽 기본수치 행동 종류와 등급별 가산치 28 ② 대응 스탯 가산 행동이 사용하는 스탯 수치를 더함 +45 = 73 ③ 배율 적용 앞 결과에 배율 계산 ×1 = 73 ④ 부가효과 발동 배율 +0.5 = 109.5 ⑤ 방어 경감 계산 공식에 따라 데미지 감소 ×100/100 = 109.5

그림 · 실제 전투 화면으로 본 행동 퍽 기본수치에서 받는 피해까지의 계산 순서

특수 규칙

분류항목규칙
공통계산 방식전투 관련 수치(체력 · 피해 · 회복 · 방어값 · 스탯 · 행동 수치)는 소수점 그대로 계산하며, 화면에 보일 때는 반올림한 정수로 보인다. 체력은 0.5 미만으로 남았을 때 1로 표기해 오류처럼 보이는 현상을 방지한다.
공통행동이 여럿일 때행마다 ①~⑤를 따로 계산한다. 첫째 줄 → 둘째 줄 순으로 시행하고, 부가효과는 줄마다 적용한다.
공통적플레이어와 같은 계산 공식을 사용한다.
① 행동 퍽 기본수치결과 퍽 변경결과 퍽을 바꾸는 동작은 해당 턴에만 임시로 적용되고, 계산 후 원래대로 돌아간다. 「이번 결과 퍽 등급 변경」은 두 줄의 행동 퍽 가운데 무작위로 고른 퍽의 등급을 바꾸고, 「최고 계보로 변환」은 줄을 읽기 전에 그 행의 퍽 전부를 같은 계열의 가장 높은 퍽으로 바꾼다.
④ 부가효과 발동막힘적 의도가 부가효과 무효면 실행하지 않고 무효 표시를 띄운다. 적이 쓰러진 뒤 남은 행동에서는 실행하지 않는다.
④ 부가효과 발동행동 반복「행동 반복」효과는 행동을 지정 배율로 한 번 더 실행한다. 반복된 행동은 부가효과 · 행동 전후 패시브를 다시 발동하지 않게 해 엔진 효과를 방지한다.

공격 중급 · x1 · 운명의 도움 하급이 함께 멈춘 턴(위 전투 화면)

puck

2 공격 중급

puck_type0(물리 공격)param28hit_count1

행동 퍽의 기본수치

▶

player

1행

physical_attack30

플레이어의 물리 공격력 수치(패시브 1 힘의 아뮬렛 +15 → 45)

▶

puck

14 x1

puck_type4(배율)param1

배율 퍽의 배율

▶

puck

28 운명의 도움 하급

puck_type5(부가효과)effect_id5param50

결과 배율 퍽 하나에 배율 +0.5

▶

intent

공격 7

방어 의도 없음

이번 턴 적의 방어값 0

결과행동 수치 = (28 + 45) × (1 + 0.5) = 109.5 · 방어 결과 = 109.5 × 100 ÷ (100 + 0) = 109.5 · 데미지 결과 = 109.5(적 체력 140.3 → 30.8)

PART 10

죽음의 문턱

⑤ 전투 시스템

10-1위치와 판정

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료 체력 0 달성을 조건으로 하는 효과를 가진 상태인가예해당 효과 발동 후 종료아니오생존 판정 시행 예최대 체력 30%로 부활 · 다음 시행 확률절반으로 감소아니오부활 효과가 있으면 발동 후 생존 · 없으면패배

10-2규칙

shot_death

그림 · 생존 판정 화면

항목규칙
판정 시점플레이어 체력이 0이 되는 순간 쓰러진 것으로 기록하고, 다음 승패 판정 때 시행한다(PART 11 「승패 판정」). 전투 밖(인카운터)에서는 발생하지 않는다.
기본 확률첫 생존 확률은battle_setting.death_chance%로, 같은 전투 안에서 성공할 때마다 다음 판정에 기준 확률을 곱한다(death_decay%). 효과로 더한 확률에는 곱하지 않는다. 성공하면 최대 체력의 death_revive_hp%(지금 값 30)로 부활한다. 전투 종료 후 초기화된다.
실패 뒤 부활「부활」효과를 보유하고 있을 때, 판정에 실패해도 부활한다. 이때 확률은 실패한 시점을 기준으로 유지한다.
체력 0 도달을 조건으로 하는 효과체력 0 도달을 조건으로 하는 효과를 보유하고 있으면 그 효과가 무조건 발동하며 죽음의 문턱을 시행하지 않는다.

10-3데이터 구조

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료 battle_setting

battle_setting.csv의 용도와 역할

구분내용
용도죽음의 문턱 확률과 부활 체력 값을 관리한다. 전투와 관련없는 내용은 메타 시스템 기획서 「퍽 편집과 머신 성장」에서 다룬다.

battle_setting.csv 칸(전투 설정 · 키 칸 없음)

칸값 형식설명범위
death_chanceint기본 성공 확률 %0~100
death_decayint성공할 때마다 곱할 확률 %0~100
death_revive_hpint성공했을 때 회복할 체력의 %(최대체력 기준)1~100
boss_clear_hpint보스를 쓰러뜨릴 때마다 최대 · 현재 체력에 더하는 양0 이상

한 전투에서 여러 번 쓰러질 때

battle_setting

1행

death_chance60death_decay50death_revive_hp30

기본 성공 확률 60%. 성공하면 최대 체력의 30%로 부활하고, 다음 판정의 기본 확률에 50%를 곱한다

▶

item_passive

44 죽음 전문가

timingbattle_starteffect_154value_120

전투 시작 때 성공 확률에 20%를 더한다(PART 08 「효과 적용 예시」)

결과기본 확률은 60 → 30 → 15%로 절반씩 줄고, 더한 20%는 줄지 않아 80 → 50 → 35%로 적용된다. 다음 전투에서는 기본 확률인 60%로 돌아간다.

PART 11

턴 종료와 전투 종료

⑤ 전투 시스템

11-1턴 종료 순서

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
순서턴이 끝날 때 하는 일
1이번 턴 몫 · 방어값을 지우고, 소모형 효과의 남은 턴을 하나 줄인다(PART 08 「효과 규칙」의 duration).
2턴 수를 올리고, 「1턴에 1번만」 발동하는 효과의 발동 횟수를 되돌린다.
3다음 의도를 추첨해 예고한다(PART 06 「의도 표시」).
4입력 대기로 이동(PART 06 입력 대기)

11-2승패 판정

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
항목규칙
쓰러짐체력이 0이 되는 순간 쓰러진 것으로 기록한다. 그 뒤에 회복해 체력이 올라가도 기록은 남고, 판정할 때 체력을 0으로 되돌린다.
판정 시점플레이어 행동이 다 끝난 뒤(PART 09 쌍방 행동) · 적 행동이 끝난 뒤 · 액티브 아이템을 쓴 뒤(PART 06 「액티브와 토큰」)
플레이어가 쓰러짐PART 10 죽음의 문턱을 시행한다. 살아나면 기록을 지우고 전투를 이어 간다. 살아나지 못하면 패배로 「전투 종료」
적이 쓰러짐승리로 「전투 종료」
둘 다 쓰러짐쓰러진 순서대로 보여 준다. 적이 먼저면 적이 쓰러진 뒤 PART 10 죽음의 문턱을 시행한다. 살아나면 승리, 살아나지 못하면 패배
둘 다 서 있음쌍방 행동이 끝났으면 「턴 종료 순서」, 아니면 남은 행동을 이어 간다

11-3전투 종료

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료
적 처치

적 처치

보상 팝업

보상 팝업

그림 · 전투 종료 화면

순서전투가 끝날 때 하는 일
1종료 상태로 — 10 액티브 사용 버튼을 끄고 5 적 체력 · 4 적 의도를 숨긴다
2승리면 처치 골드를 산정하고, 메타에 넘길 값(「데이터 전달」)을 정한다
3양쪽의 이번 턴 몫 · 방어값을 지운다(「턴 종료 순서」 1과 같음 · 턴 수 · 다음 의도는 하지 않음)
4battle_end 패시브 발동 — 패배면 패배 처리에 묻혀 무시된다
5승리면 골드를 바로 지급한다(초과 피해 골드 포함 · 마지막 보스는 지급하지 않음)
6전투 후 초기화되는 값을 초기화한다(액티브 골드 비용 · 전투 중 바뀐 퍽 · 장착 효과)
7승리면 보상 진행 — 메타가 받은 위험 랭크에서 퍽 · 아이템을 뽑는다(메타 시스템 기획서 「전투 보상」) · 마지막 보스면 보상 대신 엔딩
8패배면 세이브를 지우고 패배 패널 → 로비

11-4데이터 전달

메타 전투 — 턴 반복 전투 시작턴 시작입력 대기돌리기결과 공개리롤쌍방 행동턴 종료전투 종료

전투 → 메타(적 처치 때 1회 · 보상 판정용)

항목가져오는 곳
위험 랭크처치한 적 행의 danger_grade
보스 여부적 행의 enemy_type이 boss일 경우 전달
처치 골드메타에 넘기지 않고 전투가 바로 지급한다(「전투 종료」 5 · 보상 팝업 골드 칸은 0G에서 시작한다). 승리 때 1회, danger_grade가 가리키는 grade_base.stat_gold_reward × gold_rate%(지금 80%)를 가운데로 ±gold_variance%(지금 15%)를 고르게 굴려 반올림한다(0 밑으로 내려가지 않음). 골드 칸 노드면 gold_node_rate%(지금 200%)를 곱하고, 수치 항목 「처치 골드 배율 %」 + 「처치 골드 배율 · 이번 턴 %」만큼 더한 뒤, 「초과 피해 보상 골드 더하기」로 쌓인 값(전투마다 0부터)과 「전투 종료 보상 골드 더하기」를 배율 없이 그대로 더한다
추가 보상 선택지 수수치 항목 「장착 보상 선택지 더하기」 + 「처치 보상 선택지 더하기」의 합