跳至主要內容

自訂戰利品表

此共用格式為 Boss、寶箱、任務與競技場定義自訂物品、原版物品、貨幣及指令。每個項目各自進行機率判定,並非整張表只抽出一個獲獎項目。

若要自動涵蓋各職業與難度的裝備,請參閱自動職業戰利品。其獨立基礎抽取可與 uniqueLootList 同時運作。手工設計的遺物、腳本裝備及其他特殊獎勵仍保留在此表中。引用 itemType: CLASS_LOOT 物品的項目是職業戰利品候選,不參與一般 Boss 死亡抽取;其他項目繼續獨立抽取。

請注意,這是最新的格式,也是建議使用的格式,但仍存在一些其他的舊格式。

注意: 使用冒號分隔的語法 filename.yml:chance:permission 仍可支援舊版格式。然而,對於新的配置,建議使用下方所示的現代格式。

在該舊語法中,chance 與 permission 都是選填的,因此只寫 filename.yml 會以 100% 掉落該物品。以冒號分隔超過三個部分的舊版項目會被拒絕。

每個項目都會在其檔案載入時接受檢查。未知或重複的鍵、沒有值的鍵、不是有限數值的 chance、不是整數的 amount、currencyAmount、wave 或 itemLevel,以及無效的材質,都會讓該項目遭到拒絕,並記錄 Failed to parse entry ... due to invalid: <reason> 警告;表中其餘項目仍會正常載入。鍵不區分大小寫。

使用對應功能的鍵:Boss 用 uniqueLootList,寶箱用 lootList,任務用 customRewards,競技場用 rawArenaReward。任務的 customRewards 接受字串,請使用冒號分隔的 filename=...:chance=...,而非 YAML map。

依戰利品來源發放

自訂 Boss 的 uniqueLootList 支援全部四類項目。一般自訂項目的發放取決於 putLootDirectlyIntoPlayerInventory:

項目類型putLootDirectlyIntoPlayerInventory: false(預設)putLootDirectlyIntoPlayerInventory: true
精英物品(filename)個人地面掉落或共用裝備投票個人背包發放或共用裝備投票
原版物品(material)地面掉落放入背包;溢出物品掉在玩家腳邊
精英金幣(currencyAmount)可拾取的金幣雨直接增加貨幣
指令(command=)由主控台執行由主控台執行

Boss 獎勵對每位已記錄的傷害貢獻者分別抽取,排除已被該實例 Boss 鎖定獎勵的玩家。這條自訂戰利品流程沒有額外的 10% 傷害門檻。附近隊員若未造成傷害、僅取得共用參與資格,透過此流程只會得到非裝備精英物品項目,不會得到原版物品、貨幣或指令項目。觸發反利用保護會阻止這類死亡戰利品。

透過 EliteMobs 實例 Boss API 在其他外掛實例中生成的 Boss,會忽略 putLootDirectlyIntoPlayerInventory,也從不啟動隊伍或團隊投票。它們的戰利品一律如 false 欄所示掉落在 Boss 所在的地面上,精英物品作為個人掉落,因此會留在該實例的世界中。

寶箱使用相同的地面/背包設定;任務與競技場直接發放。四種來源皆支援下述類型;任務只接受字串項目。Boss 指令戰利品對每次成功的貢獻者抽取執行。獨立的 Boss 死亡指令語法請見 onDeathCommands。

掉落精英物品:​

鍵說明值預設值
filename設定要使用的自訂物品的檔案名稱。Filenamenone
範例
uniqueLootList:
- filename: magmaguys_toothpick.yml

這會讓怪物以 100% 的掉落機率掉落 1 個 MagmaGuy's Toothpick。

一般設定:​

鍵說明值預設值
chance每個項目獨立判定一次,1.0 為 100%。使用 0.0 到 1.0 的值。Double1.0
amount判定成功後產生的物品份數或指令執行次數。不乘算貨幣,金額請用 currencyAmount。Integer1
permission設定玩家領取此戰利品所需的權限節點。精英物品、貨幣與指令項目皆支援。原版物品項目在任何格式下都不會讀取它。Stringnone

amount <= 0 或 chance <= 0 時不抽取;非數值或非有限值的 chance 會讓項目在檔案載入時遭到拒絕。大於 1.0 的 chance 一定通過;它不是 50 這類百分數。成功後不會為每份物品重新抽取。任務預覽會自行進行機率判定,並不預留最終獎勵。

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

這會讓怪物以 50% 的掉落機率掉落 10 個 MagmaGuy's Toothpick,但僅限擁有 elitemobs.loot.rare 權限的玩家。

掉落精英金幣:​

鍵說明值預設值
currencyAmount設定將掉落的金幣數量。Integernone

currencyAmount 必須是整數,且必須為正才會發放貨幣。正數 amount 不會乘算金額,但 amount <= 0 會停用項目。零或負數的 currencyAmount 在兩種格式下都能載入,但不發放任何獎勵。

