Next Run《再來一回合》· 模組

《再來一回合》模組製作指南

詳細介紹《再來一回合》模組的運作方式、檔案結構以及遊戲元件。請收藏此連結,以便在建立和發佈模組時快速查閱。

1. 概述

本文件介紹《再來一回合》的模組系統:如何安裝模組、建立自己的模組,以及如何與其他玩家分享。

2. 模組系統

啟動遊戲並點擊「遊玩」和「建立遊戲」後,遊戲會掃描目錄中的Mods資料夾。若子資料夾內存在modinfo.json檔案,則該子資料夾被視為一個模組。

2.1. Steam工作坊、安裝與發佈模組

如果您在Steam用戶端中啟動遊戲,「遊玩」選單下會顯示「模組」面板,包含以下按鈕:

  • Steam工作坊
  • 模組資料夾
  • 發佈
  • 指南

2.1.1. Steam工作坊

在Steam用戶端內開啟工作坊。要下載模組,請先訂閱。之後會自動開始下載。若模組檔案較大,下載可能需要一些時間。下載狀態會顯示在Steam用戶端中。

2.1.2. 模組資料夾

開啟您遊戲的模組資料夾。

2.1.3. 發佈

遊戲會自動掃描Mods資料夾,並將所有您作為作者的模組發佈到Steam工作坊。

  • 如果是新模組,會自動產生steam_id。
  • 如果模組已存在,則會被更新。
  • 發佈按鈕在上傳時會改變外觀。
  • 只有存在變動的模組才會被發佈。
  • 修改modinfo.json檔案不視為內容變更。
  • 發佈的模組會對全球其他玩家可見。Steam工作坊並非唯一的發佈管道 - 也可以直接將模組資料夾放入Mods目錄來分發。

2.1.4. 指南

本指南的連結。

2.2. JSON檔案

遊戲中的所有資料和文字都使用JSON格式。與一般文字格式的主要差異在於資料必須包含在大括號 {} 中。

JSON語法說明:

  • https://en.wikipedia.org/wiki/JSON
  • https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON

建議參考遊戲中的範例檔案。

2.3. 檔案結構

每個模組的檔案結構與遊戲本體相同。這些檔案要麼新增內容,要麼修改現有內容。JSON檔案會新增或修改遊戲中的個別元素。其他格式的檔案(png、ogg)會整體替換。

範例:如果您建立data/game.json並在其中修改實體「Warrior」(職業),則只會修改該職業,其餘game.json中的實體保持不變。如果您新增portrait_warrior_front.png,由於檔名相同,它將完全替換遊戲中的對應圖片。

模組內有必要和選用的檔案與資料夾。標準結構如下:

  • 模組資料夾名稱(可任意命名,不是模組名稱)
  • modinfo.json
  • preview.png
  • data/
  • icons/
  • sounds/
  • texts/
  • tiles/

為了更好地理解,建議研究遊戲範例和現有模組。以下是每個資料夾和檔案的詳細說明。

2.3.1. modinfo.json

包含模組中繼資料的檔案。其中一部分資料會在發佈時用於Steam工作坊。

  • title - 模組名稱,會顯示在Steam中。
  • version - 模組版本。
  • description - 模組描述。
  • tags - Steam工作坊中的導覽標籤。
  • order - 模組載入順序。如果多個模組修改同一資料,order值較大的模組會覆蓋值較小的模組。
  • steam_id - 無需手動填寫,發佈時自動產生。
  • created_time - 建立時間。
  • changed_time - 修改時間。
  • 允許新增其他欄位,但只會在檔案內使用。模組作者會透過Steam工作坊自動判定。

2.3.2. preview.png

用於Steam工作坊的模組圖示。建議解析度為256x256或512x512,比例為正方形,可用透明PNG或JPG。

2.3.3. data

存放資料JSON檔案的資料夾。包含用於修改或新增遊戲實體的檔案。您只需建立需要修改或新增的檔案與欄位。可變更資料的詳細說明見第3章。

2.3.4. icons

存放遊戲圖示的資料夾。包含除GUI和地塊外的大多數圖片。不同場景會用到多個標準尺寸和圖層。遊戲使用帶透明背景的PNG檔案。

2.3.5. sounds

存放音效和音樂的資料夾。可以新增檔案或替換現有檔案。使用的格式為OGG。

2.3.6. texts

存放遊戲在地化文字的資料夾。每個檔案對應一種語言,使用IETF BCP-47 / ISO標準。目前支援13種語言:ruRU.json、trTR.json、jaJP.json、koKR.json、zhTW.json、zhCN.json、plPL.json、ptBR.json、itIT.json、esES.json、frFR.json、deDE.json、enUS.json。

2.3.7. tiles

存放地塊圖片的資料夾。使用帶透明背景的PNG檔案。標準地塊尺寸為256x384。地塊由多個圖層組成,如地面、物件、森林、山脈、道路等。

2.4. 模組同步

取得模組後,遊戲每次啟動時都會自動與Steam工作坊上發佈的最新版本同步。

如果您是該模組的作者,就不會執行同步,模組檔案也不會被覆寫。這樣可以避免在製作模組時重新啟動遊戲導致變更遺失。

如果您想以他人的模組為基礎製作自己的模組,在重新啟動遊戲之前需要執行以下步驟:

  • 將模組資料夾名稱改成與其id不同的其他名稱。
  • 在modinfo.json檔案中刪除以下欄位:「author」、「created_time」、「steam_id」、「changed_time」。

2.5. 資料合併

模組與遊戲的JSON資料檔不會被取代,而是會被合併。

合併順序:

  • 先以遊戲JSON檔中的原始實體作為基礎。
  • 再套用模組資料。模組會依照modinfo.json中order欄位設定的優先順序套用。

合併時會分別處理所有元件的每個欄位。例如某個實體包含'hideIfZero':true,而您需要值變成false,僅刪除欄位不夠 - 必須明確寫出'hideIfZero':false。

list.json中的列表也會以相同方式合併。如果只想新增單一項目,不必將每個列表連同所有欄位都複製一次。不過僅含簡單資料的列表會被完全取代,例如RndGoodEvents和RndEvents。

3. 元件

《再來一回合》基於ECS架構。整個遊戲由實體組成。實體是元件的容器,只有一個id欄位。所有其他資料都由元件描述,並在JSON檔案中設定。

JSON檔案中的範例項目:

3.1. Button

描述遊戲中按鈕的外觀和行為。

  • panel = string,按鈕所在的預設面板。遊戲中的所有按鈕都位於某些面板和選單內。可參考範例選擇要放置按鈕的面板。
  • icon = string,按鈕圖示名稱。圖示名稱取自icons資料夾中的PNG檔案。
  • iconType = string,按鈕類型,影響大小和元素。可選值:'btn' - 普通按鈕,'btnBig' - 帶下方數值的按鈕。
  • color = string,圖示底色,例如green、yellow。遊戲支援的顏色列表:green、superGreen、lightGreen、darkGreen、red、superRed、darkRed、gray、lightGray、darkGray、lightBlue、blue、darkBlue、darkDarkBlue、grayYellow、yellow、pink、cyan、darkCyan、almostBlack、black、orange、darkOrange、lightViolet、purple、chartreuse、num、gameBack、blank、halfTrans、white、base。
  • numText1 = double,圖示的數值。
  • numTextAdd = string,數值附加內容,例如符號「%」。
  • numText1Type = string,圖示數值類型,例如level、total、duration。
  • numCustom = string,自訂唯一數值,例如「∞」。
  • numIcon = string,數值旁的圖示,例如等級用star,商品用coin。
  • hotkey = string,鍵盤快捷鍵。
  • hide = bool,按鈕是否隱藏。
  • hideIfZero = bool,當Total.now為0時隱藏按鈕。
  • disabled = bool,按鈕是否停用,例如部分選單在遊戲開始時被停用。
  • interactable = bool,按鈕是否可互動,預設為是。非互動按鈕範例:背包欄位。
  • cantBeDeselect = bool,禁止取消選取此按鈕。
  • cantBeSelect = bool,禁止點擊時選取該按鈕。
  • draggable = bool,按鈕是否可拖曳。
  • x = double,按鈕在介面中的X座標,用於無面板的按鈕,例如背包欄位。
  • y = double,同上,為Y座標。
  • upMiniPred = string,檢查該實體的動作名稱。若動作可用,會出現升級類的小提示圖示。
  • craftMiniPred = string,類似提示,用於「製作」動作。
  • raiseMiniPred = string,類似提示,用於「提升」動作。

3.2. Tooltip

描述按鈕提示的內容。

  • text = string,遊戲中顯示的實體名稱。
  • dontShowDuration = bool,不顯示持續時間數值。
  • hideSources = bool,不顯示影響該實體數值的來源實體。
  • hideAsSubjTT = bool,禁止將該物件作為關聯實體的來源顯示。
  • desc = string,描述文字,顯示在提示開頭。
  • desc2 = string,描述文字,顯示在提示末尾。
  • redDesc = string,紅色醒目的描述文字,顯示在末尾。
  • totalTextAs = string,用作「總計」的替代文字。
  • ttPos = string,提示相對按鈕的位置,可選「top」、「left」。

3.3. GameClass

描述職業機制。

  • text = string,遊戲中的職業名稱。
  • portrait_back = string,選擇職業時的背景圖391×598。
  • portrait_front = string,選擇職業時的前景圖411×620,透明。
  • figurine = string,地圖上的角色頭像149×243。
  • doll = string,背包中的黑白職業圖460×784。
  • bonusSkill1 = string,獲得加成的技能1名稱。
  • bonusSkillVal1 = double,技能1的加成數值。
  • bonusSkill2 = string,獲得加成的技能2名稱。
  • bonusSkillVal2 = double,技能2的加成數值。
  • debuffSkill1 = string,受到減益的技能1名稱。
  • debuffSkillVal1 = double,減益1的數值。
  • debuffSkill2 = string,受到減益的技能2名稱。
  • debuffSkillVal2 = double,減益2的數值。
  • gold = double,職業初始黃金數量。
  • remains = double,初始遺骸數量。
  • equip = List(string),初始裝備列表。
  • units = string,初始單位名稱。
  • itemName = string,初始背包物品名稱。
  • itemNum = double,初始背包物品數量。
  • learnList = string,要學習的法術或圖紙列表,列表在list.json中。
  • learnNum = double,將從列表中學習的法術或圖紙數量。
  • lessTime = double,地獄攻擊之間的時間減少量。
  • manaBonus = double,魔力加成(上限與總量)。
  • upgradeDexterityBonusMod = double,「敏捷」技能對可升級物品的加成。
  • skillPointsPerLevel = double,升級時獲得的技能點數。
  • upgradeManaCostMod = double,法術升級效率加成。
  • freeRegion = bool,免費區域。
  • necroBonus = bool,死靈法師玩法與加成。
  • druidBonus = bool,德魯伊玩法與加成。
  • stances = bool,是否有姿態/形態/指令。
  • defStance = string,預設姿態。
  • notDemo = bool,在試玩版中不可用。
  • notTutorial = bool,在教學模式中是否可用。

3.4. GameMode

描述遊戲模式的機制。

  • text = string,模式名稱。
  • back = string,選擇模式時的背景圖391×598。
  • moreTime = double,地獄攻擊之間增加的時間。
  • lessTime = double,地獄攻擊之間減少的時間。
  • woundChance = double,受傷機率。
  • notDemo = bool,在試玩版中不可用。
  • scenario = string,該模式的專屬地圖名稱。
  • noHellAttacks = bool,此模式無地獄攻擊(類似沙盒)。
  • savesOnExitOnly = bool,此模式僅在退出遊戲時存檔。

3.5. Biome

定義生物群系的機制。

  • frequency = double,地圖生成時該生物群系的出現頻率。數值越大越常見,為0時不生成。Lava生物群系始終作為最終區域生成。
  • hexBase = string,該生物群系的基礎地塊,在聚落下方生成。
  • music = string,生物群系的音樂檔名。
  • hexPatterns = List(string),生物群系中的物件模板列表。其運作方式類似牌堆:模板隨機洗牌後抽取,耗盡後重新產生。模板格式為:物件名#物件名,#為分隔符號。
  • mobLevel1 .. mobLevel8 = string,根據區域等級生成的生物名稱。

3.6. TileAsset

定義地圖上物件的外觀。

  • tileMap = string,圖層名稱:LandTilemap - 地表,ObjectTilemap - 一般物件,RoadTilemap - 道路等,僅疊放順序不同。
  • rawSprite = string,新增到地圖的256×384圖片。
  • icon = string,覆蓋所有TileMap的圖示。
  • buttonIcon = bool,是否從Button取得圖示。
  • delLevel = double,移除等級,表示用動作刪除物件的難度。

3.7. Shop

描述商店機制。

  • slots = int,商店欄位數量。
  • type = string,list.json中商店貨品表的名稱。

3.8. Item

描述物品機制。

  • slot = string,裝備欄位名稱。
  • stackable = bool,是否可堆疊。
  • upgradable = bool,是否可升級,升級時長取決於等級。
  • upProgress = double,升級所需時長。
  • order = double,商店中物品排序,數值越小越靠前。

3.9. Mob

描述生物機制。

  • hell = bool,是否為地獄生物。賄賂有懲罰,參與地獄攻擊,並提供額外遺骸。
  • undead = bool,是否為亡靈。不可賄賂,有特殊升級機制。
  • type = string,生物類型 - 「Warriors」、「Defenders」、「Mages」、「Gatherers」、「Crafters」,決定底色、命中率、傷害類型、戰利品類型。
  • upMob = string,生物升級後的名稱。
  • upCostName = string,升級所需物品名稱。
  • upCostNum = double,升級所需資源數量,預設為1。

3.10. Dungeon

描述地下城機制。

  • magic = bool,是否為魔法地下城,影響傷害類型、掉落和擴充。
  • boss = bool,是否為最終地下城。

3.11. Ruins

描述廢墟機制 - 搜尋物品的地點。

3.12. Addon

擴充機制。擴充是位於地下城或廢墟格子上的物件,會修改其參數並提供額外獎勵。

  • skill = string,掃蕩地下城或探索廢墟後玩家獲得的技能名稱,可指定「Random」、「Strength」等。
  • unit = string,完成動作後獲得的獎勵單位名稱,可指定「Random」。
  • item = string,完成動作後獲得的獎勵物品名稱,可指定「Random」。
  • phyChanceMulti = double,掃蕩時物理傷害機率修正,例如50(%)。
  • magChanceMulti = double,掃蕩時魔法傷害機率修正,例如50(%)。
  • progressMulti = double,掃蕩或探索動作所需時間的增幅,例如100(%)。
  • dmgMulti = double,掃蕩時傷害量的修正,例如50(%)。

3.13. Build

標記該物件為建築。

3.14. Center

定義該物件為聚落。

  • captureProgress = double,佔領聚落所需的努力值。
  • upProgress = double,升級聚落所需的努力值。
  • upCostName1 = string,升級需要的物品1名稱。
  • upCostNum1 = double,所需物品1數量。
  • upCostName2 = string,物品2名稱。
  • upCostNum2 = double,物品2數量。
  • upCostName3 = string,物品3名稱。
  • upCostNum3 = double,物品3數量。
  • upProp = string,升級後的聚落名稱。

3.15. Gatherable

定義該物件可被採集並獲得資源。

  • gather = string,採集後獲得的資源名稱。
  • deposit = bool,該資源是否為礦脈,若是,則可以建造礦坑。

3.16. AlliedForest

在扮演德魯伊時,「盟友森林」機制及其數值。

  • allyBonus = double,「盟友森林」加成數值。

3.17. Graveyard

定義該物件為墓地,對死靈法師玩法很重要。此處的遺骸數量為隨機產生。

  • now = double,目前遺骸數量。
  • rndMin = double,遺骸隨機數最小值。
  • rndMax = double,遺骸隨機數最大值。
  • rndCeil = bool,隨機值是否向上取整。

3.18. Pred

動作元件。雖然元件的大部分功能隱藏在程式碼中,但有一部分可用。

  • action = string,執行後觸發的動作名稱。
  • local = bool,與物件互動是否需要位於同一格。
  • attackPred = bool,該動作為攻擊動作,若施放戰鬥法術會自動套用。
  • gatherPred = bool,該動作為採集動作,若施放採集法術會自動套用。
  • craftPred = bool,該動作為製作動作,若施放製作法術會自動套用。
  • skill = string,執行動作所用技能,例如攻擊類動作使用「攻擊」。
  • longPred = bool,該動作非即時,需要時間。
  • repeat = bool,動作會重複執行直到停止。
  • noOwner = bool,該動作不需要選取任何物件。
  • skipLongTooltip = bool,使用簡化的動作提示。
  • onlyClass = string,該動作屬於姿態、形態或指令,僅對特定職業可用。

3.19. Total

定義實體的數值元件,通常表示數量。

  • now = double,目前數值。
  • inc = double,每回合增長。
  • max = double,最大值。
  • min = double,最小值。
  • rndMin = double,隨機數最小值。
  • rndMax = double,隨機數最大值,產生時會取代now。
  • rndCeil = bool,隨機值向上取整。
  • overMax = bool,允許超出上限。
  • delIfZero = bool,數值為0時刪除。
  • numPercent = bool,數值是否為百分比。

3.20. Level

定義實體等級的元件。

  • now = double,目前等級。
  • max = double,最高等級。
  • min = double,最低等級。
  • localLevelPlus = int,本地等級加值,僅對地圖物件有效,其等級為區域等級加上此值。

3.21. Duration

定義實體持續時間的元件。

  • now = double,目前持續時間。
  • max = double,最大持續時間。
  • min = double,最小持續時間。
  • delIfZero = bool,為0時刪除。

3.22. Mods

修改器列表元件。建立該元件時會產生一組影響其他實體的變更,刪除實體時這些變更會消失。

  • radius = int,修改影響的半徑,僅在地圖上有效。
  • objType = string,受修改影響的實體類型,例如「Stat」、「Skill」、「Prop」、「Item」、「ModableVal」、「PropMod」。
  • objName = string,實體名稱,例如「Speed」。
  • objComp = string,受影響的元件,例如「Total」、「Level」。
  • objKey = string,受影響的元件欄位,例如「now」、「inc」、「max」。
  • modType = string,欄位的影響方式:「add」、「mult」、「addPerLevel」、「multPerLevel」。
  • now = double,修改器的數值。
  • subjTooltipText = string,會在動態提示中新增主體說明。
  • skipPerTooltip = bool,在提示中將PerLevel替換為Plus。
  • skipSubjTooltip = bool,跳過該主體的提示。

3.23. ModableVals

全域變數列表元件。與具體實體的綁定是形式上的。大部分邏輯在遊戲程式碼中。

  • now = double,變數值。

3.24. Slot

定義實體為背包欄位的元件。

  • name = string,欄位名稱。要將物品放入該欄位,物品的Item.slot欄位必須一致。

3.25. Container

將實體定義為帶有格子的容器。

  • cells = int,容器格子數量。
  • cellsPanel = string,面板名稱。

3.26. Tom

定義該實體為可學習的法術卷冊,使用後可獲得或升級法術。

  • cast = string,法術名稱。

3.27. Cast

定義該實體為法術。

  • mana = double,法術魔力消耗。
  • predSkill = string,啟動該法術時觸發的動作類型,例如Attack類型會自動啟動攻擊類動作。
  • notSkills = string,提示使用該法術所需的動作。
  • attack = double,施放該法術對「攻擊」類動作的加速程度,視作魔法傷害。
  • gather = double,施放該法術對「採集」類動作的加速程度。
  • craft = double,施放該法術對「製作」類動作的加速程度。
  • heal = double,為玩家英雄回復的生命值。
  • newEvent = string,法術觸發的事件名稱,通常是增益類事件。
  • teleport = bool,傳送到選定位置。
  • explore = double,探索該格及相鄰格子。

3.28. Blueprint

圖紙實體的機制。

  • item = string,將要製作的物品名稱。
  • build = string,將要建造的建築名稱。
  • costName1 = string,製作所需物品1名稱。
  • costNum1 = double,所需物品1數量。
  • costName2 = string,物品2名稱。
  • costNum2 = double,物品2數量。
  • costName3 = string,物品3名稱。
  • costNum3 = double,物品3數量。

3.29. Cost

價格元件,定義實體可買賣的價格。

  • raw = double,未含修改的基礎價格。買賣價格基於此計算。

3.30. Event

事件元件。

  • uniq = bool,事件唯一;若再次出現同名事件,會刪除舊事件。
  • rndEvent = bool,事件為隨機事件。
  • nextEvent1 = string,目前事件結束後開始的第一個事件名稱。
  • nextEvent2 = string,目前事件結束後開始的第二個事件名稱。
  • castType = string,法術增益效果的類型,會覆蓋相同類型。

3.31. Proc

處理觸發機率(proc)的元件,例如疾病發生的機率。

  • addEvent = string,當觸發成功時會發生的事件。

3.32. ProcMod

允許實體影響觸發機率的元件。

  • proc = string,被影響的觸發名稱。
  • chance = double,影響強度,部分功能在程式碼中。
  • dependsLevel = bool,是否取決於實體等級。

3.33. Usable

一次性使用的元件,提供效果,例如藥水。透過「使用」動作啟動。

  • stat = string,受影響的屬性名稱。
  • skill = string,受影響的技能名稱。
  • nowBonus = double,影響Total.now欄位的加成。
  • maxBonus = double,影響Total.max欄位的加成。
  • cure = bool,是否治癒「疾病」效果。

3.34. Drankable

允許在地圖上飲用物件的元件,例如湖泊、綠洲等。

3.35. Sphinx

地圖上的任務元件:獅身人面像。參數根據區域等級自動判定。

3.36. Living_tree

地圖上的任務元件:活樹。參數根據區域等級自動判定。

3.37. Vision

地圖物件的機制,玩家英雄進入該格時會擴大地圖視野。

  • explore = int,偵查半徑。1 - 一般偵查,2 - 比一般多一格。

3.38. Remains

作為遺骸元件的實體描述。允許將此類實體轉化為亡靈。

3.39. Audio_comp

允許根據實體類型播放音效的元件。

  • click = string,點擊實體時的音效,用於動作和法術。
  • added = string,建立實體時播放的音效,用於事件。
  • ambient1 = string,環境音軌1。
  • ambient2 = string,環境音軌2。
  • ambient3 = string,環境音軌3。
  • process = List(string),執行動作時播放的音效列表。
  • waits = List(double),播放間的停頓列表。
  • finish = string,完成動作時的音效。
  • rndProcess = bool,播放過程中是否帶有細微隨機效果。

3.40. Childs

遞迴建立新實體的元件。

  • list = List(Entity),會自動建立並綁定到該實體的子實體列表。

3.41. Preds

為實體建立動作的元件,雖然大多數實體在遊戲程式碼中定義。

  • list = List(string)。

3.42. Equip

標記該物品可裝備在英雄身上的元件。

3.43. Res

資源指示元件。用於提示、動畫和遊戲摘要。

3.44. TurnAct

表示該實體需要在每個遊戲時間刻檢查,例如Total和Duration元件。

4. 列表

list.json檔案包含一組資料區段,它們不是實體或元件,定義了用於產生遊戲內容的各種列表。

4.1. RndGoodEvents

在遊戲開始時產生的良性隨機事件列表。

4.2. RndEvents

在遊戲過程中產生的正面和負面隨機事件列表。

4.3. Generator_dungeon_addons_physical

為物理傷害型地下城產生的擴充(addons)列表。

4.4. Generator_dungeon_addons_magical

為魔法傷害型地下城產生的擴充(addons)列表。

4.5. Generator_ruins_addons

為廢墟產生的擴充(addons)列表。

4.6. Generator_settlement_levels

區域等級與聚落實體名稱的對應列表,例如「lvl1」:「Village」表示1級區域會產生Village類型的聚落。

4.7. Generator_rar_metals

區域等級與礦脈名稱的對應列表,例如「lvl2」:「Deposit_tin」表示2級區域會產生錫礦脈。

4.8. Generator_mages

區域等級與會產生並守護法師塔的法師名稱對應列表,例如「lvl3」:「Priestesses」表示3級區域會產生女祭司。

4.9. LevelMobs_

不同區域等級的生物列表,玩家在掃蕩地下城解救囚犯或探索廢墟後會獲得這些生物。

4.10. Crafter_start, Lord_start, Mage_start,

在GameClass元件的learnList欄位中,不同職業在開局獲得的物品列表,數量由learnNum欄位產生。

  • obj = string,物品名稱。
  • min = double,隨機數量最小值。
  • max = double,隨機數量最大值。
  • chance = double,產生該物品的機率。
  • 可以建立其他列表並綁定到不同職業,以便學習不同的圖紙或法術。

4.11. Gold_

該列表根據區域等級決定產生的黃金數量。黃金會以50%機率出現在所有地圖獎勵中。語法請參見4.10。

4.12. Loot_-

這組列表根據區域等級決定獎勵掉落。適用於生物、地下城和廢墟。對於生物,會以50%機率掉落特定物品;其餘50%使用4.13中的列表。語法請參見4.10。

4.13. Warriors_, Defenders_, Mages_, Gatherers_, Crafters_,

這組列表基於區域等級和生物職業決定獎勵。僅用於生物。該列表擴充了Loot_-列表,並在50%的情況下產生與職業相關的獎勵,例如讓法師更常掉落法術卷冊和法杖。語法請參見4.10。

4.14. Shop_, Books_

不同區域等級的列表,例如Books5或Shop6,用於產生商店的商品。語法請參見4.10。這些列表在Shop元件的type欄位中指定,法師塔的列表由遊戲程式碼產生。