• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

HOI4 Dev Diary - 1.5.2 Update #2 and Modding Goodies

Hi everyone welcome back to another update on our post-release work on Cornflakes and Waking the Tiger.

1.5.2 Patch
The path has now been in beta for a bit and also updated. If you are brave and want to try it early to help us find problems you can go here for how to do so. Go there to check out the current changelog, but I am going to cover some stuff here too. Note that all these things are not yet in the patch, but will appear later today when the beta gets updated.

Air Balance and Changes
Based on feedback, primarily from the MP community we decided to do several changes related to the air war.
  • Planes on missions now have to gain efficiency over time. Strategic bombers are slower than smaller planes when it comes to this. This was done to avoid ping-ponging and terrible microing in multiplayer where players would keep switching their bombers around to stop them from being caught. It also simply makes sense that it takes some time after a move to get organized.
upload_2018-3-28_15-28-28.png

  • Division anti air now reduces damage to the division caused by close air support attacks, in proportion to the AA's ability to shoot down planes. This should now make divisional AA more helpful against direct attacks as well:
upload_2018-3-28_14-14-28.png

  • We now allow a bigger bonus from close air support supporting a combat, while the penalty to defense to the enemy from pure air superiority has been reduced. The speed penalty from enemy air superiority has also been reduced as it was a little excessive. We hope these things together will incentivize CAS over fighter spam a bit.
  • Strategic Bombers now only give 0.01 air superiority to make it clear thats not really their job ;)
  • The last 3 levels of radar tech will now improve hit chance for static AA guns while unlocking new AA equipment will increase their damage and all their intermediary techs will increase the protection from AA on buildings in the area. We hope this will make the techs nicer to get and help in late game defense vs bombers.
Nukes and Surrender
We have fixed a couple of things with nukes. They should now work more reliably and hurt the targets war support depending on target. The target selection is now a bit more flexible, before you had to hit specifically the VP province, but now the state is enough for things to work out as expected. In addition a nations surrender limit will be lowered when at low war support (below 50%). It scales from 0 to -30%. That means nuking will again make nations more likely to surrender, but also have other negative effects before that point.

Manchukuo
We felt the Manchukuo independence path was a little heavy handed with bonuses so it has been reworked. We basically removed most of the factories you get from focuses. Instead you get a decision after taking over the railroads to build up to 4 civilian factories. You can also solve the bandit problem by recruiting them but that means you have to endure raids for a while until you get the focus to bolster nationalism. In the Manchu branch you get to create underground gun shops which make infantry equipment massively cheaper but also reduce its reliability by a huge amount. In the 5 people branch you can raise the Manchu banners, which are large divisions with artillery support. Finally, purging the General Affairs Council lets you spend CP to prepare to seize Japanese arms depots which gives you guns and the Japanese a negative modifier for fighting against your troops.

upload_2018-3-28_14-18-20.png


Game start speedup
Nobody likes to wait around, particularly not devs who have to start the game many many times during a day so to help with this we now do some caching during startup that should help speed up the process after the first time you run it.

Other stuff
We are still going to add some more things before the patch is done. MEFO bills for example are currently undergoing balancing work.

We also have a really cool thing for modders, but I'll let @shultays show it off for you:

Hello everyone, shultays here. I am a programmer in HoI4 team. Today I will be introducing some new cool features/tools that we introduced with our newest patch.

Scripted GUIs

That is a feature we solely developed for our modders. This new tool will enable modders to create their own GUIs (or attach their GUIs to existing ones) and attach scripts/triggers to GUI elements in those GUIs. Here are some gifs that show what you can mod in to game now.

1.gif

2.gif

3.gif

4.gif

5.gif


Everything on that gifs are modded in to the game. Here are some features that this example mod adds:

Code:
- Fuhrer Mana, a new resource for Germany
- A spell system that uses Fuhrer mana as a resource
    - You can use spells targeted on your country by clicking Fuhrer mana resource
    - You can use targeted spells on enemy countries by clicking them
    - You can use targeted spells on your own states by clicking them
- A psuedo-focus system works independent of existing one that can boost your Fuhrer mana production
- A way to boost your research by consuming Fuhrer mana
- A basic AI that can make use of Fuhrer mana

