メインコンテンツまでスキップ

カスタム戦利品テーブル

ボス、宝箱、クエスト、アリーナ向けのカスタムアイテム、バニラアイテム、通貨、コマンドを定義する共通形式です。各エントリを独立に確率判定します。テーブルから当選エントリを 1 つだけ選ぶ方式ではありません。

クラスと難易度に応じた装備の自動配布については、自動クラス戦利品を参照してください。その独立した抽選は uniqueLootList と併用できます。作成したレリック、スクリプト付き装備、特殊報酬はこのテーブルに残します。itemType: CLASS_LOOT のアイテムを参照するエントリはクラス戦利品の選択候補となり、通常のボス死亡時の抽選では除外されます。それ以外のエントリは独立した抽選を維持します。

これは最新のフォーマットであり、使用することが推奨されるものですが、いくつかの代替となる古いフォーマットも存在することに注意してください。

注意: レガシーフォーマットのサポートは、コロン区切りの構文filename.yml:chance:permissionを使用して引き続き利用できます。ただし、新しい設定には以下に示す最新フォーマットが推奨されます。

この旧形式では確率とパーミッションは省略可能なため、filename.yml だけでも 100% でドロップします。コロンで区切られた部分が 4 つ以上ある旧形式のエントリは拒否されます。

すべてのエントリは、そのファイルの読み込み時に検査されます。不明なキーや重複したキー、値のないキー、有限の数値でない chance、整数でない amount・currencyAmount・wave・itemLevel、無効な素材があると、そのエントリは Failed to parse entry ... due to invalid: <reason> の警告とともに拒否されますが、テーブルの残りは読み込まれます。キーは大文字と小文字を区別しません。

用途に応じたキーを使います。ボスは uniqueLootList、宝箱は lootList、クエストは customRewards、アリーナは rawArenaReward です。クエストの customRewards は文字列を受け付けるため、YAML マップではなく filename=...:chance=... のコロン区切り形式を使ってください。

戦利品の配布元による違い

カスタムボスの uniqueLootList では 4 種類すべてが機能します。通常の作成済みエントリの配布は putLootDirectlyIntoPlayerInventory に従います。

エントリの種類putLootDirectlyIntoPlayerInventory: false(デフォルト)putLootDirectlyIntoPlayerInventory: true
エリートアイテム(filename)個人向け地面ドロップ、または装備の共有投票個人インベントリ、または装備の共有投票
バニラアイテム(material)地面ドロップインベントリ。入りきらない分はプレイヤーの足元へ
エリートコイン(currencyAmount)拾えるコインシャワー通貨を直接加算
コマンド(command=)コンソールで実行コンソールで実行

ボス報酬は記録されたダメージ貢献者ごとに抽選し、そのインスタンスボスの報酬ロックアウト対象者を除外します。この作成済み戦利品の処理には、別途 10% のダメージ閾値はありません。ダメージを与えずに共有参加クレジットを得た近くのパーティメンバーには、装備以外のエリートアイテムだけがこの処理で配布されます。バニラ、通貨、コマンドは対象外です。アンチエクスプロイトが発動していると、この死亡戦利品は抑止されます。

EliteMobs のインスタンスボス API を通じて他のプラグインのインスタンス内にスポーンしたボスは、putLootDirectlyIntoPlayerInventory を無視し、パーティー投票やグループ投票も開始しません。その戦利品は常に false 列のとおりボスの位置で地面にドロップし、エリートアイテムは個人ドロップになるため、そのインスタンスのワールド内に残ります。

宝箱も同じ地面/インベントリ設定を使い、クエストとアリーナは直接配布します。4 つの配布元はいずれも以下の種類を扱いますが、クエストは文字列形式のエントリだけを受け付けます。ボスのコマンド戦利品は、貢献者の抽選が成功するたびに実行されます。別のボス死亡コマンド構文は onDeathCommands を参照してください。

エリートアイテムをドロップする:​

キー説明値デフォルト
filename使用するカスタムアイテムのファイル名を設定します。Filenamenone
例
uniqueLootList:
- filename: magmaguys_toothpick.yml

これにより、Mobは MagmaGuy's Toothpick を1個、100%のドロップ確率でドロップします。

一般設定:​

