HOI4 Bonus Diary! - Modding & 1.9 Patchlog

HOI4 Bonus Diary! - Modding & 1.9 Patchlog

  • We will be taking the forums down to perform a site upgrade on 26 January 2020 at approximately 8AM CST (14PM UTC). This downtime is estimated to last between 6 and 8 hours.
  • Crusader Kings III Available Now!

    The realm rejoices as Paradox Interactive announces the launch of Crusader Kings III, the latest entry in the publisher’s grand strategy role-playing game franchise. Advisors may now jockey for positions of influence and adversaries should save their schemes for another day, because on this day Crusader Kings III can be purchased on Steam, the Paradox Store, and other major online retailers.


    Real Strategy Requires Cunning

podcat

Oberkommando HOI4
Super Moderator
12 Badges
Jul 23, 2007
12.632
31.226
  • Hearts of Iron III
  • Semper Fi
  • 500k Club
  • Europa Universalis III: Collection
  • Europa Universalis IV: Pre-order
  • Hearts of Iron II: Beta
  • Europa Universalis: Rome Collectors Edition
  • Mount & Blade: Warband
  • Paradox Order
  • Hearts of Iron IV Sign-up
  • Hearts of Iron IV: Together for Victory
Hi guys! Here is the promised bonus dev diary. First up is the full changelog, and after that we will be going through all the new stuff we have for modders.

1.9 'Husky' Patchlog
Here is the full patch log! Click to expand:
################################################################
######## Update 1.9 "Husky" ########
################################################################

##################################
# La Resistance Expansion
##################################
- New national focus tree for France
- New national focus tree for Spain
- New national focus tree for Portugal
- Espionage Agency & Code Cracking
- Operatives that can perform missions and operations
- Scout planes
- Armored Cars + special recon company
- Collaboration Governments
- New Intel system and Intel Ledger


##################################
# Free Features and Important
##################################
- Revamped Resistance system with offmap garrisons
- Added zooming feature for focus trees
- Added search functionality and filters for focus trees
- new recon support companies
- Neutral ideology can now be externally boosted
- MEFO bills will now auto-renew and player can decide ahead of time if they want to opt out
- New mapmodes for resistance & Compliance
- Licensing now requires permission to be seen
- New Spanish Fragmentation game rule, Spain Fragmented: Galicia, the Basque Country, and Catalonia will exist as independent states at game start
- New Spanish Fragmentation game rule, 11th of November: splits Spain into Castille, Aragon, Navarra, Galicia, and the Emirate of Granada at game start.
- New Oceania Colonization Status game rule, Oceania Decolonised: all releasable nations in Oceania will be independent at game start
- New Oceania Colonization Status game rule, Polynesian Empire: all Polynesian nations will be united into a single state at game start with extra factories and dockyards.
- New country tags in Oceania: Tahiti, the Mariana Federation, the Federated States of Micronesia, the Solomon Islands, Samoa, and Hawai’i.
- Error dog has a new change of clothes


##################################
# Balance
##################################
- xp gained on air wings in combat now scale with actual amount of planes in combat
- air superiority formula now linear instead of square with respect to planes. e.g plane amounts matter less
- Air superiority now scales from 0 to max penalty for enemy from the 50/50 state rather than giving the side with >1% advantage most of the benefit right away
- Various industry buildup focuses for romania now prioritize better or historical states for their location
- improved penetration of all medium ship guns
- Frequency of tactics picking in combat is now doubled
- Entering close combat tactic phase is now a lot less likely unless in urban fighting
- Superior Firepower tech soft attack bonus changed from 20% to 10%
- Shock and Awe tech soft attack gets an additional 5% soft attack to all fighting battalions
- Mobile Defense tech defense bonus changed from 20% to 10%
- lowered requirements for support rocket artillery equipment to be in line with normal artillery equipment/mechanized.txt
- removed hardness modifier from mech and added those benefits into base stats
- increased armor on amph tank 1 from 10 to 20
- increased armor on amph tank 2 from 60 to 80
- reduced effectiveness of heavy armor amphibious assault from 20% to 10%
- reduced effectiveness of medium armor amphibious assault from 30% to 20%
- Researches can no longer claim two different research bonuses at the same time if they only have one of ahead of time and research bonuses each
- Made the lack of fuel penalty on torpedoes -80% rather than -50%
- Australia can now take the Advisory War Council focus if at war
- Tech bonuses in the Italian Focus tree now apply to categories rather than specific techs (thanks xMer!)
- Rebalanced carrier fighter disruption and fixed bugs with its calculation
- lowered base mil factory output by 10%
- Increased Panzerschiff HP from 100 to 220 to make them more inline with heavy cruisers
- CSA can now core multiple territories at once
- Japan now gains wargoals on Indochina if France rejects Japanese demands
- Czech war college bonus improved
- lowered screen ratio for navies from 4 to 3
- added a suppression value of 3 to all tanks
- Austria Hungary now gets -40% tension needed for justification
- changed IC cost of infantry equipment 0 to 0.43
- lowered IC cost of infantry equipment 2 to 0.58
- lowered IC cost of infantry equipment 3 to 0.69
- increased malus from "war to end all wars" UK spirit to 30% to account for extra manpower from colonies
- lowered manpower requirement on germanys Anchluss focus slightly
- reduced air wing experience gain from 2nd and 3rd level reformer air chief
- reduced ship experience gains from naval combat by ~20%
- increased bombing reduction from 12% to 15% for dispersed industry 1
- decreased bombing reduction from 12% to 10% for dispersed industry 2, 3, 4, and 5
- reduced loss in stability from no further appeasement branch of UK focuses from losses of 15 stability to losses of 10 stability
- reduced experience gains for airwings to 5% from 10% in air doctrines