If you want to try this mod, you can download it from Steam Workshop using this link or just download the mod attached in this post and extract it to your mod folder (under \Documents\Paradox Interactive\Hearts of Iron IV\mod). I also added a small cheat, right clicking on Fuhrer mana resource will give you free Fuhrer mana.

Here is a list of things you can do using scripted GUIs

Code:
- Create GUIs that will be visible when a certain trigger is true (for example in first gif, the player clicks on resource to pop up a new GUI) and/or when player selects a country/state (second and third gifs shows an example to this)
- By default this GUIs are not attached to an existing GUI (like first three gifs) but you can also attach them to existing GUI elements (5th gif has a scripted GUI attached to national focus tree)
- Attach effects to buttons in scripted GUIs, which will be called when player clicks, right clicks on them. You can also attach different effects while user is holding ctrl/alt/shift while left or right clicking
- Attach triggers to buttons that will disable them (for example spells are disabled when you are out of mana)
- Attach triggers to buttons/icons/texts to make them visible/hidden with certain conditions (disable research button is only visible when you actually enabled it)
- Use scripted localization in your texts, tooltips, button texts etc. You can also display description of effects you attached in tooltips
- A score based AI system that will evaluate your scripted GUIs on an interval you chose and on targets that you have filtered (for targeted scripted GUIs, like 'meteor swarm' spell GUI) and simulate clicking on buttons on the order of scores you have given to them.
- It will be available on multiplayer as well!

I created a tutorial on how to use this new system, which can be found on our modding forum following this link. It gives you a much more indepth on how you you can implement this features.

If you have question, please tag @shultays and ask away!

Reloadable databases
This feature was always there, but it was hard to use for our modders. In our development branch, most commonly databases (some folders under common, gui files, yml files etc) are reloadable and automatically reloads when you make an edit on them. After 1.5.2., you can also enable same functionality on our release builds by adding following launch command

-debug

After that game will auto reload the database that contains the files you edited. Here is the list of all reloadable stuff:

Code:
- events
- decisions
- traits
- ai_strategy
- ai_strategy_plans
- on_actions
- scripted_effects
- scripted_triggers
- scripted_localisation
- scripted_guis
- defines
- some gui files
- yml files

Some of them have limitations, so if you are encountering some weird issues I suggest closing and relaunching the game, but otherwise they should work just fine. We are constantly trying to improve this list.

If you want to disable this feature for some reason but keep the other -debug features, you can add -nofilewatcher to launch options.

So that is all from me for now. From now on I will try to be more active at modding forums and write a couple more tutorials. So see you there!

While we are on the topic of modding we need to talk about dependencies. Sometimes you will want your mod to depend on other mods, and also require a certain loading order. Mods will usually load in alphabetical order of their file names (so the mod last in the list will overwrite the earlier). But some things may affect this so if you need a certain load order and be clear that you have dependencies this needs to be specified by including its full name in the .mod file under "dependencies". There have been bug reports etc about this, probably because we didn't explain properly how it works. The wiki page has been updated, here but essentially this is how to do it:
Code:
name="testmodB"
path="mod/testmodb/"

# this guarantees we load testmodA first before our testmodB is loaded
dependencies= {
   "testmodA"
}
supported_version="1.5.2"

See you next week!
 

Attachments

  • fuhrer_mana.zip
    10,5 KB · Views: 1.140
Last edited by a moderator:
Still missing Kaliningrad.
Nice about the strat nerf, even if AA was historically trash and this might make strats too trash :/ Still want to see the ability to make more airbases in singapore possible, or atleast unlocking it earlier for US. Right now there is no way to hold of a japanese player with airbases in siam and with heavies unless you somehow manage to get someone in the allies to research heavy fighters twos ahead of times, which is another issue, because a that takes long time, meaning strats will basically be defenseless against regular fighters at the war and B make it harder to properly cover regions where airbases are too far away to cover the entire area effectively.
 
Last edited:
I just tested Manchukuo. Taken Assertiveness path, but remain as regular Imperial Protectorate (just get to half of autonomy progress). So most of my MIL production still flows to JAP and when JAP attack China, JAP called me to war and I cant decline.

Bandit units created from decisions shows another bug. They cannot be disbanded and changed template (which is intended?), but when puted into normal army, no division in that army can by disbanded or make template change. Works normal after moving all bandit divisions from that army.
 
Air Balance and Changes

It's a very nice dev diary. Speaking about Air Changes though, trying to find type of plane I want a wing of from dozens, hundreds even, types of equipment can be quite a bother. Is there any benefit from picking a specific equipment when game will automatically choose the best one? I think picking the type of wing I want would be a better solution as we can't mix type of planes in one wing anyway.

Something like this:
upload_2017-3-19_21-57-40.png
 
I am not sure if I understand you correctly, I am not familiar with achievements system. But as far as I know, there is no way to mod in something that can store local data on clients, so a custom achievement system should be impossible to write.
(you quoted the wrong post, but no problem)
Currently the achievement system, from what i understand, just saves the id to steam, which handles it.
It is only enabled when ironman +startdate+difficulty + checksum are in line with vanilla.
You can activate it through some changing of files, and achieve achievements, fully modded. However to get around the checksum .exe modding is needed, and that is not something that is allowed to be distributed ofcourse.
I dont ask for the mod itself to store data, but for the game to.
In the achievement.txt file each achievement has a id.
If ie a define would be added, the game wouldnt care about the checksum or date check, just modified difficulty and the ironman setting.
It would then use a modded achievement.txt file, using the first thats found in the load order, and load it in. The infrastructure for gui, gfx etc is already fully moddable.
a raw text file could be created with the stream workshop id keeping track off all the achievement id's achieved, allowing it to be saved througout sessions.
This would make sure that its a file where the dev team knows where it is and how it functions; it doesnt interfere with the checksum or can be made to do so (i think, i havent tinkered enough with the checksum creation code). And thus also shouldnt interfere with mp, achievements are simply disabled there.

If its not possible in the end, c'est la vie, but having a system that is so close to being accesible but unusable due to .exe modding and non-persistant id tracking is a shame, and having acces to it would be awesome and be a good way to present goals in full conversion mods like Millenium Dawn or Kaiserreich.

Thanks for taking the time to answer btw!
 
It's a very nice dev diary. Speaking about Air Changes though, trying to find type of plane I want a wing of from dozens, hundreds even, types of equipment can be quite a bother. Is there any benefit from picking a specific equipment when game will automatically choose the best one? I think picking the type of wing I want would be a better solution as we can't mix type of planes in one wing anyway.

Something like this:
upload_2017-3-19_21-57-40.png

You have made a clear and helpful suggestion, but surely the right solution to this is to keep the interface, but allow us to control which equipment types go into each air wing (as we already can with divisions)? This feature would be very helpful for both gameplay and immersion, so that the UK, USA & USSR could deploy separate variants to Europe (high speed, high guns, range not important) and the rest of the world (where range is normally the first priority for XP). It might also be useful for Japan to be able to deploy obsolete carrier aircraft only in China.
 
Does it make sense for nukes to also affect (to a lesser degree) other enemy nations? E.g., should the US had the bomb a year earlier and used it against Germany, it would certainly affect war support in Japan (and vice versa).
 
Look at the post time of my message. Did anyone in Europe also experience that enormous thud? To those of us in North America, that was my gigantic erection hitting the floor. Yessssssssss.......
 
Hi everyone welcome back to another update on our post-release work on Cornflakes and Waking the Tiger.

1.5.2 Patch
The path has now been in beta for a bit and also updated. If you are brave and want to try it early to help us find problems you can go here for how to do so. Go there to check out the current changelog, but I am going to cover some stuff here too. Note that all these things are not yet in the patch, but will appear later today when the beta gets updated.

Air Balance and Changes
Based on feedback, primarily from the MP community we decided to do several changes related to the air war.
  • Planes on missions now have to gain efficiency over time. Strategic bombers are slower than smaller planes when it comes to this. This was done to avoid ping-ponging and terrible microing in multiplayer where players would keep switching their bombers around to stop them from being caught. It also simply makes sense that it takes some time after a move to get organized.
View attachment 352002
  • Division anti air now reduces damage to the division caused by close air support attacks, in proportion to the AA's ability to shoot down planes. This should now make divisional AA more helpful against direct attacks as well:
View attachment 351978
  • We now allow a bigger bonus from close air support supporting a combat, while the penalty to defense to the enemy from pure air superiority has been reduced. The speed penalty from enemy air superiority has also been reduced as it was a little excessive. We hope these things together will incentivize CAS over fighter spam a bit.
  • Strategic Bombers now only give 0.01 air superiority to make it clear thats not really their job ;)
  • The last 3 levels of radar tech will now improve hit chance for static AA guns while unlocking new AA equipment will increase their damage and all their intermediary techs will increase the protection from AA on buildings in the area. We hope this will make the techs nicer to get and help in late game defense vs bombers.
Nukes and Surrender
We have fixed a couple of things with nukes. They should now work more reliably and hurt the targets war support depending on target. The target selection is now a bit more flexible, before you had to hit specifically the VP province, but now the state is enough for things to work out as expected. In addition a nations surrender limit will be lowered when at low war support (below 50%). It scales from 0 to -30%. That means nuking will again make nations more likely to surrender, but also have other negative effects before that point.

Manchukuo
We felt the Manchukuo independence path was a little heavy handed with bonuses so it has been reworked. We basically removed most of the factories you get from focuses. Instead you get a decision after taking over the railroads to build up to 4 civilian factories. You can also solve the bandit problem by recruiting them but that means you have to endure raids for a while until you get the focus to bolster nationalism. In the Manchu branch you get to create underground gun shops which make infantry equipment massively cheaper but also reduce its reliability by a huge amount. In the 5 people branch you can raise the Manchu banners, which are large divisions with artillery support. Finally, purging the General Affairs Council lets you spend CP to prepare to seize Japanese arms depots which gives you guns and the Japanese a negative modifier for fighting against your troops.

View attachment 351979

Game start speedup
Nobody likes to wait around, particularly not devs who have to start the game many many times during a day so to help with this we now do some caching during startup that should help speed up the process after the first time you run it.

Other stuff
We are still going to add some more things before the patch is done. MEFO bills for example are currently undergoing balancing work.

We also have a really cool thing for modders, but I'll let @shultays show it off for you:

Hello everyone, shultays here. I am a programmer in HoI4 team. Today I will be introducing some new cool features/tools that we introduced with our newest patch.

Scripted GUIs

That is a feature we solely developed for our modders. This new tool will enable modders to create their own GUIs (or attach their GUIs to existing ones) and attach scripts/triggers to GUI elements in those GUIs. Here are some gifs that show what you can mod in to game now.

View attachment 351923
View attachment 351924
View attachment 351925
View attachment 351926
View attachment 351933

Everything on that gifs are modded in to the game. Here are some features that this example mod adds:

Code:
- Fuhrer Mana, a new resource for Germany
- A spell system that uses Fuhrer mana as a resource
    - You can use spells targeted on your country by clicking Fuhrer mana resource
    - You can use targeted spells on enemy countries by clicking them
    - You can use targeted spells on your own states by clicking them
- A psuedo-focus system works independent of existing one that can boost your Fuhrer mana production
- A way to boost your research by consuming Fuhrer mana
- A basic AI that can make use of Fuhrer mana

If you want to try this mod, you can download it from Steam Workshop using this link or just download the mod attached in this post and extract it to your mod folder (under \Documents\Paradox Interactive\Hearts of Iron IV\mod). I also added a small cheat, right clicking on Fuhrer mana resource will give you free Fuhrer mana.

Here is a list of things you can do using scripted GUIs

Code:
- Create GUIs that will be visible when a certain trigger is true (for example in first gif, the player clicks on resource to pop up a new GUI) and/or when player selects a country/state (second and third gifs shows an example to this)
- By default this GUIs are not attached to an existing GUI (like first three gifs) but you can also attach them to existing GUI elements (5th gif has a scripted GUI attached to national focus tree)
- Attach effects to buttons in scripted GUIs, which will be called when player clicks, right clicks on them. You can also attach different effects while user is holding ctrl/alt/shift while left or right clicking
- Attach triggers to buttons that will disable them (for example spells are disabled when you are out of mana)
- Attach triggers to buttons/icons/texts to make them visible/hidden with certain conditions (disable research button is only visible when you actually enabled it)
- Use scripted localization in your texts, tooltips, button texts etc. You can also display description of effects you attached in tooltips
- A score based AI system that will evaluate your scripted GUIs on an interval you chose and on targets that you have filtered (for targeted scripted GUIs, like 'meteor swarm' spell GUI) and simulate clicking on buttons on the order of scores you have given to them.
- It will be available on multiplayer as well!

I created a tutorial on how to use this new system, which can be found on our modding forum following this link. It gives you a much more indepth on how you you can implement this features.

If you have question, please tag @shultays and ask away!

Reloadable databases
This feature was always there, but it was hard to use for our modders. In our development branch, most commonly databases (some folders under common, gui files, yml files etc) are reloadable and automatically reloads when you make an edit on them. After 1.5.2., you can also enable same functionality on our release builds by adding following launch command

-debug

After that game will auto reload the database that contains the files you edited. Here is the list of all reloadable stuff:

Code:
- events
- decisions
- traits
- ai_strategy
- ai_strategy_plans
- on_actions
- scripted_effects
- scripted_triggers
- scripted_localisation
- scripted_guis
- defines
- some gui files
- yml files

Some of them have limitations, so if you are encountering some weird issues I suggest closing and relaunching the game, but otherwise they should work just fine. We are constantly trying to improve this list.

If you want to disable this feature for some reason but keep the other -debug features, you can add -nofilewatcher to launch options.

So that is all from me for now. From now on I will try to be more active at modding forums and write a couple more tutorials. So see you there!

While we are on the topic of modding we need to talk about dependencies. Sometimes you will want your mod to depend on other mods, and also require a certain loading order. Mods will usually load in alphabetical order of their file names (so the mod last in the list will overwrite the earlier). But some things may affect this so if you need a certain load order and be clear that you have dependencies this needs to be specified by including its full name in the .mod file under "dependencies". There have been bug reports etc about this, probably because we didn't explain properly how it works. The wiki page has been updated, here but essentially this is how to do it:
Code:
name="testmodB"
path="mod/testmodb/"

# this guarantees we load testmodA first before our testmodB is loaded
dependencies= {
   "testmodA"
}
supported_version="1.5.2"

See you next week!
This GUI system is absolutely amazing, together with variables and decisions, has Cornflakes completely changing the modding scenario, it's like a different game.

You pamper us too much, I keep expecting the next DD to be about something new that you guys are working for the next DLC, but you just keep adding on top of 1.5 every week, this patch is like the gift that keeps on giving.
 
Does it make sense for nukes to also affect (to a lesser degree) other enemy nations? E.g., should the US had the bomb a year earlier and used it against Germany, it would certainly affect war support in Japan (and vice versa).
Not really. It would be immensely silly to set up complete air supremacy over your own territory and take steps to deny the Americans any forward air bases only to see your war support plummet because the Americans decided to dump their nuclear arsenal into the Hungarian countryside. It would be a nightmare to make a ruleset for this that doesn't create a sea of ridiculous situations, and given the censored nature of most press in this time period most people wouldn't even know their own nation had been nuked, much less their neighbors or some nation on the other side of the world.
 
I am not sure if I understand you correctly, I am not familiar with achievements system. But as far as I know, there is no way to mod in something that can store local data on clients, so a custom achievement system should be impossible to write.
Sorry my post caused unnecessary confusion, I said that about the new vojvodina state "issue"
 
O PLEASE PARADOX GODS PLEASE MAKE THIS HAPPEN

It's a very nice dev diary. Speaking about Air Changes though, trying to find type of plane I want a wing of from dozens, hundreds even, types of equipment can be quite a bother. Is there any benefit from picking a specific equipment when game will automatically choose the best one? I think picking the type of wing I want would be a better solution as we can't mix type of planes in one wing anyway.

Something like this:
upload_2017-3-19_21-57-40.png
 
Did you notice that the Polish Focus Tree is now less good in Industry that the Generic Focus Tree ? The Polish gives 3 civil factories, the Generic gives 4...
 
  • Planes on missions now have to gain efficiency over time. Strategic bombers are slower than smaller planes when it comes to this. This was done to avoid ping-ponging and terrible microing in multiplayer where players would keep switching their bombers around to stop them from being caught. It also simply makes sense that it takes some time after a move to get organized.

Won't this just screw the AI over? Considering how it is constantly moving its planes around.
 
Did you notice that the Polish Focus Tree is now less good in Industry that the Generic Focus Tree ? The Polish gives 3 civil factories, the Generic gives 4...
it's always been complete garbage

the polish tree is inferior to the generic tree in terms of bonuses/effects, it just has some polish flavour

it was the first DLC one they made, kind of as a test, so it is worse than the later ones