直接貨幣獎勵經由經濟處理器,優先償還賭債。地面發放使用可拾取的金幣雨,可取得 Harvester 技能加成;貨幣項目的直接發放不套用該加成。金幣雨在拾取時入帳,而非機率判定通過時。

範例
uniqueLootList:
- currencyAmount: 344
chance: 0.5

這讓每位符合資格的 Boss 貢獻者有 50% 的機率取得基礎獎勵 344 精英金幣(Elite Coins)。在寶箱中使用同一項目時改用 lootList。

掉落原版物品:​

鍵說明值預設值
material物品材質。兩種格式的材質名稱都不區分大小寫。type 可作為別名使用;同時設定 material 與 type 會讓項目遭到拒絕。Materialnone
範例
uniqueLootList:
- material: APPLE
chance: 0.3
amount: 5

這會讓怪物以 30% 的掉落機率掉落 5 個 蘋果(Apples)。

地面掉落與直接背包發放都只對項目抽取一次。此例中成功就發放全部 5 個蘋果。直接發放支援 Boss、寶箱、任務與競技場,背包裝不下的物品掉在玩家位置。AIR 材質及非正數量不發放物品。原版項目不檢查 permission。

在掉落戰利品時執行指令:​

你可以在戰利品掉落時執行主控台指令。這對於與其他外掛整合或提供自訂獎勵很有用。指令項目接受冒號分隔的字串格式;除任務的 customRewards 外,也接受 YAML map。

鍵說明值預設值
command設定要執行的主控台指令。使用 %player% 作為玩家名稱的佔位符。Stringnone

使用字串格式時,指令不能包含 :,因為項目會以該字元分割。指令中出現 = 則沒有問題。指令需要冒號時,請使用 YAML map。

指令機率與重複次數

指令項目與其他項目一樣,只判定一次 chance。成功後執行指令 amount 次,沒有第二次判定或反向判定:

  • chance=1.0(預設)一定通過。
  • chance=0.5 有 50% 的機率通過。
  • amount=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。同一字串也可用於 Boss 的 uniqueLootList,為每位符合資格的貢獻者分別抽取。

競技場獎勵:​

製作競技場戰利品表時,請務必以 rawArenaReward: 而非 uniqueLootList: 作為你戰利品表的開頭。

鍵說明值預設值
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% 判定。成功則發放 10 個麵包,溢出部分掉在地上。自訂物品項目的機率為 100%,要求一個物品等級為 2 的 MagmaGuy's Toothpick;產生等級仍受物品定義的縮放規則控制。競技場會在這些獎勵之前先檢查玩家資格與等級差。

這兩個項目使用不同格式,只是為了同時示範兩者;wave 與 itemLevel 在任一格式下都能運作。

實例副本:​

鍵說明值預設值
difficultyID依接收者目前所在副本的難度篩選精英物品項目;YAML map 也接受 ID 清單。字串、數字或清單none

精英物品(filename)的 YAML map 與冒號分隔字串都會讀取 difficultyID。map 還支援 difficultyID: [normal, hard] 這類清單。原版物品、貨幣及指令項目會將它視為未知鍵而拒絕該項目。ID 與名稱遵循副本的難度解析器:0/1/2、Normal/Hard/Mythic 或內容包的 Easy/Medium/Hard 規則。未知 ID 保留精確比對。空清單或空白 ID 會讓項目在檔案載入時遭到拒絕。

Boss、寶箱、任務及競技場的精英物品獎勵都會檢查此條件,但僅在接收者目前處於副本實例內時產生限制,外部則忽略。透過實例 Boss API 在其他外掛實例中生成的 Boss,會依該外掛指派給它的難度進行篩選。一般競技場實例不屬於副本實例。寶箱、任務與競技場獎勵仍是個人獎勵,不進入共用裝備投票。

對於 Boss 發放,項目的行為如下:

  • 副本難度符合 difficultyID:裝備進入 Boss 的共用團隊戰利品表,非裝備仍為個人發放。符合資格的戰鬥貢獻者可領取共用裝備;已被該 Boss 鎖定獎勵的玩家會在投票前排除。
  • 副本難度不相符:該項目會被略過。
  • 玩家不在副本實例內:忽略 difficultyID。附近至少有兩名符合資格的隊員時,裝備使用隊伍需求/貪婪,否則依一般個人方式發放。非裝備獎勵仍為個人發放。

沒有 difficultyID 時,裝備仍可能進入隊伍戰利品,但不會執行該欄位啟用的副本專用共用表分支。職業戰利品候選使用上文所述的獨立職業選擇與難度規則。

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

如果玩家在難度 1 擊敗了首領,這會讓怪物以 50% 的掉落機率掉落 1 個 MagmaGuy's Toothpick。