diff --git a/_maps/cyberiad.json b/_maps/cyberiad.json index 1cb81c4a11478..64c9353fa30e6 100644 --- a/_maps/cyberiad.json +++ b/_maps/cyberiad.json @@ -3,6 +3,8 @@ "map_name": "Cyberiad", "map_path": "map_files/Cyberiad", "map_file": "Cyberiad.dmm", + "fluff_name": "ИСН Кибериада", + "welcome_sound_override": "modular_bandastation/aesthetics_sounds/sound/welcome_sounds/welcome_cyberiad.ogg", "shuttles": { "cargo": "cargo_box", "ferry": "ferry_fancy", @@ -22,6 +24,9 @@ "Cook": { "additional_cqc_areas": ["/area/station/service/bar", "/area/station/commons/lounge", "/area/station/service/kitchen"] }, + "Captain": { + "no_charter": 1 + }, "Nanotrasen Representative": { "spawn_positions": 1 }, diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 3a82c8dc1a66c..276866038afce 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -90,7 +90,7 @@ GLOBAL_VAR(command_name) /proc/station_name() if(!GLOB.station_name) var/newname - var/config_station_name = CONFIG_GET(string/stationname) + var/config_station_name = SSmapping.current_map?.fluff_name || CONFIG_GET(string/stationname) // BANDASTATION ADDITION - Station Fluff if(config_station_name) newname = config_station_name else diff --git a/code/controllers/subsystem/events.dm b/code/controllers/subsystem/events.dm index 38fbdaa793bbb..1710d1d9a021d 100644 --- a/code/controllers/subsystem/events.dm +++ b/code/controllers/subsystem/events.dm @@ -179,7 +179,8 @@ GLOBAL_LIST(holidays) if(GLOB.holidays.len) shuffle_inplace(GLOB.holidays) // regenerate station name because holiday prefixes. - set_station_name(new_station_name()) + if(isnull(SSmapping.current_map?.fluff_name)) // BANDASTATION ADDITION - Station Fluff + set_station_name(new_station_name()) world.update_status() return TRUE diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 4ceba5e25acd4..7760bb4430e79 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -284,7 +284,7 @@ SUBSYSTEM_DEF(ticker) INVOKE_ASYNC(SSdbcore, TYPE_PROC_REF(/datum/controller/subsystem/dbcore,SetRoundStart)) to_chat(world, span_notice(span_bold("Welcome to [station_name()], enjoy your stay!"))) - SEND_SOUND(world, sound(SSstation.announcer.get_rand_welcome_sound())) + SEND_SOUND(world, sound(SSmapping.current_map?.welcome_sound_override || SSstation.announcer.get_rand_welcome_sound())) current_state = GAME_STATE_PLAYING Master.SetRunLevel(RUNLEVEL_GAME) diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm index 0d7fb3d46d069..2a128e79f10d3 100644 --- a/code/datums/map_config.dm +++ b/code/datums/map_config.dm @@ -23,7 +23,7 @@ var/space_empty_levels = DEFAULT_SPACE_EMPTY_LEVELS /// Boolean that tells us if this is a planetary station. (like IceBoxStation) var/planetary = FALSE - + ///The type of mining Z-level that should be loaded. var/minetype = "lavaland" ///If no minetype is set, this will be the blacklist file used @@ -49,6 +49,14 @@ /// Boolean that tells SSmapping to load all away missions in the codebase. var/load_all_away_missions = FALSE + // BANDASTATION ADDITION START - Station Fluff + /// This name will override all other station names, like holiday or randomly generated. + /// Station name change still will work. + var/fluff_name = null + /// Welcome sound that will play on round start instead of the announcer's one. + var/sound/welcome_sound_override = null + // BANDASTATION ADDITION END - Station Fluff + /** * Proc that simply loads the default map config, which should always be functional. */ @@ -191,6 +199,16 @@ if ("load_all_away_missions" in json) load_all_away_missions = json["load_all_away_missions"] + // BANDASTATION ADDITION START - Station Fluff + if ("fluff_name" in json) + fluff_name = json["fluff_name"] + if ("welcome_sound_override" in json) + var/file_path = json["welcome_sound_override"] + if(!fexists(file_path)) + log_world("Welcome sound ([file_path]) does not exist!") + else + welcome_sound_override = file(file_path) + // BANDASTATION ADDITION END - Station Fluff allow_custom_shuttles = json["allow_custom_shuttles"] != FALSE if ("job_changes" in json) diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 35155a7c7b70d..818c465d8fecc 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -95,6 +95,11 @@ /datum/outfit/job/captain/pre_equip(mob/living/carbon/human/H, visuals_only) . = ..() + // BANDASTATION ADDITION START - Station Fluff + if(CHECK_MAP_JOB_CHANGE(JOB_CAPTAIN, "no_charter")) + backpack_contents -= /obj/item/station_charter + return + // BANDASTATION ADDITION END - Station Fluff special_charter = CHECK_MAP_JOB_CHANGE(JOB_CAPTAIN, "special_charter") if(!special_charter) return diff --git a/modular_bandastation/aesthetics_sounds/sound/welcome_sounds/welcome_cyberiad.ogg b/modular_bandastation/aesthetics_sounds/sound/welcome_sounds/welcome_cyberiad.ogg new file mode 100644 index 0000000000000..a54bb7984c7c7 Binary files /dev/null and b/modular_bandastation/aesthetics_sounds/sound/welcome_sounds/welcome_cyberiad.ogg differ