##################################
# Bugfix
##################################
- Fixed a civil war revolters not getting correct focus tree
- Units moving to a valid retreat location will now prefer going there rather than a random other province if attacked
- xp for ground attacks was also applied to air superiority missions. Now its reserved to ground missions where there are targets. Base xp gain from combat adjusted up accordingly
- The fuel cost when having multiple air missions active is now the highest, not the average which let you run air superiority at a discount
- Fixed issues with limit syntax in romania focus tree for forced abdication which would ignore most ideologies
- removed cost factor for taking states on democracies (which did nothing)
- trade opinion modifier from smooth talking charmer etc now works
- Fixed a problem with editing child front sizes in army group order
- Fixed a case where armies are teleporting in between provinces when there is nowhere else to escape
- effect _is_border_war_ now also checks for field marshal and not just the involvement of a general
- Securitate focus for romania now properly gives spirit to the nation
- Fixed a ctd related to expeditionary forces
- Fixed an issue while deploying units to overlord as subject and trying to assign them to an order in deployment queue
- Bypassing focuses is now disabled if a mutually exclusive one is in progress
- Fixed tooltips for default has_idea trigger
- Improve relations action now uses your "compromise gentleman" modifiers as well as target's when you try to improve relations
- Countries with no owned cores is now uses owned states for surrender level check now (previously you had to occupy all provinces)
- Update the tooltip of taken ideas, to not display "remove idea" when irrelevant.
- Fixed country list in diplomacy window showing wrong opinion values in some cases
- Fixed some mp exploits
- Fixed white peace effect not immediately finalizing the peace conf (which was causing glitches to ITA on "colonized africa" start)
- Fixed a case where units stucks at sea due to invalid invasions
- Portrait for MEX leader Luis maria Martinez has been fixed
- Fixed event effects with random delays that were probably intended to be delayed by days, not by hours, by using the new random_days field.
- Fixed the effects of simultaneous event choices for one country, produced by the same event type but from other source countries, which were previously randomly failing to all execute, depending on the order in which the player responded to the events.
- Refactoring pending event system to use an ID, so that removal is guaranteed to remove the correct pending event entry.
- Fixed some cosmetic tag inconsistencies that was resulting in wrong names
- limited intervention focus now unlocks actually sending volunteers for the US
- Fixed game crashing in weird ways if a mod tries reusing an id
- Fix a bug about research bonus not being correctly saved, if the research just started.
- Fixed an issue where the US AI set to use the alternate democratic focus while historical focuses were set to on would break the AI completely
- Fixed scripted localized idea modifiers not showing correctly in tooltips
- Czech Security Council focus now correctly applies spirit to all faction members
- Fixed "ignite civil war decision" for single state countries. it flips the ruling party now
- Unit controller no longer cancels combats against heavy forts if the order is initiated by player
- Fixed research bonus not showing in some circumstances on starting tech
- Fixed removing province level constructions on puppets not properly showing up in map
- Fixed an issue where some artillery pieces were not categorized properly in script
- Fix a bug with the province modifiers not been correcty added to the tooltip.
- Fixed incosistent task force behavior regarding automatic reinforcement after a save load for task forces with detached task forces
- tech sharing focuses for Chinese warlords and Japan-Germany in the Japanese tree now properly work if player only has Waking the Tiger and no other DLC
- Italy should now start with the correct level of floatplane launcher in 1936 if MtG is enabled
- Fix missing tooltip 'Cancel production of all deployment lines' button on Recruit & Deploy
- Fix inconsistent amounts of oil between trade and tooltip icons
- Fixed camera rotating sidewards when research window is opened during left key is pressed (how did they found that bug)
- Fixed holding esc breaking the gui
- Fixed SOV not getting correct research bonuses from GER in 39 start
- Fixed country colors not being reset after exiting and starting a new game
- Fix not keeping the correct selection when justifying multiple war goals on different states
- transient and carrier air missions no longer suffer from reassignment penalty as player can not control that.
- carrier fighters should now get a correct amount of XP gain when in carrier battles
- planes should not do kamikaze inside carrier battles unless specifically told to
- The Dutch focus "protect the colonies" will now only bypass if the Netherlands has none of their original colonies
- Fixed aces killed on actions not being fired
- Fixed localization getting broken after removal of duplicate entries
- Fixed being able to ignore exilatation status in some cases
- dynamic tags will now not get random names on their national spirits or if they have cosmetic tags on anything.
- Japan will no longer suffer from the Marco Polo Bridge Incident while at peace with China
- The Netherlands will no longer bypass protecting their colonies unless they don't have any.
- China will no longer be able to gain independence due to the PRC inviting them into a faction.
- Mexico will now have access to the generic changing of ideology decisions for those who do not own Man the Guns
- It should no longer be possible for nations that aren't Mexico to have access to Mexican-exclusive decisions.
- Fix effect swap_ideas generating a tooltip for targeted modifier when the difference is empty
- Forced the display of the min_export modifier when it is zero and changed its number of decimals to 0
- Fixed parsing of command line that could fail to trim spaces from recently added command line options.
- start_save command line option fixed to allow embedded hyphens, or to be surrounded by double quotes and potentially contain spaces.
- Civil war's will not spread to a degree on core states where they would remove the other side completely
- Fixed volunteer armies to more consistently use their recipient country when checking the validity of potential orders, instead of using the sending country.
- Fixed offensive order planning in the case of having multiple independent enemies with adjacent controller areas.
- Countries should now only be able to dismantle the Maginot once
- Cleaned up some localisation for the US remaining neutral in diplomatic reponses
- Anti-Communist Sweep will now tell you what it does in the tooltip.
- MEFO bills will now be removed if Germany is at war even if they were called in as an ally
- Colonisers should no longer have units trapped forever on islands if the player chooses to decolonise in the game options.
- The news events "Liberation of Poland/Warsaw/London" will no longer occur if Germany makes peace with or puppets the target countries.
- Canada should now be able to invite the USA to the North American Alliance
- Germany will no longer get the option to honour the Molotov-Ribbentrop pact if they don't own any of Poland.
- Britain can now only appeal to Imperial loyalists if the country exists.
- UK can now bypass securing the colonies if they have no colonies
- Playing as Yugoslavia with the Yugoslavia Fragmented game rule will no longer result in a game over
- Releasable countries should no longer have advisors named "Democratic Reformer" "Communist Revolutionary" or "Facist Demagogue" and should now have advisors with dynamically generated names
- Fixed issue where alert numbers for decisions would not update on new game
- Fixed some character space advancement issues in Russian and regular fonts
- Gannan has been moved into the same supply region as the rest of XSM
- US Housing focus now states it will apply to "five random states"
- British air defence focus now refers to South-East England instead of Cornwall
- Manchuko will now be able to declare war for independence whoever their overlord happens to be
- Tooltip made less confusing for expanding the Burma road
- Rundstedt is no longer an offensive expert and is now an Urban Assault Specialist
- Chinese Warlords will no longer fight their evil clone when fighting a civil war
- Tooltip for suppressing subjects has been made less confusing
- Fixed being able to assign airwing to a region well beyond their range by canceling the transfer to another airbase
- India and Pakistan will no longer go to war 100% of the time
- Fixed revoking the guarantee of a country involved in a defensive war allowing to bypass the malus applied when declining the call to arms
- Fixed South American supply areas.
- Switzerland's capital is now considered Urban terrain.
- Fixed change government also selecting supervised state
- Fascists and Communists can now join and create factions at exactly 0 world tension
- Japan now gets a truce with all Chinese countries upon losing the war in China
- Yugoslavia will no longer join a faction if they are already in a faction
- Fixed instances of adding relations to self which was resulting in ctds
- Recalculate country major status due to taking over faction leadership after peace conference starts, so that inappropriate white peace and other peace conference weirdness does not happen when the last major in a faction with minors capitulates.
- Hide "amphibious" tank title in the research window if you don't have MTG.
- Fixed volunteers not being visible as the receiver if they are on provinces not controlled by the receiver
- British dominions should now get proper country names, flags, and colours upon starting a civilwar
- Manchukuo bandit evens will check against correct provincial buildings
- The Raj should only have its British flag if it is a puppet of Britain.
- Fixed a spelling issue in Ivan Konev's description
- Fixed naval mines indicator not being centered on the strategic region when there are no naval mission in that region
- Fixed saving to steam cloud freezing the game
- Fixed an issue with invalid leaders traits being allowed for picking randomly
- Fixed an issue in the Romanian focus tree where the 'All Parties Must End' focus incorrectly added a democratic drift instead of non-aligned drift.
- If pasting in whole of Tolstoy's "War and Peace" into MP chat the game will no longer crash
- Updated Romanian focus Handle The King to give democratic support instead of non-aligned
- Fixed stats from temp abilities like last stand not properly being save&loaded
- Fixed some resource decisions not having proper tooltips for time to remove
- Initialize default template when the first template is added (useful for countries created by civil war)
- fixed some dynamic modifier issues
- teleport armies effect now cancel combats & movement
- Fixed naval bomber attacking own or allied units in transfer
- Fixed fallback orders not working with volunteer armies
- Fixed border war effect not creating events in some cases if it fails
- Triumph in Africa is now bypassed if Italy is at peace with Ethiopia
- Italy will now bypass Italy First if they end up in a faction with any country other than Germany
- Owners of Man the Guns should no longer have an American Civil War unless triggered via MtG-related content
- Croatia will only break free from Yugoslavia if Yugoslavia owns Croatia.
- Mexico can now freely change ideologies as normal for players who don’t own MtG
- Show only one 1939 Imperial Conference event instead of several.
- Don't show alert about new idea available, if the idea is not visible.
- fixed being able to nuke same province without waiting for first nuke to land


##################################
# UI & Graphics
##################################
- Show player's underlying user name in tooltip for the player's game name in the in-game diplomacy window and chat window, just as it works in MP game lobby.
- Show player's country name in tooltip for flag icons in the in-game chat window.
- tooltips for exports now show breakdown of trade opinion factors affecting the trade
- Deleting the last child front order in army group order no longer deletes the army group front order
- open music player button in settings now has proper size
- Music Player now has proper spelling in tooltip/settings button
- Added tooltip explaining how minimizing works on event window
- Prevented the Paradox Account login window from popping up when entering the multiplayer lobby when not using the Paradox matchmaking service.
- Fixed the in-game browser keyboard handling to recognize control keys such as backspace and arrows.
- Basic armor technologies now display the corresponding armor unit to show unit modifiers (no actual gameplay effect)
- Fixed too small boxes for total sinking counts in the naval losses/kills statistics tab
- Map modes now can be assigned to mp mode buttons using right click
- Queuing construction now places it ahead of repairs by default.
- Change economic, trade and conscription laws interface from two colums to a single list
- split button now disabled/enables correctly based on when you can split an airwing (was always on before)
- its now possible to split airwings during transfer so you dont have to wait for the cooldown
- Fixed effect descriptions in tooltips that were not reliably configured to end with a newline (such as unlocking a national focus), so that any following effect's description will begin on the next line instead of being jammed up against the end of the previous effect description.
- fixed issue with overflow in certain languages in the logistics view
- Fixed the handling of --continuelastsave so that the Resume button in the new launcher behaves correctly.
- naval alerts now also show for allies at war
- Force main menu background width to fit window width, so that the full width of the image is visible in any resolution.
- allow clickign through decision map icon for goto-location
- Can now right click decisions topbar button to turn off notifications on all available decisions. Also button counter no longer shows for decisions with notifications off
- Fixed main menu background scaling to use bilinear filtering instead of point filtering.
- Fixed the busy mouse cursor's hotspot to be in the middle of the watch face.
- Fixed missing button art for PgUp/PgDown keys
- fixed wrong sign on invasion penalty modifier
- Moved website etc button up to old position
- Shortcuts shift+Q for Decisions and shift+W for Intelligence Agency added
- Fixed some Tutorial highlight positions
- fixed issue in naval commander loc that reffered to detection chance instead of detection speed.
- Fixed a terrible grammar issue in a tooltip
- fixed some tooltip issues with swap_ideas effect
- Event button items are disabled for 0.3 seconds
- reordered top bar fuel tooltip be more easily readable
- fixed animation issue on japanese heavy tank II
- fixed some tanks missing acclimatisation textures
- fixed some axis tank lighting issues
- Adjusted Yugoslavian Focus tree so it fits on the screen
- Fixed it so 3D jet plane models can appear
- Added ENG Meteor jet plane model
- Bicycle Battalions now use the correct icons
- fixed invalid button text for liberating paris

##################################
# AI
##################################
- Ai germany will now respect swedish neutrality more on historical setting
- Fixed AI to be less timid on front lines that the enemy has fully fortified with no weak points, in the case when the AI's relative army strength on the front is still high enough, or when the fortified enemy area is a pocket.
- Extended the AI front evaluation to factor in low supply and organization when estimating the strength of divisions, so that it is better able to surround fortified units and only strike once they are properly vulnerable.
- AI will consider unit organization when determining if a province should be considered fortified or not, and treat it as unfortified if no unit has at least 15% organization factor. Makes Germany less hesitant to clean up the Maginot Line after France capitulates.
- Reworked the strategy to keep UK out of France/low lands once war starts
- gave the UK strategies to give them a better economic buildup and to slowly overtake the German air force by the mid 40s
- Italy and Germany will now stockpile a bit less early game to make sure they look scary in case someone tries to stop them
- gave italy a slightly improved buildup
- gave uk a strategy to reduce their initial presence in Africa
- France will now never fight remilitarization of the rheinland on historical mode
- Fixed an issue where AI evaluates ally front incorrectly while deciding to attack or not
- Ai trade law picking weights can now be tweaked from defines
- ai trade law selection now also considers the modifier benefits, and no longer gives benefits to getting more resources than it needs
- AI no longer creates duplicate support companies in its templates
- Fixed ai picking invalid ideas
- Stopped a case where many trade laws could end up with similar scores and AI stuck in a loop swapping between them
- added new ai strategy to get USA to keep its convoy amounts up higher past 1940
- Added a bunch of ai strategies that can modify how ai assign units or execute orders
- Force_defend_ally_borders & force_defend_ally_borders can target ai egions now
- USA will buffer units at England and Africa to use nearby fronts in Europe
- French and Italian AI should now prioritize modern destroyers slightly more if at war with a submarine-using nation
- Britain should now be protective rather than friendly vs Poland which should lead to more reliable guarantees vs improving relations
- increased the minimum target for AI training in wartime of units
- increased AI equipment stockpiling from a target of 25% to 40%/30% depending on garrison or not
- AI will now anticipate less need for on-map garrisons on nations that it fights but havent capitulated yet
- tweaked france defending strategies for allies
- AI now remembers the focuses and decisions it/enemies took while deciding who it should consider as enemy
- stopped germany from spending equipment on lend lease to china before the war kicks off for real
- delayed allied invasion strategies vs GER/ITA depending on how barbarossa goes (should shift a year perhaps)
- Germany should now be less happy about sending volunteers to china
- Germany now less interested in helpign italy push into france
- increased german artillery production strategy from 70->90
- fixed a case where ai air production strategies overlapped leading to larger than planned value
- Made UK and USA prioritize invasion tech when at war with germany, and even more once soviet is at war with germany
- Fixed an issue where AI was looking at wrong invasion techs depending on if you had MTG or not for when to ramp up its invasions
- increased allied ai scoring for invasion techs in some cases
- nations who really hate others are now capable of justifying war even if non-fascist
- Britain should no longer decide that Czechoslovakia is unworthy of protecting while they're already at war with Germany
- Democratic German AI will no longer try to demand Danzig for guaruntees
- Allowed AI to re-evaluate more frequently sending volunteers if the DA has been accepted instead of after 4~8 months
- fix for ai strategy to stop germany from lend leasing equipment it neads to beat the bolsheviks
- FRA now expects GER as an enemy as well if it is going to war with ITA
- fixed ai not assigning planes if fuel is free
- AI now checks the units that will attack non fortified areas before deciding to use its special weak rush attack
- Fixed AI war goal generation evaluation to always take into account Befriend/Antagonize and Protect scores
- AI GER now is forced to attack maginot line after FRA falls to mop up
- AI USA is now properly capable to declare war on Vichy and fixed some issues in the code that checks if ai is ready for declaration that far away
- Democratic Germany's AI no longer attempts to do its focuses in the wrong order or try to do Kaiser-related focuses
- Japan will no longer go to war with the PRC immediately after losing against China
- ai will now be careful with early invasions vs vichy just like with germany


##################################
# Database
##################################
- Lowered infrastructure on Attu island
- moved various Tungsten deposits in India to Burma. Total amount of Tungsten remains the same; all tungsten moved remains under RAJ control at game start.
- Added Western France, Northwestern Iberia, and Southern Iberia strategic (air) zones, splitting up the existing zones more for improved air combat gameplay. Remaining Iberian Region airzone was renamed to Northeastern Iberia.
- Salchak Toka of Tannu Tuva now has a unique portrait
- Victor Emmanuel now starts out as the unaligned leader of Italy
- removed some unused restrictions on German ship names
- South Sakhalin is now considered a core of Japan
- Attu island will now correctly become a core if the US grants Alaska statehood. Paradox apologizes to all current inhabitants of Attu island for this oversight.
- added a number of female names to name generator for a number of major countries
- fixed a missing unit in the Dutch 1939 starting OoB (a change with far-reaching consequences for balance, no doubt)
- Hermann Goring will now use the correct portrait
- William Dudley Pelley now uses his unique portrait when leading the CSA
- Slovenia, Montenegro, and Bosnia will no longer be democratic with no elections
- Cambodia's capital will no longer be in Vietnam
- Ataturk's removal as marshal no longer tied to a set date and instead to Ataturk's survival as country leader
- added 2 MIL, 2 NAV to French startup position
- Updated German, Brazilian Portuguese, and Spanish equipment localization names regarding the word 'Type'
- Fixed typo in China national Spirit "Incompetent Officers"
- fixed some unit stack positions
- Fixed Yugoslavian ships having Argentinian names for non MTG players
- Italy can now do Pact of Steel without being Fascist. Luis Maria Martez is now using his unique portrait.


##################################
# Modding
##################################
- Added the send_equipment_fraction effect
- Added the effect send_unit_fraction behaving much like the start_civil_war effect but with much less politics and blood
- Added the ability to hide some modifier enclosed in a hidden_modifier block while allowing to put a nicer description in a localized string specified by custom_modifier_tooltip
- Fixed the tooltip generated for ideas not picking up the localization key Name + '_instant_desc'
"- Changed add_resource effect to work with variables
- Added destroy_resource effect to temporarly/permanently destroy resources on a state"
- Added state_resource_steel & temporary_state_resource_steel (and other resources) state modifiers
- Added non_damaged_building_level trigger
- add_resource now can temporarily add or remove resources
- add_dynamic_modifier now updates the duration if modifier already exists
- Added legitimacy_gain_factor modifier, that applies to legitimacy change as a factor
- swap_idea effect now allows you to modify the duration of previous idea
- add_building_construction, set_building_level now accepts stuff like limit_to_victory_point > 5 / limit_to_victory_point < 10 along with limit_to_victory_point = yes (which checks if vp > 0) and can be used to apply the effect only provinces within certain VP threshold
- Added is_debug trigger that will return true if debug mode is on (game is launched with -debug flag)
- Added a bunch of triggers for checking resistance & compliance variables & modifiers
- Added effects for adding resistance/compliance and initing/cancelling resistance
- Occupied can be used to access occupied (Resistance) country of a state
- Added variables to access core compliance/resistance
- Add a warning if there is multiple 'limit' in a trigger/effect.
- add the modifiers navy_leader_start_level, navy_leader_start_attack_level, navy_leader_start_defense_level, navy_leader_start_maneuvering_level, navy_leader_start_coordination_level to match the sames for army_leader.
- Add effects add_days_remove and add_days_mission_timeout for decisions
- Fixed sending diplo actions with scripted guis not setting expiration date correctly
- Added modifiers intel_network_gain and intel_network_gain_factor
- Dynamic variables that are added to state now shows up in gui if has a gfx entry
- Added random_occupied_country every_occupied_country effects
- Added any_occupied_country all_occupied_country country triggers
- Added occupied_countries as a country array to country scope
- should_initiate_resistance scripted trigger will be checked to decide if resistance should be inited or not
- Added teleport_armies, which can teleport armies in one state to another
- Add controls_province trigger
- Added set_state_province_controller effect which partially flips controller of some provinces under a state
- Added is_friend trigger
- Added create_dynamic_country effect
- Added trigger operative_leader_mission
- Added unitleader variable own_capure_chance_factor: the sum of modifiers applied to the chance of this operative to be captured
- Added unitleader variable own_forced_into_hiding_time_factor: the sum of modifiers applied to the time this operative is infliceted the status forced into hiding
- Added unitleader variable own_harmed_time_factor: the sum of modifiers applied to the time this operative is infliceted the status harmed
- Added unitleader variable own_intel_extraction_rate: the sum of modifiers applied to rate of extraction of intel from this operative by an enemy country
- Added on_action on_operative_on_mission_spotted: triggered when an operative has been spotted while on an offensive mission. Should decide what happens to the operative
- The effect remove_unit_leader now supports the scope of an unit leader in which case it behaves like a bool effect where the boolean is ignored
- Added the effect randomize_{,temp_}variable which assign a random number to a variable with various parameters to specify the range and the distribution to use
- Change divide_temp_variable effect not to crash on division by zero and return the value specified by the parameter `if_zero` which default to zero.
- Added effects harm_operative_leader and force_operative_leader_into_hiding
- Add state_production_speed_buildings_factor modifier (that can be added to a state with add_state_modifier)
- Add state_resources_factor modifier (that can be added to a state with add_state_modifier)
- Random lists now supports variables as factor & add values
- Added "\common\modifier_definitions" entries to declare new modifiers which can be access by scripts
- Added delete_units effect
- delete_unit_template_and_units can also refund equipment/manpower
- Added following effects & triggers: // any_country_with_original_tag // all_country_with_original_tag // random_country_with_original_tag // every_country_with_original_tag
- original_tag can now be accessed as a game variable
- Fixed create_equipment_variant not setting modules in correctly in some cases
- Fixed tooltips of add_days_remove effect & days can take variables now
- create_unit now allows spawning multiple units, spawning units at ally or enemy controlled provinces and has a scoring system for controller
- Added console command "save <filename>" to save game directly from console
- Added static modifiers intel_network_state_level_bonus and intel_network_state_level_penalty
- The planning_speed modifier can now be applied to a state. Only the adjacent state (for fronts) or the targeted states (for invasion and paradrops) are taken into account.
- Modifiers max_dig_in and max_dig_in_factor can now be applied to a state
- Modifiers amphibious_invasion_defense and naval_invasion_penalty can now be applied to a state
- Added add_resistance_target & remove_resistance_target effects
- Added random_hours and random_days fields to country_, state_, news_, and unit_leader_event effects to clarify how much random time is being added to the effect. The random field, which is equivalent to random_hours when assigned a numeric value, is preserved for backwards compatibility.
- Added decryption_ratio_trigger
- on_capitulation will now always fire. It was previously not firing if a war ended with the capitulation of a single country and would previously go straight to peace conference
- Added is_cryptology_department_active is_decrypting is_fully_decrypted is_active_decryption_bonuses_enabled triggers
- Added a reservation mechanic for dynamic tags using reserve_dynamic_country effect
- Added add_decryption effect
- Added on_fully_decrypted_cipher & on_activated_active_decryption_bonuses on actions
- Added trigger compare_intel_with
- Added effect add_intel
- Added decrypt_target strategy
- Added a database that can score countries which can be accessed with scripts & effects using get_highest_scored_country & get_sorted_scored_countries effects & triggers
- Mutually exclusive focuses now gives warning if the other focus is not mutually exclusive
- Added has_collaboration trigger and add/set_collaboration effect
- Add a new on_action, on_send_volunteers
- Add a new ai_strategy, send_lend_lease_desire.
- Added "delivered" support for state resources trigger
- Added crypto enable strategy
- Add AI strategies intelligence_agency_usable_factories, intelligence_agency_branch_desire and intelligence_agency_upgrade_desire (examples in ai_strategy/default.txt)
- Added activate_invasions front_unit_request invasion_unit_request strategies
- Added support in focus_tree database for custom initial window position via the member initial_show_position
- Add is_spymaster trigger
- effect & trigger console commands now autocompletes and can take arguments
- log effect & trigger now will log stuff to console if console is open
- Added strategies for accepting/requesting diplo actions
- Can now mod game speeds under NGame::GAME_SPEED_SECONDS
- has_game_rule now safety checks for non existing rules
- Added debug logs for peace ai
- Improved/added add_ideas/remove_ideas console commands
- In debug mode control alt click on a decision/national focus/idea/spirit will now open the text file for the object
- Added targeted state decisions
- Added ctrl alt click for techs & events as well
- Added capital country variable
- Improved the logging of duplicate UI object names in gui files.
- icons for decisions are now dynamics, and can be changed by a trigger as icon = { key = name, trigger = {} }
- Added highlight_color_before_active and _while_active attributes to decisions, which indicate which custom color highlight from graphics defines to always show on the map for the relevant provinces, while the decision is in the corresponding state.
- Moved the BORDER_COLOR_CUSTOM_HIGHLIGHT_* into the larger BORDER_COLOR_CUSTOM_HIGHLIGHTS array that can support multiple colors, currently accessible only from decisions.
- Add create_ship effect
- Its now possible to mod which subtech icon to use by setting sub_tech_index on the tech
- Changed the capital attribute of the start_civil_war effect into scriptable variable, not just a raw state ID.
- Fixed the capital attribute of the start_civil_war effect to not get overridden and ignored if the list of states is also specified.
- You can specify a country tag before effect/trigger name in effect/trigger console commands to set scope now
- its now possible to scrip if a battalion or support company affects overall speed or not
- Added trigger intel_level_over allowing to compare the absolute intel level a country has over another
- Add set_faction_spymaster effect
- Added effect mark_focus_tree_layout_dirty to force the UI to rebuild the focus tree of the scoped country
- Added any_controlled_state and all_controlled_state trigger
- Added random_controlled_state effect
- Added support for 'prioritize' list for random_state effect like for other similar random_x_state effects
- Fixed set_political_power effect to properly set PP directly, instead of its old behavior of functioning just like add_political_power.
- Changed default behavior of repeatable decision with random effects so that they re-roll the random sequence each time the decision is repeated. Previous default was to produce the same result every time within a single game session, but content designers rarely expect or want this behavior. Explicitly specify fixed_random_seed = yes in a decision to opt in to this same-every-time behavior.
- Fixed adding new events breaking fire_only_once for old saves
- Add garrison_manpower_need trigger, to check how much manpower we need for our current garrisons.
- Added command line argument '-dump_script_doc' that generates a JSON file containing the script documentation
- console command 'trigger_docs' can now generate the documentation in a JSON format if given the argument 'json'
- Unit leaders can now be stored as variable and can be used in scripted guis
- Added army_leaders navy_leaders operators variables for country
- Added on_remove for ideas
- Added tooltip for selectable trigger
- Added tooltip for selectable trigger of scripted diplo actions
- Following triggers can have tooltip="loc" to override its default localization: every_country every_other_country every_state every_owned_state every_controlled_state every_neighbor_state every_unit_leader every_navy_leader global_every_army_leader every_operative
- Added tooltip=key option for many all_X any_X triggers
- Added tooltip support for all_of_scopes & any_of_scopes trigger
- Added modifiers impacting the chances of detecting an operative on mission: own_operative_detection_chance, own_operative_detection_chance_factor, enemy_operative_detection_chance, enemy_operative_detection_chance_factor
- transfer_ship target entry now accepts variable
- added highest_party_ideology and highest_party_popularity variables both with @exclude_ruling_party support
- Added effect operative_leader_event
- set_technology effect now has popup = no to disable pop up
- Add agency_upgrade_number trigger
- Added support for disabled_ideas modifier that can be used for disabling law & minister assignments
- Add new modifier max_surrender_limit_offset that controls the maximum surrender progress of a nation
- Added cancel_effect for decisions
- Added effect gain_xp that can be used in an unit leader scope
- Added is_diplomatic_action_valid_DIPLO_TOKEN trigger support for diplo actions to disable diplomatic actions
- Fixed some triggers not producing correct tooltip under NOT = {}
- Added weight support for reading unit leader names
- Allow traits to specify multiple eligible unit leader types
- Added support for storing equipment types in tokens
- Equipment types can be stored in variables now and effects & triggers that can take equipment types can take variables
- Effects that reads database objects as variables now needs to be explicitly use var:var_name (example set_temp_variable = { t = token:fascism } has_government = var:t)
- Added trigger num_of_operatives num_operative_slots and num_free_operative_slots
- setowner/setcontroller console commands now works with state selection as well
- Subjects can now have more general fallback names like COUNTRY_<autonomy level> and COUNTRY_<OVERLORD_TAG>_<autonomy level>, also a NONIDEOLOGY value is available for accessing a non-political country name like Germany rather than German Reich.
- Added front_control ai strategy for forcing ai to attack/not attack or changing execution types for specific fronts
- Game now logs the last read line from saves/script files on crash which can be used for debugging crashes during loading saves or at startup
- Last executed script will also be logged on crash reports now
- Crash log data is now only logged if the game launched with -crash_data_log (to not reduce performance of -debug performance)
- Add trigger foreign_manpower
- Add country_lock_all_division_template effect.
- unlock_decision_category_tooltip effect now does deferred loading to avoid load order issues in certain places
- Added effect add_nationlity for operative
- Added days_since_capitulated trigger.
- Added on_paradrop & on_naval_invasion onactions
- Added on_ruling_party_change onaction
- Added trigger has_nationality for operatives
- Changed triggers all_operatives and any_operatives to work with an Operation scope
- Changed effects random_operative and every_operative to work with an Operation scope
- Added on_action on_operation_completed executed when an operation finishes before the outcome effect is executed and the operative detection chance is rolled
- Added support for scripted localization of operation. E.g. GetName is replaced the operation name.
- Added effect recall_volunteers_from = TAG
- New effect set_garrison_strength to set a states garrison strength
- Added support for multiple on_map_area on decision categories
- Added effect turn_operative to move an operative from one country to another while making it appear as dead to the country of origin
- Added conscription_ratio target_conscription_amount current_conscription_amount triggers
- Add new country rule can_boost_own_ideology
- Decision categories now can be displayed regardless of decisions by setting visibility_type to one of map_only decision_view_only map_and_decisions_view and always
- context_type = diplomacy_target_context can be set to make a scripted window always target the country that is selected in diplomacy
- Added country_is_at_peace & country_is_at_war static modifiers
- Added on_weekly on_weekly_TAG on_monthly on_monthly_TAG actions
- Added trigger network_national_coverage to test for Intel Network National Coverage
- added error logging for invalid prov stack positions
- Focus tree window now keeps its position on reload
- Improved logging of national focus errors to indicate file and line number.
- Added female = yes support for country leaders and added is_female trigger which can be used for unit leader/country leaders/aces
- Add 'kill_ideology_leader' and 'retire_ideology_leader' effects to kill or retire an ideology leader.
- Added %% support to localization, which will print a percentage without multiplying it 100
- added history log viewer tool to game
- added is_operation_type trigger
- operation can be accessed from operative using operation = {}
- log effect now logs to console (if visible) and to history logger (if enabled)
- focus.autocomplete now only works for player
- added background textures for leaders & operatives under game/tools/art

##################################
# Stability & Performance
##################################
- Parallelized daily updates of AI country threat assessments of other countries.
- Parallelized daily computation of country relation status border friction.
- Parallelized daily updates of country and logistics history entries.
- Parallelized the checksum computation for countries during the hourly out-of-sync checks.
- Skip all out-of-sync checks for standard single player games.
- Prevented a crash if a script tries to make a non-existing country declare war on another country.
- Prevented a crash when a country that had been part of a faction and would normally go into exile under their faction leader is instead forcibly annexed by the on_capitulation script.
- Updated crash reporter to detect and report crashes on all threads, not just the main thread.
- Guaranteed that countries liberated during a peace conference will be given a capital state.
- Fixed sporadic crash when editing defines while in debug mode
- Fixed CTD when exiting the game while expeditionary forces are engaged in combat from a naval invasion
- Avoid hard crash when calculating threat of country that is missing a capital, reporting an error instead.
- Removed exile donation modifier from save file which could cause out of syncs, in favor of recalculating it on loading a game save.
- Fix to avoid using data within the supply system after it has been deallocated.
- Deferred looking up unit leader trait in database in triggers and effects so that database load order causes fewer problems for other scripted objects that need to use these triggers and effects.
- Fixed cross-platform out-of-sync when calculating front line shape.
- Optimized calculation of convoys passing through naval mission regions used in a variety of places, but especially during the hourly tick assignment of division by the AI.
- Fixed CTD when going back to the main menu after hosting a game but not starting it
- Fixed a ctd related to carriers in naval combat
- Fixed a ctd with deleting division templates
- Fixed Steam API shutdown for Linux host that was causing the program to hang on exit
- Fixed Mersenne Twister implementation to produce exactly the same pseudorandom sequence as reference implementation.
- Changed music to stream directly from file instead of loading the entire song into memory first.
- fixed a ctd in ai fleet assignments
- Fixed a ctd that can happen when exiting from mp lobby using esc key
- Fixed CTD when AI evaluates sending volunteers to a country that has an enemy on the verge of capitulating
- Fixed CTD caused by deleting units from effect running right after a combat ended
- Added safety checks on nations without capitals (random ai ctd fix)

Modding

1.9.0 will include a lot of tools/improvements that will hopefully help modders developing their awesome mods. Bug fixes and small improvements are too many to list here and can be found in the patch log but we will be listing more major stuff in this dev diary.

More effects, triggers and game variables and more variable support

We added quite a bit new effects/triggers and game variables with new free patch. Full list can be found in in the patch notes or the documentation files that are generated by game.

In addition to those new scripting tools, we also added more variable support to existing effects/triggers. And now hoi4 scripting language supports storing tokens as a variable. For example you can do the following:

upload_2020-2-17_16-1-4.png


Here we are storing token infantry_equipment in a temporary variable named to and later we are using this stored token in add_equipment_to_stockpile effect.

At the moment following objects can be stored in variables and all effects/triggers should be able to accept such variables

ideology/ideology groups
equipment types
operation

We have plans for adding support for more, feel free to have suggestions for other types of tokens if you thing they would be useful.

We are also adding a better documentation support for our scripting language. Following html files are output of our new script documentation tools:

Effect Documentation
Trigger Documentation
Modifier Documentation
Dynamic Variables Documentation

History Logger

"History Logger" is a tool that we developed to observe AI gameplay and now it is available for public as well. More details available on AI dev diary

output.gif


You can see some examples using following links:

https://common-assets.paradoxplaza.com/hoi4-devdiary/history_viewer.html?zip=1.zip
https://common-assets.paradoxplaza.com/hoi4-devdiary/history_viewer.html?zip=2.zip

We hope that it will help people that makes overhaul mods or AI mods. To use it you need to run game you need to lunch the game with "-hands_off" option which make game automatically start up on observing country defined NGame::HANDS_OFF_START_TAG (Or you can manually start the game and run console command "history_logger"). During the run, the game will collect data and dump it on every month under "documents/user/Hearts of Iron IV/history_dump" folder. Once you believe the game collected enough data, you can zip the contents of that folder and load it to game\tools\history_viewer\history_viewer.html file.

The hands off will also output the test conditions that you want to satisfy. You add more conditions to game\tests if you want and they will be reported as a success or fail under user\Documents\Paradox Interactive\Hearts of Iron IV\logs\tests

upload_2020-2-18_10-19-26.png


Crash Logging

The game will run the last executed script or last loaded script/history/save line if something goes wrong during script execution or save game loading and the game crashes. Which hopefully will give you more information on why it crashes and avoid the problem until we solve the crash itself.

upload_2020-2-17_15-47-22.png


This information is only stored if the game is launched using "-crash_data_log" option (it does have a performance hit so I would suggest not to enable it during regular development). The crash will be outputted to user\Documents\Paradox Interactive\Hearts of Iron IV\crashes\...\meta.yml which should give you the file & line info

If the game is crashing while loading a save game, I would suggest changing save_as_binary to no under user\Documents\Paradox Interactive\Hearts of Iron IV\settings.txt so you can see the contents of the save in a text format.

And of course please make a bug report if you encounter crashes so we can actually fix them.

Country Tag Aliases

We are adding an aliasing system for country tags. These aliases will work just like a country tag (they are a 3 letter tags that can be used in most places you can use a country tag) but during game play they can be mapped to different countries. For example

upload_2020-2-17_16-9-56.png


SPD, VIC and MOT are country tag aliases. SPD maps to a country with original tag of SPR (which is a real tag) and has country flag SPR_carlist_spain_flag. When a script calls

upload_2020-2-17_16-11-17.png


It will find the correct SPR and add the political power to that country.

In addition to original tag/trigger combination you can also map a country tag alias to a variable, event target or a scoring system. In previous example MOT is a country tag alias that maps to variable generic_operation_target which is set differently for each country in another part of the script

Country Scorers

We added a scoring system to our scripting language. Examples can be found under game\common\scorers\country

Here you can score countries using a bunch of triggers and modifiers and then use that scoring entry to in effects such get_sorted_scored_countries and get_highest_scored_country.

This system is also used by various AI implementation. For example operation AI is fully scripted and uses this scoring system for picking targets. Decryption AI also uses this scoring system for finding a decryption target.

Modifier Definition

It is now possible to add custom modifiers using scripting language. These new modifiers are stored under game\common\modifier_definitions

Once such modifier is defined, it can be used in things that awards a country/state/leader modifiers. It will show up in the modifier tooltips and you can access the value of that modifier in effects or triggers using "modifier@modifier_token" under country/state scopes leader_modifier/unit_modifier under unit leader scopes

Control + Alt + Click to open script files

You can use control + alt + click in debug mode to open script files for things like focuses, ideas, decisions, events, researches and spirits

focus.gif


Here is an example of editing an existing focus. As you can see we also improved reloading so focus tree is no longer scrolled to default position when you change a focus!

More AI strategies

We added a lot of new strategies to override/alter the behavior of AI. It will be possible to create AI strategies to make AI request more units for specific fronts or make AI force activate/not-activate its plans, change aggressiveness etc. These strategies helped us quite a lot for making Allies invading Axis more successfully in Europe.

Moddable Game Speed

This was asked by a bunch of modders that was working on MP mods. It is now possible to mod game speed by changing values of NGame::GAME_SPEED_SECONDS

Modding Operations

The Operations system was designed to be very scriptable and can be modded extensively to make new operations.

At the basic level, an Operation is made up of three Operation Phases. In the Vanilla implementation, these phases are pulled randomly from three separate pools: one each for infiltration, execution, and exfiltration. You are by no means restricted to doing that, though (and there are exceptions - for example, fake intel operations don’t require infiltration or exfiltration).

Screenshot_64.jpg


