This War of Mine

This War of Mine

Welcome to This War of Mine workshop!
Modding community hub for This War of Mine.
 This topic has been pinned, so it's probably important
Current Storyteller bugs
This War of Mine is a game from 2014. It has now received The Final Cut update, which makes it unlikely to receive any further patches.
But still, I think we should keep the current modkit bugs (or the functions that are expected, but missing) in one place, at the very least - for the newcomer modders so they'd save some time on reproducing the bugs that might be already known.

The list will be kept in this post, but feel free to add new entries in the discussion.

  • Scenarios config - Shelter Setups. It is impossible to assign any level of "sadness" to the dwellers at the start of the game. No matter how you call it - "Sad", "Depressed", "Morale" etc - they will always be perfectly fine in terms of depression.
  • Scenarios config - Shelter Setups. You can only assign one state to each dweller. If you have 4 dwellers in the group and you set 5 states in Shelter Setups, only first four will be actually applied.
  • Scenarios config - Shelter Setups. When you assign fatigue to the dwellers, they receive it in a very strange way. So if you assign Tired level 2 ("Very tired") and send the dweller who got it to sleep, they will become "Tired" in just 30 minutes - but then they will need full time to recover the second fatigue level they still have. Similarly, Tired level 3 ("Exhausted") will get to "Very tired" in 30 minutes and then the dweller will need twice the normal time to recover completely.
    This bug also seems to be present in VisitsConfig - JoiningDwellersInitialStates.
  • Scenarios config - Shelter Attack Config. When you set the "valid from day" equal to "valid to day" (say, 14 in both fields), it works OK. You will get your raid on a day 14, guaranteed. BUT trying to make intervals of 2 days or more works horribly. If you fill your timeline with these intervals, there's a good chance the first interval will work fine (I don't know why exactly the first), and after it passes, you will get exactly zero raids for the rest of a game. The only way to get consistant raids throughout a period of days is to set MinInterval to 0 and MaxInterval to 1. Nothing else works.
    This is because the interval between attacks is calculated WITHIN the day interval. So if you have 10 periods of 2 days, each having acceptable interval of 1-2 days between attacks, it is not impossible to have 0 attacks within these two days. Let's say the first day of 3-day period rolled no attack. The second - also no attack, and that's within the acceptable interval of 1 day; the third - no attack again, still within the interval of 2 days. Then the next period comes - and the acceptable interval of the previous period is forgotten! You still have chance to roll yourself no raids in the second period.
    Therefore, it's adviced to not have 2 intervals with minimal interval between attacks >0.
  • Main Config - Night Jobs. In "Level influences" of any job, if you set the parameter "Tired" to -2, it does in fact reduce this state only by 1. And if you set it to -1, it won't reduce fatigue at all.
  • Localization strings. There seems to be a problem when the game is supposed to pick a random string from several (most of the time they are named "00", "01" etcc). This was tested by creating a new group and using the text in it as a dwellers' reaction on events in Events Config. No matter how many times you double check the path - it will be correct, but the characters will just say "...", and ConsoleLog will state that this entry doesn't exist.
  • Localization strings. Another bug with the localization strings - and it's even worse. The game doesn't seem to properly upload any new localization entries you put into the game, or whenever you edit the old ones. You will see chances when the local version mod is enabled, but then you upload it to Workshop, turn it on - and none of your changes in localization will work. There's a workaround that some use: you can create a separate mod just for localizations and replace regular .lang files (for instance, english.lang) with the ones created by your main mod (could be called 6Hy7w9_english.lang).
  • Localization strings. When you duplicate a string, the duplicate will be empty. All texts on all languages will have to be copied and pasted by hand.
  • Sound config. There's one list of entries that's missing: Scavenge Danger. It's because, for some weird reason, for every "dangerous" location there is a hardcode that makes the game play either "Danger" or "Danger2" sound (except for one location, Brothel, which has a typo in it and it plays "Danger1" instead of "Danger" without realising that "Danger1" in fact does not exist in vanilla game). This approach also results in further weirdness: some safe locations are assigned "Danger&Danger2" flags in the code, so the "dangerous" music is forced despite the location being perfectly safe (some examples are Ruined Toy Store and Pharmacy); some other locations are assigned only "Danger" flag, keeping another Danger song from ever being played (ex.: Warehouse or Shelled Brewery); and finally, some clearly dangerous locations, like Semi-Detached House or Airport, do not have any "Danger" flag, despite the danger clearly being present. I wish they'd just make a "Danger" sound table and stick to the "Danger" flag that's already present in the game, without this ugly hardcode...
  • Main config - Day and night. There are parameters there called "ScavengeReturnInDaysMin" and "ScavengeReturnInDaysMax". It is confirmed that they set the minimum and maximum time that may take for the scavenger to come back home if they got caught by dawn. But, setting it for more than one day does not seem to work correctly. First, if you use "Skip" button during day time, the scavenger will ALWAYS get back home off-screen, even if the minimum was set to more than one day. And second, they will not get any hungrier or more tired, no matter how many days they were absent.
  • Main config - Day and night. There are several options there that seem like they would change the night length, but none of them work properly. The night seems to be hardcoded to be the exact number of minutes. So, for example, if you set "NightSecondsPerGameHour" to 1 (so every hour will only last one second of IRL time), the night will keep going on for several in-game days, until the fixed number of IRL minutes will pass. BTW, the same settings for the day seem to work right.
  • Main config - Hurt during remove blockade. There is a function in the game that works almost perfectly well. If the random number will be less than the probability you set in this section, it will hurt the dweller while he is removing a rubble with bare hands. But this function is not being called, so the parameters here change nothing.
  • Scavenge return config. Some values here clearly have encoding problems. That may cause issues with the lines the scavengers say when they return from scavenge (the issues are clearly present, but it's yet to be confirmed what has to be changed, and for what exactly).
  • Comfort config and Items. Although it would make a perfect sence, it is impossible to assign Comfort increasing to the item called "BlockedHole", probably because it belongs to the crafting group "ShelterItems". You can set the comfort value to this item, but the game will give it to you instantly, even if you have yet to block even one hole.
  • Trading Config. Personally, I don't know of any setting about trading that would be more useful than configuring the damn trader's locker. This exploit exists for as long as this game does, and it's mostly known for the locker in Military Outpost that can be cleared out indefinitely due to the endless "Excuse me" script. Alas, there is no setting that would allow to make the trader's stock container invisible, like for some traders (Franko would be the easiest example).
  • Items - AddSlotsToContainer. The infamous backpack issue: since one of the game updates this setting doesn't work properly. As it seems, it still adds some inventory slots, but upon leaving the location the backpack gets unequipped and all items in its slots are lost.
  • Loot generators. It's kinda expectable that this is where everything you find on the location should be set, but that's not entirely so. The Park will always have a Sawblade, despite not having one in its loot generator. The Radio station will have a few extra pieces of food, even if there's no food in a lot generator for the current scenario. Plus there's lot in the hidden containers - for example, hidden treasure underneath the bed of a father in Sniper junction.
    There's also a glitch that sometimes causes extra items to spawn. I saw that at the Warehouse, when suddenly instead of expected 3 canned meals 8 have been spawned. I've yet to figure out what causes this.
  • Scavenge locations. The order of the locations in Storyteller is not always the same as the one in the according .xml. Why did the order matter though? Two reasons.
    First, the spot on the map in which the location is placed depends completely on the place of the location in the file. Would be nice to have more direct control over that, but we don't.
    Second, and worse, is that the first location picked on the very first scavenging night will always be the one on top of the list in the file... Even if it's not in group A. That gives a player a possibility to visit the location before it was even discovered.
  • Scavenge locations - Groups. Although on paper you can customize how many locations you need to unlock before any more locations show up, this thing seems to be partially hardcoded. The first group showing up always has to be A; you can't skip groups, like having 0 required locations for A and 0 for B; and the worst part - you can't put any larger number than original to the groups C and following. I used to have the following scheme: A = 0, B = 1; C = 3; D = 4; E = 6 (default is: A = 0; B = 1; C = 2; D = 4; E = 6); The game doesn't like it, C will require 3 locations to be shown, but then 4th location will open up group D and 5th - group E. So, long story short, leave location groups be, they don't work.
  • Minor issue: you can't update your thumbnail via modding tools. If you need that, you either create a new mod and lose all your subscribers, or you may try to use SteamCMD.
  • There are archives that the modding tools use to overwrite the default in game ones (namely - "common.dat", "localizations.dat", "sounds.dat" and "textures.dat"). But some of the other archives ("animations.dat", "scenes.dat", "templates.dat", "videos.dat" and "voices.dat") are not recognized whatsoever, so even if you can change them, you will not be able to use the changes in your mod, unless you rewrite the default game archives in core folder.
Last edited by toomanynights; 6 Aug, 2021 @ 1:09pm
< >
Showing 1-15 of 24 comments
Horagema 18 Nov, 2021 @ 8:45am 
If you're trying to make a plantable fridge, for example, or something like that, the game will just crash when you're gonna plant it.
Last edited by Horagema; 18 Nov, 2021 @ 8:45am
toomanynights 8 18 Nov, 2021 @ 11:50am 
Originally posted by The Sick One:
If you're trying to make a plantable fridge, for example, or something like that, the game will just crash when you're gonna plant it.
What do you mean by "plantable fridge"? Some alternative vegetables or something?
Horagema 18 Nov, 2021 @ 12:47pm 
Originally posted by toomanynights:
Originally posted by The Sick One:
If you're trying to make a plantable fridge, for example, or something like that, the game will just crash when you're gonna plant it.
What do you mean by "plantable fridge"? Some alternative vegetables or something?
You basically can duplicate NPCFridge or any other container in Storyteller and make it craftable. Although when you start planting it, the game is crashing.
Romain 1 Mar, 2023 @ 8:05am 
Thx, very useful.

Originally posted by toomanynights:
  • Scenarios config - Shelter Attack Config. When you set the "valid from day" equal to "valid to day" (say, 14 in both fields), it works OK. You will get your raid on a day 14, guaranteed. BUT trying to make intervals of 2 days or more works horribly. If you fill your timeline with these intervals, there's a good chance the first interval will work fine (I don't know why exactly the first), and after it passes, you will get exactly zero raids for the rest of a game. The only way to get consistant raids throughout a period of days is to set MinInterval to 0 and MaxInterval to 1. Nothing else works.
    This is because the interval between attacks is calculated WITHIN the day interval. So if you have 10 periods of 2 days, each having acceptable interval of 1-2 days between attacks, it is not impossible to have 0 attacks within these two days. Let's say the first day of 3-day period rolled no attack. The second - also no attack, and that's within the acceptable interval of 1 day; the third - no attack again, still within the interval of 2 days. Then the next period comes - and the acceptable interval of the previous period is forgotten! You still have chance to roll yourself no raids in the second period.
    Therefore, it's adviced to not have 2 intervals with minimal interval between attacks >0.

