-
Notifications
You must be signed in to change notification settings - Fork 264
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Shuttle events (#76008) https://github.com/tgstation/tgstation/assets/7501474/a2d83ce8-eba1-42d9-a1f8-9d73f7c40b21 Adds shuttle events! Stuff can now start to happen outside the shuttle, either benign or spicy (but usually just fun to watch)! The shuttle escape sequence is an important part of the game, uniting about every player surviving player. Recently, #71906 has made the escape sequence more forgiving as well as more interesting by conditionally doubling the playing field. The area outside the shuttle is still mostly empty though, except for the few people being spaced, daredevils and the occasional epic space fight. This PR adds adds some space events to spice up the outside of the shuttle! This both gives people something too look at, making the escape sequence feel less static and more lively, as well as give people a reason to go outside and get the full experience of ~being decapitated by a meteor~ swimming with the fishes! <details> <summary>Shuttle Events</summary> **Friendly carp swarm** Spawns a group of carp that flies past the shuttle, completely friendly unless provoked. **Friendly meteors** Spawns a lot of strong meteors, but they all miss the shuttle. Completely safe as long as you don't go EVA **Maintenance debris** Picks random stuff from the maintenance spawn pool and throws it at the shuttle. Completely benign, unless you get hit in the head by a toolbox. Could get you some cool stuff though! **Dust storm** Spawns a bunch of dust meteors. Has a rare chance to hit the shuttle, doing minimal damage but can damage windows and might need inflight maintenance **Alien queen** One in every 250 escapes. Spawns a player controlled alien queen and a ripley mech. RIP AND TEAR!! Really not that dangerous when you realize the entire crew is on the shuttle and the queen is fat as fuck, but can still be fun to throw people around a bit before being torn to shreds. **ANGRY CARP** Once in every 500 escapes. Spawns 12 normal carp and 3 big carps, who may just decide to go through the shuttle or try and bust through the window if you look at them wrong. Somewhat dangerous, you could stay away from the windows and try to hide, or more likely shoot at them and weld the windows **Fake TTV** Lol **Italian Storm** Once in every 2000 rounds. Throws pasta, pizza and meatballs at the shuttle. Definitely not me going off the rails with a testing event **Player controlled carp trio** Once in every 100 escapes. Spawns three player controlled carp to harass the shuttle. May rarely be a magicarp, megacarp or chaos carp. I can't honestly see them do anything other than be annoying for 3 seconds and die There are some other admin only ones: a group of passive carps going directly through the shuttle and just being little shits, and a magic carp swarm </details> Events are selected seperately, there isn't a crazy weighting system, each just has a chance to run, and multiple could run at once. They also don't immediately trigger, so people can get settled a bit, and to make sure just waiting out the more dangerous ones is still a valid strategy. :cl: add: Adds shuttle events! If shuttle escapes weren't exciting before (doubtful), they definitely are now! I'm joking it's mostly an atmosphere thing. admin: Adds an admin panel to interact with shuttle events, under the Events tab: Change Shuttle Events fix: Objects spawned in hyperspace will properly catch hyperspace drift /:cl: There's a few things I'd like to do later (another PR) (honestly anyone can do them because I suck at follow-ups), because this is too big as is: - Hijack triggered shuttle events - More events (got a lot of cool suggestions, but I'm putting most of them on hold) - Maybe stration announcements if some more dangerous ones get added - Structures appearing next to the escape shuttle??? --------- Co-authored-by: MrMelbert <[email protected]> * Fix anti-breach shields being dragged away (#76859) * [no gbp] Fixes runtimes in shuttle event and shuttle cling (#77343) Fixes no-candidate runtime from pick() on an empty list Fixes spawning null movables if run out of mobs to spawn Fixes shuttle cling qdeling on Initialize due to lattices not counting as hyperspace :cl: runtime: Fixes runtimes in shuttle event and shuttle cling code /:cl: --------- Co-authored-by: Jacquerel <[email protected]> * Fixes triple carp shuttle event failing (#76860) * Add admin blackhole(s) shuttle event (#77188) ## About The Pull Request This adds a new **Black Hole** admin shuttle event while the escape shuttle is in transit. The regular version spawns a small 1x1 singularity that falls through the ship. There is also a special adminbus Kobayashi Maru version that spawns multiple black holes rapidly. ## Why It's Good For The Game ![dreamseeker_MxqHmKXXQ8](https://github.com/tgstation/tgstation/assets/5195984/e169669a-fb71-48c5-8314-df82852eef3b) Tell me this doesn't look fun? ## Changelog :cl: add: Add admin blackhole shuttle event with a normal version and suicidal version. fix: Fix several shuttle event runtimes /:cl: --------- Co-authored-by: Time-Green <[email protected]> * Shuttle event "Turbulence" (#80358) ## About The Pull Request Adds a new shuttle event: turbulence. The escape shuttle is experiencing subspace turbulence, effectively causing the takeoff/landing buckle check to repeat a couple of times during the duration of the flight. Players will get a two second warning when the screen starts shaking, after which if they are not buckled (or... outside of the shuttle I guess) they will fall over for a few seconds. The presence of turbulence in the shuttle's path will be announced shortly after takeoff, so strap yourself in. ## Why It's Good For The Game I think it adds a bit of flavour and influences what is going on in the shuttle (falling over at the wrong moment can turn a scrum over bridge access on its head) without being quite as disruptive as "there's 13 carp in here now". ## Changelog :cl: add: Adds a new shuttle event, where space shuttles can experience minor turbulance. Keep your belt on while the appropriate cabin light is lit. /:cl: Co-authored-by: John Willard <[email protected]> * fix duplicate definition --------- Co-authored-by: Time-Green <[email protected]> Co-authored-by: MrMelbert <[email protected]> Co-authored-by: Time-Green <[email protected]> Co-authored-by: Jacquerel <[email protected]> Co-authored-by: Tim <[email protected]> Co-authored-by: John Willard <[email protected]>
- Loading branch information
1 parent
caeca3c
commit aa5c846
Showing
27 changed files
with
671 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"base_friend": [ | ||
{ | ||
"type": "icon_state", | ||
"icon_state": "base_friend", | ||
"blend_mode": "overlay", | ||
"color_ids": [ 1 ] | ||
}, | ||
{ | ||
"type": "icon_state", | ||
"icon_state": "base_friend_mouth", | ||
"blend_mode": "overlay" | ||
} | ||
], | ||
"base_friend_dead": [ | ||
{ | ||
"type": "icon_state", | ||
"icon_state": "base_friend_dead", | ||
"blend_mode": "overlay", | ||
"color_ids": [ 1 ] | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
///Manipulate the events that are gonna run/are running on the escape shuttle | ||
/datum/admins/proc/change_shuttle_events() | ||
set category = "Admin.Events" | ||
set name = "Change Shuttle Events" | ||
set desc = "Allows you to change the events on a shuttle." | ||
|
||
if (!istype(src, /datum/admins)) | ||
src = usr.client.holder | ||
if (!istype(src, /datum/admins)) | ||
to_chat(usr, "Error: you are not an admin!", confidential = TRUE) | ||
return | ||
|
||
//At least for now, just letting admins modify the emergency shuttle is fine | ||
var/obj/docking_port/mobile/port = SSshuttle.emergency | ||
|
||
if(!port) | ||
to_chat(usr, span_admin("Uh oh, couldn't find the escape shuttle!")) | ||
|
||
var/list/options = list("Clear"="Clear") | ||
|
||
//Grab the active events so we know which ones we can Add or Remove | ||
var/list/active = list() | ||
for(var/datum/shuttle_event/event in port.event_list) | ||
active[event.type] = event | ||
|
||
for(var/datum/shuttle_event/event as anything in subtypesof(/datum/shuttle_event)) | ||
options[((event in active) ? "(Remove)" : "(Add)") + initial(event.name)] = event | ||
|
||
//Throw up an ugly menu with the shuttle events and the options to add or remove them, or clear them all | ||
var/result = input(usr, "Choose an event to add/remove", "Shuttle Events") as null|anything in sort_list(options) | ||
|
||
if(result == "Clear") | ||
port.event_list.Cut() | ||
log_admin("[key_name_admin(usr)] has cleared the shuttle events on: [port]") | ||
else if(options[result]) | ||
var/typepath = options[result] | ||
if(typepath in active) | ||
port.event_list.Remove(active[options[result]]) | ||
log_admin("[key_name_admin(usr)] has removed '[active[result]]' from [port].") | ||
else | ||
port.event_list.Add(new typepath (port)) | ||
log_admin("[key_name_admin(usr)] has added '[typepath]' to [port].") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.