Each phase has its own set of requirements that decides whether that phase is even available (so for example you can’t get the submarine infiltration method if the target country is landlocked). Every phase can also have equipment requirements, which will be drawn automatically from the stockpile. For expensive equipment like transport planes, you can set the equipment to be returned at the end of an operation.

upload_2020-2-20_10-18-14.png


For some phases, we use industry cost, which is rendered as a number of factories for a number of days.

The probability of a phase being selected is determined by a base value that can be modified much like ai_chances in events etc.

Each phase has three localisations associated with it: A plan, an outcome, and an extra outcome if the operation fails. It further has two images it needs: one picture for the overview at the top and another, smaller one for the phase icon on the map.

With the Phases done, let’s get into how operations actually look like in script:

upload_2020-2-20_10-19-39.png

upload_2020-2-20_10-21-7.png


It looks a lot more scary than it really is. Going from the top:

upload_2020-2-20_10-31-2.png


This is mostly Gui stuff and shouldn’t be a big mystery for modders. The Icon is the picture shown in the Agency view. Map_icon is the icon that is shown on the map when an operation is available. Name and desc are the name and description localization strings. Priority determines where in the list of available operations this operation is displayed.

upload_2020-2-20_10-31-55.png


Days is the duration of the operation once it starts. The preparation phase is determined entirely by gathering the required resources.

Network strength is the strength of the network in the target country.

Operatives is the number of operatives necessary to start the operation. This also means the operation is not available until the country has at least that many operatives. This can make testing more advanced operations that require 3 or more operatives a bit tricky.

The visible = {} trigger works much like you are familiar with from decisions and ideas. If it evaluates true, the operation is visible.

Not shown are allowed = {} and available = {} triggers. Allowed = {} is checked to see if an operation should ever be available for a country. This is particularly useful if you want to have an operation that is only for certain countries (like the Heavy Water Raid only being available for countries other than Germany). Available = {} checks if the operation can be taken (if it is visible). This is useful if you want the player to know that an operation might be possible before it actually is (by making the visible = {} trigger less strict than the available = {} trigger).

upload_2020-2-20_10-32-59.png


Selection_target limits the amount of available targets that the operation can be conducted against (FROM is always the target country, FROM.FROM is the target state if there is one, ROOT is the country that starts the operation). This is mostly useful to keep the game from checking against every possible tag or for every state on the map, which hurts performance.

Selection_target_state is a trigger that defines what kind of state can be selected for an operation (in this example, the state has to have some resistance). In combination with selection_target, this means that in this example you can only select states in the target country that have resistance.

upload_2020-2-20_10-37-39.png


Equipment is a separate category that determines what equipment is needed for an operation. As said above, equipment can also be tied to operation phases, but using this parameter is useful for establishing a baseline cost that is independent of what phase is being selected by the game.

Required_tokens is checking for tokens that the country has. In Vanilla, tokens are only granted from other operations, but they could theoretically also be gained through focuses, events, or decisions. They don’t really serve a purpose in and off themselves, but they are useful for forcing the player to complete an operation before they can execute another, making the two connected.

upload_2020-2-20_10-38-26.png


Risk_chance determines how likely it is that things go wrong for your agents. In the example, it is set to 20%. If the RNG decides that your agents are going to have a very bad day, it runs an on_action called on_operative_detected_during_operation, which decides the relative probability of various outcomes (captured, killed, injured, forced into hiding).

Experience is the experience gained by operatives assigned to the mission.

Outcome_chance is the probability that you gain only the base outcome.This value paradoxically means that the lower it is, the more likely that the player gains an extra reward. If you want an operation that can fail, you can just make the base outcome bad, in which case outcome_chance would be the failure chance.

Outcome_modifiers specifies modifiers that affect the outcome. These modifiers are set elsewhere, like Agency upgrades, national spirits, ideas and ministers etc. Depending on the sum of these modifiers, the base outcome is more or less likely (making the bonus outcome more or less likely in turn since the operation always rolls an outcome).

Possible modifiers include:
  • Outcome_modifiers (modify outcome chance)
  • Risk_modifiers (modify the risk chance)
  • Cost_modifiers (modify the cost in equipment)

A particularly neat feature is that operations can define entire modifiers by themselves, which makes this system very flexible. In other areas, you need to have a modifier be defined in code, while here, you can just define a modifier by giving it a name in the operation. You can then refer to that modifier by name when you add it to a minister, a technology, or a national spirit.

upload_2020-2-20_10-39-31.png


This is where the magic happens. Outcome_execute is essentially just a field to run an effect (not much different from, say, a decision or a focus in that sense). Outcome_extra_execute is another effect field. Outcome_chance is what decides whether the operation runs outcome_execute or outcome_extra_execute when it finishes (outcome_chance is the chance that it runs outcome_execute instead of outcome_extra_execute).

In this example, a simple random_list takes over if the game rolls a bonus, to determine how big the bonus is. You can do a lot of cool stuff here - an operation that can lower stability in an enemy nation could, for example, have a small chance to start a civil war under some circumstances.

If you want to have the operation always have the same outcome, put the effect it should run into outcome_extra_execute and set outcome_chance to 0.

Outcome_potential is essentially just there to generate a tooltip for the expected outcome of the operation before it is run. As you can see, it is the same as outcome_execute, to show the player the minimum they can expect to gain from running the operation.

upload_2020-2-20_10-40-27.png


This is the part that sets up how the phases are selected. Every phase has a base probability, and as you can see, that probability can be modified.

As a special treat the operation pictured above contains a bug that I only noticed while I was writing this. See if you can find it!

Spoiler with the solution:
The operation phases are rolled before the target state is selected, so the modifier for the base weight checking for resistance in FROM.FROM does nothing
 

Attachments

Last edited:
  • 2
Reactions:

Voigt

Lt. General
64 Badges
Mar 15, 2012
1.570
972
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings III
  • Battle for Bosporus
Oh very cool changes for modders. Really interested what the new ai_strategies are, are they documented (wiki, changelog or gamefiles?)

Also about loading the script with clicking on a focus ingame, was this pure coincidence thst you implemented this? Because if I remember correctly I asked exactly for this feature in a survey a while back.
 
Last edited:

Jack65

Corporal
19 Badges
May 30, 2017
33
0
  • Hearts of Iron IV: Together for Victory
  • Hearts of Iron IV: La Resistance
  • Prison Architect
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Synthetic Dawn
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Cadet
  • Stellaris
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
  • Stellaris - Path to Destruction bundle
  • Hearts of Iron III
  • Europa Universalis IV: Art of War
Very nice Dev diary. Though one question, did you fix the sub_unit_modifiers in Traits not working for land units? :D
 

Louella

Field Marshal
64 Badges
Jul 18, 2015
2.724
1.334
30
  • Surviving Mars
  • Stellaris
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Surviving Mars: First Colony Edition
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Crusader Kings II: Conclave
  • Imperator: Rome Deluxe Edition
  • VtM - Bloodlines 2 Blood Moon Edition
  • Imperator: Rome Sign Up
  • Stellaris: Lithoids
  • Hearts of Iron IV: La Resistance
  • Europa Universalis IV: El Dorado
  • Battle for Bosporus
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Mare Nostrum
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Third Rome
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
This will take a while to fully digest, but yaay more mod tools !
 

currylambchop

Lt. General
2 Badges
Nov 25, 2016
1.370
88
  • Hearts of Iron IV: Cadet
  • Crusader Kings II
Japan has an issue where Non-aligned, Communist or Democratic Japan cannot form integrated puppets if you have Waking the Tiger installed. Has this been fixed?
 

currylambchop

Lt. General
2 Badges
Nov 25, 2016
1.370
88
  • Hearts of Iron IV: Cadet
  • Crusader Kings II
We added a lot of new strategies to override/alter the behavior of AI. It will be possible to create AI strategies to make AI request more units for specific fronts or make AI force activate/not-activate its plans, change aggressiveness etc. These strategies helped us quite a lot for making Allies invading Axis more successfully in Europe.
Blessed update!
 

Glacierfairy

Second Lieutenant
31 Badges
Oct 31, 2014
101
50
  • Crusader Kings II
  • Europa Universalis IV: Res Publica
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Cadet
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Stellaris - Path to Destruction bundle
I hope the Chinese focus "Develop the Hanyan Arsenal" is now properly named as "Develop the Hanyang Arsenal" (as well as the Materiel Designer bearing the same name). That typo has been bugging me ever since the release of Waking the Tiger.
 

Keanon

Lt. General
94 Badges
Nov 8, 2009
1.447
143
  • Victoria: Revolutions
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Warlock: Master of the Arcane
  • Lead and Gold
  • Leviathan: Warships
  • The Kings Crusade
  • Magicka
  • Majesty 2
  • March of the Eagles
  • Europa Universalis IV: Pre-order
  • Penumbra - Black Plague
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III
  • Europa Universalis: Rome
  • Rome Gold
  • Semper Fi
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Rome: Vae Victis
  • Victoria 2
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Deus Vult
  • Arsenal of Democracy
  • Hearts of Iron II: Armageddon
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Commander: Conquest of the Americas
  • Dungeonland
  • East India Company Collection
  • Europa Universalis III
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • For The Glory
  • For the Motherland
I haven't been keeping up entirely with all modding changes, but is it possible to make two support companies mutually incompatible? so that an infantry squad doesn't get to have both rocket and normal artillery as support? It used to not be and if it still isn't can I suggest it for the future?
 

Kadanz

Drive-By Memer
20 Badges
Sep 19, 2011
2.181
891
  • Crusader Kings II
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis III: Chronicles
  • Darkest Hour
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • 500k Club
  • Europa Universalis IV: Pre-order
  • Mount & Blade: Warband
  • Crusader Kings II: Way of Life
  • Hearts of Iron IV Sign-up
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Together for Victory
  • Prison Architect
  • Cities: Skylines
Does the history logger support hands on playthroughs as well? Might be good information to have on different player playstyles and how the AI copes with those.
 

podcat

Oberkommando HOI4
Super Moderator
12 Badges
Jul 23, 2007
12.632
31.226
  • Hearts of Iron III
  • Semper Fi
  • 500k Club
  • Europa Universalis III: Collection
  • Europa Universalis IV: Pre-order
  • Hearts of Iron II: Beta
  • Europa Universalis: Rome Collectors Edition
  • Mount & Blade: Warband
  • Paradox Order
  • Hearts of Iron IV Sign-up
  • Hearts of Iron IV: Together for Victory
Does the history logger support hands on playthroughs as well? Might be good information to have on different player playstyles and how the AI copes with those.
yeah it works on normal play too (although we havent tested it much). It wont work in MP

This question has been asked before, it won't affect the civil war, Spain/Castile will go threw it semi-normally.
I think it just runs with Castile/Spain with altered borders, but maybe a CD can add some details later
 
  • 1
Reactions:

Keanon

Lt. General
94 Badges
Nov 8, 2009
1.447
143
  • Victoria: Revolutions
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Warlock: Master of the Arcane
  • Lead and Gold
  • Leviathan: Warships
  • The Kings Crusade
  • Magicka
  • Majesty 2
  • March of the Eagles
  • Europa Universalis IV: Pre-order
  • Penumbra - Black Plague
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III
  • Europa Universalis: Rome
  • Rome Gold
  • Semper Fi
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Rome: Vae Victis
  • Victoria 2
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Deus Vult
  • Arsenal of Democracy
  • Hearts of Iron II: Armageddon
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Commander: Conquest of the Americas
  • Dungeonland
  • East India Company Collection
  • Europa Universalis III
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • For The Glory
  • For the Motherland
What's the problem with this in particular?
Well the example is just kind of silly to me, if you can bring two artillery just because they're different styles, you could just aswell bring multiple of either. But it's because I wanted to make a fantasy mod where the regiments were the creatures and the support companies the equipment, but without the ability to say "Hey only one type of weapon and one type of armour" it could quickly turn into stacking 3 armour pieces and one of each weapon type or whatever.
 

Tirenedon

Colonel
120 Badges
Jul 9, 2012
1.089
723
  • Victoria 2: Heart of Darkness
  • Heir to the Throne
  • Magicka
  • March of the Eagles
  • Europa Universalis IV: Res Publica
  • Rome Gold
  • Semper Fi
  • Sengoku
  • Steel Division: Normand 44 - Second Wave
  • Victoria 2: A House Divided
  • Cities in Motion 2
  • Rome: Vae Victis
  • Warlock: Master of the Arcane
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Pre-order
  • Pillars of Eternity
  • Tyranny: Archon Edition
  • Hearts of Iron III
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • For the Motherland
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron IV Sign-up
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Europa Universalis III Complete
  • Europa Universalis 4: Emperor
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Europa Universalis IV: El Dorado
  • Europa Universalis III Complete
  • 500k Club
In WTT you used event targets for nations like China to decide who was the real China. We’ve done the same for nations in EaW. Would you recommend now using tag aliases instead? They look super useful and powerful.

Also, do they replace the country’s old tag or would scopes for that tag still work?
 

pvt.conners

Major
83 Badges
May 8, 2013
681
75
  • Hearts of Iron III Collection
  • Hearts of Iron IV: Expansion Pass
  • Battle for Bosporus
  • Hearts of Iron III: Their Finest Hour
  • Darkest Hour
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Death or Dishonor
- Air superiority now scales from 0 to max penalty for enemy from the 50/50 state rather than giving the side with >1% advantage most of the benefit right away
Excellent, this makes much more sense.
- Superior Firepower tech soft attack bonus changed from 20% to 10%
- Shock and Awe tech soft attack gets an additional 5% soft attack to all fighting battalions
- Mobile Defense tech defense bonus changed from 20% to 10%
Major nerf to Superior Firepower (and Mobile Warfare to a lesser extent), while making the Shock and Awe branch of SF more appealing.
- increased armor on amph tank 1 from 10 to 20
- increased armor on amph tank 2 from 60 to 80
- reduced effectiveness of heavy armor amphibious assault from 20% to 10%
- reduced effectiveness of medium armor amphibious assault from 30% to 20%
Hopefully this will make amphibious armour more prolific.
- Rebalanced carrier fighter disruption and fixed bugs with its calculation
Good, but carriers will need to be revisited in the future.
- added 2 MIL, 2 NAV to French startup position
Not exactly a huge buff to France, but given that France needs to fall for the game to progress understandable
- Fixed aces killed on actions not being fired
Finally this bug dating from 1.4 can be taken to the glue factory, how about the corresponding news events?
- fixed being able to nuke same province without waiting for first nuke to land
Kind of sad that this feature has been removed
 
  • 1Like
Reactions:

Perikles

Corporal
11 Badges
Oct 26, 2017
34
1
  • Victoria 2
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Together for Victory
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: La Resistance
  • Battle for Bosporus
  • Stellaris: Megacorp
There are fixes regarding carrier planes in the list. Is the problem also fixed, that the carriers are only half as strong in the Pacific than in the Atlantic, because there is only one sortie per day there, since 8:00 and 16:00 are both at night and thus omitted, while they are in daylightin the Atlantic.