From 8e367c0d8db0e4c184ad0c4df1447bd0efabda5b Mon Sep 17 00:00:00 2001 From: Killian Date: Wed, 13 Nov 2024 12:38:16 +0000 Subject: [PATCH] traffic update --- code/modules/busy_space_vr/air_traffic.dm | 123 ++++++++-------- code/modules/busy_space_vr/organizations.dm | 153 +++++++++++++------- 2 files changed, 164 insertions(+), 112 deletions(-) diff --git a/code/modules/busy_space_vr/air_traffic.dm b/code/modules/busy_space_vr/air_traffic.dm index 44757b0e533..ae9b1725a8b 100644 --- a/code/modules/busy_space_vr/air_traffic.dm +++ b/code/modules/busy_space_vr/air_traffic.dm @@ -78,7 +78,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/name = source.name //get the name var/owner = source.short_name //Use the short name var/prefix = pick(source.ship_prefixes) //Pick a random prefix - var/firstid = "[rand(1,9)][rand(0,9)][rand(0,9)][rand(0,9)]" + var/firstid = "[rand(0,9)][rand(0,9)][rand(0,9)][rand(0,9)]" var/mission = source.ship_prefixes[prefix] //The value of the prefix is the mission type that prefix does var/shipname = pick(source.ship_names) //Pick a random ship name var/destname = pick(source.destination_names) //destination is where? @@ -87,9 +87,9 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller //pick our second ship //var/secondname = secondary.name //not used atm, commented out to suppress errors - //var/secondowner = secondary.short_name //ditto + var/secondowner = secondary.short_name var/secondprefix = pick(secondary.ship_prefixes) //Pick a random prefix - var/secondid = "[rand(1,9)][rand(0,9)][rand(0,9)][rand(0,9)]" + var/secondid = "[rand(0,9)][rand(0,9)][rand(0,9)][rand(0,9)]" var/secondshipname = pick(secondary.ship_names) //Pick a random ship name var/org_type2 = secondary.org_type @@ -100,7 +100,9 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller //DEBUG BLOCK ENDS var/combined_first_name = "[prefix] [firstid] |[shipname]|" + var/comm_first_name = "[comm_first_name]" var/combined_second_name = "[secondprefix] [secondid] |[secondshipname]|" + var/comm_second_name = "[secondowner] [shipname]" var/mission_noun = pick(source.flight_types) //pull from a list of owner-specific flight ops, to allow an extra dash of flavor if(source.complex_tasks) //if our source has the complex_tasks flag, regenerate with a two-stage assignment @@ -141,7 +143,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller chatter_type = "hostiledetected" //SDF-specific events that need to filter based on the second party (basically just the following SDF-unique list with the soft-result ship scan thrown in) else if(org_type == "system defense" && (org_type2 == "government" || org_type2 == "neutral" || org_type2 == "military" || org_type2 == "corporate" || org_type2 == "spacer")) //let's see if we can narrow this down, I didn't see many ship-to-ship scans - chatter_type = pick(75;"policeshipscan","sdfpatrolupdate",75;"sdfendingpatrol",180;"dockingrequestgeneric",20;"undockingrequest",75;"sdfbeginpatrol",50;"normal",10;"civvieleaks") + chatter_type = pick(75;"policeshipscan","sdfpatrolupdate",75;"sdfendingpatrol",180;"dockingrequestgeneric",20;"undockingrequest",75;"sdfbeginpatrol",50;"normal",10;"civvieleaks",70;"sdfchatter") //SDF-specific events that don't require the secondary at all, in the event that we manage to roll SDF + hostile/smuggler or something else if(org_type == "system defense") chatter_type = pick("sdfpatrolupdate",60;"sdfendingpatrol",120;"dockingrequestgeneric",20;"undockingrequest",80;"sdfbeginpatrol","normal","sdfchatter") @@ -168,16 +170,19 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller landing_type = "landing pad" landing_move = "landing request" landing_short = "land" + callname = "[using_map.dock_name] Tower" if("frontier") //for frontier bases - landing spots are literally just open ground, maybe concrete at best landing_zone = "LZ [zone]" landing_type = "landing zone" landing_move = "landing request" landing_short = "land" + callname = "[using_map.dock_name] Tower" if("station") //standard station pattern landing_zone = "docking bay [number]" landing_type = "docking bay" landing_move = "docking request" landing_short = "dock" + callname = "[using_map.dock_name] Control" // what you're about to witness is what feels like an extremely kludgy rework of the system, but it's more 'flexible' and allows events that aren't just ship-stc-ship // something more elegant could probably be done, but it won't be done by somebody as half-competent as me @@ -185,11 +190,11 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller //mayday call if("emerg") var/problem = pick("We have hull breaches on multiple decks","We have unknown hostile life forms on board","Our primary drive is failing","We have [pick("asteroids","space debris")] impacting the hull","We're experiencing a total loss of engine power","We have hostile ships closing fast","There's smoke [pick("in the cockpit","on the bridge")]","We have unidentified boarders","Our reaction control system is malfunctioning and we're losing stability","Our life support [pick("is failing","has failed")]") - msg("+Mayday, mayday, mayday!+ [combined_first_name], declaring an emergency! [problem]!","[prefix] [shipname]") + msg("+Mayday, mayday, mayday!+ [combined_first_name], declaring an emergency! [problem]!","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Switch to emergency responder channel [ertchannel].") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[callname], [combined_first_name] switching now.","[prefix] [shipname]") + msg("[callname], [combined_first_name] switching now.","[comm_first_name]") //Control scan event: soft outcome if("policescan") var/confirm = pick("Understood","Roger that","Affirmative","Very well","Copy that") @@ -197,11 +202,11 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear, move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.") msg("[combined_first_name], [callname], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[confirm] [callname], holding position.","[prefix] [shipname]") + msg("[confirm] [callname], holding position.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("Your compliance is appreciated, [combined_first_name]. Scan commencing.") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) - msg(complain,"[prefix] [shipname]") + msg(complain,"[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*3 SECONDS) msg("[combined_first_name], [callname]. Scan complete. [completed]") //Control scan event: hard outcome @@ -217,90 +222,90 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/confirm = pick("Understood","Roger that","Affirmative") var/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?","I'm sure you'll find everything to be in order, officer.") var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear. Move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.") - msg("[combined_second_name], [combined_first_name], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.","[prefix] [shipname]") + msg("[combined_second_name], [combined_first_name], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[confirm] [combined_first_name], holding position.","[secondprefix] [secondshipname]") + msg("[confirm] [combined_first_name], holding position.","[comm_second_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Your compliance is appreciated, [combined_second_name]. Scan commencing.","[prefix] [shipname]") + msg("Your compliance is appreciated, [combined_second_name]. Scan commencing.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) - msg(complain,"[secondprefix] [secondshipname]") + msg(complain,"[comm_second_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*3 SECONDS) - msg("[combined_second_name], [combined_first_name]. Scan complete. [completed]","[prefix] [shipname]") + msg("[combined_second_name], [combined_first_name]. Scan complete. [completed]","[comm_first_name]") //SDF scan event: hard outcome if("policeshipflee") var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, |[shipname]|.","Ah |hell|.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!","Ah f- |ditch the containers!| +Now!+","Unless you have something a little +bigger+ in your torpedo tubes, we're |not| turning around!") - msg("Unknown [pick("ship","vessel","starship")], [combined_second_name], identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.","[secondprefix] [secondshipname]") + msg("Unknown [pick("ship","vessel","starship")], [combined_second_name], identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.","[comm_second_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[uhoh]","Unknown Vessel") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[using_map.starsys_name] Defense Control, [combined_second_name]. We have a [prefix] here, please advise.","[secondprefix] [secondshipname]") + msg("[using_map.starsys_name] Defense Control, [combined_second_name]. We have a [prefix] here, please advise.","[comm_second_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("Defense Control copies, [combined_second_name], reinforcements are en route. Switch further communications to encrypted band [sdfchannel].","[using_map.starsys_name] Defense Control") //SDF scan event: engage primary in combat! fairly rare since it needs a pirate/vox + SDF roll if("policeshipcombat") var/battlestatus = pick("requesting reinforcements.","we need backup! Now!","holding steady.","we're holding our own for now.","we have them on the run.","they're trying to make a run for it!","we have them right where we want them.","we're badly outgunned!","we have them outgunned.","we're outnumbered here!","we have them outnumbered.","this'll be a cakewalk.",10;"notify their next of kin.") - msg("[using_map.starsys_name] Defense Control, [combined_second_name], engaging [combined_first_name] [pick("near route","in sector")] [rand(1,100)], [battlestatus]","[secondprefix] [secondshipname]") + msg("[using_map.starsys_name] Defense Control, [combined_second_name], engaging [combined_first_name] [pick("near route","in sector")] [rand(1,100)], [battlestatus]","[comm_second_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[using_map.starsys_name] Defense Control copies, [combined_second_name]. Keep us updated.","[using_map.starsys_name] Defense Control") //SDF event: patrol update if("sdfpatrolupdate") var/statusupdate = pick("nothing unusual so far","nothing of note","everything looks clear so far","ran off some [pick("pirates","scavengers")] near route [pick(1,100)], [pick("no","minor")] damage sustained, continuing patrol","situation normal, no suspicious activity yet","minor incident on route [pick(1,100)]","Code 7-X [pick("on route","in sector")] [pick(1,100)], situation is under control","seeing a lot of traffic on route [pick(1,100)]","caught a couple of smugglers [pick("on route","in sector")] [pick(1,100)]","sustained some damage in a skirmish just now, we're heading back for repairs") - msg("[using_map.starsys_name] Defense Control, [combined_first_name] reporting in, [statusupdate], over.","[prefix] [shipname]") + msg("[using_map.starsys_name] Defense Control, [combined_first_name] reporting in, [statusupdate], over.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[using_map.starsys_name] Defense Control copies, [combined_first_name]. Keep us updated, out.","[using_map.starsys_name] Defense Control") //SDF event: end patrol if("sdfendingpatrol") var/appreciation = pick("Copy","Understood","Affirmative","10-4","Roger that") var/dockingplan = pick("Starting final approach now.","Commencing landing procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") - msg("[callname], [combined_first_name], returning from our system patrol route, requesting permission to [landing_short].","[prefix] [shipname]") + msg("[callname], [combined_first_name], returning from our system patrol route, requesting permission to [landing_short].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[appreciation], [callname]. [dockingplan]","[prefix] [shipname]") + msg("[appreciation], [callname]. [dockingplan]","[comm_first_name]") //SDF event: general chatter if("sdfchatter") var/chain = pick("codecheck","commscheck") switch(chain) if("codecheck") - msg("Check. Check. |Check|. Uhhh... check? Wait. Wait! Hold on. Yeah, okay, I gotta call this one in.","[prefix] [shipname]") + msg("Check. Check. |Check|. Uhhh... check? Wait. Wait! Hold on. Yeah, okay, I gotta call this one in.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[callname], confirm auth-code... [rand(1,9)][rand(1,9)][rand(1,9)]-[pick("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega")]?","[prefix] [shipname]") + msg("[callname], confirm auth-code... [rand(1,9)][rand(1,9)][rand(1,9)]-[pick("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega")]?","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("One moment...") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*2 SECONDS) msg("Yeah, that code checks out [combined_first_name].") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("|(sigh)| Copy that Control. You! Move along!","[prefix] [shipname]") + msg("|(sigh)| Copy that Control. You! Move along!","[comm_first_name]") if("commscheck") - msg("Control this is [combined_first_name], we're getting some interference in our area. [pick("How's our line?","Do you read?","How copy, over?")]","[prefix] [shipname]") + msg("Control this is [combined_first_name], we're getting some interference in our area. [pick("How's our line?","Do you read?","How copy, over?")]","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("Control reads you loud and clear [combined_first_name].","[using_map.starsys_name] Defense Control") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[pick("Copy that","Thanks,","Roger that")] Control. [combined_first_name] out.","[prefix] [shipname]") + msg("[pick("Copy that","Thanks,","Roger that")] Control. [combined_first_name] out.","[comm_first_name]") //Civil event: leaky chatter if("civvieleaks") var/commleak = pick("thatsmywife","missingkit","pipeleaks","weirdsmell","weirdsmell2","scug","teppi") switch(commleak) if("thatsmywife") - msg("-so then I says to him, |that's no [pick("space carp","space shark","vox","garbage scow","freight liner","cargo hauler","superlifter")], that's my +wife!+| And he-","[prefix] [shipname]") + msg("-so then I says to him, |that's no [pick("space carp","space shark","vox","garbage scow","freight liner","cargo hauler","superlifter")], that's my +wife!+| And he-","[comm_first_name]") if("missingkit") - msg("-did you get the kit from down on deck [rand(1,4)]? I need th-","[prefix] [shipname]") + msg("-did you get the kit from down on deck [rand(1,4)]? I need th-","[comm_first_name]") if("pipeleaks") - msg("I swear if these pipes keep leaking I'm going to-","[prefix] [shipname]") + msg("I swear if these pipes keep leaking I'm going to-","[comm_first_name]") if("weirdsmell") - msg("-and where the hell is that smell coming fr-","[prefix] [shipname]") + msg("-and where the hell is that smell coming fr-","[comm_first_name]") if("weirdsmell2") - msg("-hat in the [pick("three","five","seven","nine")] hells did you |eat| [pick("ensign","crewman")]? This compartment reeks of-","[prefix] [shipname]") + msg("-hat in the [pick("three","five","seven","nine")] hells did you |eat| [pick("ensign","crewman")]? This compartment reeks of-","[comm_first_name]") if("scug") - msg("-and if that weird cat of yours keeps crawling into the pipes we-","[prefix] [shipname]") + msg("-and if that weird cat of yours keeps crawling into the pipes we-","[comm_first_name]") if("teppi") - msg("-at are we supposed to do with this damn cow?","[prefix] [shipname]") + msg("-at are we supposed to do with this damn cow?","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("I don't think it's a cow, sir, it looks more like a-","[prefix] [shipname]") + msg("I don't think it's a cow, sir, it looks more like a-","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], your internal comms are leaking[pick("."," again.",", again.",". |Again|.")]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Sorry Control, won't happen again.","[prefix] [shipname]") + msg("Sorry Control, won't happen again.","[comm_first_name]") //DefCon event: hostile found if("hostiledetected") var/orders = pick("Engage on sight","Engage with caution","Engage with extreme prejudice","Engage at will","Search and destroy","Bring them in alive, if possible","Interdict and detain","Keep your eyes peeled","Bring them in, dead or alive","Stay alert") @@ -312,24 +317,24 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/state = pick(66;"calm",34;"panic") switch(state) if("calm") - msg("[using_map.starsys_name] Defense Control, [combined_first_name].","[prefix] [shipname]") + msg("[using_map.starsys_name] Defense Control, [combined_first_name].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [using_map.starsys_name] Defense Control.","[using_map.starsys_name] Defense Control") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Another vessel in our area is moving [pick("aggressively","suspiciously","erratically","unpredictably","with clear hostile intent")], please advise? Forwarding sensor data now.","[prefix] [shipname]","[prefix] [shipname]") + msg("Another vessel in our area is moving [pick("aggressively","suspiciously","erratically","unpredictably","with clear hostile intent")], please advise? Forwarding sensor data now.","[comm_first_name]","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [using_map.starsys_name] Defense Control copies. Sensor data matches logged profile for [secondprefix] |[secondshipname]|. SDF units are en route to your location.","[using_map.starsys_name] Defense Control") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[pick("Appreciated","Copy that","Understood")], Control. Switching to [sdfchannel] to coordinate.","[prefix] [shipname]") + msg("[pick("Appreciated","Copy that","Understood")], Control. Switching to [sdfchannel] to coordinate.","[comm_first_name]") if("panic") - msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! We are under attack! Requesting immediate assistance!","[prefix] [shipname]") + msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! We are under attack! Requesting immediate assistance!","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [using_map.starsys_name] Defense Control. SDF is en route, contact on [sdfchannel].") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[pick("Copy that","Understood")] [using_map.starsys_name] Defense Control, switching now!","[prefix] [shipname]") + msg("[pick("Copy that","Understood")] [using_map.starsys_name] Defense Control, switching now!","[comm_first_name]") //Control event: travel advisory if("traveladvisory") - var/flightwarning = pick("Solar flare activity is spiking and expected to cause issues along main flight lanes [rand(1,33)], [rand(34,67)], and [rand(68,100)]","Pirate activity is on the rise, stay close to System Defense vessels","We're seeing a rise in illegal salvage operations, please report any unusual activity to the nearest SDF vessel via channel [sdfchannel]","A quarantined [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","A prison [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","Traffic volume is higher than normal, expect processing delays","Anomalous bluespace activity detected [pick("along route [rand(1,100)]","in sector [rand(1,100)]")], exercise caution","Smugglers have been particularly active lately, expect increased security scans","Depots are currently experiencing a fuel shortage, expect delays and higher rates","Asteroid mining has displaced debris dangerously close to main flight lanes on route [rand(1,100)], watch for potential impactors","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] has collided with [pick("a fuel tanker","a cargo liner","a passenger liner","a freighter","a transport ship","a mining barge","a salvage trawler","a meteoroid","a cluster of space debris","an asteroid","an ice-rich comet")] near route [rand(1,100)], watch for debris and do not impede emergency service vessels","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] on route [rand(1,100)] has experienced total engine failure. Emergency response teams are en route, please observe minimum safe distances and do not impede emergency service vessels","Transit routes have been recalculated to adjust for planetary drift. Please synch your astronav computers as soon as possible to avoid delays and difficulties","[pick("Bounty hunters","System Defense officers","Mercenaries")] are currently searching for a wanted fugitive, report any sightings of suspicious activity to System Defense via channel [sdfchannel]",10;"It's space [pick("carp","shark")] breeding season. [pick("Stars","Skies","Gods","God","Goddess","Fates")] have mercy on you all") + var/flightwarning = pick("Solar flare activity is spiking and expected to cause issues along main flight lanes [rand(1,33)], [rand(34,67)], and [rand(68,100)]","Pirate activity is on the rise, stay close to System Defense vessels","We're seeing a rise in illegal salvage operations, please report any unusual activity to the nearest SDF vessel via channel [sdfchannel]","A quarantined [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","A prison [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","Traffic volume is higher than normal, expect processing delays","Anomalous bluespace activity detected [pick("along route [rand(1,100)]","in sector [rand(1,100)]")], exercise caution","Smugglers have been particularly active lately, expect increased security scans","Depots are currently experiencing a fuel shortage, expect delays and higher rates","Asteroid mining has displaced debris dangerously close to main flight lanes on route [rand(1,100)], watch for potential impactors","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] has collided with [pick("a fuel tanker","a cargo liner","a passenger liner","a freighter","a transport ship","a mining barge","a salvage trawler","a meteoroid","a cluster of space debris","an asteroid","an ice-rich comet")] near route [rand(1,100)], watch for debris and do not impede emergency service vessels","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship","mining barge","salvage trawler")] on route [rand(1,100)] has experienced total engine failure. Emergency response teams are en route, please observe minimum safe distances and do not impede emergency service vessels","Transit routes have been recalculated to adjust for planetary drift. Please synch your astronav computers as soon as possible to avoid delays and difficulties","[pick("Bounty hunters","System Defense officers","Mercenaries")] are currently searching for a wanted fugitive, report any sightings of suspicious activity to System Defense via channel [sdfchannel]",10;"It's space [pick("carp","shark")] breeding season. [pick("Stars","Skies","Gods","God","Goddess","Fates")] have mercy on you all","We're reading [pick("void","drive","sensor")] echoes that are consistent with illegal cloaking devices") msg("[callname], all vessels in the [using_map.starsys_name] system. Priority travel advisory follows.") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[flightwarning]. Control out.") @@ -339,7 +344,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/confirm = pick("Understood","Roger that","Affirmative","Our bad","Thanks for the heads up") msg("[combined_first_name], [callname], your [pick("ship","vessel","starship")] is approaching [navhazard], observe minimum safe distance and adjust your heading appropriately.") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[confirm] [callname], adjusting course.","[prefix] [shipname]") + msg("[confirm] [callname], adjusting course.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("Your compliance is appreciated, [combined_first_name].") //Control event: personnel report to dock @@ -355,20 +360,20 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/dockingplan = pick("Starting final approach now.","Commencing landing procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.") switch(request_type) if("generic") - msg("[callname], [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[prefix] [shipname]") + msg("[callname], [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") if("delayed") var/reason = pick( "we don't have any free [landing_type]s right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]", "you're too far away, please close to ten thousand meters","we're seeing heavy traffic around the [landing_type]s right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]","ground crews are currently clearing up [pick("loose containers","a fuel spill")] to free up one of our [landing_type]s, please [pick("stand by for a couple of minutes","hold for a few minutes")]","another vessel has aerospace priority right now, please [pick("stand by for a couple of minutes","hold for a few minutes")]") - msg("[callname], [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[prefix] [shipname]") + msg("[callname], [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Request denied, [reason] and resubmit your request.") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("Understood, [callname].","[prefix] [shipname]") + msg("Understood, [callname].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*60 SECONDS) - msg("[callname], [combined_first_name], resubmitting [landing_move].","[prefix] [shipname]") + msg("[callname], [combined_first_name], resubmitting [landing_move].","[comm_first_name]") sleep (5 SECONDS) msg("[combined_first_name], [callname]. Everything appears to be in order now, permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") if("supply") @@ -376,38 +381,38 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/intensifier = pick("very","pretty","critically","extremely","dangerously","desperately","kinda","a little","a bit","rather","sorta") var/low_thing = pick("ammunition","munitions","clean water","food","spare parts","medical supplies","reaction mass","gas","hydrogen fuel","phoron fuel","fuel",10;"tea",10;"coffee",10;"soda",10;"pizza",10;"beer",10;"booze",10;"vodka",10;"snacks") //low chance of a less serious shortage appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") - msg("[callname], [combined_first_name]. We're [preintensifier][intensifier] low on [low_thing]. Requesting permission to [landing_short] for resupply.","[prefix] [shipname]") + msg("[callname], [combined_first_name]. We're [preintensifier][intensifier] low on [low_thing]. Requesting permission to [landing_short] for resupply.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in.") if("repair") var/damagestate = pick("We've experienced some hull damage","We're suffering minor system malfunctions","We're having some [pick("weird","strange","odd","unusual")] technical issues","We're overdue maintenance","We have several minor space debris impacts","We've got some battle damage here","Our reactor output is fluctuating","We're hearing some weird noises from the [pick("engines","pipes","ducting","HVAC")]","We just got caught in a solar flare","We had a close call with an asteroid","We have a [pick("minor","mild","major","serious")] [pick("fuel","water","oxygen","gas")] leak","We have depressurized compartments","We have a hull breach","One of our [pick("hydraulic","pneumatic")] systems has depressurized","Our [pick("life support","water recycling system","navcomp","shield generator","reaction control system","auto-repair system","repair drone controller","artificial gravity generator","environmental control system","master control system")] is [pick("failing","acting up","on the fritz","shorting out","glitching out","freaking out","malfunctioning")]") appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") - msg("[callname], [combined_first_name]. [damagestate]. Requesting permission to [landing_short] for repairs and maintenance.","[prefix] [shipname]") + msg("[callname], [combined_first_name]. [damagestate]. Requesting permission to [landing_short] for repairs and maintenance.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Repair crews are standing by, contact them on channel [engchannel].") if("medical") var/species = pick("human","humanoid","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien",5;"catslug") var/medicalstate = pick("multiple casualties","several cases of radiation sickness","an unknown virus","an unknown infection","a critically injured VIP","sick refugees","multiple cases of food poisoning","injured [pick("","[species] ")]passengers","sick [pick("","[species] ")]passengers","injured engineers","wounded marines","a delicate situation","a pregnant passenger","injured [pick("","[species] ")]castaways","recovered escape pods","unknown escape pods") appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you") - msg("[callname], [combined_first_name]. We have [medicalstate] on board. Requesting permission to [landing_short] for medical assistance.","[prefix] [shipname]") + msg("[callname], [combined_first_name]. We have [medicalstate] on board. Requesting permission to [landing_short] for medical assistance.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Medtechs are standing by, contact them on channel [medchannel].") if("security") var/species = pick("human","humanoid","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien",5;"catslug") var/securitystate = pick("several [species] convicts","a captured pirate","a wanted criminal","[species] stowaways","incompetent [species] shipjackers","a delicate situation","a disorderly passenger","disorderly [species] passengers","ex-mutineers","stolen goods","[pick("a container","containers")] full of [pick("confiscated contraband","stolen goods")]",5;"a very lost shadekin",10;"some kinda big wooly critter",15;"a buncha lost-looking uh... cat... slug... |things?|",10;"a raging case of [pick("spiders","crabs","geese","gnats","sharks","carp")]") //gotta have a little something to lighten the mood now and then appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","Perfect, thank you") - msg("[callname], [combined_first_name]. We have [securitystate] on board and require security assistance. Requesting permission to [landing_short].","[prefix] [shipname]") + msg("[callname], [combined_first_name]. We have [securitystate] on board and require security assistance. Requesting permission to [landing_short].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Permission granted, proceed to [landing_zone]. Follow the green lights on your way in. Security teams are standing by, contact them on channel [secchannel].") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[appreciation], [callname]. [dockingplan]","[prefix] [shipname]") + msg("[appreciation], [callname]. [dockingplan]","[comm_first_name]") //Ship event: undocking request if("undockingrequest") var/request_type = pick(150;"generic",50;"delayed") var/takeoff = pick("depart","launch") var/safetravels = pick("Fly safe out there","Good luck","Safe travels","See you next week","Godspeed","Stars guide you") var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too","So long") - msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[prefix] [shipname]") + msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) switch(request_type) if("generic") @@ -416,26 +421,26 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller var/denialreason = pick("Docking clamp malfunction, please hold","Fuel lines have not been secured","Ground crew are still on the pad","Loose containers are on the pad","Exhaust deflectors are not yet in position, please hold","There's heavy traffic right now, it's not safe for your vessel to launch","Another vessel has aerospace priority at this moment","Port officials are still aboard") msg("Negative [combined_first_name], request denied. [denialreason]. Try again in a few minutes.") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY)*60 SECONDS) - msg("[callname], [combined_first_name], re-requesting permission to depart from [landing_zone].","[prefix] [shipname]") + msg("[callname], [combined_first_name], re-requesting permission to depart from [landing_zone].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Everything appears to be in order now, permission granted. Docking clamps released. [safetravels].") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[thanks], [callname]. This is [combined_first_name] setting course for [destname], out.","[prefix] [shipname]") + msg("[thanks], [callname]. This is [combined_first_name] setting course for [destname], out.","[comm_first_name]") //SDF event: starting patrol if("sdfbeginpatrol") var/safetravels = pick("Fly safe out there","Good luck","Good hunting","Safe travels","Godspeed","Stars guide you") var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too") var/takeoff = pick("depart","launch","take off","dust off") - msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone] to begin system patrol.","[prefix] [shipname]") + msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone] to begin system patrol.","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname]. Permission granted. Docking clamps released. [safetravels].") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[thanks], [callname]. This is [combined_first_name] beginning system patrol, out.","[prefix] [shipname]") + msg("[thanks], [callname]. This is [combined_first_name] beginning system patrol, out.","[comm_first_name]") //Ship event: undocking request (denied) if("undockingdenied") var/takeoff = pick("depart","launch") var/denialreason = pick("Security is requesting a full cargo inspection","Your ship has been impounded for multiple [pick("security","safety")] violations","Your ship is currently under quarantine lockdown","We have reason to believe there's an issue with your papers","Security personnel are currently searching for a fugitive and have ordered all outbound ships remain grounded until further notice") - msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[prefix] [shipname]") + msg("[callname], [combined_first_name], requesting permission to [takeoff] from [landing_zone].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("Negative [combined_first_name], request denied. [denialreason].") if("slogan") @@ -443,22 +448,22 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller sleep(5 SECONDS) msg("[slogan]","Facility PA") else //time for generic message - msg("[callname], [combined_first_name] on [mission] [pick(mission_noun)] to [destname], requesting [request].","[prefix] [shipname]") + msg("[callname], [combined_first_name] on [mission] [pick(mission_noun)] to [destname], requesting [request].","[comm_first_name]") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) msg("[combined_first_name], [callname], [response].") sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) - msg("[callname], [yes ? "thank you" : "understood"], out.","[prefix] [shipname]") + msg("[callname], [yes ? "thank you" : "understood"], out.","[comm_first_name]") return //oops, forgot to restore this /* //OLD BLOCK, for reference //Ship sends request to ATC - msg(full_request,"[prefix] [shipname]" + msg(full_request,"[comm_first_name]" sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) //ATC sends response to ship msg(full_response) sleep(rand(MIN_MSG_DELAY,MAX_MSG_DELAY) SECONDS) //Ship sends response to ATC - msg(full_closure,"[prefix] [shipname]") + msg(full_closure,"[comm_first_name]") return */ diff --git a/code/modules/busy_space_vr/organizations.dm b/code/modules/busy_space_vr/organizations.dm index 54253cddca8..afa86ebb8c5 100644 --- a/code/modules/busy_space_vr/organizations.dm +++ b/code/modules/busy_space_vr/organizations.dm @@ -59,6 +59,7 @@ "Eclipse", "Maverick", "Polaris", + "Northstar", "Orion", "Odyssey", "Relentless", @@ -184,6 +185,15 @@ "Morning Swan", "Black Cat", "Challenger", + "Freshly Baked", + "Citrus Punch", + "Made With Real Fruit", + "Big D", + "Shaken, Not Stirred", + "Freedom Ain't Free", + "Pay It Forward", + "All Expenses Paid", + "Tanstaafl", /* There Ain't No Such Thing As A Free Lunch */ "Savage Chicken", "Homestead", "Peacekeeper", @@ -194,7 +204,38 @@ "Redline", "Wild Dog", "Black Eagle", + "Ace of Spades", + "Monte Carlo", + "Dead Man's Hand", + "Icebreaker", + "Spirit of Alliance", + "Surrounded By Idiots", + "Instrument of Violence", + "Entropic Whisper", + "Cash and Prizes", + "Crash Course", + "Wheel of Fortune", + "Little Light", + "Leave Only Footprints", + "Dead Man's Tale", + "The Next Big Thing", + "Some Disassembly Required", + "Some Assembly Required", + "Just Read The Manual", + "Spoiler Alert", + "Bad News", + "Lucky Pants", + "No Hard Feelings", + "Waste Not, Want Not", + "Beowulf", + "Inheritor", + "Anthropocene Denier", + "Blackjack", "Three of a Kind", + "Three's Company", + "Royal Flush", + "Full House", + "Wild Card", "Bonaventure", "Go West", "Once Upon A Time", @@ -257,10 +298,7 @@ ) var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly. - var/lawful = TRUE //Are we exempt from routine inspections? to avoid incidents where SysDef appears to go rogue -- defaults to TRUE now (regular ships always get the "soft" result) - var/hostile = FALSE //Are we explicitly lawless, hostile, or otherwise bad? allows for a finer alignment system, since my last checks weren't working properly var/org_type = "neutral" //Valid options are "neutral", "corporate", "government", "system defense", "military, "smuggler", & "pirate" - var/sysdef = FALSE //Are we the space cops? var/autogenerate_destination_names = TRUE //Pad the destination lists with some extra random ones? see the proc below for info on that var/slogans = list("This is a placeholder slogan, ding dong!") //Advertising slogans. Who doesn't want more obnoxiousness on the radio? Picked at random each time the slogan event fires. This has a placeholder so it doesn't runtime on trying to draw from a 0-length list in the event that new corps are added without full support. @@ -366,14 +404,14 @@ while(i) destination_names.Add("[pick("[pick(orbitals)] orbiting [pick(planets)]","[pick(surface)] on [pick(planets)]","[pick(deepspace)] in [pick(systems)]",20;"[pick(unique)]",30;"[pick(frontier)] on the frontier")]") i-- - //extensive rework for a much greater degree of variety compared to the old system, lists now include known exoplanets and star systems currently suspected or confirmed to have exoplanets + //extensive rework for a much greater degree of variety compared to the old system, lists now include known exoplanets and star systems currently suspected or confirmed to have exoplanets ////////////////////////////////////////////////////////////////////////////////// // TSCs /datum/lore/organization/tsc/nanotrasen name = "NanoTrasen Incorporated" - short_name = "NanoTrasen " + short_name = "NanoTrasen" acronym = "NT" desc = "NanoTrasen is one of the foremost research and development companies in Commonwealth space. \ Originally focused on consumer products, their swift move into the field of Phoron has lead to \ @@ -445,6 +483,7 @@ "NSB Adephagia in Virgo-Erigone", "NSB Rascal's Pass in Virgo-Erigone", "NRV |Stellar Delight| in Virgo-Erigone", + "NRV |Von Braun| in Virgo-Erigone", "a phoron refinery in Vilous", "a dockyard orbiting Virgo-Prime", "an asteroid orbiting Virgo 3", @@ -461,7 +500,7 @@ /datum/lore/organization/tsc/hephaestus name = "Hephaestus Industries" - short_name = "Hephaestus " + short_name = "Hephaestus" acronym = "HI" desc = "Hephaestus Industries is the largest supplier of arms, ammunition, and small millitary vehicles in Commonwealth space. \ Hephaestus products have a reputation for reliability, and the corporation itself has a noted tendency to stay removed \ @@ -479,7 +518,8 @@ slogans = list( "+Hephaestus Arms!+ - When it comes to +personal protection+, +nobody+ does it +better+.", "+Hephaestus Arms!+ - Peace through +Superior Firepower+.", - "+Hephaestus Arms!+ - Don't be caught +firing blanks+." + "+Hephaestus Arms!+ - Don't be caught +firing blanks+.", + "+Hephaestus Arms!+ - If in doubt, give 'em +both barrels!+" ) ship_prefixes = list("HCV" = "a general operations", "HTV" = "a freight", "HLV" = "a munitions resupply", "HDV" = "an asset protection", "HDV" = "a preemptive deployment") //War God Theme, updated @@ -569,7 +609,7 @@ /datum/lore/organization/tsc/vey_med name = "Vey-Medical" //The Wiki displays them as Vey-Medical. - short_name = "Vey-Med " + short_name = "Vey-Med" acronym = "VM" desc = "Vey-Med is one of the newer TSCs on the block and is notable for being largely owned and operated by Skrell. \ Despite the suspicion and prejudice leveled at them for their alien origin, Vey-Med has obtained market dominance in \ @@ -625,7 +665,7 @@ /datum/lore/organization/tsc/zeng_hu name = "Zeng-Hu Pharmaceuticals" - short_name = "Zeng-Hu " + short_name = "Zeng-Hu" acronym = "ZH" desc = "Zeng-Hu is an old TSC, based in the Sol system. Until the discovery of Phoron, Zeng-Hu maintained a stranglehold \ on the market for medications, and many household names are patented by Zeng-Hu-- Bicaridine, Dylovene, Tricordrazine, \ @@ -712,7 +752,7 @@ /datum/lore/organization/tsc/ward_takahashi name = "Ward-Takahashi General Manufacturing Conglomerate" - short_name = "Ward-Takahashi " + short_name = "Ward-Takahashi" acronym = "WT" desc = "Ward-Takahashi focuses on the sale of small consumer electronics, with its computers, communicators, \ and even mid-class automobiles a fixture of many households. Less famously, Ward-Takahashi also supplies most \ @@ -774,7 +814,7 @@ /datum/lore/organization/tsc/bishop name = "Bishop Cybernetics" - short_name = "Bishop " + short_name = "Bishop" acronym = "BC" desc = "Bishop's focus is on high-class, stylish cybernetics. A favorite among transhumanists (and loathed by all \ bioconservatives), Bishop manufactures not only prostheses but also brain augmentation, synthetic organ replacements, \ @@ -858,7 +898,7 @@ /datum/lore/organization/tsc/morpheus name = "Morpheus Cyberkinetics" - short_name = "Morpheus " + short_name = "Morpheus" acronym = "MC" desc = "The only large corporation run by positronic intelligences, Morpheus caters almost exclusively to their sensibilities \ and needs. A product of the synthetic colony of Shelf, Morpheus eschews traditional advertising to keep their prices low and \ @@ -952,7 +992,7 @@ /datum/lore/organization/tsc/xion name = "Xion Manufacturing Group" - short_name = "Xion " + short_name = "Xion" acronym = "XMG" desc = "Xion, quietly, controls most of the market for industrial equipment, especially on the frontier. Their portfolio includes mining exosuits, \ factory equipment, rugged positronic chassis, and other pieces of equipment vital to the function of the economy. Xion \ @@ -1020,7 +1060,7 @@ /datum/lore/organization/tsc/ftu name = "Free Trade Union" - short_name = "Trade Union " + short_name = "Trade Union" acronym = "FTU" desc = "The Free Trade Union is different from other transtellar companies in that they are not just a company; rather, they are a big conglomerate of various traders and merchants from all over the galaxy. The FTU is also partially responsible for many of the large scale 'freeport' trade stations across the known galaxy, even in non-human space. Generally, they are multi-purpose stations but they always keep areas filled with duty-free shops, where almost anything you can imagine can be found - so long as it's not outrageously illegal or hideously expensive.

