The sandbox mode and how locations are handled have seen many improvements in the second iteration of Erannorh’s modding engine that Chronicles is using. So even if you modded locations in Erannorth Reborn, you’ll probably want to read this guide and take advantage of the new features.
I will barely be scratching the surface of these systems. But hopefully will get you started understanding more the vanilla location files, and eventually expand them and create your own.
World Locations Primer
所在地
- All Map location contents and properties are moddable through their location.json files but their spot in the map, ID & Location name can’t be altered.
- 例えば, you can’t really change Lanmerih’s position (or name) 地図上で, but you can create your own areas in Lanmerih and/or edit any existing ones.
- Each location can have up to 20 Areas.
- Vanilla Location .json files are located in ../Expansions/Erannorth Chronicles/Locations/ and in the case of your mods must be placed in ../Mods/[Your Mod]/所在地
Major and Minor Locations
From a modder’s perspective, both are the same. To bring them to the life you create or edit their location.json files. From world building perspective Major locations signify iconic/important landmarks or Towns. While Minor Locations, smaller settlements like thorps, potential player homes, or settings for your own adventures.
Let’s hover over a few of them and see what they mean to us (as modders).
Major Location:
Minor Location – Point of Interest:
Minor Location – Currently Empty/Unused:
Basic Location Properties
- LocationName & ID: The location name and the ID.
- IsStartingLocation:true or false. Only one should be set as true. Alternative starting locations are usually defined in players’ Subspecies perks. But can be given as backgrounds too etc. So there isn’t really a need to edit this property unless you want to use a different initial player fallback location than Lanmerih.
- HasTown: true or false. Create a settlement in this location.
- TownName: [Town name]. Sets the settlement name. It doesn’t really have to match the location’s name.
- AvailableActionTier: [階層]. What actions tiers and expertise ranks can be found in this Town. つまり. 3 means up to Tier 3 or Expertise 6 (2xTier).
- Each location in Chronicles can have up to 20 さまざまな地域. Each area can have its own Stage either procedurally generated or with custom nodes. x below can be for every field a number between 1 に 20. i.e x => 1 to declare the first area etc.
- Area_x_GraphicSet: You can use vanilla stage graphics sets [Arid Hills,Cherry Blossoms,Coastal,Cultist Lair,Devil’s Keep,Eerie Clearing,Forgotten Ruins,Frozen Mesa,Gambling Parlor,Ghost Ship,High Garden,Icy Mountains,Infernal Gate,Jungle River,Lush Forest,マーシュ,Mistwood Overlook,Moonstone Mines,Old Ruins,Old Temple,Scorched Fields,難破船,Smuggler’s Den,Submerged Temple,Treacherous Dunes,Valley Overlook,Witch Hut,Witch Lair]
- Area_x_Name: The name of the area.
- Area_x_isProcedural: true or false. Set the area to procedural or custom. Procedural stages never include a town node & may or may not include a boss as defined by Area_x_CompleteRequirements below.
- Area_x_Length: If the area is procedural how many nodes does it has?
- Area_x_UnlockRequirements: a comma-delimited Requirements string for the Area to show up. i.e Level:5, クラス:吸血鬼. The area will be only available to level 5 vampire characters.
- Area_x_CompleteRequirements: This field can be set to “ボス”, “チャレンジ”, “エンドゲーム”, “イベント::イベント名” or left empty “”. We’ll cover this later in more detail.
- Area_x_isRepeatable: true or false. Define if the area is repeatable or a one-off adventure.
- Area_x_MinEnemyTier: Min Enemy Tier
- Area_x_MaxEnemyTier: Max Enemy Tier
- The Base Enemy Max Level will be set temporarily to a value in between Min & Max Tiers. つまり 3 に 6, may set enemy Max level to 4 and the Boss to D4. Normal Enemies will then be level 1-4 while exploring this area. Next time you visit the same area can be different ie 1-3 and the Boss D3. 等.
- Area_x_Nodes: A list of your custom nodes if the stage is not procedural. We’ll cover this later in more detail.
- “Area_x_Rewards”:A list of card names, to award for completing this area. if left empty or has fewer rewards than needed they are randomly generated.
- “Area_x_CoverArtwork”:”ArtworkName”, you can set a Cover Artwork for this area.
- “Area_x_Description”:”Short Description using <br> to indicate new lines”. You can set a Flavor Description for this area.
Imports & Exports
- Exports & Imports, are string lists containing a locations exports & imports (should match the tags you have set in your commodities)
- i.e Let’s say we have 2 Commodities: Spice & 砂糖
- if in a location they are Imports ( “Imports”:[“Spice”, “砂糖”], ) it means that they are not native, have to be imported thus are more expensive to obtain than normal.
- if in a location they are Exports ( “Exports”:[“Spice”, “砂糖”], ) it means that they are in abundance, thus are cheaper to obtain than normal.
Custom Graphic Sets
Aside from providing your own graphic sets, you can also modify the look of the vanilla stages.
- Modders can change the various Vanilla stage graphics with their own by placing their artworks (rec. 1920×1080) in Mods/ModName/CustomArtworks/Tales
- These files must correspond to a vanilla graphic set prepended with Set[Vanilla Stage].png ie. “SetJungle River.png”
- Vanilla Stages have the following names: Arid Hills, Cherry Blossoms, Coastal, Cultist Lair, Devil’s Keep, Eerie Clearing, Forgotten Ruins, Frozen Mesa, Gambling Parlor, Ghost Ship, High Garden, Icy Mountains, Infernal Gate, Jungle River, Lush Forest, マーシュ, Mistwood Overlook, Moonstone Mines, Old Ruins, Old Temple, Scorched Fields, 難破船, Smuggler’s Den, Submerged Temple, Treacherous Dunes, Valley Overlook, Witch Hut, Witch Lair.
- You can alternatively override all game stages (or those you didn’t provide a special graphic for) with a single graphic by providing a “SetUniversal.png”
Anatomy of a Repeatable Area
This is a repeatable area inside Nereis.json.
"Area_1_GraphicSet": "High Garden", "Area_1_CoverArtwork": "High Garden", "Area_1_Name": "Nereis Outskirts", "Area_1_isProcedural": 真実, "Area_1_Length": 12, "Area_1_UnlockRequirements": "", "Area_1_CompleteRequirements": "", "Area_1_isRepeatable": 真実, "Area_1_MinEnemyTier": 5, "Area_1_MaxEnemyTier": 7, "Area_1_Nodes": [], "Area_1_Rewards": [],
Now let’s say that I don’t like the environment and want to turn it into a coastal area. Scouring through the location files I dig up this area in Herman’s Rest.json:
"Area_2_GraphicSet": "Coastal", "Area_2_Name": "Herman's Cove", "Area_2_CoverArtwork": "入り江", "Area_2_isProcedural": 真実, "Area_2_Length": 12, "Area_2_UnlockRequirements": "", "Area_2_CompleteRequirements": "", "Area_2_isRepeatable": 真実, "Area_2_MinEnemyTier": 5, "Area_2_MaxEnemyTier": 7, "Area_2_Nodes": [], "Area_2_Rewards": [],
完璧! So I need to change the Graphic Set to “Coastal” and my cover artwork to “入り江”, as I don’t want to provide my own artwork and use the build in-game graphics.
"Area_1_GraphicSet": "Coastal", "Area_1_CoverArtwork": "入り江", "Area_1_Name": "Nereis Outskirts", "Area_1_isProcedural": 真実, "Area_1_Length": 12, "Area_1_UnlockRequirements": "", "Area_1_CompleteRequirements": "", "Area_1_isRepeatable": 真実, "Area_1_MinEnemyTier": 5, "Area_1_MaxEnemyTier": 7, "Area_1_Nodes": [], "Area_1_Rewards": [],
How can I make the game recognize this change? Do I provide the whole Nereis.json file?
Absolutely not! my modded Nereis.json should include just:
"ID": "Nereis", "Area_1_GraphicSet": "Coastal", "Area_1_CoverArtwork": "入り江",
I place it in Mods/My Custom Locations Mod/Locations and I am done.
Anatomy of a Challenge
Challenges are similar, but instead of being procedural we specify manually the nodes like so:
"Area_4_GraphicSet": "Smuggler's Den", "Area_4_Name": "Galdorak's Lair", "Area_4_Description": "According to the old Hermit an evil Galdorak witch plots his demise. He sounds a bit half crazy, but is willing to offer you a valuable family heirloom if you kill her to protect him.", "Area_4_CoverArtwork": "洞窟", "Area_4_isProcedural": 間違い, "Area_4_Length": 5, "Area_4_UnlockRequirements": "", "Area_4_CompleteRequirements": "チャレンジ", "Area_4_isRepeatable": 間違い, "Area_4_MinEnemyTier": 1, "Area_4_MaxEnemyTier": 1, "Area_4_Nodes": [ "DungeonEntry", "Faction:Galdorak Horde", "Faction:Galdorak Horde", "ボス:Galdorak Wisewoman - Lv 3", "胸" ], "Area_4_Rewards": [], "Area_4_RewardsToPick": 2,
-
- の “胸” in the end marks it as a Treasure Hunt, but it’s really just a Challenge.
- Galdorak Wisewoman – Lv 3 isn’t really a boss that’s why I am specifying her level.
Creating Challenge Chains
To create a Challenge chain, all I need to do is set my UnlockRequirement as Challenge:[Name of Previous Challenge]
"Area_5_GraphicSet": "Lush Jungle", "Area_5_Name": "Ascetic Life", "Area_5_Description": "The old Hermit hires you to accompany him in the woods. Your field trip proves more dangerous than you expected. ", "Area_5_CoverArtwork": "Chaos Hound", "Area_5_isProcedural": 間違い, "Area_5_Length": 5, "Area_5_UnlockRequirements": "チャレンジ:Galdorak's Lair", "Area_5_CompleteRequirements": "チャレンジ", "Area_5_isRepeatable": 間違い, "Area_5_MinEnemyTier": 3, "Area_5_MaxEnemyTier": 3, "Area_5_Nodes": [ "DungeonEntry", "Faction:Wildlife", "Faction:Wildlife", "Faction:Wildlife", "ボス:Chaos Hound" ], "Area_5_Rewards": [], "Area_5_RewardsToPick": 2,
Editing a Challenge
Now let’s say that in Ascetic Life challenge I want to fight the Underworld. And as a boss face off both Horatio Bonwell and the Chaos Hound! You can have either one boss or two bosses together, by using Boss: Boss1+Boss2. つまり.
My custom Nereis.json could have the following:
"ID": "Nereis", "Area_5_MinEnemyTier": 5, "Area_5_MaxEnemyTier": 5, "Area_5_Nodes": [ "DungeonEntry", "Faction:アンダーワールド", "Faction:アンダーワールド", "Faction:アンダーワールド", "ボス:Horatio Bonwell+Chaos Hound" ],
The Area_5_MinEnemyTier & Area_5_MaxEnemyTier will affect the random enemy levels, as bosses’ stats are fixed. So it’s up to you to decide what level the player should be around and adjust them accordingly.
Adding a Brand New Challenge
To add a new Challenge or area, take a number that doesn’t exist in the JSON file. つまり. Raven has reserved up to 7, for Nereis, and perhaps he will expand it later. So I should be safe claiming index 12 for my mod.
I must define all fields this time:
"Area_12_GraphicSet": "Lush Jungle", "Area_12_Name": "の Four-headed Beast", "Area_12_Description": "As you relax in a tavern, the bard sings of the three-headed beast that lives in Nereis Rainforest and guards a mythical treasure. The song is (at least half) based on facts, as anyone who went to find this treasure never returned to confirm its existence. Maybe it will be worthwhile to investigate?", "Area_12_CoverArtwork": "Hydra", "Area_12_isProcedural": 間違い, "Area_12_Length": 6, "Area_12_UnlockRequirements": "", "Area_12_CompleteRequirements": "チャレンジ", "Area_12_isRepeatable": 間違い, "Area_12_MinEnemyTier": 9, "Area_12_MaxEnemyTier": 9, "Area_12_Nodes": [ "DungeonEntry", "Faction:Wildlife", "Faction:Galdorak Horde", "Faction:Wildlife", "ボス:Four Headed-Hydra", "胸" ], "Area_12_Rewards": [], "Area_12_RewardsToPick": 2
I just copy-pasted the area 7 ここ, and changed the Boss to Four Headed-Hydra who doesn’t exist, unless I define it as an Enemy too, and the name (Challenge names must be unique) to The Four-headed Beast. Not many points in originality if I was a modder, but you get a point.
So my Nereis.json mod this time should contain these lines:
"ID": "Nereis", "Area_12_GraphicSet": "Lush Jungle", "Area_12_Name": "の Four-headed Beast", "Area_12_Description": "As you relax in a tavern, the bard sings of the three-headed beast that lives in Nereis Rainforest and guards a mythical treasure. The song is (at least half) based on facts, as anyone who went to find this treasure never returned to confirm its existence. Maybe it will be worthwhile to investigate?", "Area_12_CoverArtwork": "Hydra", "Area_12_isProcedural": 間違い, "Area_12_Length": 6, "Area_12_UnlockRequirements": "", "Area_12_CompleteRequirements": "チャレンジ", "Area_12_isRepeatable": 間違い, "Area_12_MinEnemyTier": 9, "Area_12_MaxEnemyTier": 9, "Area_12_Nodes": [ "DungeonEntry", "Faction:Wildlife", "Faction:Galdorak Horde", "Faction:Wildlife", "ボス:Four Headed-Hydra", "胸" ], "Area_12_Rewards": [], "Area_12_RewardsToPick": 2
それで終わりです.
Merging All Three Mods Together
Now of course if we were to make this Nereis.json mod, we wouldn’t do three mods but one:
"ID": "Nereis", "Area_1_GraphicSet": "Coastal", "Area_1_CoverArtwork": "入り江", "Area_5_MinEnemyTier": 5, "Area_5_MaxEnemyTier": 5, "Area_5_Nodes": [ "DungeonEntry", "Faction:アンダーワールド", "Faction:アンダーワールド", "Faction:アンダーワールド", "ボス:Horatio Bonwell+Chaos Hound" ], "Area_12_GraphicSet": "Lush Jungle", "Area_12_Name": "の Four-headed Beast", "Area_12_Description": "As you relax in a tavern, the bard sings of the three-headed beast that lives in Nereis Rainforest and guards a mythical treasure. The song is (at least half) based on facts, as anyone who went to find this treasure never returned to confirm its existence. Maybe it will be worthwhile to investigate?", "Area_12_CoverArtwork": "Hydra", "Area_12_isProcedural": 間違い, "Area_12_Length": 6, "Area_12_UnlockRequirements": "", "Area_12_CompleteRequirements": "チャレンジ", "Area_12_isRepeatable": 間違い, "Area_12_MinEnemyTier": 9, "Area_12_MaxEnemyTier": 9, "Area_12_Nodes": [ "DungeonEntry", "Faction:Wildlife", "Faction:Galdorak Horde", "Faction:Wildlife", "ボス:Four Headed-Hydra", "胸" ], "Area_12_Rewards": [], "Area_12_RewardsToPick": 2
And we’d leave alone any fields we don’t want to edit, (and don’t mind if they stay in their original form).
Claiming a Placeholder Location
The world is full of placeholders waiting to hold their own adventures. So go grab a location and tell your stories. Let’s say you want to have a dungeon underneath Greengale Mine.
Hovering over it shows me it’s not a Point of Interest. So Raven hasn’t done anything there yet. Probably my mod would be safe if I just use indexes above 12.
All I have to do is create a Greengale Mine.json.
Put the obligatory fields:
"ID": "Greegale Mine", "LocationName": "Greengale Mine",
And anything else I want in. Maybe my four-headed beast could live in there instead of Nereis?
Greengale Mine.json
"ID": "Greegale Mine", "LocationName": "Greengale Mine", "Area_12_GraphicSet": "Lush Jungle", "Area_12_Name": "の Four-headed Beast", "Area_12_Description": "As you relax in a tavern, the bard sings of the three-headed beast that lives in Nereis Rainforest and guards a mythical treasure. The song is (at least half) based on facts, as anyone who went to find this treasure never returned to confirm its existence. Maybe it will be worthwhile to investigate?", "Area_12_CoverArtwork": "Hydra", "Area_12_isProcedural": 間違い, "Area_12_Length": 6, "Area_12_UnlockRequirements": "", "Area_12_CompleteRequirements": "チャレンジ", "Area_12_isRepeatable": 間違い, "Area_12_MinEnemyTier": 9, "Area_12_MaxEnemyTier": 9, "Area_12_Nodes": [ "DungeonEntry", "Faction:Wildlife", "Faction:Galdorak Horde", "Faction:Wildlife", "ボス:Four Headed-Hydra", "胸" ], "Area_12_Rewards": [], "Area_12_RewardsToPick": 2
And now Greengale Mine just became a new Point of Interest! Assuming Raven or another modder don’t use index 12, all our Greengale content will play along nicely.
Anatomy of Events
Your non-procedural areas can surely include events as their nodes. But in Chronicles, you can just trigger events directly instead of having first to enter an area.
つまり. Let’s have look at Forest Lodge.json
"Area_2_Name": "Forest Lodge", "Area_2_Description": "This secluded Forest Lodge is now free from bandits and all yours.", "Area_2_CoverArtwork": "Forest Lodge Hut", "Area_2_UnlockRequirements": "チャレンジ:Fargal Redcloak's Gang", "Area_2_CompleteRequirements": "イベント::Forest Lodge", "Area_2_isRepeatable": 真実
After we defeat Fergal Redcloak (チャレンジ:Fargal Redcloak’s Gang), we can have the Forest Lodge as our base. イベント::Forest Lodge in complete requirements mark this as an Event, and it will trigger as event dialog instead of having us enter an area.
Let’s say you want to add an Event in your Greengale Mine.json.
Greengale Mine.json
"ID": "Greegale Mine", "LocationName": "Greengale Mine", "Area_12_GraphicSet": "Lush Jungle", "Area_12_Name": "The Four-headed Beast", "Area_12_Description": "As you relax in a tavern, the bard sings of the three-headed beast that lives in Nereis Rainforest and guards a mythical treasure. The song is (at least half) based on facts, as anyone who went to find this treasure never returned to confirm its existence. Maybe it will be worthwhile to investigate?", "Area_12_CoverArtwork": "Hydra", "Area_12_isProcedural": 間違い, "Area_12_Length": 6, "Area_12_UnlockRequirements": "", "Area_12_CompleteRequirements": "チャレンジ", "Area_12_isRepeatable": 間違い, "Area_12_MinEnemyTier": 9, "Area_12_MaxEnemyTier": 9, "Area_12_Nodes": [ "DungeonEntry", "Faction:Wildlife", "Faction:Galdorak Horde", "Faction:Wildlife", "ボス:Four Headed-Hydra", "胸" ], "Area_12_Rewards": [], "Area_12_RewardsToPick": 2 "Area_13_Name": "Logan's Plight", "Area_13_Description": "One of the miners looks troubled. Perhaps you could talk with him.", "Area_13_CoverArtwork": "Artworks/Dwarf Miner", "Area_13_UnlockRequirements": "チャレンジ:The Four-headed Beast", "Area_13_CompleteRequirements": "イベント::Logan's Offer", "Area_13_isRepeatable": 間違い "Area_14_Name": "Logan's Forge", "Area_14_Description": "Logan is happy to see you.", "Area_14_CoverArtwork": "Artworks/Dwarf Miner", "Area_14_UnlockRequirements": "QuestStateHelpedLogan:真実", "Area_14_CompleteRequirements": "イベント::Logan's Forge", "Area_14_isRepeatable": 真実
After we defeat the Four headed beast in Greengale mines, we gain access to Logan’s Plight quest, which can trigger a mini-story/event called Logan’s Offer.
And then once completed, it could unlock Logan’s Forge through a quest state that we gave the player during Logan’s Plight. 等.
For these to work you need to create these events of course.
But that’s how you’d go integrating your events with an area.
これが今日私たちがこの目的で共有するすべてです Erannorth Chronicles ガイド. このガイドは元々、次の者によって作成および執筆されました。 Raven. このガイドを更新できなかった場合, これに従って最新のアップデートを見つけることができます リンク.