Enables proper "green shifts" (goals, sec level) in dynamic - #15727
Enables proper "green shifts" (goals, sec level) in dynamic#15727Putnam3145 wants to merge 5 commits into
Conversation
|
Having hard tells for the state of the round in the form of the security level is something that has historically lead to quite a lot of genuinely awful player behavior. Notably, in the past, hard tells for green shifts have lead to people going out of their way to self-antag on the basis of "oh but there's no antags", and players refusing to ahelp during blue shifts due to the notion that self-antagging is exclusive to green shifts. Personally I'm iffy on even having a hard tell present at all like there currently is. However, I think it might be worth experimenting in this regard, as dynamic means that the state of the round isn't necessarily a strict binary, especially during higher pop. |
| print_command_report(., "Central Command Status Summary", announce=FALSE) | ||
| priority_announce("A summary has been copied and printed to all communications consoles.", "Enemy communication intercepted. Security level elevated.", "intercept") | ||
| if(GLOB.security_level < SEC_LEVEL_BLUE) | ||
| set_security_level(SEC_LEVEL_BLUE) |
There was a problem hiding this comment.
The new send_intercept no longer sets the security level at all. The roundstart security level doesn't get set at all with this PR. raise_security_level() and lower_security_level() are defined in this PR, but they aren't actually used anywhere.
There was a problem hiding this comment.
this was a bug from a completely different PR, fixed in #15813
| /datum/game_mode/dynamic/generate_station_goals() | ||
| if(round(shown_threat) < 30) | ||
| if(length(current_players[CURRENT_LIVING_ANTAGS])) | ||
| station_goal_budget = 2 | ||
| else if(round(shown_threat < 20)) | ||
| station_goal_budget = INFINITY | ||
| return ..() |
There was a problem hiding this comment.
Shouldn't be able to be used as an antag check, which this is.
| priority_announce("A summary has been copied and printed to all communications consoles.", "Enemy communication intercepted. Security level elevated.", "intercept") | ||
| if(GLOB.security_level < SEC_LEVEL_BLUE) | ||
| set_security_level(SEC_LEVEL_BLUE) | ||
| if(green_shift) |
There was a problem hiding this comment.
Should be probability based to allow fake greens / fake blues like our non-dynamic modes have.
| if(!current_players[CURRENT_LIVING_ANTAGS].len) | ||
| . += "<b>Peaceful Waypoint</b></center><BR>" | ||
| . += "Your station orbits deep within controlled, core-sector systems and serves as a waypoint for routine traffic through Nanotrasen's trade empire. Due to the combination of high security, interstellar traffic, and low strategic value, it makes any direct threat of violence unlikely. Your primary enemies will be incompetence and bored crewmen: try to organize team-building events to keep staffers interested and productive." |
There was a problem hiding this comment.
Why does this allow roundstart antag metaing?
About The Pull Request
Why It's Good For The Game
Well, people keep asking for this. I guess it's for something to keep busy on in long rounds, but, like, I'm an atmos tech main, so, uh, I entertain myself automatically and thus might need more feedback.
Changelog
🆑
add: Dynamic greenshifts
code: STATION_GOAL_BUDGET define changed to a gamemode-level var
/:cl: