Loot
기본 예제 (일반 보급상자) - 하나만 뽑는 경우
loot 폴더 가장 상단에 있는 key, 아래 예제에서는 COMMON_CRATE 을 Loot 이라고 부릅니다.
하위 항목 MONEY1 와 같은 것은 LootElement 라고 부르며, 실제 보상 구현체입니다.
LootElement 는 가중치(weight) 시스템을 따릅니다.
COMMON_CRATE Loot 에서 MONEY1 LootElement 가 발동할 확률은 6 / (6+4+2+2+1) = 6/15 입니다.
가중치는 해당 Loot 에서 하나만 뽑을 경우에만 해당됩니다.
테스트 하는 방법: /dropadmin giveLoot COMMON_CRATE
crate.yml
COMMON_CRATE:
localizedName: "&fᜎ𠄡" # preview 시 gui title 에 적용됩니다.
MONEY1:
weight: 6
element:
item: 'CUSTOM COIN_BRONZE' # SigItemConfigString format 을 따릅니다.
base-amount: 4 # 기본 개수
random-range: 12 # 최대 추가될 수 있는 개수, 여기서는 즉 4~16개 사이. 16 = 4+12. 4~16개 사이 개수는 가중치 없는 랜덤입니다.
EXP1:
weight: 4
element:
item: 'CUSTOM EXP_VOUCHER_100'
base-amount: 2
random-range: 4
SHARD1:
weight: 2
element:
item: 'CUSTOM SHARD_1'
base-amount: 5
random-range: 5
AE:
weight: 2
element:
item: 'CUSTOM AE_COMMON_BOOK'
base-amount: 1
KEY:
weight: 1
element:
item: 'CUSTOM KEY_GREEN'
base-amount: 1기본 예제 - 전체를 주는 경우
Loot 전체를 제공하는 경우는 어떤 활동에 대한 보상 또는 패키지류 아이템과 같은 경우에 해당됩니다.
예를 들어 퀘스트나 납품에 대한 보상, 또는 패키지 구매에 대한 보상을 지급할 때 전체 지급 형태가 사용됩니다.
아래는 드워프 패키지에 대한 예제입니다.
테스트 하는 방법: /dropadmin getAll PACKAGE_DWARF
package.yml
모든 항목을 주는 경우 weight 시스템이 무의미하기 때문에 일반적으로 1로 설정하는 것을 기본으로 합니다.
Currency 예제
Currency 는 모든 재화를 지원합니다.
SigLib CurrencyType 참조 (//TODO: 링크 )
Permission 예제
Permission type 은 보상을 받는 유저가 Permission 을 가지고 있는지 체크합니다.
Permission 을 보유한 경우 on_duplicate 아래에 있는 항목을 제공하며 SigReward format 을 따릅니다.
SIGITEM 예제
SIGITEM 이 필요한 경우는 일반적인 아이템 자체에는 데이터가 존재할 수 없는, 기간제 또는 귀속류의 드롭을 제공할 때 사용됩니다.
type: SIGITEM 으로 변경하면 자동으로 SIGITEM TYPE 으로 사용됩니다.
quest.yml
JOBSKILL_TOME_LIFE 은 생활의 교본 아이템입니다.
option 을 붙이지 않는 경우, 자동으로 SigItem 에 설정된 기본 설정으로 사용되며, 설정을 다르게 하고 싶은 경우 sigdrop 에서 위 예제와 같이 개별 설정 할 수 있습니다.
expiry 가 -1 인 경우 기간제 아이템에서 제외됩니다.
SIG_DROP_LOOT 예제
LOOT 에 LOOT 를 재귀적으로도 포함시킬 수 있습니다.
자주 쓰는 방식은 아니며, 재귀를 꼬리물기 하여 무한루프가 돌지 않도록 주의하여야 합니다.
일반적으로 (..중 택1) 형식의 보상을 생성할 때 자주 쓰는 편입니다.
예를 들어 아래 예제인 퀘스트 보상같은 경우 LIFE_QUEST_EASY LOOT 를 getAll로 받기 때문에 직업 경험치와 생활의 교본, 랭킹 경험치 등은 확정 보상이며 LIFE_QUEST_EASY_SELECTION Loot 도 확정 보상으로 받으나 이를 택1로 받기 때문에 LIFE_QUEST_EASY_SELECTION 중 1개를 뽑아 확정 보상으로 얻는 형태로 자주 쓰입니다.
SIG_REWARD 예제
SigReward 포맷을 element 아래에 동일하게 지원합니다.
가급적 다른 native 지원을 사용하되, 명령어 등 연동이 불가능한 것들은 SigReward 사용을 고려 할 수 있습니다.