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

Stellaris Dev Diary #245 - We have a Situation

Welcome to this week’s dev diary! Eladrin is busy with something exciting this week, so I’ve been roped into writing about the almost as exciting new Situations system we will be adding in the next patch.

The idea for implementing this system comes from the realisation that Stellaris provides excellent systems to tell stories about things that have happened - e.g. anomalies and archaeology sites - but lacks a good structure through which to tell stories about things which are happening right now. While we have a number of such stories, they are often either not as complex as we’d like them to be (e.g. we’d prefer to have more factors taken into account), or they are disproportionately complicated for us to implement (i.e. time-consuming and bug-prone). Either way, the player experience is often not as we’d like it, since such stories and event chains are likely to be hard to follow, and it may not always be clear that events are connected to each other or why certain things happen.

This was a state of affairs we wanted to improve upon, so we decided to implement a system which aimed to:
  • Give players an interactive and informative interface by which to experience current affairs event chains.
  • Provide a structure that is (relatively) easy to add new content to.

Initially, we took some inspiration from Disasters in EU4, but we soon diverged from it, since we realised not all the stories we wanted to tell were disasters, and we wanted a more UX-intensive solution. The result can be shown off in this mockup:

1646842176465.png

Note that this is a mockup - so not necessarily how the final UI will look.

To unpack this a bit, the flow progresses something like this:
  1. The Situation starts. This could happen e.g. through an event. The Situation can either be empire-wide, or it can be focused e.g. on a single planet
    1646842816635.png

    Event text is final.
  2. Each month, the Situation’s “progress” will tick upwards or downwards, depending on your response to the Situation.
    1646842610214.png

    A WIP tooltip showing the monthly change. It'll list all contributing factors.
  3. As the Situation progresses, you may reach the next “stage”. Often, an event will be fired as soon as this happens, to develop the story. Effects can also be applied to the empire or planet based on the current stage, e.g. an instability-based Situation may reduce stability by 10 for each stage.
  4. There may also be random events along the way that can happen on any monthly tick. To distinguish Situation-based events from regular ones, some tweaks have been made to the event interface:
    1646842979882.png
  5. The player can choose how to respond to a Situation via a selection of “Approaches”. On occasion, one might be prompted to change these via events, but otherwise, one can freely pick them in the Situations interface. (We have not yet decided whether there should generally be a cooldown to picking an option). Approaches usually have effects over time, such as “spend X Unity per month to gain faster progress”.
  6. When either end of the Situation’s progress bar is reached, the Situation is resolved, usually through an event in which something happens.

Some Situations will progress in a linear manner from left to right, others will start you in the middle and progress either to the left or to the right based on your choices. And we also want them to be differently coloured depending on how threatening the Situation is:

1646842264908.png

This is also a mockup.

This is all a bit theoretical, so, what changes can players expect in practice? Now I will take you through a few of the things we have done and are doing with the Situations system.

Narrative Situations

Content Design often implements narrative-based event chains set on a certain planet. Now, if we feel like the story has a bit more to give, a planet-based Situation can be crafted instead. The ability to have different outcomes at either end of the progress bar is particularly useful, since it can show which sort of conclusion the player is advancing towards (or at least indicate that there are multiple). To avoid giving spoilers, I won’t say exactly what stories we’ve added in this way, but there will be a few new planet-based narratives to encounter.

The “targeting” function of Situations is not limited to planets (though most of our effort has been towards making it work well there), so we have also managed to try adding a Situation based around a system or starbase.

Owners of the Leviathans DLC - or other DLCs that add Leviathan NPCs to the game - can also expect a few surprises next time they go monster-hunting ;)

Deficit Situations

Situations are not all fun and games. As their origin as EU4 Disasters would suggest, they are a great system through which to portray negative events. They give the player all the information they need to know what is happening, what the results of it will be, how severe the current Situation is, and what they can do about it.

One of our main priorities when it comes to using this aspect of Situations was reworking Deficits. At the moment, Deficits are like a light switch: as soon as you are in deficit (stockpile of 0 and negative income) for a given resource, you get all the defined penalties for being in that deficit (which can be quite harsh). But as soon as you spend a month no longer in deficit, all penalties are removed. This feels a bit off. Also, the penalties are the same for all empires, which has frequently led to headaches where they either disproportionately impacted a certain type of empire or left others (say, one with less need of a certain resource) relatively untouched. Finally, they can also be a cause for “death spirals” (in particular for the AI), as a shortage of one resource leads to penalties, which leads to a shortage of another resource.

