Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MODDING INSTRUCTIONS
To start, you need to find and open the Storyteller.exe. It’s located in your game folder. Alternatively,
you can just right-click on “This War of Mine” on your Steam games list and choose the “Tools”
option. Once the window opens, click on the “Create New Mod” button, choose a name for your mod.
Description is optional. If you want to have the option to mod the textures as well, check the “extract
textures” box. Optionally, you can also add a picture to represent your mod. Once you’ve filled and
checked everything you wanted, click ok and sit back. The modding tool will extract all the files
needed. It can take several minutes. Once it’s done, the path to your mod will be displayed. Now
you’ll be able to see the mod you've created on the list and you can open it by clicking "edit".
1. Scenarios Config
To add a new scenario in the Scenarios Config we need to do a few things. First we need to add a new
timeline, which is a selection of parameters which define the game. The easiest way to add this is by
right-clicking one of the existing timelines and duplicating it.
The ItemPriceDefs field allows us to change the prices of vendors' items. Using tags (i.e. Coffee) we
can increase or decrease the prices of items in a specific time period. In the basic scenarios these
changes were connected with events such as winter or bandits' attacks. During winter, fuel prices
went up. There won't be such price changes in the mod, because the winter lasts for pretty much the
entire game, so the fuel prices are constantly high. Additionally, we will connect the price changes to
the announcements on the radio (Radio Config). For example, on the 30th day the player will hear
over the radio that due to the large number of bandits in the area, the prices of alcohol and cigarettes
have gone up. It's important to inform the player why the prices of goods are higher than normal in a
particular period.
The VanishingItems field works pretty much the same way—listed items disappear from locations.
We can define the days during which particular items of a defined value (Value) will disappear. We
can see the value of the items in Item Config. Using Item Tags we can define which items will
disappear (we can select one item or an entire group). It's worth informing the player about this, i.e.,
over the radio.
Picture 4: “ShelterAttackConfig”.
The Scenarios field defines the scenarios available during the gameplay. It's main elements are the
Complication Tier, which is the number of times the player needs to finish one playthrough (survive at
least 10 days) to unlock the next scenario (setting the value to 0 will cause the scenario to be visible
from the beginning). DwellerSetName is the name of the group of survivors the player needs to take
care of. TextureName is the graphical front for a particular scenario. TimelineNames defines which
timelines will be available (if we define more than one, the system will randomly choose one at the
beginning of each playthrough).
The DwellerSets field allows us to customize the group of survivors. In DwellerTemplates we choose
which survivors the player will have to take care of, and IntroLocalizedText defines the scenario's
name.
DwellerTemplates list:
Characters/Player_characters/Dweller_Cook – Bruno
Characters/Player_characters/Dweller_Crafter – Marin
Characters/Player_characters/Dweller_Female_Thief – Arica
Characters/Player_characters/Dweller_Lawyer – Emilia
Characters/Player_characters/Dweller_Mathematician – Anton
Characters/Player_characters/Dweller_Misiek – Boris
Characters/Player_characters/Dweller_Scavenger – Marko
Characters/Player_characters/Dweller_Star – Pavle
Characters/Player_characters/Dweller_Star – Zlata
Characters/Player_characters/Dweller_Teacher – Cveta
Characters/Player_characters/Dweller_Trader – Katia
Characters/Player_characters/Dweller_Warrior – Roman
In this file we customize the temperatures during the 60-day period of ColdCrisis's timeline.
There's no need to customize each day – only every few days – the system will balance the changes.
In Scenarios Config, add the text in the DwellerSets field. This will create a new, empty group of
survivors – picture 6 – Roman and Bruno are in this group. The name of the group will be added as
well in IntroLocalizedText. But first we need to add the name in the Localizations Strings – in this
config file we only paste the path for the name in the Localizations Strings.
For the sake of the modification we'll change the identity of both characters. To do this, first we need
to change the description texts – so-called strings – in the language file (Localizations/English.lang).
Names/Roman – name,
CharacterSkills/Warrior – description of skills,
CharacterBios/Roman/DeathNote – note shown after death,
CharacterBios/Roman/Bio – bio.
Helper,
Trader,
Dweller,
Quest.
We can customize the days during which a visit might take place – although it's not guaranteed that it
will. For a particular visit to take place, some conditions have to be fulfilled and each condition
increases the number of points, i.e., the chance of the visit taking place. If the number of points goes
over the defined threshold, the visit will take place.
In the case of the Helper, points are accumulated by the bad management of the shelter and the
group of survivors. If we're doing well, guests who would offer us a few cans of beer, e.g., won't visit
us.
Points for the Trader and Quest are added each day. If they go over the threshold on the same day,
the Quest (which has a higher priority) will happen first, and the Trader will visit the next day.
The Dweller gets points when our group is smaller. In the basic configuration, if we have only one
survivor a new survivor will visit us over five times faster than if we had three survivors.
To add a visit on a particular day, we can use the DebugVisits field located in Scenario Config ->
Timelines -> ColdCrisis.
Picture 10: Scenario config -> Timelines -> ColdCrisis -> DebugVisits.
We can customize the type and amount of items in each place. We can use Loot Generators Config for
that. The config has the codenames of places. Here's the list – including the in-game names.
Dev Name Map Setup InGame Name Loot Generator Name
MaxQuantity and MinQuantity define the maximum and minimum number of items of the same
type. For example, we set materials to 60. Each material has a value of 2. This means that there will be
around 30 materials on the map. The value of the items is located in Item Config.
Next, for the new item to become an element of the heater's upgrade, we need to add it to the
recipe. We need to edit the Heater2 item to do that – go to the CraftingRecipes -> Ingredients field
and add a new entry, which includes the Blower.
Picture 13: Adding the Blower as an item that is required to upgrade the heater.
You have to remember to put the Blower some place or to add it to the items offered by the Trader –
using the Loot Generators Config – so that the player can get the Blower.
In this config file we can customize our own location sets (MapPack) that will be available in our
scenario. We customize this by using the location's DevName (including the !CURRENT/ path) and
LocationVersionName if the map has several versions (if not, the field remains empty). The Group
field defines when the location will be available. A is the first group, which means that the location
will be available from the beginning. Group B is unlocked after the player has visited 1 location, group
C after 2 locations, and group 4 after 4 locations. DisabledInWinter blocks specific locations during
the winter, and BlockingAvaliable blocks the location during the CrimeSeasonEvent event.
Picture 14: MapPack Edit
Location sets are chosen randomly. You can force the system to pick only one MapPack by using the
ComplicationTier parameter. It decides how many playthroughs are required to enable the set to be
randomly picked (surviving 10 days counts as one playthrough). So, for the selected MapPack we can
set the value to 0, and 1000000 for the rest.
Radio messages can be configured in Radio Config. We can choose one of the available channels
(news, weather, music, etc.) and a timeline. In this case we can create a new one called ColdCrisis.
After that we add events, which will appear as text or audio messages over the radio. Start day and
End day define the period during which the message will appear. Localized text is the text which will
be displayed in the radio's window (the path leading to the entry in the Localizations Strings). Sound
Table Entry Name shows the name of the sound defined in Sound Table Config.
All of the game sounds are located in Sound Table Config. To add a new one, first we need to come up
with its name, which we'll use in the config files. After that we add paths to where the sound file is
located. We can add several files – the system will randomly choose one of them. The Remember last
played sounds field allows us to avoid a situation in which the same sound is played twice in a row.
Additionally, we can customize the volume of a particular sound using the Volume field.
Sound Config contains sounds which appear in-game, such as the menu music, machine gun fire, etc.
Here you can edit existing ones or add new ones and use them, e.g., for the newly created items.
Menu music editing window.