Next Run《再來一回合》· 模組
《再來一回合》模組製作指南
詳細介紹《再來一回合》模組的運作方式、檔案結構以及遊戲元件。請收藏此連結,以便在建立和發佈模組時快速查閱。
1. 概述
本文件介紹《再來一回合》的模組系統:如何安裝模組、建立自己的模組,以及如何與其他玩家分享。
- 至少閱讀一次第2章,了解模組的建立方式與運作原理。
- 將第3章和第4章作為參考手冊使用。
- 查看遊戲內的範例,了解實際運作方式,Steam工作坊:https://steamcommunity.com/app/1295870/workshop/。
- 可在此處取得1.1.0版本的遊戲檔案:https://clarusvictoria.com/files/next_run_files_examples_1.1.0.zip。
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欄位中指定,法師塔的列表由遊戲程式碼產生。