With our rework, being in a deficit will start a Situation. You will start at 25% progress in this Situation, and it will increase in severity as long as you are at 0 balance and have a negative income. The rate of increase will depend on how much you are losing compared to your income. Having a stockpile will gradually make the Situation tick downwards; having a positive income will make it do so more rapidly.

1646843561944.png

This is the actual UI as it looks like right now. We are hard at work finishing it up and making it look presentable!

The penalties you receive for being in a deficit will start off light compared to their present settings, but will increase in severity as the Situation escalates. We are also able to configure them depending on your empire’s attributes, so for instance a Catalytic empire will now correctly get alloy output problems for being in a food deficit.

We aim to give each deficit Situation a choice of approaches, so that you can try to mitigate it from within the interface. So, for instance, a consumer goods shortage might be mitigated by electing to defund scientists, with the result that researchers cost less upkeep but also produce less research.

If however the deficit continues to grow, at 75% progress an event will fire which will warn that your empire is in truly dire financial straits and will need to make cutbacks soon. It will suggest a few, and you can pay a price (e.g. devastating a planet, or removing a special resource deposit) in return for some immediate resources that might help you alleviate the deficit.

1646843965654.png

Numbers not final

Finally, if the deficit becomes so severe that the progress bar is filled up, the empire is declared bankrupt. This is an unambiguously bad thing to happen to you - current effects (numbers to be finalised) are downgrading all non-capital buildings to their lowest level, disbanding half the fleet and all the armies, and giving 25% higher costs, 25% less ship damage, and 50% less unity and influence for 10 years. But it’s also designed to avoid death spirals: in return for liquidating these assets, you are given enough of the resource you defaulted on to survive for a while. Additionally, all other deficit Situations you are currently experiencing are terminated immediately, without penalty, and you are granted some resources to avoid them returning too soon.

1646844063692.png

Numbers are subject to change.

Changes are likely to come to this design as we continue to play with the new system and iron out its kinks, but we are hopeful that this new version of deficits will resolve many of the issues with the current deficits system, and make deficits, if not exactly fun to experience, at least a more interesting and less frustrating game mechanic.

Further “Strategic” Situations

We have further plans to overhaul systems or features using Situations. For these (unlike the Situations listed above), we can’t guarantee that they will definitely be in the next patch, but we are looking to adapt the likes of slave revolts, planetary separatism revolts, and the Synthetic Dawn AI Uprising to this new system.

With regards to the AI Uprising: we are broadly happy with the way the chain works now, but there are a few improvements to be made, and we feel that it would be beneficial to the player to be able to experience it through a UI. For instance, it has a bunch of events that an experienced player would recognise as warning signs that they should do something about it, but the inexperienced player would not know what is up and would not stop it from happening. With the Situations system, experienced and inexperienced players alike would know that something is up. However, this also makes it easier to know that you should do something about it, so we are also looking at making it a bit more challenging than just changing species right to end the Situation - after all, the robots are still extremely annoyed at you having deprived them of sentience for all these years! We are also looking at making purging the robots a viable if high-risk approach, at least so long as you don’t have too many robots.

With planetary revolts and slave uprisings, we have a feature that hasn’t seen much love for many a patch even as the game has changed around it, so we hope to improve it in a variety of aspects. At the moment, it would be fair to say that the unrest events are more a nuisance than a threat: revolts feel like they come out of the blue, but don’t have much teeth, as you can usually just conquer back the planet (since one planet alone cannot hope to stand against your empire). Our changes to this system are at a fairly early stage, but our goals include:
  • Make revolts feel less random - they will no longer happen suddenly, and whether unrest turns into a successful revolt will depend more reliably on factors such as how many pops are on the planet, and just how annoyed they are.
  • Smooth out issues such as one habitat in a system revolting leading to the loss of all planets in the system. The opinions of other planets in the system should have an impact on the success of the revolt.
  • Improve the system where planets can sometimes join other empires after the revolt. (At the moment, this can happen in separatist revolts if the original owner still exists and is nearby, and in slave revolts if there is an egalitarian empire nearby). Basically, they should be asked in advance if they wish to support the revolt, at which point it should progress faster, but on the other hand, the other side will know this is happening. Also, we may want to review the conditions for revolts joining other empires, since in some cases a completely annexed empire might have each planet revolt to form its own micronation.
  • We are toying with the idea of removing the stage where planets have ground combat during rebellions. Troops stationed there can be factored in during the buildup stage instead.
  • Ideally, a successful rebellion would start a war with the previous owner, but would also be a bit more of a potential threat. We’ll see what we manage to come up with, here.

That’s all for now! Except to add that, since an old version of the cheat sheet for what all Situations can do is actually available to you in 3.3, I’m attaching the new and updated version of this, so that those inclined can make plans for what to do with the system.

And keep an eye out for Eladrin’s dev diary next week. You won’t want to miss it.
 

Attachments

  • 00_situations.txt
    3,6 KB · Views: 0
  • 131Like
  • 93Love
  • 11
  • 10
  • 1
Reactions:
Just a question, why in case of a revolt, garrisons will no longer be involved? It's not their main role to defend planets from invasions, revolts and such?
Partly, it's because it would be a bit strange to have no consequences to letting the Uprising Situation happen - since you have forewarning of a revolt, you could just as well jump drive or gateway in your armies immediately.

The way we'd factor it in now would be that armies would reduce the speed at which the Situation advances (and if the planet isn't really that annoyed or doesn't have many pops, this could mean that it doesn't succeed in the first place).
Alright, so this appears more of a game framework update rather than content per-see, with an eye towards future utilization. Makes sense, especially in the context of the unity rework.

Relevant question: will espionage operations be able to trigger Situations in other empires? Such as- can non-slavers support a slave revolt, or could a Criminal Syndicate create a planet-specific situation related to a Branch Office? (Or, alternatively, 'dueling' situations where two megacorps fight over branch office rights on a disputed planet?)
It's possible. Situations directly involving two countries is something we've avoided, since the framework is set up in such a way that only one empire can be the owner of a single Situation, but starting one and sending the occasional notification back to the initiator is definitely doable.
 
  • 46Like
  • 15
  • 2
  • 1
Reactions:
Alright, so this appears more of a game framework update rather than content per-see, with an eye towards future utilization. Makes sense, especially in the context of the unity rework.

Relevant question: will espionage operations be able to trigger Situations in other empires? Such as- can non-slavers support a slave revolt, or could a Criminal Syndicate create a planet-specific situation related to a Branch Office? (Or, alternatively, 'dueling' situations where two megacorps fight over branch office rights on a disputed planet?)
 
  • 24Like
  • 8Love
  • 3
Reactions:
Ok, this is awesome and something I've been wanting to see for a while. But 3.3 patch? Please? The game isn't even playable for me right now, there are so many bugs and negative QoL changes from 3.3. I was really hoping to see a patch out by the next DD, or at least before a new system was introduced.
I'll be wrapping up the testing of 3.3.3 tomorrow morning so expect it to release sometime in the next week. However it only contains a few targeted bug fixes and a few balance tweaks. Otherwise 3.3 is in a good state right now

and before anyone says "But Tall is still weaker than Wide" yes, we know. but we're getting there. This is a multi step process. :D
 
  • 26Like
  • 4Love
  • 2
  • 2
Reactions:
While I recognise it's inherent to the economy system as it stands, it does bother me more than slightly that the only responses to empire-wide economics issues seems to be austerity. Without touching on the real-world politics of it, it's clear that there are other approaches to preventing financial collapse in nation-states. While actual mechanics for inflation or deficit spending are definitely out of scope and probably not very fun, the situations system seems like it could be something that could model it in abstract, at least, such as keeping an empire afloat by generating enough trade income to keep your energy income up, in exchange for even bigger penalties for collapse?

Related, tangentially, will situations be "contagious"? If an ally or trading partner suffers collapse, such as bankruptcy, will that trigger a situation in your empire, either for aid or severing ties, for example?
 
  • 30Like
  • 2
  • 1
Reactions:
Great! Now that we are kinda touching the situation log, may I speak about a "megastructure dedicated situation log" that would show us all the locations, types, outputs and expenses of these structures? That would immensely help the players, and I don't think it is a hard thing to add (I don't know much about game development, please do tell me if it's a troublesome thing to add to the game).
A megastructure section of the outliner would be ideal. (This is not a promise for 3.4)
Niiiiiice! But concerning the targeting part, situations could also revolve around a whole empire, an ambient object, a megastructure, a civilian ship, a military fleet, even an enemy flagship.
Being limited to planets, systems and starbases is a bit restrictive.
You can technically target any scope. But we decided to focus on supporting planets because it's most useful. So at the moment you can only apply modifiers to planets via target_modifier in the situation that way. You can still scope to the target in situations if it's a different type of target, though.

Targetting other empires is a bit funky because that empire won't automatically see what you are doing in the Situation.
Yeah, but I'd be down with some red text that says "There will be consequences."
Exactly. One can be sneaky despite having an interface to work with ;) And not all descriptions of what will happen need to say exactly what will happen.
 
  • 20Like
  • 8
  • 3
Reactions:
"At the moment, it would be fair to say that the unrest events are more a nuisance than a threat: revolts feel like they come out of the blue, but don’t have much teeth"

Are you sure about that?

View attachment 816586
What I meant was: the rebellion may succeed, but there's usually nothing stopping you from taking the planet back straight away.
All of this sounds great, but situations involving two countries is - IMO - exactly the sort of thing Stellaris needs. If my neighbor has a serious deficit, give me a situation in a separate category ('Such and Such Is Starving') where I can offer to lend aid in return for favors or goodwill or some other resource. This will provide an avenue for empire-to-empire interactions AND help smooth out AI econ problems before they get too bad. If my neighbor is being invaded, give me a situation to either give them military aid, providing alloys per month and a ship build speed increase or even send in a fleet as privateers, or let me choose to give any intel I have on them to their attacker to provide an attack bonus. If I'm the one who's being attacked, give me the option to ask for that aid.

Give situations for intervening in your neighbor's elections or messing with their crown prince, if you aren't already looking at something like that for espionage. As you build out this system, see which situations have the potential for foreign involvement and build that out too. We need more non-war options for helping or hindering our allies and enemies, and this seems like a great way to do it.
In my view, Stellaris needs both, but it will have to be two different systems. Our aim with Situations was to do the case we're trying to cover - namely internal issues and stories - well. The scope is already actually quite ambitious in the sense that there's so much you can do with Situations, and so many things we are likely to do in the future with them (and yes, there is a case for updating various event chains to use the system).
This seems really cool. I'm especially excited about the applications chosen for the new system, deficits and rebellions. I've always thought it seems weird that you didn't get progressive pop starvation with a food deficit. I've also thought it was kind of sad that rebellions didn't have real teeth.

One question: Will negative situation resolutions always be on the left and positive on the right?
It's a bit of a stumbling point we have had with the UX in general, but the short answer is no. Basically:
- For a Situation with a single outcome where "A Thing Happens" (this includes e.g. going bankrupt), that will be on the right. If the left side is used in these cases, it is to simply end the Situation with no further effects.
- For other Situations, you will start in the middle and can decide which way to go based on your choices. In these cases, it will often not be clear in advance what the best course of action is.
Am I understanding correctly that if I'm an empire that has 10k energy credits saved with +100 monthly income, but then the monthly situation changes so it becomes -200 monthly income, then a Deficit Situation will begin? Or will the Deficit Situation only begin once the empire reaches 0 energy?
Only when you reach 0 energy.
But dude, this is a balance question, not a design problem. Like the guy showed here a screenshot of a 15k rebelion army, you easily balance the rebelion to not be some punny resistence that 10 defense armies defeat.

And as they want to make rebelions turns into Wars, this rebelion army will work into the Rebelling AI favor to use as Offensive armies on new planets.

Think of the flavour we lose by removing the battle phase. Flavour and storytelling is a good part of this game.
It is worth it for gaining flavour during the rebellion, and having the actual revolt spawn ground armies is not tenable when you know the revolution is coming.

Note that having fewer moving parts and a more predictable outcome means that a lot less can go wrong, and therefore a lot more can be done with the system.
 
  • 17
  • 9Like
  • 2
Reactions:
More structured events sound great, especially if the paradigm collects previous otherwise confusing chain structures.