I didn't get this section if by any chance you're still around. If I set an interval of 30 days without min/max value just a bunch of power rules, does it work a little?

Originally posted by toomanynights:
Scavenge locations - Groups. Although on paper you can customize how many locations you need to unlock before any more locations show up, this thing seems to be partially hardcoded. The first group showing up always has to be A; you can't skip groups, like having 0 required locations for A and 0 for B; and the worst part - you can't put any larger number than original to the groups C and following. I used to have the following scheme: A = 0, B = 1; C = 3; D = 4; E = 6 (default is: A = 0; B = 1; C = 2; D = 4; E = 6); The game doesn't like it, C will require 3 locations to be shown, but then 4th location will open up group D and 5th - group E. So, long story short, leave location groups be, they don't work.

broken indeed, I found kind of a work around though by setting more groups and smaller.
toomanynights 8 1 Mar, 2023 @ 8:46am 
Of course I'm still around. I'm stuck here for good... :steamsad:

If I set an interval of 30 days without min/max value just a bunch of power rules, does it work a little?
I was obviously quite frustrated and burnt out when I wrote this one. Looking back, I think I meant that the min/max intervals don't consider _each other_ from different periods, so if you have a bunch of periods of 2 days, each having 0-1 for min-max interval, then you may have zero raids in total. Interval of 30 days should work fine, however you still have to set min/max interval, even if it's 0-0.

Also, if you're currently working on mods for this game, be sure to check this guide out. It's my most recent work; I believe it sums up pretty much everything that can possibly be done here.
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2912922403
Romain 1 Mar, 2023 @ 2:00pm 
Originally posted by toomanynights:
I was obviously quite frustrated and burnt out when I wrote this one. Looking back, I think I meant that the min/max intervals don't consider _each other_ from different periods, so if you have a bunch of periods of 2 days, each having 0-1 for min-max interval, then you may have zero raids in total. Interval of 30 days should work fine, however you still have to set min/max interval, even if it's 0-0.

All right that was my conclusion when I read you the first time but I was afraid there was more issues. I'm doing a 5 years scenario (220 days, 33 locations, 5 winters, 5 crime season,12 dwellers cap etc etc) so I basically set 5 large periodes of raid + 5 crime season. In this config I'm kind of happy intervals from a period are ignored by another one. I didn't meticulously tested it yet, but the first tests "worked".


Originally posted by toomanynights:
Also, if you're currently working on mods for this game, be sure to check this guide out. It's my most recent work; I believe it sums up pretty much everything that can possibly be done here.
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2912922403

Already did :steamhappy: That's a great job :steamthumbsup:

I discovered and played this game quite late, only a couple years ago and at this time I really enjoyed the Endless mod of Kierk.
Came back recently and played it again but after 50 days there was still too much things not working or frustrating so I just want to remake his endless mod slightly more polished (from my POV).

By the way I bumped into another issue today... I had finally finished my MapPack, tagged locations to be blocked either during crime season or during winter. And when I tested it the locations that was supposed to be blocked during crime season wasn't blocked at all. A bit upsetting for such a simple feature x). Any idea?
Last edited by Romain; 1 Mar, 2023 @ 2:02pm
toomanynights 8 1 Mar, 2023 @ 11:03pm 
Yeah, Kierk was doing a great job when he was active, a lot of creative ideas.

And when I tested it the locations that was supposed to be blocked during crime season wasn't blocked at all. ... Any idea?
Sorry, none. If you're certain that you've set those dates as crime season in your timeline... and that's the exact timeline you use... and there's no error with map pack... then it's supposed to work just fine. Is it the first crime season or the second one? It's possible that the game may simply not be prepared code-wise for several separate crime waves.
Romain 2 Mar, 2023 @ 4:39am 
Originally posted by toomanynights:
Yeah, Kierk was doing a great job when he was active, a lot of creative ideas.

I'm glad to see how people learn from each other and progress. I played before you published "Against all odds" but after "Kierk era". You basically made "The final touch" DLC. That's trully amazing. But I won't spend as many nights as you did :steamhappy:


Originally posted by toomanynights:
Sorry, none. If you're certain that you've set those dates as crime season in your timeline... and that's the exact timeline you use... and there's no error with map pack... then it's supposed to work just fine. Is it the first crime season or the second one? It's possible that the game may simply not be prepared code-wise for several separate crime waves.

This is the first crime period, Day 6...

Debug winter = true seems to properly block the selected locations for winter though...

I tried as work around to use "SelectiveLocationsBlockingEntries" and it seems to work for now...

Edit : Other issue
When I launch the game with no mod at all the game is launched properly. But now it crashes at launch few times before it finally works properly. It feel it's kinda related to the mod update or something. Any lights on this issue?
Last edited by Romain; 2 Mar, 2023 @ 4:47am
toomanynights 8 2 Mar, 2023 @ 7:11am 
I'm glad to see how people learn from each other and progress. I played before you published "Against all odds" but after "Kierk era". You basically made "The final touch" DLC.
Well that's a high praise, thank you very much! :winetime:

Originally posted by Romain:
But I won't spend as many nights as you did :steamhappy:
Nice one bud :6face: Hopefully you won't have to! The guides should be of good help. I believe a good modding community is one where every new modder has got less and less mysteries to solve.

Originally posted by Romain:
I tried as work around to use "SelectiveLocationsBlockingEntries" and it seems to work for now...
Wait, that won't do. You may need SelectiveBlocking for a lot of other things, no need to get it mixed up here as well.
Can you tell me, step by step, how do you adjust your blocked locations?

Originally posted by Romain:
When I launch the game with no mod at all the game is launched properly. But now it crashes at launch few times before it finally works properly. It feel it's kinda related to the mod update or something. Any lights on this issue?
Not much to say about this - it does that for me as well. Workshop mods, however, seem to be a bit more stable. So, once you upload your mod to Workshop, things gotta get a tad better.
Romain 2 Mar, 2023 @ 7:37am 
Originally posted by toomanynights:
Originally posted by Romain:
I tried as work around to use "SelectiveLocationsBlockingEntries" and it seems to work for now...
Wait, that won't do. You may need SelectiveBlocking for a lot of other things, no need to get it mixed up here as well.
Can you tell me, step by step, how do you adjust your blocked locations?

Actually I won't need it since the main objective is roughly to last as long as possible with as many people as possible. I didn't plan to polish the scenario too much with special events. That's a shame they didn't add more randomisation. I already did some trade/shortage event for coffee/med/vegetable/cigarettes and that's a lot of work...


But what I did is :
> duplicated customMapPack
> Got rid of multiple version of the same location
> added the brother house location from WarStory
> Tagged 10 (out of 33) locations BlockingAvaliable = true
> Tagged 10 other locations "Blocking Winter" = true
> Define 16 groups (A > O) with roughly 2 locations in it
> 1000000 complicationTier for all other pack
> 0 Tier for all scenario
> I got rid of specific vanishingItems rules in my timeline too.

And defined major events in my timeline
day 1 summer
day 6 > 16 crime (start > end)
day 46 > 56 crime
day 86 > 96 crime
day 126 > 136 crime
day 166 > 176 crime
day 23 > 37 winter
day 63 > 77 winter
day 103 > 117 winter
day 143 > 157 winter
day 183 > 197 winter

I gonna make a test run now.
Last edited by Romain; 2 Mar, 2023 @ 7:44am
toomanynights 8 2 Mar, 2023 @ 12:12pm 
That's a lot of days! It means that the players will have to visit each location about 6 times, unless the'll be forced to stay in some of the days. That's where SelectiveLocationsBlockingEntries kick in. You can block the entire map due to bombing for some of the days.

Anyway, this looks good, but I don't see where you define location blockage due to fights. It's not the same as "crime wave". Check Kierk's guide, I think he explains how to block locations.
Romain 3 Mar, 2023 @ 12:25am 
Originally posted by toomanynights:
That's a lot of days! It means that the players will have to visit each location about 6 times, unless the'll be forced to stay in some of the days. That's where SelectiveLocationsBlockingEntries kick in. You can block the entire map due to bombing for some of the days.

Yes but I put central square + garage + Hospital + Club + School + military outpost as trading location. I want to be able to build a whole supply chain (vegetables, med and cigarettes etc) and use it ideally when the price goes up. So some visits are dedicated for trade (because Franko only show up once every 15 days). Ideally at the end of the scenario, ressources are very low, map is empty and you have to be well prepared and rely on trade.

I'm quoting the tutorial :

7. Locations (Scavenge Locations Config)

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.

Originally posted by Kierk:
BlockingAvailable: block the location during the crime event (or any event for that matter)

So for me it means IF MajorCrimeEvent active AND blocking avaliable = true THEN location is blocked. But it doesn't work. (it works fine for winter when temperature hit 0°C)

But I have to admit this is weird, radio localized text never mention location blocked due to "crime". This is always about bombing or Army VS rebels.

I noticed majorEvents in the timeline doesn't seems to do anything expect changing the picture displayed when the day start. This is especially true with winter. Everything being triggered by the temperature (snow + blocked locations) and not by the event itself.

So how do you trigger locations being blocks by this variable ?? "BlockingAvaliable = true"

Other issue :

1. Kierk said you could display 34 locations but i'm only able to display 33. the 34th goes under another one. And I certain this is the "standard" layout (34 locations) not the custom scenario Layout (32 locations)
https://steamhost.cn/steamcommunity_com/sharedfiles/displayimageformodaldialog/?imageurl=https%3A%2F%2Fsteamuserimages-a.akamaihd.net%2Fugc%2F793126895906661227%2FB452A041F0C0367ADA60FF3364D3508AA718ECC2%2F

In my case location 30 at the same place than location 31 (behind it) and there’s nothing in the location 30 spot…
2. Does the trivia radio is filled automatically by random fluff? I used trivia to announce when prices go up and down, but it only starts day 32. The first few days I have nothing in the channel which is fine but at some point I have random fluff (which is fine too but I dont want them to override what I defined for my timeline).
Last edited by Romain; 3 Mar, 2023 @ 12:26am
toomanynights 8 3 Mar, 2023 @ 12:57am 
So for me it means IF MajorCrimeEvent active AND blocking avaliable = true THEN location is blocked. But it doesn't work. (it works fine for winter when temperature hit 0°C)
Winter and all its effect start when Major Event = "Winter start" and the temperature <0. Location blocks due to fights though are not connected with "Crime wave" major event. You should use "Blocked locations" option in timeline settings. It should allow providing several day ranges.

1. Kierk said you could display 34 locations but i'm only able to display 33. the 34th goes under another one. And I certain this is the "standard" layout (34 locations) not the custom scenario Layout (32 locations)
Can't help with that. I never had the need to have this much locations.

Does the trivia radio is filled automatically by random fluff?
No. For all radio stations (including music) you should have a timeline that's names exactly the same as your main timeline. It works, I have created quite a few brand new timelines and they all have messages on each radio station every few days.
Last edited by toomanynights; 3 Mar, 2023 @ 12:58am
Romain 3 Mar, 2023 @ 1:38am 
Originally posted by toomanynights:
So for me it means IF MajorCrimeEvent active AND blocking avaliable = true THEN location is blocked. But it doesn't work. (it works fine for winter when temperature hit 0°C)
Winter and all its effect start when Major Event = "Winter start" and the temperature <0. Location blocks due to fights though are not connected with "Crime wave" major event. You should use "Blocked locations" option in timeline settings. It should allow providing several day ranges.

Allright got it. The fact that's they talk about crime season is misleading (and it has been a long time I didn't play vanilla). It's simply an option to tag location beforehand and block them all at once for whatever reason without listing everyone of them each time.

Does the trivia radio is filled automatically by random fluff?
No. For all radio stations (including music) you should have a timeline that's names exactly the same as your main timeline. It works, I have created quite a few brand new timelines and they all have messages on each radio station every few days. [/quote]

That's weird. It's definitely the proper timeline for the trivia channel. My first message starts day 32. And I have message before this day I never set in the Trivia channel. We'll see I gonna make a new run and see what's happening day 32.

TYVM!!!!
toomanynights 8 3 Mar, 2023 @ 3:04am 
It's simply an option to tag location beforehand and block them all at once for whatever reason without listing everyone of them each time.
But you don't have to list them each time. "Blocked locations" accepts a range of dates, not location list. "SelectiveLocationsBlockingEntries", on the other hand, allows you to block specific locations by specific triggers.

That's weird. It's definitely the proper timeline for the trivia channel. My first message starts day 32. And I have message before this day I never set in the Trivia channel. We'll see I gonna make a new run and see what's happening day 32.
Weird indeed. Make sure you didn't confuse start day and end day. If you do, and there's an entry that starts on day 0 and ends after day 1, then it sure should work. One of the few things in Storyteller that actually works flawlessly, at least for me.
< >
Showing 1-15 of 24 comments
Per page: 1530 50