mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-18 13:04:45 +00:00
## About The Pull Request Adds a new station trait: Radioactive Nebula! The station is located inside a radioactive nebula. Space background and lighting is different shades of green. Objects in space will also glow green. (This is kinda lying, since the glowing stuff isn't radioactive, you just get an element that slowly irradiates you, though people and certain objects that get the 'IRRADIATED' status may still double-whammy you) Do not go into space without rad-protected gear, or you will get very sick very fast. RAD-protection MODsuit modules spawn in robotics and are also immediately researched. The nebula does protect against external threats, like pirates, ninja's and nukies. They can still get to the station pretty well, but they can't stay in space for extended periods of time To make it more livable, public rad protection gear will spawn in lockers around the station. Everyone will also spawn with potassium iodide pills in their emergency box. Dynamics threat is also reduced by 30, so there's a proclivity towards more lower threat rounds when the radioactive nebula is present. Radioactive resonance virus cannot be generated though, since it kinda obliterates any and all challenge and threat  **Shielding**  In order to protect the station from radiation, nebula shielding units need to be constructed. Five spawn ready-to-built in engineering, and more can be bought pretty cheap from cargo. (Normal radstorms are disabled) The gravity generator has 20 minutes of innate shielding, where every nebula shielding unit adds another 20 minutes. 5 are needed to completely block all radiation even when the gravity gen is down, but constructing more is recommended in-case of sabotage/destructions/power outtages. Active nebula shielding will passively generate tritium. You can either vent/ignore this, or use it for something. I'm not an atmos tech but I'm sure you can do something with it _What happens when no shielding units are constructed/they all fail?_ The station will suffer a 5 minute long radiation storm, with only shuttles being excempt. The storm is nerfed strongly, and you can tank the 5 minutes, but you'll be pretty sick. After the 5 minutes are over, central command will send an emergency shielding unit which will block the radiation for 10 minutes and warn the station to set up nebula shielding. ## Why It's Good For The Game The station being inside a radioactive nebula shakes up a pretty major aspect of the game (that being the 'space' in space station 13). Hallway decals are colored green, display screens will display radiation markings, carps blend with the nebula, etc. Putting the station inside a radioactive nebula shakes up the rules of the game and what people can expect. Suddenly, you can no longer just go outside without taking meds or getting proper radiation protection, encouraging people to stay cozy and inside.  Inside, the crew gets the goal to set-up radiation shielding to defend themselves against the nebula, rewarding a creative engineering department with passive resource income and protecting the station against massive radiation storms. I think it's nice to give engineering something to set up. Even if they don't care, they can just plop it down somewhere in a closed room and be done with it. The radiation storm is pretty aggressive, but very survivable if you use your potassium iodide pills, the extra radiation suits or whatever chemistry has whipped up. Most importantly, it gives the entire station a common enemy: the nebula. Everyone is encouraged to prepare against the mechanics. Chemistry can make meds, viro can make protective virusses, robotics gets encouraged to make radprotected MODsuits, engineering gets to set-up radiation shielding, assistants can look at space or whatever assistants do. <details> <summary>Cool images</summary>     </details> ## Changelog 🆑 add: Adds a new rare radioactive nebula station trait! Get ready and PREPARE, before it gets in... tweak: Nearstation space area lighting may look slightly different /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com>
173 lines
4.0 KiB
Plaintext
173 lines
4.0 KiB
Plaintext
///number of deciseconds in a day
|
|
#define MIDNIGHT_ROLLOVER 864000
|
|
|
|
///displays the current time into the round, with a lot of extra code just there for ensuring it looks okay after an entire day passes
|
|
#define ROUND_TIME(...) ( "[world.time - SSticker.round_start_time > MIDNIGHT_ROLLOVER ? "[round((world.time - SSticker.round_start_time)/MIDNIGHT_ROLLOVER)]:[worldtime2text()]" : worldtime2text()]" )
|
|
|
|
///Returns the time that has passed since the game started
|
|
#define STATION_TIME_PASSED(...) (world.time - SSticker.round_start_time)
|
|
|
|
/// Define that just has the current in-universe year for use in whatever context you might want to display that in. (For example, 2022 -> 2562 given a 540 year offset)
|
|
#define CURRENT_STATION_YEAR (GLOB.year_integer + STATION_YEAR_OFFSET)
|
|
|
|
/// In-universe, SS13 is set 540 years in the future from the real-world day, hence this number for determining the year-offset for the in-game year.
|
|
#define STATION_YEAR_OFFSET 540
|
|
|
|
#define JANUARY 1
|
|
#define FEBRUARY 2
|
|
#define MARCH 3
|
|
#define APRIL 4
|
|
#define MAY 5
|
|
#define JUNE 6
|
|
#define JULY 7
|
|
#define AUGUST 8
|
|
#define SEPTEMBER 9
|
|
#define OCTOBER 10
|
|
#define NOVEMBER 11
|
|
#define DECEMBER 12
|
|
|
|
//Select holiday names -- If you test for a holiday in the code, make the holiday's name a define and test for that instead
|
|
#define NEW_YEAR "New Year"
|
|
#define VALENTINES "Valentine's Day"
|
|
#define APRIL_FOOLS "April Fool's Day"
|
|
#define EASTER "Easter"
|
|
#define HALLOWEEN "Halloween"
|
|
#define CHRISTMAS "Christmas"
|
|
#define FESTIVE_SEASON "Festive Season"
|
|
#define GARBAGEDAY "Garbage Day"
|
|
#define MONKEYDAY "Monkey Day"
|
|
#define PRIDE_WEEK "Pride Week"
|
|
#define MOTH_WEEK "Moth Week"
|
|
/*
|
|
|
|
Days of the week to make it easier to reference them.
|
|
|
|
When using time2text(), please use "DDD" to find the weekday. Refrain from using "Day"
|
|
|
|
*/
|
|
|
|
#define MONDAY "Mon"
|
|
#define TUESDAY "Tue"
|
|
#define WEDNESDAY "Wed"
|
|
#define THURSDAY "Thu"
|
|
#define FRIDAY "Fri"
|
|
#define SATURDAY "Sat"
|
|
#define SUNDAY "Sun"
|
|
|
|
#define INFINITE -1 // -1 is commonly used to indicate an infinite time duration
|
|
|
|
#define MILLISECONDS *0.01
|
|
|
|
#define DECISECONDS *1 //the base unit all of these defines are scaled by, because byond uses that as a unit of measurement for some fucking reason
|
|
|
|
#define SECONDS *10
|
|
|
|
#define MINUTES SECONDS*60
|
|
|
|
#define HOURS MINUTES*60
|
|
|
|
#define TICKS *world.tick_lag
|
|
|
|
#define DS2TICKS(DS) ((DS)/world.tick_lag)
|
|
|
|
#define TICKS2DS(T) ((T) TICKS)
|
|
|
|
#define MS2DS(T) ((T) MILLISECONDS)
|
|
|
|
#define DS2MS(T) ((T) * 100)
|
|
|
|
/*Timezones*/
|
|
|
|
/// Line Islands Time
|
|
#define TIMEZONE_LINT 14
|
|
|
|
// Chatham Daylight Time
|
|
#define TIMEZONE_CHADT 13.75
|
|
|
|
/// Tokelau Time
|
|
#define TIMEZONE_TKT 13
|
|
|
|
/// Tonga Time
|
|
#define TIMEZONE_TOT 13
|
|
|
|
/// New Zealand Daylight Time
|
|
#define TIMEZONE_NZDT 13
|
|
|
|
/// New Zealand Standard Time
|
|
#define TIMEZONE_NZST 12
|
|
|
|
/// Norfolk Time
|
|
#define TIMEZONE_NFT 11
|
|
|
|
/// Lord Howe Standard Time
|
|
#define TIMEZONE_LHST 10.5
|
|
|
|
/// Australian Eastern Standard Time
|
|
#define TIMEZONE_AEST 10
|
|
|
|
/// Australian Central Standard Time
|
|
#define TIMEZONE_ACST 9.5
|
|
|
|
/// Australian Central Western Standard Time
|
|
#define TIMEZONE_ACWST 8.75
|
|
|
|
/// Australian Western Standard Time
|
|
#define TIMEZONE_AWST 8
|
|
|
|
/// Christmas Island Time
|
|
#define TIMEZONE_CXT 7
|
|
|
|
/// Cocos Islands Time
|
|
#define TIMEZONE_CCT 6.5
|
|
|
|
/// Central European Summer Time
|
|
#define TIMEZONE_CEST 2
|
|
|
|
/// Coordinated Universal Time
|
|
#define TIMEZONE_UTC 0
|
|
|
|
/// Eastern Daylight Time
|
|
#define TIMEZONE_EDT -4
|
|
|
|
/// Eastern Standard Time
|
|
#define TIMEZONE_EST -5
|
|
|
|
/// Central Daylight Time
|
|
#define TIMEZONE_CDT -5
|
|
|
|
/// Central Standard Time
|
|
#define TIMEZONE_CST -6
|
|
|
|
/// Mountain Daylight Time
|
|
#define TIMEZONE_MDT -6
|
|
|
|
/// Mountain Standard Time
|
|
#define TIMEZONE_MST -7
|
|
|
|
/// Pacific Daylight Time
|
|
#define TIMEZONE_PDT -7
|
|
|
|
/// Pacific Standard Time
|
|
#define TIMEZONE_PST -8
|
|
|
|
/// Alaska Daylight Time
|
|
#define TIMEZONE_AKDT -8
|
|
|
|
/// Alaska Standard Time
|
|
#define TIMEZONE_AKST -9
|
|
|
|
/// Hawaii-Aleutian Daylight Time
|
|
#define TIMEZONE_HDT -9
|
|
|
|
/// Hawaii Standard Time
|
|
#define TIMEZONE_HST -10
|
|
|
|
/// Cook Island Time
|
|
#define TIMEZONE_CKT -10
|
|
|
|
/// Niue Time
|
|
#define TIMEZONE_NUT -11
|
|
|
|
/// Anywhere on Earth
|
|
#define TIMEZONE_ANYWHERE_ON_EARTH -12
|