However - just pointing out one maybe obvious and already smoothed out narrative wrinkle here - for players that have not already seen 85%-95% of the content in the game, the unknown length of an event chain is part of its charm. While a predetermined progress bar can be helpful in many cases, it might be detrimental in others. This may be resolved by adding unexpected time/steps to a bar (I don't know if this is codable at this point), or just "chaining chains" which would keep the surprise factor with the possibility of future previously obfuscated progress. I hope you have this in mind working with this paradigm.
 
  • 16
  • 11Like
  • 1
Reactions:
This seems like a great framework for many kinds of events, but I am worried about the further "gamification" of all the mysteries that make the game so enticing.

Not everything needs to have yet another progress bar that ends with a stated reward. More and more of the game has gone in that direction in recent years, and for most part it has been for the better(archaeology, first encounters, federations etc), but the thought of say, the Horizon Signal being turned into a progress bar that says "All planets in your home system will turn into habitable Tomb Worlds" in a text box next to it makes me puke.

The same goes for the Machine Uprising. The sneakiness of it when you encounter it for the first time is part of the appeal. Improving the event chain by making it a bit harder to prevent would be very good, but please, no progress bar that says "MACHINE UPRISING" on one end. Don't sabotage your own game.

I hope the devs will be very careful about which kinds of events use this new system.

Yeah, but I'd be down with some red text that says "There will be consequences."
 
  • 22
  • 4Love
  • 1Like
Reactions:
This seems like a great framework for many kinds of events, but I am worried about the further "gamification" of all the mysteries that make the game so enticing.

Not everything needs to have yet another progress bar that ends with a stated reward. More and more of the game has gone in that direction in recent years, and for most part it has been for the better(archaeology, first encounters, federations etc), but the thought of say, the Horizon Signal being turned into a progress bar that says "All planets in your home system will turn into habitable Tomb Worlds" in a text box next to it makes me puke.

The same goes for the Machine Uprising. The sneakiness of it when you encounter it for the first time is part of the appeal. Improving the event chain by making it a bit harder to prevent would be very good, but please, no progress bar that says "MACHINE UPRISING" on one end. Don't sabotage your own game.

I hope the devs will be very careful about which kinds of events use this new system.
 
  • 15
  • 7Like
  • 4
  • 1
Reactions:
Yes, we have a situation on Sol III
[Reference to modern day politics removed]

Nice doges by the way. :)
 
Last edited by a moderator:
  • 16Like
  • 6
  • 2Love
Reactions:
It's possible. Situations directly involving two countries is something we've avoided, since the framework is set up in such a way that only one empire can be the owner of a single Situation, but starting one and sending the occasional notification back to the initiator is definitely doable.

All of this sounds great, but situations involving two countries is - IMO - exactly the sort of thing Stellaris needs. If my neighbor has a serious deficit, give me a situation in a separate category ('Such and Such Is Starving') where I can offer to lend aid in return for favors or goodwill or some other resource. This will provide an avenue for empire-to-empire interactions AND help smooth out AI econ problems before they get too bad. If my neighbor is being invaded, give me a situation to either give them military aid, providing alloys per month and a ship build speed increase or even send in a fleet as privateers, or let me choose to give any intel I have on them to their attacker to provide an attack bonus. If I'm the one who's being attacked, give me the option to ask for that aid.

Give situations for intervening in your neighbor's elections or messing with their crown prince, if you aren't already looking at something like that for espionage. As you build out this system, see which situations have the potential for foreign involvement and build that out too. We need more non-war options for helping or hindering our allies and enemies, and this seems like a great way to do it.
 
  • 19Like
  • 4
Reactions:
Are the situations always locked to only two possible outcomes? Because it seems very suited to have a bunch of approaches that are for example conditional on your ethics on how you can tackle a situation, and it would be equally fitting to have unique responses to that.
 
  • 17Like
  • 2
Reactions:
Without touching on the real-world politics of it, it's clear that there are other approaches to preventing financial collapse in nation-states.
Most of them rely on money being unreal.

Stellaris doesn't really use money. It measures costs directly in lightning bolts, red diamonds, apples, ingots, boxes, brown crystals, green fumes, etc.
 
  • 14Haha
  • 3
  • 1Like
  • 1Love
Reactions:
On the subject of AI uprisings, one complaint I do have with the current system is setting AI to "Outlawed" does nothing. It stops sentient combat computers from appearing, but not synthetics, and while it does "dumb down" the synths so they can't work specialist jobs anymore, the revolt will still fire.

This can be very annoying if you're playing a spiritualist and use auto-research to save hassle of manually doing repeatables, as auto-research will end up researching synthetics on you, and as a spiritualist it's impossible to prevent the AI rebellion once that happens because you can't give them citizen rights, even if you don't have any robot pops at all and had AI outlawed the entire time.

EDIT: It's even possible to get sentient combat computers researched through ship debris, and this will also doom you to the revolt even though you weren't going around installing it on your ships.

Overall I do support overhauling the AI uprising to make it take empire situation better into account. Number of robots, number of planets with robots on them, how you responded to the warning signs, etc. Maybe different outcomes besides an uprising, like getting a CK3 style ultimatum with one last chance to give them citizen rights, or they demand to be separated from your empire (I.E. they become an independent empire or all robots instantly become refugees and you're unable to build robots again) instead of it always being a total war against you.


EDIT 2: I also am glad revolts and rebellions in general are more likely. They're way too rare in Stellaris even if you're treating slaves like garbage, and I think your border systems on the edges of your empire should be harder to keep under control compared to systems next to your capital.
 
Last edited:
  • 17
  • 1Like
Reactions:
Are these situations only intra-empire. or can they be inter-empire?

For example, I love the idea of some specific border friction events, refugee events, first contact / cultural exchange events and so on.

Are there things being thought about in this context?
 
  • 7Love
  • 6Like
  • 3
Reactions:
"At the moment, it would be fair to say that the unrest events are more a nuisance than a threat: revolts feel like they come out of the blue, but don’t have much teeth"

Are you sure about that?

aaaaaaa.jpg
 
  • 13Haha
  • 1Like
  • 1Love
Reactions:
My two cents:

1 - Cool looking interface. I for one always hatad that I kept forgetting what those storylines where. A new event would popup and I was left tinking "what was this about again"?

2 - GREAT BANKRUPTCY CONCEPT. Players have to pay more dearly for disasters like that. Having a resource on deficit merely causing negative modifiers was, tbh, very underwhelming.

3 - The idea of paying up for deficits with devastation is a great gamesmanship if you ask me. Puts a conqueror empire on temptation of just go on squeezing even more of their conquered worlds, that however being a dead end in which if an empire depends on that for economical reasons, it will eventually run out of planets to conquer or devastate itself too much. See this is a good strategy dilemma right there, games should depend more on this type of dilemma, and less on "10% more this, 10% less that".

4 - I am yet another one BEGGING for internal politics overhaul, in fact I've been doing it for years in this forum, back then when such idea would collect only 'dislikes'. So again it was not to be, right? But if the situations mechanic ends up adding a good and profound way of having dissident planets slip away (be it because of ethic differences, unhappiness, slaves, conquered pepoples etc.) at least that is a step in the right direction. This is another example of strategic dilemmas being richer content than mere modifiers. Can I quell most my revolts by stationing troops everywhere? However, can I pay for them? Does it pay off to eat up a chunk of a neighbor empire if it is more costly to station fleets+troops in those planets than the benefits of conquering? Do I really need the hassle of managing 20 consecutive separatist 'situations'? Can I use espionage operations to force separatism in my rivals? Will a triggered situation rob me of some of my preexisting fleets/troops/characters (scientits, generals etc.)?

In later years I only appear in this forum to complain but this DD gave me some reason for cheer. Good going.
 
  • 13Like
  • 1
Reactions:
You're absolutely right.

BTW, what's your target for "Tall" (in general terms)?

Are FEs considered "Tall"?
My definition is any Empire that is restricted to it's guaranteed worlds plus a little extra. But has civics , ethics etc that should maximise use of that space and be able to defend itself against a empire specialised for taking territory. Eldarins definition is likely different.
Can you please, please finally fix the ringworld positioning issue? Or Rogue Servitors being unable to pacify Amoebas?

These are literally just a couple-line fixes I could already fix on my end with a mod, it's ridiculous that it's taking so long to address those.
Fixed as of 6 days ago. However as each additional fix adds a roll of the dice on stability will not be in 3.3.3, saving it for 3.4
 
  • 13Like
  • 1
Reactions: