GS2-Enhance 마스터 데이터 레퍼런스
마스터 데이터 포맷
{
"version": "2020-08-22",
"rateModels": [
{
"name": "[string]강화 레이트 모델 이름",
"description": "[string?]설명문",
"metadata": "[string?]메타데이터",
"targetInventoryModelId": "[string]강화 대상으로 사용할 수 있는 GS2-Inventory 인벤토리 모델의 GRN",
"acquireExperienceSuffix": "[string]GS2-Experience에서 획득한 경험치를 저장하는 프로퍼티 ID에 부여하는 서픽스",
"materialInventoryModelId": "[string]강화 소재로 사용할 수 있는 GS2-Inventory 인벤토리 모델 GRN",
"acquireExperienceHierarchy": [
"[string]ItemModel의 메타데이터에 저장할, 획득 경험치를 정의하는 JSON 데이터의 계층 구조 정의"
],
"experienceModelId": "[string]강화 결과로 얻는 GS2-Experience 경험치 모델 GRN",
"bonusRates": [
{
"rate": "[float]경험치 보너스 배율 (1.0 = 보너스 없음)",
"weight": "[int]추첨 가중치"
}
]
}
],
"unleashRateModels": [
{
"name": "[string]한계돌파 레이트 모델명",
"description": "[string?]설명문",
"metadata": "[string?]메타데이터",
"targetInventoryModelId": "[string]한계돌파 대상에 사용할 수 있는 GS2-Inventory 인벤토리 모델 GRN",
"gradeModelId": "[string]그레이드 모델 GRN",
"gradeEntries": [
{
"gradeValue": "[long]대상 그레이드",
"needCount": "[int]동일 종류의 아이템을 몇 개 소비할지"
}
]
}
]
}| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| version | string | ✓ | 2020-08-22 | 마스터 데이터 포맷 버전 | ||
| rateModels | List<RateModel> | ~ 10000 items | 강화 레이트 모델 강화 레이트는 강화에 사용하는 소재와 강화 대상을 정의한 데이터입니다. 소재 데이터와 강화 대상 데이터는 모두 GS2-Inventory에서 관리되고 있어야 합니다. 강화로 얻는 경험치는 GS2-Inventory의 메타데이터에 JSON 형식으로 기록됩니다. 여기서는 메타데이터의 어느 계층에 경험치 값이 저장되어 있는지를 기재해야 합니다. 강화 시 일정 확률로 대성공과 같은 형태로 입수할 수 있는 경험치량에 보정값을 적용할 수 있습니다.그 추첨 확률도 이 엔티티에서 정의합니다. targetInventoryModelId 에는 강화 대상이 되는 아이템을 보유하는 인벤토리 모델을, materialInventoryModelId 에는 소재로 사용할 수 있는 아이템을 보유하는 인벤토리 모델을 지정합니다.양쪽은 서로 다른 인벤토리 모델로 할 수 있으므로, 캐릭터를 강화 대상으로 하고 강화 전용 아이템을 소재로 하는 구성이 가능합니다. 각 소재가 제공하는 경험치는 소재 아이템의 아이템 모델 메타데이터에 기술하며, 그 JSON의 어디에 값이 들어 있는지를 acquireExperienceHierarchy 로 지정합니다.{ "aaa": { "bbb": { "experienceValue": 100 } } } 와 같은 구조라면 [ "aaa", "bbb", "experienceValue" ] 와 같이 지정합니다. 계층은 최대 10단계까지 지정할 수 있습니다.획득한 경험치는 experienceModelId 로 지정한 GS2-Experience 의 경험치 모델에 가산됩니다.가산 대상 프로퍼티 ID는 강화 대상 아이템의 프로퍼티 ID에 acquireExperienceSuffix 를 부여한 것이 됩니다. 이를 통해 하나의 아이템에 캐릭터 레벨의 level 과 호감도의 like 같은 여러 종류의 경험치를 가지게 할 수 있습니다.bonusRates 에는 획득 경험치에 적용할 배율의 가중치 추첨을 정의합니다.각 항목은 배율(1.5 라면 150%)과 배출 가중치를 가지며, 강화를 실행할 때마다 가중치 추첨으로 하나가 선택됩니다. 항목은 최대 1,000건까지 등록할 수 있습니다. | |||
| unleashRateModels | List<UnleashRateModel> | ~ 10000 items | 한계돌파 레이트 모델 아이템의 한계돌파(해방) 조건을 정의합니다. 여기서 말하는 한계돌파란, 동일 종류의 아이템을 소재로 소비함으로써 GS2-Grade 에서 관리하는 그레이드를 끌어올리는 강화 처리입니다. 그레이드가 올라가면 GS2-Experience 측의 랭크 캡이 상향되어, 대상을 더 높은 레벨까지 육성할 수 있게 됩니다. targetInventoryModelId 에는 한계돌파 대상이 되는 아이템을 보유하는 GS2-Inventory 의 인벤토리 모델을 지정합니다.한계돌파하는 아이템과 소재로 소비하는 동일 종류 아이템 모두 이 인벤토리 모델에 속해 있어야 합니다. gradeModelId 에는 대상 아이템의 그레이드를 추적하는 GS2-Grade 의 그레이드 모델을 지정합니다. 한계돌파에 성공하면 해당 그레이드가 1 상향됩니다.gradeEntries 에는 각 그레이드에 도달하기 위해 소비하는 동일 종류 아이템의 수를 그레이드별로 정의합니다. 엔트리는 1건 이상 1,000건까지 등록할 수 있습니다.예를 들어 그레이드 1은 1개, 그레이드 2는 3개와 같이 설정함으로써 한계돌파 단계마다 비용을 개별적으로 제어할 수 있습니다. 소재로 소비한 리소스는 그 리소스가 보유하고 있던 내용과 함께 사라집니다. 소재가 경험치 등의 리소스를 가지고 있더라도 대상에게 인계되지 않으므로, 인계가 필요한 경우에는 사전에 인계용 리소스로 변환해 두어야 합니다. |
모델
RateModel
강화 레이트 모델
강화 레이트는 강화에 사용하는 소재와 강화 대상을 정의한 데이터입니다.
소재 데이터와 강화 대상 데이터는 모두 GS2-Inventory에서 관리되고 있어야 합니다.
강화로 얻는 경험치는 GS2-Inventory의 메타데이터에 JSON 형식으로 기록됩니다.
여기서는 메타데이터의 어느 계층에 경험치 값이 저장되어 있는지를 기재해야 합니다.
강화 시 일정 확률로 대성공과 같은 형태로 입수할 수 있는 경험치량에 보정값을 적용할 수 있습니다.
그 추첨 확률도 이 엔티티에서 정의합니다.
targetInventoryModelId 에는 강화 대상이 되는 아이템을 보유하는 인벤토리 모델을, materialInventoryModelId 에는 소재로 사용할 수 있는 아이템을 보유하는 인벤토리 모델을 지정합니다.
양쪽은 서로 다른 인벤토리 모델로 할 수 있으므로, 캐릭터를 강화 대상으로 하고 강화 전용 아이템을 소재로 하는 구성이 가능합니다.
각 소재가 제공하는 경험치는 소재 아이템의 아이템 모델 메타데이터에 기술하며, 그 JSON의 어디에 값이 들어 있는지를 acquireExperienceHierarchy 로 지정합니다.{ "aaa": { "bbb": { "experienceValue": 100 } } } 와 같은 구조라면 [ "aaa", "bbb", "experienceValue" ] 와 같이 지정합니다. 계층은 최대 10단계까지 지정할 수 있습니다.
획득한 경험치는 experienceModelId 로 지정한 GS2-Experience 의 경험치 모델에 가산됩니다.
가산 대상 프로퍼티 ID는 강화 대상 아이템의 프로퍼티 ID에 acquireExperienceSuffix 를 부여한 것이 됩니다. 이를 통해 하나의 아이템에 캐릭터 레벨의 level 과 호감도의 like 같은 여러 종류의 경험치를 가지게 할 수 있습니다.
bonusRates 에는 획득 경험치에 적용할 배율의 가중치 추첨을 정의합니다.
각 항목은 배율(1.5 라면 150%)과 배출 가중치를 가지며, 강화를 실행할 때마다 가중치 추첨으로 하나가 선택됩니다. 항목은 최대 1,000건까지 등록할 수 있습니다.
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| rateModelId | string | ※ | ~ 1024자 | 강화 레이트 모델 GRN
※ 서버가 자동으로 설정 | ||
| name | string | ✓ | ~ 128자 | 강화 레이트 모델 이름 강화 레이트 모델 고유의 이름입니다. 영숫자 및 -(하이픈) _(밑줄) .(마침표)로 지정합니다. | ||
| description | string | ~ 1024자 | 설명문 | |||
| metadata | string | ~ 2048자 | 메타데이터 메타데이터에는 임의의 값을 설정할 수 있습니다. 이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다. | |||
| targetInventoryModelId | string | ✓ | ~ 1024자 | 강화 대상으로 사용할 수 있는 GS2-Inventory 인벤토리 모델의 GRN
강화 대상이 되는 아이템을 보유하는 GS2-Inventory의 인벤토리 모델을 지정합니다. 강화되는 아이템은 이 인벤토리 모델에 속해 있어야 합니다. | ||
| acquireExperienceSuffix | string | ✓ | ~ 1024자 | GS2-Experience에서 획득한 경험치를 저장하는 프로퍼티 ID에 부여하는 서픽스 아이템의 프로퍼티 ID 끝에 추가되어, 경험치가 저장되는 GS2-Experience의 프로퍼티 ID를 구성하는 문자열입니다. 같은 아이템에 여러 경험치 종류를 부여할 수 있습니다(예: 캐릭터 레벨의 “level”, 호감도의 “like”). | ||
| materialInventoryModelId | string | ✓ | ~ 1024자 | 강화 소재로 사용할 수 있는 GS2-Inventory 인벤토리 모델 GRN
강화 소재로 사용할 수 있는 아이템을 보유하는 GS2-Inventory의 인벤토리 모델을 지정합니다. 각 소재가 제공하는 경험치는 acquireExperienceHierarchy로 지정된 JSON 계층을 사용하여 아이템 모델의 메타데이터에 정의됩니다. | ||
| acquireExperienceHierarchy | List<string> | 0 ~ 10 items | ItemModel의 메타데이터에 저장할, 획득 경험치를 정의하는 JSON 데이터의 계층 구조 정의 GS2-Enhance에는 GS2-Inventory와 연동하여 강화를 수행하는 기능이 있으며, ItemModel의 메타데이터에 JSON 형식으로 강화 소재로 사용했을 때의 경험치량을 설정합니다. 예를 들어, { “aaa”: { “bbb”: { “experienceValue”: 100 } } }와 같은 구조의 데이터 정의로 메타데이터에 설정하고 싶은 경우에는 [ “aaa”, “bbb”, “experienceValue” ]와 같이 지정합니다. 자세한 내용은 마이크로서비스 소개 / GS2-Enhance 항목에서 설명합니다. | |||
| experienceModelId | string | ✓ | ~ 1024자 | 강화 결과로 얻는 GS2-Experience 경험치 모델 GRN
강화로 얻은 경험치가 기록되는 GS2-Experience의 경험치 모델을 지정합니다. 경험치는 대상 아이템의 프로퍼티 ID와 acquireExperienceSuffix를 조합하여 식별되는 프로퍼티에 가산됩니다. | ||
| bonusRates | List<BonusRate> | 0 ~ 1000 items | 경험치 획득량 보너스 강화 시 보너스 경험치 배율의 가중치 추첨을 정의합니다. 각 항목은 배율(예: 1.5로 150%)과 추첨 가중치를 지정합니다. 강화 실행 시 가중치 추첨으로 하나의 항목이 선택되어, 획득 경험치에 “대성공” 보너스가 적용되는지 여부가 결정됩니다. |
BonusRate
경험치 획득량 보너스
강화 시 경험치 보너스 배율을 결정하는 가중치 추첨의 단일 항목을 정의합니다. 서로 다른 배율과 가중치를 가진 여러 항목을 설정함으로써, 제어된 확률에 따른 “대성공"이나 “초성공” 같은 시스템을 구현할 수 있습니다.
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| rate | float | 1.0 | 0 ~ 10000 | 경험치 보너스 배율 (1.0 = 보너스 없음) 이 항목이 추첨되었을 때 기본 경험치에 적용되는 배율입니다. 1.0은 보너스 없는 일반 강화, 1.5는 경험치 150%(대성공), 2.0은 경험치 200%(초성공) 등을 의미합니다. | ||
| weight | int | 1 | 0 ~ 2147483645 | 추첨 가중치 보너스 레이트를 선택하는 가중치 추첨에서 사용되는 상대적인 가중치입니다. 값이 클수록 이 보너스 레이트가 선택될 확률이 높아집니다. 실제 확률은 이 가중치를 보너스 레이트 목록 내 모든 가중치의 합계로 나눈 값이 됩니다. |
UnleashRateModel
한계돌파 레이트 모델
아이템의 한계돌파(해방) 조건을 정의합니다.
여기서 말하는 한계돌파란, 동일 종류의 아이템을 소재로 소비함으로써 GS2-Grade 에서 관리하는 그레이드를 끌어올리는 강화 처리입니다.
그레이드가 올라가면 GS2-Experience 측의 랭크 캡이 상향되어, 대상을 더 높은 레벨까지 육성할 수 있게 됩니다.
targetInventoryModelId 에는 한계돌파 대상이 되는 아이템을 보유하는 GS2-Inventory 의 인벤토리 모델을 지정합니다.
한계돌파하는 아이템과 소재로 소비하는 동일 종류 아이템 모두 이 인벤토리 모델에 속해 있어야 합니다.gradeModelId 에는 대상 아이템의 그레이드를 추적하는 GS2-Grade 의 그레이드 모델을 지정합니다. 한계돌파에 성공하면 해당 그레이드가 1 상향됩니다.
gradeEntries 에는 각 그레이드에 도달하기 위해 소비하는 동일 종류 아이템의 수를 그레이드별로 정의합니다. 엔트리는 1건 이상 1,000건까지 등록할 수 있습니다.
예를 들어 그레이드 1은 1개, 그레이드 2는 3개와 같이 설정함으로써 한계돌파 단계마다 비용을 개별적으로 제어할 수 있습니다.
소재로 소비한 리소스는 그 리소스가 보유하고 있던 내용과 함께 사라집니다.
소재가 경험치 등의 리소스를 가지고 있더라도 대상에게 인계되지 않으므로, 인계가 필요한 경우에는 사전에 인계용 리소스로 변환해 두어야 합니다.
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| unleashRateModelId | string | ※ | ~ 1024자 | 한계돌파 레이트 모델 GRN
※ 서버가 자동으로 설정 | ||
| name | string | ✓ | ~ 128자 | 한계돌파 레이트 모델명 한계돌파 레이트 모델 고유의 이름. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| description | string | ~ 1024자 | 설명문 | |||
| metadata | string | ~ 2048자 | 메타데이터 메타데이터에는 임의의 값을 설정할 수 있습니다. 이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다. | |||
| targetInventoryModelId | string | ✓ | ~ 1024자 | 한계돌파 대상에 사용할 수 있는 GS2-Inventory 인벤토리 모델 GRN
한계돌파 대상이 되는 아이템을 보유하는 GS2-Inventory의 인벤토리 모델을 지정합니다. 한계돌파하는 아이템과 소재로 소비되는 동일 종류 아이템 모두 이 인벤토리 모델에 속해 있어야 합니다. | ||
| gradeModelId | string | ✓ | ~ 1024자 | 그레이드 모델 GRN
대상 아이템의 한계돌파 레벨을 추적하는 GS2-Grade의 그레이드 모델을 지정합니다. 한계돌파가 성공하면, 이 그레이드 모델 내에서 아이템의 그레이드가 가산됩니다. | ||
| gradeEntries | List<UnleashRateEntryModel> | ✓ | 1 ~ 1000 items | 그레이드 엔트리 목록 한계돌파의 각 그레이드 레벨에 대한 소재 비용을 정의합니다. 각 엔트리는 그레이드 값과, 해당 그레이드에 도달하기 위해 소비해야 하는 동일 종류 아이템 수를 매핑합니다. 예를 들어, 그레이드 1은 복제품 1개, 그레이드 2는 복제품 3개와 같이 설정할 수 있습니다. |
UnleashRateEntryModel
한계돌파 레이트 엔트리 모델
한계돌파 진행에서 단일 그레이드 레벨의 소재 비용을 정의합니다. 각 엔트리는 대상이 되는 그레이드 값과, 해당 그레이드를 달성하기 위해 소비해야 하는 동일 종류 아이템의 수를 지정합니다.
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| gradeValue | long | ✓ | 1 ~ 1000 | 대상 그레이드 이 엔트리가 비용을 정의하는 그레이드 값입니다. 이 그레이드 레벨로의 한계돌파를 실행할 때, needCount로 지정된 수의 아이템이 소비됩니다. | ||
| needCount | int | ✓ | 1 ~ 1000 | 동일 종류의 아이템을 몇 개 소비할지 대상 그레이드로의 한계돌파를 실행하기 위해 소비해야 하는 동일 종류 아이템의 수입니다. 이 아이템들은 한계돌파되는 아이템과 동일한 아이템 모델의 것입니다. |