• 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.

Pancakelord

Lord of Pancakes
44 Badges
Apr 7, 2018
3.375
12.292
  • Cities: Skylines - Green Cities
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Ancient Relics
  • Cities: Skylines - Mass Transit
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Imperator: Rome
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Cities: Skylines Industries
  • Imperator: Rome Deluxe Edition
  • Magicka: Wizard Wars Founder Wizard
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Stellaris: Necroids
  • Sword of the Stars
  • Crusader Kings III
  • War of the Roses
  • Cities: Skylines
  • Stellaris: Federations
  • Cities: Skylines - After Dark
  • Cities: Skylines - Snowfall
  • Stellaris: Lithoids
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Stellaris - Path to Destruction bundle
  • Stellaris: Megacorp
  • Stellaris: Synthetic Dawn
  • Crusader Kings II
  • Stellaris
  • Cities: Skylines Deluxe Edition
  • Sword of the Stars II
  • March of the Eagles
  • Darkest Hour
I'm probably slow on the uptake, but it looks like the files and (3 wip situations) are in the latest build. So did some digging, looks interesting. sort of a cross between the way factions used to work pre utopia (which is what i was hoping for) with a meter between 0 - N, and a few critical tiers at each level, that can trigger seemingly a range of things. Plus "approaches" that seem to be based on how special projects work (e.g. abandoned terraforming equipment) that lets you do A or B or X to mitigate or resolve the problem (or maybe speed it up, as there seem to be both positive and negative situations - or at least support for them).

1645984111274.png

Code:
#All scopes are this/root = situation. You can scope to owner for the country or target for the target.

# test_situation = {
#     #Note on locs: it expects "test_situation", "test_situation_type", and "test_situation_desc"
#         #The difference between the first and second keys is that the first is the name while the Situation exists
#         #It can use [Target.GetName] and so on.
#         #The _type key is used in cases where the Situation does not exist yet, specifically the start_situation effect's tooltip
#         #Consequently, stuff like [Target.GetName] will not work there.

#    picture = GFX_evt_alien_nature

#     category = positive #positive/negative/neutral - this affects the tone of various UI elements

#     on_start = { log = "Started [From.GetName]" }
#     on_progress_complete = {    #Situation's progress has reached completion value
#         #You should always call destroy_situation = this from here or from an event fired by here
#     }
#     on_fail = { log = "Failed" }    #Situation's total progress is below 0
#     on_abort = { log = "Aborted" }    #Situation is cancelled via abort_trigger trigger
#     abort_trigger = { has_situation_flag = abort_test }     #Trigger for when a Situation should abort, firing on_abort

#     start_value = 20 #situation will start at this number. Default is 0
#     completion_value = 200 #situation will complete at this number. Default is 100

#    These two modifiers apply to the country experiencing the situation
#     modifier = {
#         pop_citizen_happiness = -0.1
#     }
#     triggered_modifier = {
#         potential = { always = yes }
#         modifier = {
#             pop_citizen_happiness = -0.1
#         }
#     }

#     #Target Modifiers apply to the planet that the Situation has as a target.
#     #They do not currently work on other types of targets!
#     target_modifier = {
#         trade_value_add = 2
#     }
#     triggered_target_modifier = {
#         potential = { always = yes }
#         modifier = {
#             trade_value_add = 2
#         }
#        }

#     #Note: technically, this is an on_action called test_situation. So don't call your situation "on_monthly_pulse"!
#     on_monthly = {
#         events = {
#        }
#         random_events = {
#             100 = 0
#        }
#     }

#    severity_levels = {
#         low_level = {
#             end = 20
#        }

#        medium_level = {
#            end = 40
#        }

#        high_level = {
#            end = 100
#        }
#    }

#     approach = {
#         name = approach_a
#         icon = {
#             icon = GFX_espionage_asset_icon
#             text = my_key
#         }
#         allow = {
#             owner = { has_country_flag = situations_test_1 }
#         }
#         potential = {
#             owner = { has_country_flag = situations_test_2 }
#         }
#         modifier = {
#             country_base_minerals_produces_add = 20
#         }
#        on_select = {}
#         triggered_modifier = {
#             potential = {
#                 target = { has_planet_flag = situations_test_3 }
#             }
#             modifier = { country_base_influence_produces_add = 1 }
#         }
#         target_modifier = {
#             job_dimensional_portal_researcher_add = 1
#         }
#         triggered_target_modifier = {
#             potential = {
#                 target = { has_planet_flag = situations_test_1 }
#             }
#             modifier = { planet_crime_add = 50 }
#         }
#         resources = {
#             category = situations
#             cost = { influence = 25 }
#             upkeep = {
#                 trigger = {
#                     owner = { has_country_flag = situations_test_4 }
#                 }
#                 influence = 1
#             }
#         }
#         ai_weight = {
#             base = 5
#             modifier = {
#                 factor = 2
#                 always = yes
#             }
#         }
#     }

#     approach = {
#         name = approach_b #all approaches must have at least a name
#     }

#     monthly_progress = {
#         base = 50
#         modifier = {
#             add = 2
#             desc = federation_acceptance_reduce_fleet
#             always = yes
#         }
#     }
# }

The engine recognises situation_events, too.
1645984943873.png
There are 2x event script files if anyone wants to go poking. They broadly are similar to espionage or first contact events, basically popups (likely meant to be held in a dedicated UI like aforementioned mechanics - unless they plan to stick them all in the situation log, like special projects? The naming conventions are a bit weird otherwise..) that will also check/bias situation progress.


1645984745792.png
1645984730191.png


1645985800888.png

nothing seems to happen when firing it over a planet (which is what it seems to want - it might be that it wants situation_type rather than a specific situation ID. Situation type doesnt seem to exist yet though for living snow - one of the 3 wips)



Bonus:

One of the recent DDs mentioned redoing stellaris' tutorial and if anyone from pdx's art team is looking at this, these panels are really slick. love the art style of the city scape.
1645985269069.png
1645985315114.png


Lastly, no clue what this is "icon_rating.dds" but its coming up as a recent addition.
1645985527792.png
 
Last edited:
  • 2
  • 1Like
Reactions:
In the current release version, yes, there are bits of situations. However, it currently doesn't work and isn't hooked up in live. Before you drive yourself insane, I'm told that it's at an early enough stage that modders will not get it to work, and if you do get it to work, the UI work isn't done, so there's no way to interact with it.

I know some of you out there will take this as a challenge, and not as a warning. Don't say I didn't warn you. :p
 
  • 2Like
  • 1Haha
Reactions:
In the current release version, yes, there are bits of situations. However, it currently doesn't work and isn't hooked up in live. Before you drive yourself insane, I'm told that it's at an early enough stage that modders will not get it to work, and if you do get it to work, the UI work isn't done, so there's no way to interact with it.

I know some of you out there will take this as a challenge, and not as a warning. Don't say I didn't warn you. :p
So there is a dedicated ui lol, had been trying to get it to render using the same trick as mods do for creating custom diplomatic windows/popups. I'd assumed as much but good to have it confirmed.

One thing I have to say, from a modding pov, is that it is a little confusing digging through the files now and seeing references to both "situations"/"narrative situations" and the "situation log".