diff --git a/aurorastation.dme b/aurorastation.dme index c47f8cf3ce0..0eee20e903d 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1777,6 +1777,7 @@ #include "code\modules\background\religion\unathi.dm" #include "code\modules\background\religion\vaurca.dm" #include "code\modules\background\space_sectors\badlands.dm" +#include "code\modules\background\space_sectors\crescent_expanse.dm" #include "code\modules\background\space_sectors\generic_sectors.dm" #include "code\modules\background\space_sectors\space_sector.dm" #include "code\modules\background\space_sectors\tauceti.dm" diff --git a/code/__DEFINES/space_sectors.dm b/code/__DEFINES/space_sectors.dm index 260d6ac61c3..7af613bf069 100644 --- a/code/__DEFINES/space_sectors.dm +++ b/code/__DEFINES/space_sectors.dm @@ -32,7 +32,14 @@ //Light's edge, which should have unique properties all around #define SECTOR_LIGHTS_EDGE "Light's Edge" //For the area of Light's Edge that is somewhat inhabited #define SECTOR_LEMURIAN_SEA "Lemurian Sea" //For the actual black void area -#define ALL_VOID_SECTORS list(SECTOR_LIGHTS_EDGE, SECTOR_LEMURIAN_SEA) +#define SECTOR_LEMURIAN_SEA_FAR "Lemurian Sea (Uncharted)" //For the actual black void area +#define ALL_VOID_SECTORS list(SECTOR_LIGHTS_EDGE, SECTOR_LEMURIAN_SEA, SECTOR_LEMURIAN_SEA_FAR) + +//Crescent Expanse & Beyond +#define SECTOR_CRESCENT_EXPANSE_EAST "Crescent Expanse (East)" // CoC/Alliance surveyors can appear here +#define SECTOR_CRESCENT_EXPANSE_WEST "Crescent Expanse (West)" // Nralakk/Alliance surveyors can appear here +#define SECTOR_CRESCENT_EXPANSE_FAR "Crescent Expanse (Uncharted)" // Nothing but daring independents here +#define ALL_CRESCENT_EXPANSE_SECTORS list(SECTOR_CRESCENT_EXPANSE_EAST, SECTOR_CRESCENT_EXPANSE_WEST, SECTOR_CRESCENT_EXPANSE_FAR) //Generic sectors, particularly ones that can be seen regardless of region the ship is in #define SECTOR_STAR_NURSERY "Star Nursery" //Used by the idris cruise map @@ -42,10 +49,17 @@ //For sectors where corporate entities can or should appear. Corporate ships having this tag can be seen more reliably #define ALL_CORPORATE_SECTORS list(ALL_TAU_CETI_SECTORS, SECTOR_SRANDMARR, SECTOR_UUEOAESA, ALL_COALITION_SECTORS, ALL_GENERIC_SECTORS, SECTOR_NRRAHRAHUL, SECTOR_BADLANDS)//Currently excludes Elyran sectors and Light's Edge +/// For remote/uncharted regions distant from the civilised Spur. Some surveyors/independents only. +#define ALL_UNCHARTED_SECTORS list(SECTOR_CRESCENT_EXPANSE_FAR, SECTOR_LEMURIAN_SEA_FAR) + //For highly dangerous sectors with high piracy. Civilian and leisure ships should be less common or not found here. -#define ALL_DANGEROUS_SECTORS list(SECTOR_BADLANDS, ALL_VOID_SECTORS, SECTOR_BURZSIA) //Burszia is considered dangerous for the duration of the Trouble in Paradise arc +#define ALL_DANGEROUS_SECTORS list(SECTOR_BADLANDS, ALL_VOID_SECTORS, ALL_CRESCENT_EXPANSE_SECTORS, ALL_UNCHARTED_SECTORS) /// all non-generic, named and specific sectors, where generic planets or the like should not spawn #define ALL_SPECIFIC_SECTORS list(SECTOR_TAU_CETI, SECTOR_SRANDMARR, SECTOR_HANEUNIM, SECTOR_BURZSIA, SECTOR_UUEOAESA, SECTOR_TABITI, SECTOR_AEMAQ, SECTOR_NRRAHRAHUL, SECTOR_GAKAL) -#define ALL_POSSIBLE_SECTORS list(ALL_TAU_CETI_SECTORS, ALL_BADLAND_SECTORS, ALL_COALITION_SECTORS, ALL_VOID_SECTORS, ALL_GENERIC_SECTORS, ALL_CORPORATE_SECTORS) +/// Everything! +#define ALL_POSSIBLE_SECTORS list(ALL_TAU_CETI_SECTORS, ALL_BADLAND_SECTORS, ALL_COALITION_SECTORS, ALL_VOID_SECTORS, ALL_GENERIC_SECTORS, ALL_CORPORATE_SECTORS, ALL_CRESCENT_EXPANSE_SECTORS) + +/// Sectors that block canon odysseys for reasons. Usually an ongoing remote/exclusive event arc area that shouldn't have canon odysseys muddling up (EG. the Horizon finds itself isolated and on its own). Very narrow use case. Not to be applied liberally. +#define ALL_EVENT_ONLY_SECTORS list(SECTOR_CRESCENT_EXPANSE_FAR) //SECTOR_CRESCENT_EXPANSE_FAR for duration of horizon's first visit there. feel free to remove if still here after that diff --git a/code/controllers/subsystems/processing/odyssey.dm b/code/controllers/subsystems/processing/odyssey.dm index 622240d25e2..b0f257ccdb1 100644 --- a/code/controllers/subsystems/processing/odyssey.dm +++ b/code/controllers/subsystems/processing/odyssey.dm @@ -96,6 +96,8 @@ SUBSYSTEM_DEF(odyssey) //Setting the scenario_type variable for use here in UI info and chat notices. if(!length(scenario.possible_scenario_types)) scenario.scenario_type = SCENARIO_TYPE_NONCANON + else if(SSatlas.current_sector in ALL_EVENT_ONLY_SECTORS) // If we are in an exclusive event area for an arc (EG. The Horizon finds itself isolated and alone), we may not want canon odysseys spawning. + scenario.scenario_type = SCENARIO_TYPE_NONCANON // Noncanon odysseys are fine though! else scenario.scenario_type = pick(scenario.possible_scenario_types) diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index e6389891397..603d6bcdb1e 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -44,6 +44,18 @@ random_itemcount = 0 light_color = COLOR_GOLD +/obj/machinery/vending/vendors/low_supply + products = list( + /obj/item/device/vending_refill/tools = 1, + /obj/item/device/vending_refill/coffee = 1, + /obj/item/device/vending_refill/meds = 1, + /obj/item/device/vending_refill/robust = 1, + /obj/item/device/vending_refill/hydro = 1, + /obj/item/device/vending_refill/cutlery = 1, + /obj/item/device/vending_refill/robo = 1, + /obj/item/device/vending_refill/battlemonsters = 1, + /obj/item/device/vending_refill/encryption = 1 + ) /obj/machinery/vending/boozeomat name = "Booze-O-Mat" @@ -188,6 +200,41 @@ restock_items = TRUE use_power = 0 +/obj/machinery/vending/boozeomat/low_supply + // just badly stocked + products = list( + /obj/item/reagent_containers/food/drinks/bottle/applejack = 1, + /obj/item/reagent_containers/food/drinks/bottle/bitters = 2, + /obj/item/reagent_containers/food/drinks/bottle/boukha = 1, + /obj/item/reagent_containers/food/drinks/bottle/grenadine = 2, + /obj/item/reagent_containers/food/drinks/bottle/tequila = 1, + /obj/item/reagent_containers/food/drinks/bottle/rum = 1, + /obj/item/reagent_containers/food/drinks/bottle/fernet = 1, + /obj/item/reagent_containers/food/drinks/bottle/drambuie = 2, + /obj/item/reagent_containers/food/drinks/bottle/melonliquor = 1, + /obj/item/reagent_containers/food/drinks/bottle/chartreusegreen = 2, + /obj/item/reagent_containers/food/drinks/bottle/absinthe = 1, + /obj/item/reagent_containers/food/drinks/bottle/kahlua = 1, + /obj/item/reagent_containers/food/drinks/bottle/triplesec = 1, + /obj/item/reagent_containers/food/drinks/bottle/sarezhiwine = 1, + /obj/item/reagent_containers/food/drinks/bottle/vodka = 2, + /obj/item/reagent_containers/food/drinks/bottle/pulque = 1, + /obj/item/reagent_containers/food/drinks/bottle/fireball = 2, + /obj/item/reagent_containers/food/drinks/bottle/cremewhite = 1, + /obj/item/reagent_containers/food/drinks/bottle/mintsyrup = 2, + /obj/item/reagent_containers/food/drinks/bottle/chartreuseyellow = 1, + /obj/item/reagent_containers/food/drinks/bottle/messa_mead = 2, + /obj/item/reagent_containers/food/drinks/bottle/kvass = 1, + /obj/item/reagent_containers/food/drinks/bottle/hooch = 4, + /obj/item/reagent_containers/food/drinks/bottle/nemiik = 1, + /obj/item/reagent_containers/food/drinks/carton/applejuice = 1, + /obj/item/reagent_containers/food/drinks/carton/cream = 4, + /obj/item/reagent_containers/food/drinks/carton/dynjuice = 1, + /obj/item/reagent_containers/food/drinks/carton/tomatojuice = 1, + /obj/item/reagent_containers/food/drinks/carton/cranberryjuice = 1, + /obj/item/reagent_containers/food/drinks/ice = 9 + ) + /obj/machinery/vending/assist vend_id = "tools" icon_state = "generic" @@ -285,6 +332,17 @@ ) prices = list() +/obj/machinery/vending/coffee/low_supply + products = list( + /obj/item/reagent_containers/food/drinks/coffee = 2, + /obj/item/reagent_containers/food/drinks/tea = 3, + /obj/item/reagent_containers/food/drinks/greentea = 1, + /obj/item/reagent_containers/food/drinks/chaitea = 1, + /obj/item/reagent_containers/food/drinks/hotcider = 1, + /obj/item/reagent_containers/food/drinks/h_chocolate = 1, + /obj/item/reagent_containers/food/snacks/donut/normal = 2 + ) + /obj/machinery/vending/snack name = "Getmore Chocolate Corp" desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars." @@ -371,6 +429,20 @@ light_color = COLOR_BABY_BLUE manufacturer = "nanotrasen" +/obj/machinery/vending/snack/low_supply + products = list( + /obj/item/reagent_containers/food/drinks/dry_ramen = 4, + /obj/item/reagent_containers/food/snacks/chips = 1, + /obj/item/reagent_containers/food/snacks/sosjerky = 2, + /obj/item/reagent_containers/food/snacks/no_raisin = 4, + /obj/item/storage/box/fancy/vkrexitaffy = 3, + /obj/item/reagent_containers/food/snacks/skrellsnacks = 1, + /obj/item/reagent_containers/food/snacks/maps = 1, + /obj/item/reagent_containers/food/snacks/koisbar_clean = 1, + /obj/item/reagent_containers/food/snacks/adhomian_can = 1, + /obj/item/reagent_containers/food/drinks/jyalra = 1 + ) + /obj/machinery/vending/snack/konyang products = list( /obj/item/reagent_containers/food/snacks/candy = 6, @@ -463,6 +535,20 @@ temperature_setting = -1 light_color = COLOR_GUNMETAL +/obj/machinery/vending/cola/low_supply + products = list( + /obj/item/reagent_containers/food/drinks/cans/diet_cola = 1, + /obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 2, + /obj/item/reagent_containers/food/drinks/cans/dr_gibb = 1, + /obj/item/reagent_containers/food/drinks/cans/root_beer = 2, + /obj/item/reagent_containers/food/drinks/cans/starkist = 1, + /obj/item/reagent_containers/food/drinks/waterbottle = 4, + /obj/item/reagent_containers/food/drinks/cans/dyn = 1, + /obj/item/reagent_containers/food/drinks/cans/space_up = 2, + /obj/item/reagent_containers/food/drinks/cans/beetle_milk = 8, + /obj/item/reagent_containers/food/drinks/cans/hrozamal_soda = 2 + ) + /obj/machinery/vending/cola/konyang products = list( /obj/item/reagent_containers/food/drinks/cans/cola = 10, @@ -580,6 +666,26 @@ ) light_color = COLOR_BLUE_GRAY +/obj/machinery/vending/cigarette/low_supply + products = list( + /obj/item/storage/box/fancy/cigarettes/rugged = 4, + /obj/item/storage/box/fancy/cigarettes = 2, + /obj/item/storage/box/fancy/cigarettes/dpra = 2, + /obj/item/storage/box/fancy/cigarettes/federation = 1, + /obj/item/storage/chewables/rollable = 2, + /obj/item/storage/chewables/rollable/unathi = 1, + /obj/item/storage/chewables/tobacco/bad = 2, + /obj/item/storage/chewables/tobacco/koko = 1, + /obj/item/storage/cigfilters = 1, + /obj/item/storage/box/fancy/cigpaper = 4, + /obj/item/storage/box/fancy/matches = 4, + /obj/item/spacecash/ewallet/lotto = 9, + /obj/item/clothing/mask/smokable/ecig/util = 1, + /obj/item/clothing/mask/smokable/ecig/simple = 1, + /obj/item/reagent_containers/ecig_cartridge/med_nicotine = 2, + /obj/item/reagent_containers/ecig_cartridge/grape = 1 + ) + /obj/machinery/vending/cigarette/merchant // Mapped in merchant station premium = list() @@ -646,6 +752,25 @@ light_color = LIGHT_COLOR_GREEN manufacturer = "zenghu" +/obj/machinery/vending/medical/low_supply + products = list( + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1, + /obj/item/reagent_containers/glass/bottle/toxin = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/syringe = 8, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/bruise_pack = 2, + /obj/item/stack/medical/ointment = 1, + /obj/item/stack/medical/splint = 1, + /obj/item/reagent_containers/pill/antitox = 2, + /obj/item/reagent_containers/pill/cetahydramine = 1, + /obj/item/reagent_containers/pill/perconol = 1, + /obj/item/reagent_containers/glass/beaker/medcup = 4, + /obj/item/storage/pill_bottle = 2, + /obj/item/reagent_containers/spray/sterilizine = 1 + ) + //This one's from bay12 /obj/machinery/vending/phoronresearch name = "Toximate 3000" @@ -709,6 +834,15 @@ obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED manufacturer = "zenghu" +/obj/machinery/vending/wallmed1/low_supply + products = list( + /obj/item/stack/medical/bruise_pack = 1, + /obj/item/stack/medical/ointment = 1, + /obj/item/reagent_containers/pill/perconol = 2, + /obj/item/storage/box/fancy/med_pouch/oxyloss = 1, + /obj/item/storage/box/fancy/med_pouch/toxin = 1 + ) + /obj/machinery/vending/wallmed2 name = "\improper NanoMed Mini" desc = "A wall-mounted version of the NanoMed, containing only vital first aid equipment." @@ -740,6 +874,14 @@ obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED manufacturer = "zenghu" +/obj/machinery/vending/wallmed2/low_supply + products = list( + /obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 1, + /obj/item/stack/medical/bruise_pack = 2, + /obj/item/stack/medical/ointment = 2, + /obj/item/storage/box/fancy/med_pouch/radiation = 1 + ) + /obj/machinery/vending/wallpharm name = "\improper NanoPharm Mini" desc = "A wall-mounted pharmaceuticals vending machine packed with over-the-counter bottles. For the sick salaried worker in you." @@ -778,6 +920,18 @@ obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED manufacturer = "nanotrasen" +/obj/machinery/vending/wallpharm/low_supply + products = list( + /obj/item/stack/medical/bruise_pack = 2, + /obj/item/stack/medical/ointment = 2, + /obj/item/storage/pill_bottle/antidexafen = 1, + /obj/item/storage/pill_bottle/dexalin = 1, + /obj/item/storage/pill_bottle/dylovene = 2, + /obj/item/storage/pill_bottle/vitamin = 2, + /obj/item/storage/pill_bottle/cetahydramine = 1, + /obj/item/storage/pill_bottle/rmt = 1 + ) + /obj/machinery/vending/security name = "SecTech" desc = "A security equipment vendor." @@ -816,6 +970,18 @@ light_color = COLOR_BABY_BLUE manufacturer = "zavodskoi" +/obj/machinery/vending/security/low_supply + products = list( + /obj/item/handcuffs = 2, + /obj/item/grenade/chem_grenade/teargas = 1, + /obj/item/device/flash = 2, + /obj/item/reagent_containers/spray/pepper = 2, + /obj/item/storage/box/evidence = 4, + /obj/item/device/holowarrant = 3, + /obj/item/device/flashlight/maglight = 2, + /obj/item/device/hailer = 1 + ) + /obj/machinery/vending/hydronutrients name = "NutriMax" desc = "A plant nutrients vendor." @@ -844,6 +1010,16 @@ random_itemcount = 0 light_color = COLOR_BABY_BLUE +/obj/machinery/vending/hydronutrients/low_supply + products = list( + /obj/item/reagent_containers/glass/fertilizer/ez = 3, + /obj/item/reagent_containers/glass/fertilizer/l4z = 4, + /obj/item/reagent_containers/glass/fertilizer/rh = 1, + /obj/item/plantspray/pests = 12, + /obj/item/reagent_containers/syringe = 3, + /obj/item/storage/bag/plants = 3 + ) + /obj/machinery/vending/hydronutrients/xenobotany products = list( /obj/item/reagent_containers/glass/fertilizer/ez = 6, @@ -860,6 +1036,22 @@ /obj/item/reagent_containers/glass/bottle/mutagen = 3 ) +/obj/machinery/vending/hydronutrients/xenobotany/low_supply + products = list( + /obj/item/reagent_containers/glass/fertilizer/ez = 3, + /obj/item/reagent_containers/glass/fertilizer/l4z = 4, + /obj/item/reagent_containers/glass/fertilizer/rh = 1, + /obj/item/plantspray/pests = 12, + /obj/item/reagent_containers/syringe = 4, + /obj/item/storage/bag/plants = 2, + /obj/item/device/analyzer/plant_analyzer = 1, + /obj/item/material/minihoe = 1, + /obj/item/material/hatchet = 1, + /obj/item/wirecutters/clippers = 1, + /obj/item/reagent_containers/spray/plantbgone = 1, + /obj/item/reagent_containers/glass/bottle/mutagen = 2 + ) + //Used specifically for more advanced setups, includes analyzers and tools inside the machine. /obj/machinery/vending/hydronutrients/hydroponics name = "HydroVend" @@ -924,6 +1116,16 @@ /obj/item/reagent_containers/glass/bottle/mutagen = 2 ) +/obj/machinery/vending/hydronutrients/gardenvend/low_supply + products = list( + /obj/item/reagent_containers/glass/fertilizer/ez = 2, + /obj/item/plantspray/pests = 3, + /obj/item/storage/bag/plants = 1, + /obj/item/material/minihoe = 1, + /obj/item/material/hatchet = 1, + /obj/item/wirecutters/clippers = 1, + /obj/item/reagent_containers/spray/plantbgone = 1 + ) /obj/machinery/vending/hydroseeds name = "MegaSeed Servitor" @@ -1288,6 +1490,20 @@ light_color = COLOR_GOLD manufacturer = "hephaestus" +/obj/machinery/vending/tool/low_supply + products = list( + /obj/item/stack/cable_coil/random = 4, + /obj/item/crowbar = 3, + /obj/item/weldingtool = 1, + /obj/item/wirecutters = 2, + /obj/item/wrench = 2, + /obj/item/device/analyzer = 3, + /obj/item/device/t_scanner = 2, + /obj/item/screwdriver = 3, + /obj/item/tape_roll = 1, + /obj/item/hammer = 1 + ) + /obj/machinery/vending/engivend name = "Engi-Vend" desc = "Spare tool vending. What? Did you expect some witty description?" @@ -1318,6 +1534,20 @@ light_color = COLOR_GOLD manufacturer = "hephaestus" +/obj/machinery/vending/engivend/low_supply + products = list( + /obj/item/device/multitool = 2, + /obj/item/taperoll/engineering = 2, + /obj/item/clothing/glasses/safety/goggles = 3, + /obj/item/airlock_electronics = 12, + /obj/item/module/power_control = 7, + /obj/item/airalarm_electronics = 7, + /obj/item/firealarm_electronics = 8, + /obj/item/cell/high = 4, + /obj/item/grenade/chem_grenade/antifuel = 3, + /obj/item/device/geiger = 1 + ) + /obj/machinery/vending/tacticool //Tried not to go overboard with the amount of fun security has access to. name = "Tactical Express" desc = "Everything you need to ensure corporate bureaucracy makes it another day." @@ -1503,6 +1733,17 @@ temperature_setting = -1 light_color = COLOR_CULT_REINFORCED +/obj/machinery/vending/zora/low_supply + products = list( + /obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry = 2, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron = 3, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass = 2, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/kois = 1, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/drone = 5, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/xuizi = 3, + /obj/item/reagent_containers/food/drinks/cans/zorasoda/dyn = 1 + ) + /obj/machinery/vending/battlemonsters name = "\improper Battlemonsters vendor" desc = "A good place to dump all your rent money." @@ -1640,6 +1881,16 @@ vend_delay = 15 idle_power_usage = 211 // Cold MREs... +/obj/machinery/vending/mredispenser/low_supply + products = list( + /obj/item/storage/box/fancy/mre = 1, + /obj/item/storage/box/fancy/mre/menu2 = 1, + /obj/item/storage/box/fancy/mre/menu4 = 1, + /obj/item/storage/box/fancy/mre/menu9 = 4, + /obj/item/storage/box/fancy/mre/menu10 = 5, + /obj/item/storage/box/fancy/mre/menu12 = 3 + ) + /obj/machinery/vending/overloaders name = "GwokBuzz Vendor" desc = "An entertainment software machine supplied by Gwok Software, a member of the Gwok Group." @@ -1668,6 +1919,13 @@ ) light_color = LIGHT_COLOR_CYAN +/obj/machinery/vending/overloaders/low_supply + products = list( + /obj/item/storage/overloader/classic = 2, + /obj/item/storage/overloader/rainbow = 1, + /obj/item/storage/overloader/screenshaker = 1 + ) + /obj/machinery/vending/minimart name = "minimart refrigerator" desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars." @@ -1833,6 +2091,26 @@ random_itemcount = 0 light_color = COLOR_BABY_BLUE +/obj/machinery/vending/frontiervend/low_supply + products = list( + /obj/item/reagent_containers/food/drinks/cans/himeokvass = 2, + /obj/item/reagent_containers/food/drinks/cans/boch = 1, + /obj/item/reagent_containers/food/drinks/cans/boch/buckthorn = 2, + /obj/item/reagent_containers/food/drinks/cans/xanuchai = 2, + /obj/item/reagent_containers/food/drinks/cans/xanuchai/creme = 1, + /obj/item/reagent_containers/food/drinks/cans/galatea = 1, + /obj/item/reagent_containers/food/drinks/bottle/bestblend = 2, + /obj/item/reagent_containers/food/snacks/fishjerky = 1, + /obj/item/reagent_containers/food/snacks/pepperoniroll = 1, + /obj/item/reagent_containers/food/snacks/salmiak = 1, + /obj/item/reagent_containers/food/snacks/pemmicanbar = 1, + /obj/item/reagent_containers/food/snacks/peanutsnack = 2, + /obj/item/reagent_containers/food/snacks/peanutsnack/pepper = 1, + /obj/item/reagent_containers/food/snacks/chana = 1, + /obj/item/reagent_containers/food/snacks/papad = 2, + /obj/item/storage/box/fancy/foysnack = 1 + ) + /obj/machinery/vending/frontiervend/hacked name = "hacked FrontierVend" desc = "A complimentary FrontierVend machine. No money? No worries." @@ -2088,3 +2366,15 @@ If you want to expand this to more than primarily generic items, I recommend des contraband = list( /obj/item/inflatable_duck = 1 ) + +/obj/machinery/vending/lavatory/low_supply + prices = list( + /obj/item/soap = 7, + /obj/item/mirror = 12, + /obj/item/haircomb/random = 12, + /obj/item/towel/random = 14, + /obj/item/reagent_containers/spray/cleaner/deodorant = 6, + /obj/item/reagent_containers/toothpaste = 14, + /obj/item/reagent_containers/toothbrush = 23, + /obj/item/reagent_containers/food/drinks/flask/vacuumflask/mouthwash = 18 + ) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/kitchen.dm b/code/game/objects/structures/crates_lockers/closets/secure/kitchen.dm index 4cde2dfde79..63b32e48c99 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/kitchen.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/kitchen.dm @@ -67,6 +67,10 @@ for(var/i = 0, i < 8, i++) new /obj/item/reagent_containers/food/snacks/meat(src) +/obj/structure/closet/secure_closet/freezer/meat/low_supply/fill() + for(var/i = 0, i < 4, i++) + new /obj/item/reagent_containers/food/snacks/meat(src) + // Grilling Meat Freezer // Enough meat to do 10 grill batches. /obj/structure/closet/secure_closet/freezer/meat/grill/fill() @@ -92,11 +96,14 @@ desc = "A white freezer labelled \"Chicken and Fish\"." /obj/structure/closet/secure_closet/freezer/chicken_and_fish/fill() - // 6 Chicken Fillets + // 6 Chicken and Fish Fillets for(var/i = 0, i < 6, i++) new /obj/item/reagent_containers/food/snacks/meat/chicken(src) - // 6 Fish Fillets - for(var/i = 0, i < 6, i++) + new /obj/item/reagent_containers/food/snacks/fish/fishfillet(src) + +/obj/structure/closet/secure_closet/freezer/chicken_and_fish/low_supply/fill() + for(var/i = 0, i < 3, i++) + new /obj/item/reagent_containers/food/snacks/meat/chicken(src) new /obj/item/reagent_containers/food/snacks/fish/fishfillet(src) // Empty Biohazard Freezer diff --git a/code/modules/background/space_sectors/crescent_expanse.dm b/code/modules/background/space_sectors/crescent_expanse.dm new file mode 100644 index 00000000000..06c63d3677f --- /dev/null +++ b/code/modules/background/space_sectors/crescent_expanse.dm @@ -0,0 +1,88 @@ +/datum/space_sector/crescent_expanse + name = SECTOR_CRESCENT_EXPANSE_EAST + description = "A large, mostly uncontrolled area, the Crescent Expanse represents the furthest stretches of human colonization and stretches to the border of the Nralakk \ + Federation. This area was in the process of development by the Solarian Alliance prior to the Interstellar War and half-complete relics of the Alliance's hegemonic era can \ + be found scattered across its planets and floating in long-abandoned systems. The Coalition of Colonies, Nralakk Federation, and Solarian Alliance are currently attempting \ + to expand their influence into this region with varying degrees of success." + skybox_icon = "crescent_expanse" + possible_exoplanets = list( + /obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid, + /obj/effect/overmap/visitable/sector/exoplanet/grass/grove, + /obj/effect/overmap/visitable/sector/exoplanet/barren, + /obj/effect/overmap/visitable/sector/exoplanet/lava, + /obj/effect/overmap/visitable/sector/exoplanet/desert, + /obj/effect/overmap/visitable/sector/exoplanet/snow, + /obj/effect/overmap/visitable/sector/exoplanet/crystal + ) + starlight_color = "#b13636" + starlight_power = 2 + starlight_range = 4 + cargo_price_coef = list( //very high coefs due to distance from civilised spur + "nanotrasen" = 20.0, + "orion" = 15.0, + "hephaestus" = 20.0, + "zeng_hu" = 20.0, + "eckharts" = 20.0, + "getmore" = 20.0, + "arizi" = 20.0, + "blam" = 20.0, + "iac" = 20.0, + "zharkov" = 20.0, + "virgo" = 20.0, + "bishop" = 20.0, + "xion" = 20.0, + "zavodskoi" = 20.0, + ) + + lore_radio_stations = list( + "95.8 Radio Masyara'Triq (Unlicensed)" = 'texts/lore_radio/crescent_expanse/95.8_CE-Unlicensed_Music_Station.txt' + ) + + lobby_tracks = list( + 'sound/music/lobby/crescent_expanse/crescent_expanse_1.ogg', + 'sound/music/lobby/crescent_expanse/crescent_expanse_2.ogg' + ) + +/datum/space_sector/crescent_expanse/west + name = SECTOR_CRESCENT_EXPANSE_WEST + lore_radio_stations = list( + "95.8 Radio Masyara'Triq (Unlicensed)" = 'texts/lore_radio/crescent_expanse/95.8_CE-Unlicensed_Music_Station.txt' + ) + lobby_tracks = list( + 'sound/music/lobby/crescent_expanse/crescent_expanse_1.ogg', + 'sound/music/lobby/crescent_expanse/crescent_expanse_2.ogg' + ) + +/datum/space_sector/crescent_expanse/far + name = SECTOR_CRESCENT_EXPANSE_FAR + + cargo_price_coef = list( //even higher, we are very far away! + "nanotrasen" = 200.0, + "orion" = 150.0, + "hephaestus" = 200.0, + "zeng_hu" = 200.0, + "eckharts" = 200.0, + "getmore" = 200.0, + "arizi" = 200.0, + "blam" = 200.0, + "iac" = 200.0, + "zharkov" = 200.0, + "virgo" = 200.0, + "bishop" = 200.0, + "xion" = 200.0, + "zavodskoi" = 200.0, + ) + + ccia_link = FALSE + + lore_radio_stations = list( + "74.4 Faint Radio Transmission" = 'texts/lore_radio/crescent_expanse/74.4_CE_Uncharted-Damaged_Station.txt', + "83.6 Leaking Traffic Control" = 'texts/lore_radio/crescent_expanse/83.6_CE_Uncharted-Pirate_Station.txt', + "95.8 Radio Masyara'Triq (Unlicensed)" = 'texts/lore_radio/crescent_expanse/95.8_CE-Unlicensed_Music_Station.txt' + ) + lobby_tracks = list( + 'sound/music/lobby/crescent_expanse/crescent_expanse_1.ogg', + 'sound/music/lobby/dangerous_space/dangerous_space_1.ogg', + 'sound/music/lobby/dangerous_space/dangerous_space_2.ogg' + ) + diff --git a/code/modules/background/space_sectors/space_sector.dm b/code/modules/background/space_sectors/space_sector.dm index f912889f6a0..3c204ea889d 100644 --- a/code/modules/background/space_sectors/space_sector.dm +++ b/code/modules/background/space_sectors/space_sector.dm @@ -65,6 +65,9 @@ /// This variable holds the string of time until port visit. Will be "in 1 day", "in 2 days", "today", etc. Do not edit manually. var/next_port_visit_string + /// Does this sector permit communication with Central Command? Reserved for remote/uncharted sectors. The EBS system is unaffected as it is necessary for certain CCIA functions (eg. scuttling). + var/ccia_link = TRUE + //vars used by the meteor random event var/list/meteors_minor = list( diff --git a/code/modules/background/space_sectors/void.dm b/code/modules/background/space_sectors/void.dm index ceb0d4b4974..61713dde720 100644 --- a/code/modules/background/space_sectors/void.dm +++ b/code/modules/background/space_sectors/void.dm @@ -7,6 +7,11 @@ starlight_power = 1//slightly darker though for spooky factor starlight_range = 2 + lobby_tracks = list( + 'sound/music/lobby/lights_edge/lights_edge_1.ogg', + 'sound/music/lobby/lights_edge/lights_edge_2.ogg' + ) + /datum/space_sector/lemurian_sea//The actual proposed area of void as written. Should be as dark as possible, due to no starlight name = SECTOR_LEMURIAN_SEA description = "The Lemurian Sea is an astrological curiosity which is entirely free of stars. This region is a relatively new discovery and classification, having only been officially broken off of Light’s Edge by most astrographical institutions following the rediscovery of Assunzione and limited exploration beyond its position on the border of what would become the Lemurian Sea. Most astrological charts advise avoiding the region as travelers are known to report a feeling of general uneasiness while passing through it and many vessels are known to have disappeared within the Sea. " @@ -15,3 +20,13 @@ starlight_color = "#000000" starlight_power = 0 starlight_range = 0 + + lobby_tracks = list( + 'sound/music/lobby/lights_edge/lights_edge_1.ogg', + 'sound/music/lobby/lights_edge/lights_edge_2.ogg', + 'sound/music/lobby/dangerous_space/dangerous_space_1.ogg' + ) + +/datum/space_sector/lemurian_sea/far + name = SECTOR_LEMURIAN_SEA_FAR + ccia_link = FALSE diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index f75eec13bb3..1bd2bdf6cbc 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -274,6 +274,11 @@ GLOBAL_LIST_EMPTY(admin_departments) use_power_oneoff(200) + if(SSatlas.current_sector.ccia_link == FALSE) + if(destination in GLOB.admin_departments) + visible_message("[src] beeps, \"Unable to connect to route to [SSatlas.current_map.boss_name].\"") + return + var/obj/item/rcvdcopy if (istype(copy_item, /obj/item/paper)) rcvdcopy = copy(src, copy_item, FALSE, toner = toner) diff --git a/code/modules/reagents/dispenser/dispenser_presets.dm b/code/modules/reagents/dispenser/dispenser_presets.dm index 823029c26bf..5e567b830db 100644 --- a/code/modules/reagents/dispenser/dispenser_presets.dm +++ b/code/modules/reagents/dispenser/dispenser_presets.dm @@ -93,6 +93,17 @@ /obj/item/reagent_containers/chem_disp_cartridge/root_beer ) +/obj/machinery/chemical_dispenser/bar_soft/low_supply + spawn_cartridges = list( + /obj/item/reagent_containers/chem_disp_cartridge/water, + /obj/item/reagent_containers/chem_disp_cartridge/ice, + /obj/item/reagent_containers/chem_disp_cartridge/root_beer, + /obj/item/reagent_containers/chem_disp_cartridge/tonic, + /obj/item/reagent_containers/chem_disp_cartridge/sodawater, + /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime, + /obj/item/reagent_containers/chem_disp_cartridge/clean_kois, + ) + /obj/machinery/chemical_dispenser/bar_alc name = "booze dispenser" desc = "A beer machine. Like a soda machine, but more fun!" @@ -190,6 +201,16 @@ /obj/item/reagent_containers/chem_disp_cartridge/water{temperature_override = 373} ) +/obj/machinery/chemical_dispenser/coffeemaster/low_supply + spawn_cartridges = list( + /obj/item/reagent_containers/chem_disp_cartridge/coffee{temperature_override = 369}, + /obj/item/reagent_containers/chem_disp_cartridge/espresso{temperature_override = 369}, + /obj/item/reagent_containers/chem_disp_cartridge/tea{temperature_override = 349}, + /obj/item/reagent_containers/chem_disp_cartridge/cream, + /obj/item/reagent_containers/chem_disp_cartridge/soymilk, + /obj/item/reagent_containers/chem_disp_cartridge/water{temperature_override = 373} + ) + /obj/machinery/chemical_dispenser/coffee name = "Coffee Machine" desc = "The only thing that can get some workers though the day, the coffee maker is the stations most valuable resource." diff --git a/html/changelogs/kermit-uncharted-space.yml b/html/changelogs/kermit-uncharted-space.yml new file mode 100644 index 00000000000..b8c517c7762 --- /dev/null +++ b/html/changelogs/kermit-uncharted-space.yml @@ -0,0 +1,12 @@ +author: kermit + +delete-after: True + +changes: + - rscadd: "Adds the Crescent Expanse region. It's a big region, with an east (Sol/Nralakk presence), west (Sol/CoC presence) and far sector (uncharted!)." + - rscadd: "Also adds an uncharted Lemurian Sea variant." + - soundadd: "7 regional lobby music tracks by either Lüüü, Little Bradley or Karl Casey. All on Bandcamp, check them out." + - rscadd: "Adds the ccia_link variable which can be used to stop outbound faxes to the CCIA. For uncharted sectors, such as the Crescent Expanse's far sector." + - rscadd: "Adds low supply variant of most vending machines and dispensers for later use. Ominous." + - rscdel: "Removes the guaranteed spawn flag from the sensors relay, deferring to the usual whitelist/blacklist system." + - rscdel: "Burzsia is no longer a 'dangerous' system following completion of relief efforts." diff --git a/icons/skybox/skybox.dmi b/icons/skybox/skybox.dmi index 169d67f90f8..4f55f20501e 100644 Binary files a/icons/skybox/skybox.dmi and b/icons/skybox/skybox.dmi differ diff --git a/maps/away/away_site/abandoned_industrial/abandoned_industrial_station_.dm b/maps/away/away_site/abandoned_industrial/abandoned_industrial_station_.dm index be50a3694cc..45f67669df8 100644 --- a/maps/away/away_site/abandoned_industrial/abandoned_industrial_station_.dm +++ b/maps/away/away_site/abandoned_industrial/abandoned_industrial_station_.dm @@ -10,6 +10,7 @@ suffix = "abandoned_industrial_station.dmm" sectors = list(ALL_POSSIBLE_SECTORS) + sectors_blacklist = list(ALL_UNCHARTED_SECTORS) /singleton/submap_archetype/abandoned_industrial_station//Arbitrary duplicates of the above name/desc map = "abandoned industrial station" diff --git a/maps/away/away_site/abandoned_propellant_depot/abandoned_propellant_depot_.dm b/maps/away/away_site/abandoned_propellant_depot/abandoned_propellant_depot_.dm index cbc7eb13f93..d10c5fc6407 100644 --- a/maps/away/away_site/abandoned_propellant_depot/abandoned_propellant_depot_.dm +++ b/maps/away/away_site/abandoned_propellant_depot/abandoned_propellant_depot_.dm @@ -9,6 +9,7 @@ spawn_cost = 1 spawn_weight = 1 sectors = list(ALL_POSSIBLE_SECTORS) + sectors_blacklist = list(ALL_UNCHARTED_SECTORS) unit_test_groups = list(1) /singleton/submap_archetype/abandoned_propellant_depot//Arbitrary duplicates of the above name/desc diff --git a/maps/away/away_site/crystal_planet_outpost/crystal_planet_outpost_.dm b/maps/away/away_site/crystal_planet_outpost/crystal_planet_outpost_.dm index b2a54ef5f13..bd14afa7a2a 100644 --- a/maps/away/away_site/crystal_planet_outpost/crystal_planet_outpost_.dm +++ b/maps/away/away_site/crystal_planet_outpost/crystal_planet_outpost_.dm @@ -21,7 +21,7 @@ spawn_cost = 1 spawn_weight = 1 sectors = list(ALL_POSSIBLE_SECTORS) - sectors_blacklist = list(ALL_SPECIFIC_SECTORS) //it's a whole planet, shouldn't have it in predefined sectors + sectors_blacklist = list(ALL_SPECIFIC_SECTORS, ALL_UNCHARTED_SECTORS) //it's a whole planet, shouldn't have it in predefined sectors unit_test_groups = list(1) /singleton/submap_archetype/crystal_planet_outpost diff --git a/maps/away/away_site/hivebot_hub/hivebot_hub.dm b/maps/away/away_site/hivebot_hub/hivebot_hub.dm index d10e234fecd..a1d509fd35f 100644 --- a/maps/away/away_site/hivebot_hub/hivebot_hub.dm +++ b/maps/away/away_site/hivebot_hub/hivebot_hub.dm @@ -8,6 +8,7 @@ suffix = "hivebot_hub.dmm" sectors = ALL_POSSIBLE_SECTORS + sectors_blacklist = list(ALL_UNCHARTED_SECTORS) spawn_weight = 1 spawn_cost = 1 diff --git a/maps/away/away_site/sensor_relay/solarian_prewar/sensor_relay.dm b/maps/away/away_site/sensor_relay/solarian_prewar/sensor_relay.dm index 3e95ff83053..70bec068bb1 100644 --- a/maps/away/away_site/sensor_relay/solarian_prewar/sensor_relay.dm +++ b/maps/away/away_site/sensor_relay/solarian_prewar/sensor_relay.dm @@ -8,10 +8,11 @@ suffix = "sensor_relay.dmm" sectors = ALL_POSSIBLE_SECTORS + id = "sensor_relay" - template_flags = TEMPLATE_FLAG_SPAWN_GUARANTEED + sectors_blacklist = list( - SECTOR_LEMURIAN_SEA, // Because finding a sensor relay in hell would be weird + ALL_UNCHARTED_SECTORS, // Because finding a sensor relay in hell would be weird SECTOR_UUEOAESA // Because there is a specific relay variant in Uueoa-Esa ) diff --git a/maps/away/away_site/zavod_shuttle_destroyed/zavod_shuttle_destroyed.dm b/maps/away/away_site/zavod_shuttle_destroyed/zavod_shuttle_destroyed.dm index ea2dd702178..224b96bf497 100644 --- a/maps/away/away_site/zavod_shuttle_destroyed/zavod_shuttle_destroyed.dm +++ b/maps/away/away_site/zavod_shuttle_destroyed/zavod_shuttle_destroyed.dm @@ -6,6 +6,7 @@ suffix = "zavod_shuttle_destroyed.dmm" sectors = list(ALL_POSSIBLE_SECTORS) + sectors_blacklist = list(ALL_UNCHARTED_SECTORS) spawn_weight = 1 spawn_cost = 1 id = "destroyed zavod shuttle" diff --git a/maps/away/scenarios/cryo_outpost/cryo_outpost_.dm b/maps/away/scenarios/cryo_outpost/cryo_outpost_.dm index ba76f84b62c..abb7d9cdb6a 100644 --- a/maps/away/scenarios/cryo_outpost/cryo_outpost_.dm +++ b/maps/away/scenarios/cryo_outpost/cryo_outpost_.dm @@ -22,6 +22,7 @@ spawn_weight = 0 // so it does not spawn as ordinary away site spawn_cost = 1 sectors = list(ALL_POSSIBLE_SECTORS) + unit_test_groups = list(3) /singleton/submap_archetype/cryo_outpost diff --git a/maps/away/ships/coc/coc_scarab/coc_scarab.dm b/maps/away/ships/coc/coc_scarab/coc_scarab.dm index 3059ef790d8..e8d83c7ef52 100644 --- a/maps/away/ships/coc/coc_scarab/coc_scarab.dm +++ b/maps/away/ships/coc/coc_scarab/coc_scarab.dm @@ -12,7 +12,7 @@ prefix = "ships/coc/coc_scarab/" suffix = "coc_scarab.dmm" - sectors = list(SECTOR_COALITION, SECTOR_WEEPING_STARS, SECTOR_ARUSHA, SECTOR_LIBERTYS_CRADLE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS) + sectors = list(SECTOR_COALITION, SECTOR_WEEPING_STARS, SECTOR_ARUSHA, SECTOR_LIBERTYS_CRADLE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS, SECTOR_CRESCENT_EXPANSE_EAST) spawn_weight = 1 ship_cost = 1 id = "coc_scarab" diff --git a/maps/away/ships/coc/coc_surveyor/coc_surveyor.dm b/maps/away/ships/coc/coc_surveyor/coc_surveyor.dm index 9b9807f6269..c3d0242f4b3 100644 --- a/maps/away/ships/coc/coc_surveyor/coc_surveyor.dm +++ b/maps/away/ships/coc/coc_surveyor/coc_surveyor.dm @@ -5,7 +5,7 @@ prefix = "ships/coc/coc_surveyor/" suffix = "coc_surveyor.dmm" - sectors = list(SECTOR_BADLANDS, ALL_COALITION_SECTORS, ALL_VOID_SECTORS) + sectors = list(SECTOR_BADLANDS, ALL_COALITION_SECTORS, ALL_VOID_SECTORS, SECTOR_CRESCENT_EXPANSE_EAST) spawn_weight_sector_dependent = list(ALL_BADLAND_SECTORS = 0.3) sectors_blacklist = list(SECTOR_HANEUNIM, SECTOR_BURZSIA, SECTOR_XANU) spawn_weight = 1 diff --git a/maps/away/ships/sadar_scout/sadar_scout.dm b/maps/away/ships/sadar_scout/sadar_scout.dm index aa0efb41d6a..94b58fa3d70 100644 --- a/maps/away/ships/sadar_scout/sadar_scout.dm +++ b/maps/away/ships/sadar_scout/sadar_scout.dm @@ -5,7 +5,7 @@ prefix = "ships/sadar_scout/" suffix = "sadar_scout.dmm" - sectors = list(ALL_COALITION_SECTORS) + sectors = list(ALL_COALITION_SECTORS, ALL_CRESCENT_EXPANSE_SECTORS) sectors_blacklist = list(SECTOR_HANEUNIM, SECTOR_BURZSIA, SECTOR_XANU) spawn_weight = 1 ship_cost = 1 diff --git a/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler.dm b/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler.dm index 1f7e3857db3..247e99c6306 100644 --- a/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler.dm +++ b/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler.dm @@ -5,7 +5,7 @@ prefix = "ships/tirakqi_smuggler/" suffix = "tirakqi_smuggler.dmm" - sectors = list(ALL_TAU_CETI_SECTORS, ALL_BADLAND_SECTORS) + sectors = list(ALL_TAU_CETI_SECTORS, ALL_BADLAND_SECTORS, SECTOR_CRESCENT_EXPANSE_WEST) spawn_weight = 1 ship_cost = 1 id = "tirakqi_smuggler" diff --git a/maps/random_ruins/exoplanets/asteroid/listening_post/listening_post_unique.dm b/maps/random_ruins/exoplanets/asteroid/listening_post/listening_post_unique.dm index 6a83c489584..4bf0f585350 100644 --- a/maps/random_ruins/exoplanets/asteroid/listening_post/listening_post_unique.dm +++ b/maps/random_ruins/exoplanets/asteroid/listening_post/listening_post_unique.dm @@ -6,6 +6,7 @@ spawn_weight = 1 spawn_cost = 2 sectors = list(ALL_POSSIBLE_SECTORS) + sectors_blacklist = list(ALL_UNCHARTED_SECTORS) prefix = "asteroid/listening_post/" suffix = "listening_post_unique.dmm" diff --git a/sound/attributions.txt b/sound/attributions.txt index f3c35070e07..0e24fc755f5 100644 --- a/sound/attributions.txt +++ b/sound/attributions.txt @@ -138,7 +138,16 @@ sound/machines/steam_pipe3.ogg - "file0571_air_hiss_weak.wav" by beerbelly38. Li sound/machines/steam_pipe4.ogg - "Steam Sewer Ambient" by Geoff-Bremner-Audio. Licensed under CC0. Obtained from https://freesound.org/people/Geoff-Bremner-Audio/sounds/724892/ ATTRIBUTIONS SECTION END +ATTRIBUTIONS SECTOR START +sound/music/lobby/crescent_expanse/crescent_expanse_1.ogg - "Lüüü - Weedance" by Lüüü, licensed under CC BY-NC-SA 3.0. Obtained from https://myprivateunderground.bandcamp.com/track/lu-u-u-weedance +sound/music/lobby/crescent_expanse/crescent_expanse_2.ogg - "Little Bradley - Sunset Drive" by Little Bradley, licensed under CC BY-NC 3.0. Obtained from https://myprivateunderground.bandcamp.com/track/little-bradley-sunset-drive +sound/music/lobby/lights_edge/lights_edge_1.ogg - "Is Anyone Left?" by Karl Casey, licensed under CC BY 3.0. Obtained from https://karlcasey.bandcamp.com/track/is-anyone-left +sound/music/lobby/lights_edge/lights_edge_2.ogg - "Running From The Wendigo" by Karl Casey, licensed under CC BY 3.0. Obtained from https://karlcasey.bandcamp.com/track/running-from-the-wendigo +sound/music/lobby/dangerous_space/dangerous_space_1.ogg - "You Can't Kill The Boogeyman" by Karl Casey, licensed under CC BY 3.0. Obtained From https://karlcasey.bandcamp.com/track/you-can-t-kill-the-boogeyman +sound/music/lobby/dangerous_space/dangerous_space_2.ogg - "Prison Planet" by Karl Casey, licensed under CC BY 3.0. Obtained from https://karlcasey.bandcamp.com/track/prison-planet +ATTRIBUTIONS SECTION END + ATTRIBUTIONS SECTOR START sound/music/lobby/xanu/xanu_rock_1.ogg - "Rise" by Swara Sutra, licensed under CC BY-NC-SA 3.0. Obtained from https://swarasutra.bandcamp.com/track/rise sound/music/lobby/xanu/xanu_rock_2.ogg - "Induldge" by Swara Sutra, licensed under CC BY-NC-SA 3.0. Obtained from https://swarasutra.bandcamp.com/track/indulgence -ATTRIBUTIONS SECTION END \ No newline at end of file +ATTRIBUTIONS SECTION END diff --git a/sound/music/lobby/crescent_expanse/crescent_expanse_1.ogg b/sound/music/lobby/crescent_expanse/crescent_expanse_1.ogg new file mode 100644 index 00000000000..37363eacbc5 Binary files /dev/null and b/sound/music/lobby/crescent_expanse/crescent_expanse_1.ogg differ diff --git a/sound/music/lobby/crescent_expanse/crescent_expanse_2.ogg b/sound/music/lobby/crescent_expanse/crescent_expanse_2.ogg new file mode 100644 index 00000000000..799670bfb5d Binary files /dev/null and b/sound/music/lobby/crescent_expanse/crescent_expanse_2.ogg differ diff --git a/sound/music/lobby/dangerous_space/dangerous_space_1.ogg b/sound/music/lobby/dangerous_space/dangerous_space_1.ogg new file mode 100644 index 00000000000..a413f063075 Binary files /dev/null and b/sound/music/lobby/dangerous_space/dangerous_space_1.ogg differ diff --git a/sound/music/lobby/dangerous_space/dangerous_space_2.ogg b/sound/music/lobby/dangerous_space/dangerous_space_2.ogg new file mode 100644 index 00000000000..1a7771091c0 Binary files /dev/null and b/sound/music/lobby/dangerous_space/dangerous_space_2.ogg differ diff --git a/sound/music/lobby/lights_edge/lights_edge_1.ogg b/sound/music/lobby/lights_edge/lights_edge_1.ogg new file mode 100644 index 00000000000..cd76ed367bf Binary files /dev/null and b/sound/music/lobby/lights_edge/lights_edge_1.ogg differ diff --git a/sound/music/lobby/lights_edge/lights_edge_2.ogg b/sound/music/lobby/lights_edge/lights_edge_2.ogg new file mode 100644 index 00000000000..7970718a9a9 Binary files /dev/null and b/sound/music/lobby/lights_edge/lights_edge_2.ogg differ diff --git a/texts/lore_radio/crescent_expanse/74.4_CE_Uncharted-Damaged_Station.txt b/texts/lore_radio/crescent_expanse/74.4_CE_Uncharted-Damaged_Station.txt new file mode 100644 index 00000000000..6b50ac32374 --- /dev/null +++ b/texts/lore_radio/crescent_expanse/74.4_CE_Uncharted-Damaged_Station.txt @@ -0,0 +1,16 @@ +/Kzzzzhhhrrtttt.../ +Awaiting resupply *kssrrt* CES-*hzzzsssss* +Low phoron reserves; *kzzhrtt* by dust storm-*bzzzhrt* +Awaiting resup-*hhssszzzzzzrt*-CES-*kzzhrtt* +/Bzzzzhhhhrrrttttt!/ +Good progress made in CES-144 and-*ssssssshhhhhhht* +*kssshrttt*-stalled by damage to Galga-*bzzzhrt* +-dire need of repairs. +/Ssszzzhhrrrttttt.../ +No Solarian activity in region since last-*kzzhrtt* +*kssshrttt*-continues to be very quiet. +Probe detected capital bluespace signature: Sawal system. +hhssszzzzzzrt* contact; will update. +/Kzzzhhhhttt.../ +Message set to rep-*bzzzhrt* +/Bzzzzhhhhrrrttttt!/ diff --git a/texts/lore_radio/crescent_expanse/83.6_CE_Uncharted-Pirate_Station.txt b/texts/lore_radio/crescent_expanse/83.6_CE_Uncharted-Pirate_Station.txt new file mode 100644 index 00000000000..187d278bd59 --- /dev/null +++ b/texts/lore_radio/crescent_expanse/83.6_CE_Uncharted-Pirate_Station.txt @@ -0,0 +1,127 @@ +/Kzzzzhhhhhttttt.../ +Bruv, I already toldya. The radio's carked it, but it's da only one we got. +So what if some talps listenin' in. +/Yes, okay! I'll use it./ +/Now get outta here, I got work to do!/ +Yuh, 'course, bov. +/Kzzzzhhhhhttttt.../ +/Bzzzhhhhrrrrtttt.../ +/Kkkkzzzzzzzhhhhtttt.../ +/Kzzzzhhhhhttttt.../ +/Bzzzhhhhrrrrtttt.../ +/Kkkkzzzzzzzhhhhtttt.../ +Man on the Moon, send your shuttle code. +... +Alright, you're good. Docking Arm Seven, third port, is waiting for you. +Tell the captain the boss wants a word. +... +Nah, he hasn't got a choice. +... +Alright, good. Out. +/Kssssshhhhhttttt.../ +/Kzzzzhhhhhttttt.../ +/Bzzzhhhhrrrrtttt.../ +ICV Penthesilea, good to hear from you! +... +Shit! Alrightalrightalright! +Arm Seven, Any Port. I'll have a maintenance team there by your arrival! +/Hey, Melvin!?/ +... +Penthesilea, maintenance team is staging. What can they expect? +... +Relayed. +... +Alright, listen carefully: Melv's asking if you've already cut the reactor's fuel injections? +... +Okay, good! Before you can dock then, we need you to crank your gyrotrons up. +... +As high as they go, Melvin's saying. Divert power from weapons and shielding systems if you haven't already. +... +... +Alright, well done. You're clear to dock; Arm Seven, Any Port. +Melv's staged with the maintenance team now. You're in good hands. +Out. +/Kzzzzzhhhhrrrrtttttt.../ +/Bzzzhhhhrrrrtttt.../ +/Kkkkzzzzzzzhhhhtttt.../ +/Kssssshhhhhttttt.../ +Purple Fields, received. +You're clear to dock. Let's see- +... +Arm Two, Port One. +... +Ah, received. +Hangar Eight, any pad. +... +Sweet, out. +/Kssssshhhhhttttt.../ +/Kzzzzhhhhhttttt.../ +/Bzzzhhhhrrrrtttt.../ +Hey, Bill. +... +How's the patrol going? +... +Figured. +Good to hear from you anyway. +... +Yeah, keep a look out for those tricksy toads. +Sick of them jamming me. +... +Yeah, that's right. One of the Xar'key systems... I don't fucking know... +They're probably why this fucking radio set up is so broken. +... +Good luck on another lap of the system. +You definitely got enough supplies on you? +... +Alright, great! +... +Yeah, out. +/Kzzzzzhhhhrrrrtttttt.../ +/Bzzzhhhhrrrrtttt.../ +/Kkkkzzzzzzzhhhhtttt.../ +/Kssssshhhhhttttt.../ +Unidentified vessel, halt and identify. +... +Unidentified vessel, identify immediately. +... +Black Hegoranssssssssssssssssi? Speak clearer. +... +Yeah, that's not a ship name on our whitelist. +Hold position right there. +... +Come in, No Gods No Kings? +... +Yeah, we got some freighter, fifteen gigametres out, not on the list. +Probably some no name smuggler here for their first time. +... +No, I don't need them pasted. Just a ship search and first payment collection. +... +Black Hegeranzi, hold position while we send a team down to greet you. +Cut your propulsion and weapon systems in the meantime. We don't want any misunderstandings. +... +Mhm, out. +/Kssssshhhhhttttt.../ +/Kzzzzhhhhhttttt.../ +/Bzzzhhhhrrrrtttt.../ +/Kzzzzzhhhhrrrrtttttt.../ +/Bzzzhhhhrrrrtttt.../ +/Kkkkzzzzzzzhhhhtttt.../ +/Kssssshhhhhttttt.../ +Paper Ship, full copy. +... +Oh, good haul! You hit some Orion mobile station or something? +... +Boss'll be happy. +Arm Seven, Port Two besides the Man on the Moon. +... +Good, out. +/Kssssshhhhhttttt.../ +/Kzzzzhhhhhttttt.../ +/Bzzzhhhhrrrrtttt.../ +/Kssssshhhhhttttt.../ +/Kzzzzhhhhhttttt.../ +/Bzzzhhhhrrrrtttt.../ +/Kzzzzzhhhhrrrrtttttt.../ +/Bzzzhhhhrrrrtttt.../ +/Kkkkzzzzzzzhhhhtttt.../ +/Kssssshhhhhttttt.../ diff --git a/texts/lore_radio/crescent_expanse/95.8_CE-Unlicensed_Music_Station.txt b/texts/lore_radio/crescent_expanse/95.8_CE-Unlicensed_Music_Station.txt new file mode 100644 index 00000000000..e87d9cf0250 --- /dev/null +++ b/texts/lore_radio/crescent_expanse/95.8_CE-Unlicensed_Music_Station.txt @@ -0,0 +1,115 @@ +/Kzzzhhhhhrrrrttttt.../ +YOUUU ARE LISTENING TO RAAAAAAAAAADIO MASYARA'TRIQ! +The GRRRRRRRRREATEST of radio stations in the Crescent Expanse! +I bring to you only the BEST rock and alt-indie music and Spur commentary, AWAY from state and megacorporate influence! +Become ungovernable with RADIO MASYARA'TRIQ! +/Kzzzzhhhhhtttt.../ +One, two, three! +ONE, TWO, THREE! +[RANDOMNOTE] [A heavy drum beat immediately kicks in, drenched in reverb!] [RANDOMNOTE] +[RANDOMNOTE] [Then a distorted guitar rips through!] [RANDOMNOTE] +[RANDOMNOTE] LOOK AT YOU NOW, WHAT YOU READ IN THEIR BOOKS, [RANDOMNOTE] +[RANDOMNOTE] All theeeey offered! [RANDOMNOTE] +[RANDOMNOTE] YOU PAY FOR YOUR LIFESTYLE WITH WHAT YOU EARN, [RANDOMNOTE] +[RANDOMNOTE] Threeee meals aaaa day! [RANDOMNOTE] +[RANDOMNOTE] A PACK OF GETMORE CHIPS, ONE POUCH OF DROMEDARY, [RANDOMNOTE] +[RANDOMNOTE] Baaag of wuuulu! [RANDOMNOTE] +[RANDOMNOTE] YOU PAY YOUR RENT, BILLS, INSURANCE, IT ALL REPEATS! [RANDOMNOTE] +[RANDOMNOTE] Siiiit and dweeeell! [RANDOMNOTE] +[RANDOMNOTE] [The drums continue to crash down as the distorted guitar goes off on a long solo!] [RANDOMNOTE] +[RANDOMNOTE] WHY LIST THE FRUITS OF YOUR LABOUR, [RANDOMNOTE] +[RANDOMNOTE] When laaabour is yoour life? [RANDOMNOTE] +[RANDOMNOTE] HERE'S A NEW OFFER: FORGE A NEW FUTURE! [RANDOMNOTE] +[RANDOMNOTE] A neeew fuuuture! [RANDOMNOTE] +[RANDOMNOTE] DOWN WITH THE MASTERS AND THEIR OLD PAST, [RANDOMNOTE] +[RANDOMNOTE] The Spuuur is ours! [RANDOMNOTE] +[RANDOMNOTE] WE CAN LIVE, WE CAN LOVE, WE CAN SPREAD, [RANDOMNOTE] +[RANDOMNOTE] We can chaaange each other! [RANDOMNOTE] +[RANDOMNOTE] IF WE'RE STOPPED, WE'LL JUST START AGAIN! [RANDOMNOTE] +[RANDOMNOTE] THERE'S CAN BE NO MORE GIVING UP! [RANDOMNOTE] +[RANDOMNOTE] WAAAAAAAAAAAAAAAAAAAAAUGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGH!!! [RANDOMNOTE] +[RANDOMNOTE] [As the singer's scream is punctuated by a hoarse gasp, the drum's symbols drop down!] [RANDOMNOTE] +[RANDOMNOTE] [The distortion guitar goes off on another frantic solo, before the track ends with the bands' laughter!] [RANDOMNOTE] +/Bzzzzhhhhhrrrrttttt.../ +/ YOUUU ARE LISTENING TO RAAAAAAAAAADIO MASYARA'TRIQ! / +/ Become ungovernable with RADIO MASYARA'TRIQ! / +/Kzzzzhhhhhtttt.../ +That was New Future by /GUILLOTINE KISS/! +AW, YEAH! [A flurry of chirrups are heard by the skrell DJ!] +Stars, that was so fucking algae. +GUILLOTINE KISS is easily my favourite spark band; they will certainly shine bright. +Heed their message! +/Bzzzzhhhhhrrrrttttt.../ +[RANDOMNOTE] [Some gentle guitar strums enter...] [RANDOMNOTE] +Here we haaaaaaaaaaaaave-- +/WithoutCrew!/ +Playing... /Heat Death!/ +[RANDOMNOTE] [The strumming builds, and a drum symbol is gently sounded...] [RANDOMNOTE] +[RANDOMNOTE] The ship sings of a slow decline, [RANDOMNOTE] +[RANDOMNOTE] The hull bends with a painful whine. [RANDOMNOTE] +[RANDOMNOTE] A star dies, which one next time? [RANDOMNOTE] +[RANDOMNOTE] Hear the shaitain: a coming sign. [RANDOMNOTE] +[RANDOMNOTE] [The drums crash down, and a slow, arpeggio guitar solo plays...] [RANDOMNOTE] +[RANDOMNOTE] [The solo continues to build, distortion added!] [RANDOMNOTE] +[RANDOMNOTE] To the Grand Captain we all went, [RANDOMNOTE] +[RANDOMNOTE] "The stars are dying, give your assent!" [RANDOMNOTE] +[RANDOMNOTE] Chasing the final stars, we were sent, [RANDOMNOTE] +[RANDOMNOTE] SURVIVAL BENT! [RANDOMNOTE] +[RANDOMNOTE] Cling to the light and give me your ear, [RANDOMNOTE] +[RANDOMNOTE] We were made for this, you and our aiseheer! [RANDOMNOTE] +[RANDOMNOTE] There's a star not far, just persevere, [RANDOMNOTE] +[RANDOMNOTE] It cuts through the black like a golden spear! [RANDOMNOTE] +[RANDOMNOTE] [The guitar whines into a lower key!] [RANDOMNOTE] +[RANDOMNOTE] Balance the scales at your feet, [RANDOMNOTE] +[RANDOMNOTE] How much barley, rice, how much buckwheat? [RANDOMNOTE] +[RANDOMNOTE] Slay the last hakhma for meat! [RANDOMNOTE] +[RANDOMNOTE] Cut him loose, only the best can eat! [RANDOMNOTE] +[RANDOMNOTE] [Another guitar solo plays, the volume simmering down...] [RANDOMNOTE] +[RANDOMNOTE] Here at the universe's final breath, [RANDOMNOTE] +[RANDOMNOTE] By the ship's grace, we did cheat death. [RANDOMNOTE] +[RANDOMNOTE] For how long? Not very long, [RANDOMNOTE] +[RANDOMNOTE] but all we can do is carry on. [RANDOMNOTE] +[RANDOMNOTE] It's not quite tujmansaal, [RANDOMNOTE] +[RANDOMNOTE] Never will we see a port of call, [RANDOMNOTE] +[RANDOMNOTE] But we'll be the last to see the nightfall. [RANDOMNOTE] +[RANDOMNOTE] [A guitar's arpeggio solo slowly fades out...] [RANDOMNOTE] +/Bzzzzhhhhhrrrrttttt.../ +/ YOUUU ARE LISTENING TO RAAAAAAAAAADIO MASYARA'TRIQ! / +/ Become ungovernable with RADIO MASYARA'TRIQ! / +/Kzzzzhhhhhtttt.../ +YEAH!! +That was /WithoutCrew/, playing /Heat Death/! +I've not followed them much, but stars... +- I hope they're eating well! +... +... +[The skrell DJ lets out a guttural warble...] +Oh, shit. +Am I zipped or whaaaaaaaaaat? +... +[A throaty croon...] +Nope. +... +GUUUUUUUUUUUUPPY ALERT! We got a biiiiiiiig ship entering the region. +Be careful out there, that's a chunky bluespace signature. +... +Ship just a little bigger than the pirate lord's, YOWZA! +... +I gotta scoot and warm some sqrugs of mine. +Lemmie quickly loop this for the rest of the day... +... +[The skrell can be heard knocking some things over, croaking all ther while.] +... +/Bzzzzhhhhhrrrrttttt.../ +/ YOUUU ARE LISTENING TO RAAAAAAAAAADIO MASYARA'TRIQ! / +/ Become ungovernable with RADIO MASYARA'TRIQ! / +/Kzzzzhhhhhtttt.../ +/Bzzzzhhhhhrrrrttttt.../ +/Kzssshhhhhtttt.../ +/Hzzzhrrrrttt.../ +/Bzzzzhhhhhrrrrttttt.../ +/Kzzzzhhhhhtttt.../ +/Bzzzzhhhhhrrrrttttt.../ +/Kzssshhhhhtttt.../ +/Hzzzhrrrrttt.../ +/Bzzzzhhhhhrrrrttttt.../ \ No newline at end of file