キー説明値デフォルト
chanceエントリごとの独立した 1 回の判定。1.0 は 100% です。0.0〜1.0 を指定します。Double1.0
amount抽選成功後のアイテム生成数またはコマンド実行回数。通貨には乗算されず、金額は currencyAmount で指定します。Integer1
permissionプレイヤーがこの戦利品を受け取るために必要なパーミッションノードを設定します。エリートアイテム、通貨、コマンドの各エントリでサポートされます。バニラアイテムのエントリは、どちらのフォーマットでもこれを読みません。Stringnone

amount <= 0 または chance <= 0 の場合は抽選しません。数値でない、または有限でない chance があると、ファイルの読み込み時にそのエントリは拒否されます。chance が 1.0 を超えると必ず成功します。50 のような百分率ではありません。成功後にコピーごとの再抽選は行いません。クエストのプレビューは独自に抽選するため、最終報酬の予約ではありません。

例
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
amount: 10
permission: elitemobs.loot.rare

これにより、Mobは MagmaGuy's Toothpick を10個、50%のドロップ確率でドロップしますが、elitemobs.loot.rareパーミッションを持つプレイヤーに対してのみです。

エリートコインをドロップする:​

キー説明値デフォルト
currencyAmountドロップされるコインの量を設定します。Integernone

currencyAmount は整数である必要があり、通貨を配布するには正の値でなければなりません。正の amount は金額を増やしませんが、amount <= 0 はエントリを無効にします。ゼロまたは負の currencyAmount はどちらの形式でも読み込まれますが、何も配布しません。

直接の通貨報酬は経済ハンドラーを経由し、ギャンブルの借金を先に返済します。地面への配布は拾えるコインシャワーとなり、Harvester スキルのボーナスを受けられます。通貨エントリの直接配布にはそのボーナスは付きません。シャワーのコインは抽選時ではなく回収時に加算されます。

例
uniqueLootList:
- currencyAmount: 344
chance: 0.5

条件を満たすボス貢献者ごとに、50% の確率で基本報酬 344 Elite Coins を与えます。宝箱で同じエントリを使う場合は lootList に記述します。

バニラアイテムをドロップする:​

キー説明値デフォルト
materialアイテムの素材を設定します。素材名はどちらの形式でも大文字と小文字を区別しません。type も別名として使えますが、material と type の両方を設定するとエントリは拒否されます。Materialnone
例
uniqueLootList:
- material: APPLE
chance: 0.3
amount: 5

これにより、Mobは リンゴ を5個、30%のドロップ確率でドロップします。

地面とインベントリのどちらも、エントリごとに 1 回だけ抽選します。この例では成功するとリンゴを 5 個すべて配布します。直接配布はボス、宝箱、クエスト、アリーナに対応し、インベントリに入らない分は足元に落とします。AIR 素材と正でない数量は何も配布しません。バニラエントリは permission を検証しません。

戦利品ドロップ時にコマンドを実行する:​

戦利品がドロップしたときにコンソールコマンドを実行できます。これは、他のプラグインと統合したり、カスタム報酬を提供したりするのに便利です。コマンドエントリはコロン区切りの文字列フォーマットを使用でき、クエストの customRewards 以外では YAML マップも使用できます。

キー説明値デフォルト
command実行するコンソールコマンドを設定します。プレイヤー名のプレースホルダーとして%player%を使用します。Stringnone

文字列フォーマットでは、コマンドに : を含めることはできません。エントリがその文字で分割されるためです。コマンド内の = は問題ありません。コロンが必要なコマンドには YAML マップを使ってください。

コマンドの確率と繰り返し

コマンドも他のエントリと同様に chance を 1 回判定します。成功後、コマンドを amount 回実行します。2 回目の判定や反転判定はありません。

  • chance=1.0(デフォルト)は必ず成功します。
  • chance=0.5 は 50% の確率で成功します。
  • amount=3 はその 1 回の抽選が成功すると 3 回実行します。

プレイヤーは permission を満たす必要があり、コマンドを空にすることはできません。コマンド自体の要件も適用されます。コンソールとして実行するため、受取人の指定には %player% を使ってください。

例
customRewards:
- command=give %player% diamond 1:chance=0.5:amount=1:permission=elitemobs.loot.command

このクエスト報酬は報告時に 50% の確率でコンソールから give <player> diamond 1 を実行します。%player% はプレイヤー名に置換され、elitemobs.loot.command が必要です。同じ文字列をボスの uniqueLootList にも使え、条件を満たす貢献者ごとに抽選します。

アリーナ報酬:​

アリーナの戦利品テーブルを作成する際は、必ず戦利品テーブルをuniqueLootList:ではなくrawArenaReward:で始めてください。

キー説明値デフォルト
waveこの報酬を与えるクリア済みのウェーブ。すべての種類のエントリで、どちらの形式でも使用できます。Integer-1
itemLevel戦利品ドロップのレベルを設定します。アリーナでのみ使用され、意味を持つのはエリートアイテム(filename)エントリだけです。どちらの形式でも使用できます。Integer1
これらのフィールドの制限
  • ウェーブ報酬として登録されるのは、wave が 1 以上のエントリだけです。wave のないアリーナ報酬エントリは解析され受け付けられますが、どのウェーブからも配られることはありません。
  • itemLevel のデフォルトはアリーナやプレイヤーのレベルではなく 1 です。したがって、明示的な itemLevel なしにアリーナが与える scalable のエリートアイテムは、レベル 1 のアイテムとしてドロップします。
例
rawArenaReward:
- material: BREAD
wave: 1
amount: 10
chance: 0.5
- filename=magmaguys_toothpick.yml:wave=1:itemLevel=2

ウェーブ 1 の後、パンのエントリは 50% の抽選を 1 回行います。成功すれば 10 個配布し、入りきらない分は地面に落とします。カスタムアイテムは確率 100% でレベル 2 の MagmaGuy's Toothpick を 1 個要求しますが、生成レベルにはアイテム定義のスケーリング規則が適用されます。これらの報酬より先にアリーナの対象資格とレベル差が確認されます。

2 つのエントリで形式が異なるのは、両方の書き方を示すためだけです。wave と itemLevel はどちらの形式でも機能します。

インスタンスダンジョン:​

キー説明値デフォルト
difficultyID受取人がいるダンジョンの難易度でエリートアイテムを絞り込みます。YAML マップでは ID のリストも使用できます。文字列、数値、リストnone

difficultyID はエリートアイテム(filename)の YAML マップとコロン区切り文字列で読み取られます。マップでは difficultyID: [normal, hard] のようなリストも使用できます。バニラ、通貨、コマンドのエントリでは不明なキーとして拒否されます。ID と名前はダンジョンの難易度リゾルバーに従い、0/1/2、Normal/Hard/Mythic、またはパッケージの Easy/Medium/Hard 規則を使います。不明な ID は完全一致で比較します。空のリストや空白の ID があると、ファイルの読み込み時にそのエントリは拒否されます。

このフィルターはボス、宝箱、クエスト、アリーナのエリートアイテム報酬で確認されます。ただし、受取人が現在ダンジョンインスタンス内にいる場合だけ制限し、それ以外では無視されます。インスタンスボス API を通じて他のプラグインのインスタンス内にスポーンしたボスは、そのプラグインが割り当てた難易度で絞り込まれます。通常のアリーナはダンジョンインスタンスではありません。宝箱、クエスト、アリーナ報酬は共有装備投票に入らず、個人配布のままです。

ボスからの配布では次のように動作します。

  • 難易度が difficultyID と一致する場合:装備はボスの共有グループ戦利品テーブルに入ります。装備以外は個人配布です。条件を満たす戦闘参加者が共有装備を獲得でき、そのボスのロックアウト対象者は投票前に除外されます。
  • ダンジョンの難易度が一致しない場合:そのエントリはスキップされます。
  • プレイヤーがダンジョンインスタンス外にいる場合:difficultyID は無視されます。装備は近くに対象パーティメンバーが 2 人以上いればパーティの Need / Greedを使い、それ以外は通常の個人配布です。装備以外は個人配布のままです。

difficultyID フィルターがなくても装備はパーティ戦利品に入る場合がありますが、このフィールドが有効にするダンジョン専用の共有テーブル分岐は実行されません。クラス戦利品の候補には、前述の独立した選択・難易度規則が適用されます。

例
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
difficultyID: 1

これにより、プレイヤーが難易度1でボスを倒した場合、Mobは MagmaGuy's Toothpick を1個、50%のドロップ確率でドロップします。