They are the creators of the Tradeband language, created specially for being a lingua franca where every merchant can understand each other independent of language or nationality.

The Union doesn't maintain a particularly large fleet of its own; most members are card-carrying independents who fly under their own flags. When you do see a Union ship (they usually operate under the names of historic merchants) you can be assured that it's tending to something that the Union sees as being of the utmost importance to its interests." history = "" @@ -1068,7 +1108,7 @@ /datum/lore/organization/tsc/mbt name = "Major Bill's Transportation" - short_name = "Major Bill's " + short_name = "Major Bill's" acronym = "MBT" desc = "The most popular courier service and starliner, Major Bill's is an unassuming corporation whose greatest asset is their low cost and brand recognition. Major Bill's is known, perhaps unfavorably, for its mascot, Major Bill, a cartoonish military figure that spouts quotable slogans. Their main slogan, featured at least once in all their advertising, is \"With Major Bill's, you won't pay major bills!\", an earworm much of the galaxy longs to forget. \

\ @@ -1144,7 +1184,7 @@ /datum/lore/organization/tsc/grayson name = "Grayson Manufactories Ltd." - short_name = "Grayson " + short_name = "Grayson" acronym = "GM" desc = "Grayson Manufactories Ltd. is one of the oldest surviving TSCs, having been in 'the biz' almost since mankind began to colonize the rest of the Sol system and thus exploit abundant 'extraterrestrial' resources. Where many choose to go into the high end markets, however, Grayson makes their money by providing foundations for other businesses; they run some of the largest mining and refining operations in all of human-inhabited space. Ore is hauled out of Grayson-owned mines, transported on Grayson-owned ships, and processed in Grayson-owned refineries, then sold by Grayson-licensed vendors to other industries. Several of their relatively newer ventures include heavy industrial equipment, which has earned a reputation for being surprisingly reliable.

Grayson may maintain a neutral stance towards their fellow TSCs, but can be quite aggressive in the markets that it already holds. A steady stream of rumors suggests they're not shy about engaging in industrial sabotage or calling in strikebreakers, either. \

\ @@ -1210,7 +1250,7 @@ /datum/lore/organization/tsc/aether name = "Aether Atmospherics & Recycling" - short_name = "Aether " + short_name = "Aether" acronym = "AAR" desc = "Aether Atmospherics and Recycling is the prime maintainer and provider of atmospherics systems across both the many ships that navigate the vast expanses of space, and the life support on current and future Human colonies. The byproducts from the filtration of atmospheres across the galaxy are then resold for a variety of uses to those willing to buy. With the nature of their services, most work they do is contracted for construction of these systems, or staffing to maintain them for colonies across human space. \

\ @@ -1265,7 +1305,7 @@ /datum/lore/organization/tsc/focalpoint name = "Focal Point Energistics" - short_name = "Focal " + short_name = "Focal Point" acronym = "FPE" desc = "Focal Point Energistics is an electrical engineering solutions firm originally formed as a conglomerate of Earth power companies and affiliates. Focal Point manufactures and distributes vital components in modern power grids, such as TEGs, PSUs and their specialty product, the SMES. The company is often consulted and contracted by larger organisations due to their expertise in their field.\

\ @@ -1331,7 +1371,7 @@ /datum/lore/organization/tsc/starlanes name = "StarFlight Inc." - short_name = "StarFlight " + short_name = "StarFlight" acronym = "SFI" desc = "Founded in 2137 by Astara Junea, StarFlight Incorporated is now one of the biggest passenger liner businesses in human-occupied space and has even begun breaking into alien markets - all despite a rocky start, and several high-profile ship disappearances and shipjackings. With space traffic at an all-time high, it's a depressing reality that SFI's incidents are just a tiny drop in the bucket compared to everything else going on. \

\ @@ -1397,7 +1437,7 @@ /datum/lore/organization/tsc/oculum name = "Oculum Broadcasting Network" - short_name = "Oculus " + short_name = "Oculus" acronym = "OBN" desc = "Oculum owns approximately 30% of Sol-wide news networks, including microblogging aggregate sites, network and comedy news, and even old-fashioned newspapers. Staunchly apolitical, they specialize in delivering the most popular news available- which means telling people what they already want to hear. Oculum is a specialist in branding, and most people don't know that the reactionary Daedalus Dispatch newsletter and the radically transhuman Liquid Steel webcrawler are controlled by the same organization." history = "" @@ -1419,7 +1459,7 @@ /datum/lore/organization/tsc/centauriprovisions name = "Centauri Provisions" - short_name = "Centauri " + short_name = "Centauri" acronym = "ACP" desc = "Headquartered in Alpha Centauri, Centauri Provisions made a name in the snack-food industry primarily by being the first to focus on colonial holdings. The various brands of Centauri snackfoods are now household names, from SkrellSnax to Space Mountain Wind to the ubiquitous and supposedly-edible Bread Tube, and they are well known for targeting as many species as possible with each brand (which, some will argue, is at fault for some of those brands being rather bland in taste and texture). Their staying power is legendary, and many spacers have grown up on a mix of their cheap crap and protein shakes." history = "" @@ -1444,7 +1484,7 @@ /datum/lore/organization/tsc/einstein name = "Einstein Engines" - short_name = "Einstein " + short_name = "Einstein" acronym = "EEN" desc = "Einstein is an old company that has survived through rampant respecialization. In the age of phoron-powered exotic engines and ubiquitous solar power, Einstein makes its living through the sale of engine designs for power sources it has no access to, and emergency fission or hydrocarbon power supplies. Accusations of corporate espionage against research-heavy corporations like NanoTrasen and its chief rival Focal Point are probably unfounded. Probably." history = "" @@ -1465,7 +1505,7 @@ /datum/lore/organization/tsc/wulf name = "Wulf Aeronautics" - short_name = "Wulf Aero " + short_name = "Wulf Aero" acronym = "WUFA" desc = "Wulf Aeronautics is the chief producer of transport and hauling spacecraft. A favorite contractor of the CWS, Wulf manufactures most of their diplomatic and logistics craft, and does a brisk business with most other TSCs. The quiet reliance of the economy on their craft has kept them out of the spotlight and uninvolved in other corporations' back-room dealings; nobody is willing to try to undermine Wulf Aerospace in case it bites them in the ass, and everyone knows that trying to buy out the company would start a bidding war from which nobody would escape the PR fallout." history = "" @@ -1488,7 +1528,7 @@ /datum/lore/organization/tsc/gilthari name = "Gilthari Exports" - short_name = "Gilthari " + short_name = "Gilthari" acronym = "GEX" desc = "Gilthari is Sol's premier supplier of luxury goods, specializing in extracting money from the rich and successful that aren't already their own shareholders. Their largest holdings are in gambling, but they maintain subsidiaries in everything from VR equipment to luxury watches. Their holdings in mass media are a smaller but still important part of their empire. Gilthari is known for treating its positronic employees very well, sparking a number of conspiracy theories. The gorgeous FBP model that Gilthari provides them is a symbol of the corporation's wealth and reach ludicrous prices when available on the black market, with legal ownership of the chassis limited, by contract, to employees.

In fitting with their heritage, Gilthari ships are named after precious stones." history = "" @@ -1566,7 +1606,7 @@ /datum/lore/organization/tsc/coyotecorp name = "Coyote Salvage Corp." - short_name = "Coyote " + short_name = "Coyote Salvage" acronym = "CSC" desc = "The threat of Kessler Syndrome ever looms in this age of spaceflight, and it's only thanks to the dedication and hard work of unionized salvage groups like the Coyote Salvage Corporation that the spacelanes are kept clear and free of wrecks and debris. Painted in that distinctive industrial yellow, their fleets of roaming scrappers are contracted throughout civilized space and the frontier alike to clean up space debris. Some may look down on them for handling what would be seen as garbage and discarded scraps, but as far as the CSC is concerned everything would grind to a halt (or more accurately, rapidly expand in a cloud of red-hot scrap metal) without their tender care and watchful eyes.\

\ @@ -1640,7 +1680,7 @@ /datum/lore/organization/tsc/chimera name = "Chimera Genetics Corp." - short_name = "Chimera " + short_name = "Chimera Genetics" acronym = "CGC" desc = "With the rise of personal body modification, companies specializing in this field were bound to spring up as well. The Chimera Genetics Corporation, or CGC, is one of the largest and most successful competitors in this ever-evolving and ever-adapting field. They originally made a foothold in the market through designer flora and fauna such as \"factory plants\" and \"fabricowtors\"; imagine growing high-strength carbon nanotubes on vines, or goats that can be milked for a substance with the tensile strength of spider silk. Once they had more funding? Chimera aggressively expanded into high-end designer bodies, both vat-grown-from-scratch and modification of existing bodies via extensive therapy procedures. Their best-known designer critter is the Drake line; hardy, cold-tolerant \'furred lizards\' that are unflinchingly loyal to their contract-holders. Drakes find easy work in heavy industries and bodyguard roles, despite constant lobbying from bioconservatives to, quote, \"keep these \"meat drones\" from taking jobs away from regular people.\" \

\ @@ -1688,6 +1728,7 @@ "Ladon", "Manticore", "Medusa", + "Nosferatu", "Ogre", "Pegasus", "Sasquatch", @@ -1697,6 +1738,7 @@ "Typhon", "Valkyrie", "Vampir", + "Venrir", "Wendigo", "Werewolf", "Wraith" @@ -1711,7 +1753,7 @@ // Other /datum/lore/organization/other/independent name = "Independent Pilots Association" - short_name = "" //using the same whitespace hack as USDF + short_name = "Independent" acronym = "IPA" desc = "Though less common now than they were in the decades before the Sol Economic Organization took power, independent pilots and traders remain an important part of the galactic economy, owing in no small part to protective tariffs established by the Free Trade Union in the late twenty-second century. Further out on the frontier, independent pilots are often the only people keeping freight and vital supplies moving.\

\ @@ -1722,7 +1764,7 @@ motto = "N/A" autogenerate_destination_names = TRUE //force random dest generation - ship_prefixes = list("ISV" = "a general", "IEV" = "a prospecting", "IEC" = "a prospecting", "IFV" = "a bulk freight", "ITV" = "a passenger transport", "ITC" = "a just-in-time delivery", "IPV" = "a patrol", "IHV" = "a bounty hunting", "ICC" = "an escort", "IMV" = "a mining") + ship_prefixes = list("ISV" = "a general", "IEV" = "a prospecting", "IEC" = "a prospecting", "IFV" = "a bulk freight", "ITV" = "a passenger transport", "ITC" = "a just-in-time delivery", "IPV" = "a patrol", "IHV" = "a bounty hunting", "ICC" = "an escort", "IMV" = "a mining", "IPS" = "an interplanetary shipping") flight_types = list( "flight", "mission", @@ -1733,13 +1775,11 @@ ) //ship names: blank, because we use the universal list //ship_names = list() - //destination_names = list("PLACEHOLDER!!!","DEBUG?!") - //SPACE LAW /datum/lore/organization/other/sysdef name = "System Defense Force" - short_name = "" //whitespace hack again + short_name = "SDF" acronym = "SDF" desc = "Localized militias are used to secure systems throughout inhabited space, but are especially common on the frontier; by levying and maintaining these militia forces, larger governments can use their primary fleets (like the USDF) for more important matters and smaller ones can give travellers in their space some peace of mind given the ever-present threat of pirates and vox marauders whilst also helping cut down on smuggling (narcotic substances remain as popular in this century as they have throughout the last few millennia). System Defense Forces tend to be fairly poorly trained and modestly equipped compared to genuine military fleets, but are more than capable of contending with equally ramshackle pirate vessels and can generally stall greater threats long enough for reinforcements to arrive. They're also typically responsible for most search-and-rescue operations in their system.\

\ @@ -1755,7 +1795,6 @@ work = "local security" headquarters = "" motto = "Serve, Protect, Survive" - sysdef = TRUE //we're the space law, we don't impersonate people and stuff autogenerate_destination_names = FALSE //don't add extra destinations to our pool, or else we leave the system which makes no sense org_type = "system defense" @@ -1871,9 +1910,6 @@ work = "" headquarters = "" motto = "" - lawful = FALSE //if it wasn't obvious, these guys are usually criminals - hostile = FALSE //but they're not aggressive ones - sysdef = FALSE autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes. org_type = "smuggler" @@ -1907,8 +1943,6 @@ work = "" headquarters = "" motto = "What\'s yours is mine." - lawful = FALSE - hostile = TRUE autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes. org_type = "pirate" @@ -1941,8 +1975,6 @@ history = "" work = "" motto = "" - lawful = FALSE - hostile = TRUE autogenerate_destination_names = TRUE org_type = "pirate" @@ -1993,8 +2025,6 @@ work = "Looting and raiding" headquarters = "Nowhere" motto = "(unintelligible screeching)" - lawful = FALSE - hostile = TRUE autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need *some* entries to avoid runtimes. org_type = "pirate" @@ -2054,7 +2084,7 @@ // Governments /datum/lore/organization/gov/commonwealth name = "Commonwealth of Sol-Procyon" - short_name = "SolCom " + short_name = "SolCom" acronym = "CWS" desc = "The Commonwealth of Sol-Procyon is the evolution of the many nation states of Earth and the outlying colonies \ having spread amongst the stars. While not quite the hegemon of all Humanity, a narrow majority of them follow \ @@ -2154,12 +2184,16 @@ /datum/lore/organization/gov/ares name = "Third Ares Confederation" - short_name = "ArCon " + short_name = "ArCon" desc = "A loose coalition of socialist and communist movements on the fringes of the human diaspora \ the Ares Confederation is a government-in-exile from the original uprisings of Mars to stop \ the government of corporations and capitalist interests over Humanity. While they failed twice \ they have made their own home far beyond the reach of an effective military response by the \ - Commonwealth. They have become renowned engineers and terraforming experts, mostly due to necessity." + Commonwealth. They have become renowned engineers and terraforming experts, mostly due to necessity.\ +

\ + Many of their vessels carry the names of original Confederation ships, or heroes who fought for \ + liberty and equality in the early days of the uprisings. Many, however, are far more irreverent, \ + seeming to flaunt callsign regulations as a small act of rebellion or purely because they can." history = "" work = "idealist socialist government" headquarters = "Paraiso a Àstrea" @@ -2212,7 +2246,20 @@ "Rodrick", "Star of Tiamat", "Torch of Freedom", - "Torch" + "Torch", + "Freyv", + "Asgauth", + "Elduette", + "Seigfast", + "Bergautur", + "Anrune", + "Naybard", + "Alfmundur", + "Ganuun", + "Du Moch", + "Morvo", + "Montrienn", + "Ursuul" ) destination_names = list( "Drydocks of the Ares Confederation", @@ -2231,7 +2278,7 @@ /datum/lore/organization/gov/elysia name = "The Elysian Colonies" - short_name = "Elysia " + short_name = "Elysia" acronym = "ECS" desc = "The Elysian Colonies, located spinwards from the Commonwealth, are a disunited bunch of \ vanity states, utopia projects and personal autocracies, whose only unifying characteristic is \ @@ -2288,7 +2335,7 @@ /datum/lore/organization/gov/fyrds name = "Unitary Alliance of Salthan Fyrds" - short_name = "Saltha " + short_name = "Saltha" acronym = "SMS" desc = "Born out of neglect, the Salthan Fyrds are cast-off colonies of the Commonwealth after giving up on \ pacifying the wartorn region and fighting off the stray Unathi Raiders after the Hegemony War. \ @@ -2393,7 +2440,7 @@ /datum/lore/organization/gov/teshari name = "Teshari Expeditionary Fleet" - short_name = "Teshari Expeditionary " + short_name = "Teshari Expeditionary" acronym = "TEF" desc = "Though nominally a client state of the skrell, the teshari nevertheless maintain their own navy in the form of the Teshari Expeditionary Fleet. The TEF are as much civil and combat engineers as a competent space force, as they are the tip of the spear when it comes to locating and surveying new worlds suitable for teshari habitation, and in the establishment of full colonies. That isn't to say there aren't independent teshari colonies out there, but those that are founded under the wings of the TEF tend to be the largest and most prosperous. They're also responsible for maintaining the security of these colonies and protecting trade ships. Like the USDF (and unlike most other governmental fleets), TEF vessels almost universally sport the 'TEF' designator rather than specific terms.\

\ @@ -2466,7 +2513,7 @@ /datum/lore/organization/gov/altevian_hegemony name = "The Altevian Hegemony" - short_name = "Altevian Hegemony " + short_name = "Altevian Hegemony" acronym = "AH" desc = "The Altevians are a space-faring race of rodents that resemble Earth-like rats. \ They do not have a place they call home in terms of a planet, and instead have massive multiple-kilometer-long colony-ships \ @@ -2525,7 +2572,7 @@ // Military /datum/lore/organization/mil/usdf name = "United Solar Defense Force" - short_name = "" //Doesn't cause whitespace any more, with a little sneaky low-effort workaround + short_name = "USDF" acronym = "USDF" desc = "The USDF is the dedicated military force of the Commonwealth, originally formed by the United Nations. USDF ships are responsible for securing the major traffic lanes between Commonwealth member systems, as well as protecting them from threats that are too great for local SDF units to handle. Despite nominally being a 'Defense Force', a lot of dubious incidents and several notable firebrands within the USDF mean that the Fleet is considered by some to be the galaxy\'s eight-hundred-pound gorilla; it does whatever it wants whenever it wants, and there really isn\'t anything you (or anyone else, even the Commonwealth itself) can do about it. Thankfully a coalition of moderates and Commonwealth loyalists have so far managed to keep the hardliners from getting away with too much, at least for the time being." history = "" @@ -2624,7 +2671,7 @@ /datum/lore/organization/mil/pcrc name = "Proxima Centauri Risk Control" - short_name = "Proxima Centauri " + short_name = "Proxima Centauri" acronym = "PCRC" desc = "Not a whole lot is known about the private security company known as PCRC, but it is known that they're irregularly contracted by the larger TSCs for certain delicate matters. Much of the company's inner workings are shrouded in mystery, and most citizens have never even heard of them. Amongst those who do know of them, they enjoy fairly good PR for a private security group, especially when compared to SAARE." history = "" @@ -2688,7 +2735,7 @@ //I'm covered in beeeeeeees! /datum/lore/organization/mil/hive name = "HIVE Security" - short_name = "HIVE " + short_name = "HIVE" acronym = "HVS" desc = "HIVE Security is a merging of several much smaller freelance companies, and operates throughout civilized space. Unlike some companies, it operates no planetside facilities whatsoever, opting instead for larger flotillas that are serviced by innumerable smallcraft. As with any PMC there's no small amount of controversy surrounding them, but they try to keep their operations cleaner than their competitors. They're fairly well known for running 'mercy' operations, which are low-cost no-strings-attached contracts for those in dire need." history = "" @@ -2771,7 +2818,7 @@ //replaced the edgy blackstar group with polaris-canon SAARE /datum/lore/organization/mil/saare name = "Stealth Assault Enterprises" - short_name = "" + short_name = "SAARE" acronym = "SAARE" desc = "SAARE consistently have the worst reputation of any paramilitary group. This is because they specialize in deniability and secrecy. Although publically they work in asset recovery, they have a substantiated reputation for info-theft and piracy that has lead to them butting heads with the law on more than one occasion. Nonetheless, they are an invaluable part of the Solar economy, and other TSCs and small colonial governments keep them in business.\

\