diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm
index b952f678bb2..61d6c303ea8 100644
--- a/code/game/machinery/jukebox.dm
+++ b/code/game/machinery/jukebox.dm
@@ -30,6 +30,8 @@
var/max_queue_len = 3 // How many songs are we allowed to queue up?
var/list/queue = list()
//VOREStation Add End
+ var/current_genre = "Electronic" //What is our current genre?
+ var/list/genres = list("Electronic", "Rock", "Orchestral", "Folk", "Jazz", "Western") //Avaliable genres.
var/datum/track/current_track
var/list/datum/track/tracks = list(
new/datum/track("Beyond", 'sound/ambience/ambispace.ogg'),
@@ -53,10 +55,8 @@
)
/obj/machinery/media/jukebox/New()
- ..()
+ . = ..()
default_apply_parts()
- wires = new/datum/wires/jukebox(src)
- update_icon()
/obj/machinery/media/jukebox/Destroy()
qdel(wires)
@@ -66,10 +66,14 @@
// On initialization, copy our tracks from the global list
/obj/machinery/media/jukebox/Initialize()
. = ..()
+ wires = new/datum/wires/jukebox(src)
+ update_icon()
if(LAZYLEN(all_jukebox_tracks)) //Global list has tracks
tracks.Cut()
secret_tracks.Cut()
for(var/datum/track/T in all_jukebox_tracks) //Load them
+ if(!T.jukebox)
+ continue
if(T.secret)
secret_tracks |= T
else
@@ -203,6 +207,9 @@
if(istype(T))
current_track = T
StartPlaying()
+ else if(href_list["change_genre"])
+ var/new_genre = input("Choose Genre", "Genre Selection") in genres
+ current_genre = new_genre
else if(href_list["loopmode"])
var/newval = text2num(href_list["loopmode"])
loop_mode = sanitize_inlist(newval, list(JUKEMODE_NEXT, JUKEMODE_RANDOM, JUKEMODE_REPEAT_SONG, JUKEMODE_PLAY_ONCE), loop_mode)
@@ -259,8 +266,12 @@
data["current_track"] = current_track.toNanoList()
data["percent"] = playing ? min(100, round(world.time - media_start_time) / current_track.duration) : 0;
+ data["current_genre"] = current_genre
+
var/list/nano_tracks = new
for(var/datum/track/T in tracks)
+ if(T.genre != current_genre)
+ continue
nano_tracks[++nano_tracks.len] = T.toNanoList()
data["tracks"] = nano_tracks
diff --git a/code/modules/busy_space/air_traffic.dm b/code/modules/busy_space/air_traffic.dm
index 3eb9771ac02..9cd40b1624b 100644
--- a/code/modules/busy_space/air_traffic.dm
+++ b/code/modules/busy_space/air_traffic.dm
@@ -4,7 +4,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
/datum/lore/atc_controller
var/delay_max = 25 MINUTES //How long between ATC traffic, max. Default is 25 mins.
- var/delay_min = 40 MINUTES //How long between ATC traffic, min. Default is 40 mins.
+ var/delay_min = 35 MINUTES //How long between ATC traffic, min. Default is 40 mins. Slight reduction for +/- 5 consistency.
var/backoff_delay = 5 MINUTES //How long to back off if we can't talk and want to. Default is 5 mins.
var/next_message //When the next message should happen in world.time
var/force_chatter_type //Force a specific type of messages
@@ -46,25 +46,32 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("Automated Tram departing [using_map.station_name] for [using_map.dock_name] on routine transfer route.","NT Automated Tram") //VOREStation Edit - Tram, tho.
sleep(5 SECONDS)
msg("Automated Tram, cleared to complete routine transfer from [using_map.station_name] to [using_map.dock_name].") //VOREStation Edit - Tram, tho.
+ //TODO: update these to use a switchable value pulled from the map defines if we're going to have a rotation of maps
/datum/lore/atc_controller/proc/random_convo()
var/one = pick(loremaster.organizations) //These will pick an index, not an instance
- var/two = pick(loremaster.organizations)
+ var/two = pick(loremaster.organizations) //I'm now used for fake IFFs
var/datum/lore/organization/source = loremaster.organizations[one] //Resolve to the instances
- var/datum/lore/organization/dest = loremaster.organizations[two]
+ var/datum/lore/organization/fakeiff = loremaster.organizations[two] //repurposed for new fun stuff
//Let's get some mission parameters
- var/owner = source.short_name //Use the short name
+ var/owner = source.short_name //Use the short name
var/prefix = pick(source.ship_prefixes) //Pick a random prefix
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 to go with it
- var/destname = pick(dest.destination_names) //Pick a random holding from the destination
+ var/shipname = pick(source.ship_names) //Pick a random ship name
+ var/destname = pick(source.destination_names) //destination is where?
+ var/scan_exempted = source.scan_exempt //am I exempted from routine scans and certain other events?
+
+ var/fakeowner = fakeiff.short_name
+ var/fakeprefix = pick(fakeiff.ship_prefixes) //Pick a random prefix
+ var/fakeshipname = pick(fakeiff.ship_names) //Pick a random ship name
- var/combined_name = "[owner] [prefix] [shipname]"
- var/alt_atc_names = list("[using_map.station_short] TraCon","[using_map.station_short] Control","[using_map.station_short] STC","[using_map.station_short] Airspace")
+ var/combined_name = "[owner][prefix] [shipname]"
+ var/combined_fake_name = "[fakeowner][fakeprefix] [fakeshipname]"
+ var/alt_atc_names = list("[using_map.station_short] TraCon","[using_map.station_short] Control","[using_map.station_short] STC","[using_map.station_short] StarCon")
var/wrong_atc_names = list("Sol Command","New Reykjavik StarCon", "[using_map.dock_name]")
- var/mission_noun = list("flight","mission","route")
+ var/mission_noun = pick(source.flight_types) //pull from a list of owner-specific flight ops, to allow an extra dash of flavor
var/request_verb = list("requesting","calling for","asking for")
//First response is 'yes', second is 'no'
@@ -77,53 +84,175 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
"refueling information" = list("sending refueling information now", "no fuel for your ship class in this sector"),
"a current system time sync" = list("sending time sync ping to you now", "your ship isn't compatible with our time sync, set time manually"),
"current system starcharts" = list("transmitting current starcharts", "your request is queued, overloaded right now"),
- "permission to engage FTL" = list("permission to engage FTL granted, good day", "permission denied, wait for current traffic to pass"),
+ //STC can't possibly oversee every single jump into and out of the system, nor should they try to
+/* "permission to engage FTL" = list("permission to engage FTL granted, good day", "permission denied, wait for current traffic to pass"),
"permission to transit system" = list("permission to transit granted, good day", "permission denied, wait for current traffic to pass"),
"permission to depart system" = list("permission to depart granted, good day", "permission denied, wait for current traffic to pass"),
- "permission to enter system" = list("good day, permission to enter granted", "permission denied, wait for current traffic to pass"),
+ "permission to enter system" = list("good day, permission to enter granted", "permission denied, wait for current traffic to pass"),*/
)
//Random chance things for variety
var/chatter_type = "normal"
if(force_chatter_type)
chatter_type = force_chatter_type
+ else if(scan_exempted) //I have to offload this from the switch and do it here, otherwise BYOND throws a shitfit because raisins
+ chatter_type = pick(5;"emerg",25;"traveladvisory",30;"dockingrequestgeneric",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest","normal")
+ //a few groups won't be scanned, won't trigger wrong-frequency messages, can be faked, won't report unusual activity, won't receive course warnings, and won't be denied docks or undocks ("hey SDF?" "yeah?" "we impounded you for security violations" "what the fuck steve")
else
- chatter_type = pick(2;"emerg",5;"wrong_freq","normal") //Be nice to have wrong_lang...
-
+ chatter_type = pick(5;"emerg",5;"wrong_freq",25;"policescan",25;"policeflee",10;"strangeactivity",25;"traveladvisory",30;"pathwarning",30;"dockingrequestgeneric",30;"dockingrequestdenied",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest",30;"undockingdenied","normal") //Be nice to have wrong_lang...
+
var/yes = prob(90) //Chance for them to say yes vs no
var/request = pick(requests)
var/callname = pick(alt_atc_names)
var/response = requests[request][yes ? 1 : 2] //1 is yes, 2 is no
- var/full_request
- var/full_response
- var/full_closure
+ // var/full_request
+ // var/full_response
+ // var/full_closure
+ // sometimes you just gotta print something somewhere accessible
+ // msg("[owner] [prefix] [shipname], [destdebug], [mission] [destname]","Debug Print")
+
+ // 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
switch(chatter_type)
if("wrong_freq")
callname = pick(wrong_atc_names)
- full_request = "[callname], this is [combined_name] on a [mission] [pick(mission_noun)] to [destname], [pick(request_verb)] [request]."
- full_response = "[combined_name], this is [using_map.station_short] TraCon, wrong frequency. Switch to [rand(700,999)].[rand(1,9)]."
- full_closure = "[using_map.station_short] TraCon, understood, apologies."
- if("wrong_lang")
- //Can't implement this until autosay has language support
+ msg("[callname], this is [combined_name] on [mission] [pick(mission_noun)] to [destname], [pick(request_verb)] [request].","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control, wrong frequency. Switch to [rand(700,999)].[rand(1,9)].")
+ sleep(5 SECONDS)
+ msg("[using_map.station_short] Space Control, understood, apologies.","[prefix] [shipname]")
if("emerg")
- var/problem = pick("hull breaches on multiple decks","unknown life forms on board","a drive about to go critical","asteroids impacting the hull","a total loss of engine power","people trying to board the ship")
- full_request = "This is [combined_name] declaring an emergency! We have [problem]!"
- full_response = "[combined_name], this is [using_map.station_short] TraCon, copy. Switch to emergency responder channel [rand(700,999)].[rand(1,9)]."
- full_closure = "[using_map.station_short] TraCon, okay, switching now."
- else
- full_request = "[callname], this is [combined_name] on a [mission] [pick(mission_noun)] to [destname], [pick(request_verb)] [request]."
- full_response = "[combined_name], this is [using_map.station_short] TraCon, [response]." //Station TraCon always calls themselves TraCon
- full_closure = "[using_map.station_short] TraCon, [yes ? "thank you" : "understood"], good day." //They always copy what TraCon called themselves in the end when they realize they said it wrong
+ var/problem = pick("hull breaches on multiple decks","unknown life forms on board","a drive about to go critical","asteroids impacting the hull","a total loss of engine power","hostile ships closing fast","unidentified boarders")
+ msg("This is [combined_name] declaring an emergency! We have [problem]!","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control, copy. Switch to emergency responder channel [rand(700,999)].[rand(1,9)].")
+ sleep(5 SECONDS)
+ msg("Understood [using_map.station_short] Space Control, switching now.","[prefix] [shipname]")
+ if("policescan")
+ 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.")
+ var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","Apologies for the delay, you're clear.","Switch to [rand(700,999)].[rand(1,9)] and await further instruction.")
+ msg("[combined_name], this is [using_map.station_short] Space Control, your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.")
+ sleep(5 SECONDS)
+ msg("[confirm] [using_map.station_short] Space Control, holding position.","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("Your compliance is appreciated, [combined_name]. Scan commencing.")
+ sleep(10 SECONDS)
+ msg(complain,"[prefix] [shipname]")
+ sleep(15 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control. Scan complete. [completed]")
+ if("policeflee")
+ 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, Control.")
+ msg("[combined_fake_name], this is [using_map.station_short] Space Control, your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.")
+ sleep(5 SECONDS)
+ msg("[uhoh]","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("This is [using_map.station_short] Space Control to all local SDF assets, the [combined_fake_name] is broadcasting false IFF codes. Registry updated to [combined_name]: vector to interdict and detain. Control out.")
+ if("strangeactivity")
+ var/concern = pick("It looks like they're under attack.","I think they're being boarded.","We're not reading any lifesigns aboard.","There's a Vox Marauder right on top of them!","They're maneuvering erratically.","We're picking up some strange radiation patterns.","We can see multiple hull breaches from here.","They're leaking fuel everywhere.","Their drives are misfiring.")
+ var/confirm = pick("Roger that","Affirmative","Understood","Thanks for the heads up")
+ msg("[callname], this is [combined_name]. We're seeing some strange activity over on [combined_fake_name]. [concern]","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[confirm], [combined_name]. Dispatching SysDef assets to investigate.")
+ 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 SysDef vessels","Vox Marauder activity is higher than usual, report any unusual activity to the nearest System Defense Boat","Quarantine fleet is passing through the system along route [rand(1,100)], please observe minimum safe distance","A prison fleet 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, 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","[pick("Pirate","Vox Marauder")] and SysDef forces are currently engaged in skirmishes throughout the system, please steer clear of any active combat zones","A fuel tanker has collided with a cargo liner near route [rand(1,100)], watch for loose containers and dispersed fuel","A [pick("fuel tanker","cargo liner","passenger liner")] 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","Bounty hunters are currently searching for a wanted fugitive","Mercenary contractors are currently conducting aggressive [pick("piracy","marauder")] suppression operations",10;"It's space carp breeding season. [pick("Stars","Gods","God","Goddess")] have mercy on you all, because the carp won't")
+ msg("This is [using_map.station_short] Space Control to all vessels in this system. Priority travel advisory follows.")
+ sleep(5 SECONDS)
+ msg("[flightwarning]. Control out.")
+ if("pathwarning")
+ var/navhazard = pick ("a pocket of intense radiation","a pocket of unstable gas","a debris field","a secure installation","an active combat zone","a quarantined ship","a quarantined installation","a quarantined sector")
+ var/confirm = pick("Understood","Roger that","Affirmative","Thanks for the heads up")
+ var/safetravels = pick("Fly safe out there","Good luck","Safe travels","See you next week","Godspeed","Stars guide you")
+ msg("[combined_name], this is [using_map.station_short] Space Control, your [pick("ship","vessel","starship")] is approaching [navhazard], please adjust heading to [rand(1,360)].")
+ sleep(5 SECONDS)
+ msg("[confirm] [using_map.station_short] Space Control, adjusting course.","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("Your compliance is appreciated, [combined_name]. [safetravels].")
+ if("dockingrequestgeneric")
+ var/appreciation = pick("Much appreciated","Many thanks","Understood","Cheers")
+ var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.")
+ msg("[callname], this is [combined_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to dock.","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control. Permission granted, proceed to landing pad [rand(1,42)]. Follow the green lights on your way in.")
+ sleep(5 SECONDS)
+ msg("[appreciation], [using_map.station_short] Space Control. [dockingplan]","[prefix] [shipname]")
+ if("dockingrequestdenied")
+ var/reason = pick("we don't have any free landing pads right now","we don't have any free landing pads large enough for your vessel","we don't have the necessary facilities for your vessel type or class","we can't verify your credentials","you're too far away, please close to ten thousand meters and resubmit your request")
+ msg("[callname], this is [combined_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to dock.","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control. Request denied, [reason].")
+ sleep(5 SECONDS)
+ msg("Understood, [using_map.station_short] Space Control.","[prefix] [shipname]")
+ if("dockingrequestsupply")
+ var/intensifier = pick("very","pretty","critically","extremely","dangerously","desperately","kinda","a little","a bit","rather","terribly","dreadfully")
+ var/low_thing = pick("ammunition","oxygen","water","food","repair supplies","medical supplies","reaction mass","hydrogen fuel","phoron fuel","fuel",5;"tea",5;"coffee",5;"pizza",5;"beer",5;"snacks") //very low chance of a less serious shortage
+ var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one")
+ var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.")
+ msg("[callname], this is [combined_name]. We're [intensifier] low on [low_thing] and need to resupply. Requesting permission to dock.","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control. Permission granted, proceed to landing pad [rand(1,42)]. Follow the green lights on your way in.")
+ sleep(5 SECONDS)
+ msg("[appreciation], [using_map.station_short] Space Control. [dockingplan]","[prefix] [shipname]")
+ if("dockingrequestrepair")
+ var/damagestate = pick("We're showing some hull damage","We're suffering minor system malfunctions","We're having some 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 engines","Our artificial gravity generator has failed","Our life support is failing","Our water recycling system has shorted out","Our systems are glitching out","We just got caught in a solar flare","We had a close call with an asteroid","We have a minor [pick("fuel","water","oxygen")] leak","We have depressurized compartments","We have a hull breach","Our shield generator is on the fritz","Our RCS is acting up")
+ var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one")
+ var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.")
+ msg("[callname], this is [combined_name]. [damagestate]. Requesting permission to dock for repairs.","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control. Permission granted, proceed to landing pad [rand(1,42)]. Follow the green lights on your way in. Repair crews are standing by, contact them on channel [rand(700,999)].[rand(1,9)].")
+ sleep(5 SECONDS)
+ msg("[appreciation], [using_map.station_short] Space Control. [dockingplan]","[prefix] [shipname]")
+ if("dockingrequestmedical")
+ 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 passengers","sick passengers","injured engineers","wounded marines","a delicate situation","a pregnant passenger")
+ var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one")
+ var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.")
+ msg("[callname], this is [combined_name]. We have [medicalstate] on board. Requesting permission to dock for medical assistance.","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control. Permission granted, proceed to landing pad [rand(1,42)]. Follow the green lights on your way in. Medtechs are standing by, contact them on channel [rand(700,999)].[rand(1,9)].")
+ sleep(5 SECONDS)
+ msg("[appreciation], [using_map.station_short] Space Control. [dockingplan]","[prefix] [shipname]")
+ if("dockingrequestsecurity")
+ var/species = pick("human","unathi","lizard","tajaran","skrell","akula","promethean","sergal","synthetic","teshari","vulpkanin","zorren","unidentified","mixed-species")
+ 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","a captured vox marauder","stolen goods","a container full of confiscated contraband","containers full of confiscated contraband",5;"a raging case of spiders") //gotta have a little something to lighten the mood now and then
+ var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver")
+ var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.")
+ msg("[callname], this is [combined_name]. We have [securitystate] on board and require security assistance. Requesting permission to dock.","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control. Permission granted, proceed to landing pad [rand(1,42)]. Follow the green lights on your way in. Security teams are standing by, contact them on channel [rand(700,999)].[rand(1,9)].")
+ sleep(5 SECONDS)
+ msg("[appreciation], [using_map.station_short] Space Control. [dockingplan]","[prefix] [shipname]")
+ if("undockingrequest")
+ 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")
+ msg("[callname], this is [combined_name], requesting permission to depart from pad [rand(1,42)].","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control. Permission granted. Docking clamps released. [safetravels].")
+ sleep(5 SECONDS)
+ msg("[thanks], [using_map.station_short] Space Control. This is [combined_name] setting course for [destname], over and out.","[prefix] [shipname]")
+ if("undockingdenied")
+ 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","Security is requesting a full cargo inspection","Your ship has been impounded for multiple security violations","You need to pass a quick engineering inspection","Your ship is currently under quarantine lockdown","Exhaust deflectors are not yet in position, please hold")
+ msg("[callname], this is [combined_name], requesting permission to depart from pad [rand(1,42)].","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("Negative [combined_name], request denied. [denialreason].")
+ else //time for generic message
+ msg("[callname], this is [combined_name] on [mission] [pick(mission_noun)] to [destname], [pick(request_verb)] [request].","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_name], this is [using_map.station_short] Space Control, [response].")
+ sleep(5 SECONDS)
+ msg("[using_map.station_short] Space Control, [yes ? "thank you" : "understood"], good day.","[prefix] [shipname]")
+ return //oops, forgot to restore this
+/* //OLD BLOCK, for reference
//Ship sends request to ATC
- msg(full_request,"[prefix] [shipname]")
+ msg(full_request,"[prefix] [shipname]"
sleep(5 SECONDS)
//ATC sends response to ship
msg(full_response)
sleep(5 SECONDS)
//Ship sends response to ATC
msg(full_closure,"[prefix] [shipname]")
- return
\ No newline at end of file
+ return
+*/
\ No newline at end of file
diff --git a/code/modules/busy_space/organizations.dm b/code/modules/busy_space/organizations.dm
index 94f2872711f..7fbdc355616 100644
--- a/code/modules/busy_space/organizations.dm
+++ b/code/modules/busy_space/organizations.dm
@@ -10,59 +10,61 @@
var/motto = "" // A motto/jingle/whatever, if they have one. Currently unused.
var/list/ship_prefixes = list() //Some might have more than one! Like NanoTrasen. Value is the mission they perform, e.g. ("ABC" = "mission desc")
+ var/list/flight_types = list( //operations and flights - we can override this if we want to remove the military-sounding ones or add our own
+ "flight",
+ "mission",
+ "route",
+ "operation",
+ "assignment"
+ )
var/list/ship_names = list( //Names of spaceships. This is a mostly generic list that all the other organizations inherit from if they don't have anything better.
- "Kestrel",
- "Beacon",
- "Signal",
- "Freedom",
- "Glory",
- "Axiom",
- "Eternal",
- "Harmony",
- "Light",
- "Discovery",
- "Endeavour",
- "Explorer",
- "Swift",
- "Dragonfly",
- "Ascendant",
- "Tenacious",
- "Pioneer",
- "Hawk",
- "Haste",
- "Radiant",
- "Luminous",
- "Princess of Sol",
- "King of the Mountain",
- "Words and Changes",
- "Katerina's Silhouette",
- "Castle of Water",
- "Jade Leviathan",
- "Sword of Destiny",
- "Ishtar's Grace"
- )
+ "Scout",
+ "Beacon",
+ "Signal",
+ "Freedom",
+ "Liberty",
+ "Enterprise",
+ "Glory",
+ "Axiom",
+ "Eternal",
+ "Harmony",
+ "Light",
+ "Discovery",
+ "Endeavour",
+ "Explorer",
+ "Swift",
+ "Dragonfly",
+ "Ascendant",
+ "Tenacious",
+ "Pioneer",
+ "Surveyor",
+ "Haste",
+ "Radiant",
+ "Luminous"
+ )
var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly.
- var/autogenerate_destination_names = TRUE
+ var/scan_exempt = FALSE //Are we exempt from routine inspections? to avoid incidents where SysDef appears to go rogue
+ var/autogenerate_destination_names = TRUE //Pad the destination lists with some extra random ones?
/datum/lore/organization/New()
..()
if(autogenerate_destination_names) // Lets pad out the destination names.
- var/i = rand(6, 10)
- var/list/star_names = list(
- "Sol", "Alpha Centauri", "Tau Ceti", "Zhu Que", "Oasis", "Vir", "Gavel", "Ganesha",
- "Saint Columbia", "Altair", "Sidhe", "New Ohio", "Parvati", "Mahi-Mahi", "Nyx", "New Seoul",
- "Kess-Gendar", "Raphael", "Phact", "Altair", "El", "Eutopia", "Qerr'valis", "Qerrna-Lakirr", "Rarkajar", "Thoth", "Jahan's Post", "Kauq'xum", "Silk", "New Singapore", "Stove", "Viola", "Love", "Isavau's Gamble" )
- var/list/destination_types = list("dockyard", "station", "vessel", "waystation", "telecommunications satellite", "spaceport", "anomaly", "colony", "outpost")
+ var/i = rand(7, 12) //was 6-10, now 7-12, slight increase for flavor, especially in 'starved' lists
+ var/list/star_names = list(
+ "in Sol", "in Alpha Centauri", "in Sirius", "in Vega", "in Tau Ceti", "in Altair", "in Zhu Que", "in Oasis", "in Vir", "in Gavel", "in Ganesha", "in Saint Columbia", "in Altair", "in Sidhe", "in New Ohio", "in Parvati", "in Mahi-Mahi", "in Nyx", "in New Seoul", "in Kess-Gendar", "in Raphael", "in Phact", "in Altair", "in El", "in Eutopia", "in Qerr'valis", "in Qerrna-Lakirr", "in Rarkajar", "in Vazzend", "in Thoth", "in Jahan's Post", "in Kauq'xum", "in Silk", "in New Singapore", "in Stove", "in Viola", "in Love", "in Isavau's Gamble", "in Shelf", "in deep space", "on the frontier")
+ var/list/owners = list("a government", "a civilian", "a corporate", "a private", "an independent", "a mercenary", "a military")
+ var/list/destination_types = list("[pick(owners)] shipyard", "[pick(owners)] dockyard", "[pick(owners)] station", "[pick(owners)] vessel", "a waystation", "[pick(owners)] telecommunications satellite", "a spaceport", "a colony", "[pick(owners)] outpost", "a settlement", "[pick(owners)] research facility", "[pick(owners)] installation", "a freeport", "[pick(owners)] holding", "[pick(owners)] asteroid base", "an orbital refinery", "a classified location", "a trade outpost", "[pick(owners)] supply depot", "[pick(owners)] fuel depot")
while(i)
- destination_names.Add("a [pick(destination_types)] in [pick(star_names)]")
+ destination_names.Add("[pick(destination_types)] [pick(star_names)]")
i--
+ //refactored slightly to improve flexibility; we can now have different owners for a destination (but only for some destinations), and 'stars' can include other star-like destinations
//////////////////////////////////////////////////////////////////////////////////
// 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 SolGov space. \
Originally focused on consumer products, their swift move into the field of Phoron has lead to \
@@ -80,51 +82,52 @@
headquarters = "Luna, Sol"
motto = ""
- ship_prefixes = list("NSV" = "exploration", "NTV" = "hauling", "NDV" = "patrol", "NRV" = "emergency response", "NDV" = "asset protection")
+ ship_prefixes = list("NSV" = "an exploration", "NTV" = "a hauling", "NDV" = "a patrol", "NRV" = "an emergency response", "NDV" = "an asset protection")
//Scientist naming scheme
ship_names = list(
- "Bardeen",
- "Einstein",
- "Feynman",
- "Sagan",
- "Tyson",
- "Galilei",
- "Jans",
- "Fhriede",
- "Franklin",
- "Tesla",
- "Curie",
- "Darwin",
- "Newton",
- "Pasteur",
- "Bell",
- "Mendel",
- "Kepler",
- "Edision",
- "Cavendish",
- "Nye",
- "Hawking",
- "Aristotle",
- "Von Braun",
- "Kaku",
- "Oppenheimer",
- "Renwick",
- "Hubble",
- "Alcubierre",
- "Robineau",
- "Glass"
- )
+ "Bardeen",
+ "Einstein",
+ "Feynman",
+ "Sagan",
+ "Tyson",
+ "Galilei",
+ "Jans",
+ "Fhriede",
+ "Franklin",
+ "Tesla",
+ "Curie",
+ "Darwin",
+ "Newton",
+ "Pasteur",
+ "Bell",
+ "Mendel",
+ "Kepler",
+ "Edison",
+ "Cavendish",
+ "Nye",
+ "Hawking",
+ "Aristotle",
+ "Von Braun",
+ "Kaku",
+ "Oppenheimer",
+ "Renwick",
+ "Hubble",
+ "Alcubierre",
+ "Robineau",
+ "Glass"
+ )
// Note that the current station being used will be pruned from this list upon being instantiated
destination_names = list(
- "NSS Exodus in Nyx",
- "NCS Northern Star in Vir",
- //"NLS Southern Cross in Vir",
- "NAS Vir Central Command",
- "a dockyard orbiting Sif",
- "an asteroid orbiting Kara",
- "an asteroid orbiting Rota",
- "Vir Interstellar Spaceport"
- )
+ "NT HQ on Luna",
+ "NSS Exodus in Nyx",
+ "NCS Northern Star in Vir",
+ "NLS Southern Cross in Vir",
+ "NAS Vir Central Command",
+ "a dockyard orbiting Sif",
+ "an asteroid orbiting Kara",
+ "an asteroid orbiting Rota",
+ "Vir Interstellar Spaceport"
+ )
/datum/lore/organization/tsc/nanotrasen/New()
..()
@@ -134,11 +137,9 @@
if(string_to_test in destination_names)
destination_names.Remove(string_to_test)
-
-
/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 Sol space. \
Hephaestus products have a reputation for reliability, and the corporation itself has a noted tendency to stay removed \
@@ -150,56 +151,57 @@
headquarters = "Luna, Sol"
motto = ""
- ship_prefixes = list("HTV" = "freight", "HLV" = "munitions resupply", "HDV" = "asset protection", "HDV" = "preemptive deployment")
+ ship_prefixes = list("HTV" = "a freight", "HLV" = "a munitions resupply", "HDV" = "an asset protection", "HDV" = "a preemptive deployment")
//War God/Soldier Theme
ship_names = list(
- "Ares",
- "Athena",
- "Grant",
- "Custer",
- "Puller",
- "Nike",
- "Bellona",
- "Leonides",
- "Bast",
- "Jackson",
- "Lee",
- "Annan",
- "Chi Yu",
- "Shiva",
- "Tyr",
- "Nobunaga",
- "Xerxes",
- "Alexander",
- "McArthur",
- "Samson",
- "Oya",
- "Nemain",
- "Caesar",
- "Augustus",
- "Sekhmet",
- "Ku",
- "Indra",
- "Innana",
- "Ishtar",
- "Qamaits",
- "'Oro",
- )
+ "Ares",
+ "Athena",
+ "Grant",
+ "Custer",
+ "Puller",
+ "Nike",
+ "Bellona",
+ "Leonides",
+ "Bast",
+ "Jackson",
+ "Lee",
+ "Annan",
+ "Chi Yu",
+ "Shiva",
+ "Tyr",
+ "Nobunaga",
+ "Xerxes",
+ "Alexander",
+ "McArthur",
+ "Samson",
+ "Oya",
+ "Nemain",
+ "Caesar",
+ "Augustus",
+ "Sekhmet",
+ "Ku",
+ "Indra",
+ "Innana",
+ "Ishtar",
+ "Qamaits",
+ "'Oro",
+ )
destination_names = list(
- "a SolGov dockyard on Luna",
- "a Fleet outpost in the Almach Rim",
- "a Fleet outpost on the Moghes border"
- )
+ "our headquarters on Luna",
+ "a SolGov dockyard on Luna",
+ "a Fleet outpost in the Almach Rim",
+ "a Fleet outpost on the Moghes border"
+ )
/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 opperated by Skrell. \
Despite the suspicion and prejudice leveled at them for their alien origin, Vey-Med has obtained market dominance in \
the sale of medical equipment-- from surgical tools to large medical devices to the Oddyseus trauma response mecha \
and everything in between. Their equipment tends to be top-of-the-line, most obviously shown by their incredibly \
- human-like FBP designs. Vey's rise to stardom came from their introduction of ressurective cloning, although in \
+ human-like FBP designs. Vey's rise to stardom came from their introduction of resurrective cloning, although in \
recent years they've been forced to diversify as their patents expired and NanoTrasen-made medications became \
essential to modern cloning."
history = ""
@@ -207,38 +209,39 @@
headquarters = "Toledo, New Ohio"
motto = ""
- ship_prefixes = list("VTV" = "transportation", "VMV" = "medical resupply", "VSV" = "research mission", "VRV" = "emergency medical support")
+ ship_prefixes = list("VTV" = "a transportation", "VMV" = "a medical resupply", "VSV" = "a research mission", "VRV" = "an emergency medical support")
// Diona names
ship_names = list(
- "Wind That Stirs The Waves",
- "Sustained Note Of Metal",
- "Bright Flash Reflecting Off Glass",
- "Veil Of Mist Concealing The Rock",
- "Thin Threads Intertwined",
- "Clouds Drifting Amid Storm",
- "Loud Note And Breaking",
- "Endless Vistas Expanding Before The Void",
- "Fire Blown Out By Wind",
- "Star That Fades From View",
- "Eyes Which Turn Inwards",
- "Joy Without Which The World Would Come Undone",
- "A Thousand Thousand Planets Dangling From Branches",
- "Light Streaming Through Interminable Branches",
- "Smoke Brought Up From A Terrible Fire",
- "Light of Qerr'Valis",
- "King Xae'uoque",
- "Memory of Kel'xi",
- "Xi'Kroo's Herald"
- )
+ "Wind That Stirs The Waves",
+ "Sustained Note Of Metal",
+ "Bright Flash Reflecting Off Glass",
+ "Veil Of Mist Concealing The Rock",
+ "Thin Threads Intertwined",
+ "Clouds Drifting Amid Storm",
+ "Loud Note And Breaking",
+ "Endless Vistas Expanding Before The Void",
+ "Fire Blown Out By Wind",
+ "Star That Fades From View",
+ "Eyes Which Turn Inwards",
+ "Joy Without Which The World Would Come Undone",
+ "A Thousand Thousand Planets Dangling From Branches",
+ "Light Streaming Through Interminable Branches",
+ "Smoke Brought Up From A Terrible Fire",
+ "Light of Qerr'Valis",
+ "King Xae'uoque",
+ "Memory of Kel'xi",
+ "Xi'Kroo's Herald"
+ )
destination_names = list(
- "a research facility in Samsara",
- "a SDTF near Ue-Orsi",
- "a sapientarian mission in the Almach Rim"
- )
+ "our headquarters on Toledo, New Ohio",
+ "a research facility in Samsara",
+ "an SDTF near Ue-Orsi",
+ "a sapientarian mission in the Almach Rim"
+ )
/datum/lore/organization/tsc/zeng_hu
- name = "Zeng-Hu pharmaceuticals"
- short_name = "Zeng-Hu"
+ name = "Zeng-Hu Pharmaceuticals"
+ 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 patentted by Zeng-Hu-- Bicaridyne, Dylovene, Tricordrizine, \
@@ -251,12 +254,72 @@
headquarters = "Earth, Sol"
motto = ""
- ship_prefixes = list("ZTV" = "transportation", "ZMV" = "medical resupply")
- destination_names = list()
+ ship_prefixes = list("ZTV" = "a transportation", "ZMV" = "a medical resupply", "ZRV" = "a medical research")
+ //ship names: a selection of famous physicians who advanced the cause of medicine
+ ship_names = list(
+ "Averroes",
+ "Avicenna",
+ "Banting",
+ "Billroth",
+ "Blackwell",
+ "Blalock",
+ "Charaka",
+ "Chauliac",
+ "Cushing",
+ "Domagk",
+ "Galen",
+ "Fauchard",
+ "Favaloro",
+ "Fleming",
+ "Fracastoro",
+ "Goodfellow",
+ "Gray",
+ "Harvey",
+ "Heimlich",
+ "Hippocrates",
+ "Hunter",
+ "Isselbacher",
+ "Jenner",
+ "Joslin",
+ "Kocher",
+ "Laennec",
+ "Lane-Claypon",
+ "Lister",
+ "Lower",
+ "Madhav",
+ "Maimonides",
+ "Marshall",
+ "Mayo",
+ "Meyerhof",
+ "Minot",
+ "Morton",
+ "Needleman",
+ "Nicolle",
+ "Osler",
+ "Penfield",
+ "Raichle",
+ "Ransohoff",
+ "Rhazes",
+ "Semmelweis",
+ "Starzl",
+ "Still",
+ "Susruta",
+ "Urbani",
+ "Vesalius",
+ "Vidius",
+ "Whipple",
+ "White",
+ "Worcestor",
+ "Yegorov",
+ "Xichun"
+ )
+ destination_names = list(
+ "our headquarters on Earth"
+ )
/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 \
@@ -269,34 +332,45 @@
headquarters = ""
motto = ""
- ship_prefixes = list("WFV" = "freight", "WTV" = "transport", "WDV" = "asset protection")
+ ship_prefixes = list("WFV" = "a freight", "WTV" = "a transport", "WDV" = "an asset protection")
ship_names = list(
- "Comet",
- "Aurora",
- "Supernova",
- "Nebula",
- "Galaxy",
- "Starburst",
- "Constellation",
- "Pulsar",
- "Quark",
- "Void",
- "Asteroid",
- "Wormhole",
- "Sunspots",
- "Supercluster",
- "Moon",
- "Anomaly",
- "Drift",
- "Stream",
- "Rift",
- "Curtain"
- )
+ "Comet",
+ "Meteor",
+ "Heliosphere",
+ "Bolide",
+ "Aurora",
+ "Nova",
+ "Supernova",
+ "Nebula",
+ "Galaxy",
+ "Starburst",
+ "Constellation",
+ "Pulsar",
+ "Quark",
+ "Void",
+ "Asteroid",
+ "Wormhole",
+ "Sunspot",
+ "Supercluster",
+ "Supergiant",
+ "Protostar",
+ "Magnetar",
+ "Moon",
+ "Supermoon",
+ "Anomaly",
+ "Drift",
+ "Stream",
+ "Rift",
+ "Curtain",
+ "Planetar",
+ "Quasar",
+ "Binary"
+ )
destination_names = list()
/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 a bête noire for \
bioconservatives), Bishop manufactures not only prostheses but also brain augmentation, synthetic organ replacements, \
@@ -309,14 +383,69 @@
headquarters = ""
motto = ""
- ship_prefixes = list("ITV" = "transportation", "ISV" = "research exchange") //Bishop can't afford / doesn't care enough to afford its own prefixes
+ ship_prefixes = list("BCTV" = "a transportation", "BCSV" = "a research exchange")
+ //famous mechanical engineers
+ ship_names = list(
+ "Al-Jazari",
+ "Al-Muradi",
+ "Al-Zarqali",
+ "Archimedes",
+ "Arkwright",
+ "Armstrong",
+ "Babbage",
+ "Barsanti",
+ "Benz",
+ "Bessemer",
+ "Bramah",
+ "Brunel",
+ "Cardano",
+ "Cartwright",
+ "Cayley",
+ "Clement",
+ "Leonardo da Vinci",
+ "Diesel",
+ "Drebbel",
+ "Fairbairn",
+ "Fontana",
+ "Fourneyron",
+ "Fulton",
+ "Fung",
+ "Gantt",
+ "Garay",
+ "Hackworth",
+ "Harrison",
+ "Hornblower",
+ "Jacquard",
+ "Jendrassik",
+ "Leibniz",
+ "Ma Jun",
+ "Maudslay",
+ "Metzger",
+ "Murdoch",
+ "Nasmyth",
+ "Parsons",
+ "Rankine",
+ "Reynolds",
+ "Roberts",
+ "Scheutz",
+ "Sikorsky",
+ "Somerset",
+ "Stephenson",
+ "Stirling",
+ "Tesla",
+ "Vaucanson",
+ "Vishweswarayya",
+ "Wankel",
+ "Watt",
+ "Wiberg"
+ )
destination_names = list(
- "A medical facility in Angessa's Pearl"
- )
+ "a medical facility in Angessa's Pearl"
+ )
/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 \
@@ -328,116 +457,82 @@
headquarters = "Shelf"
motto = ""
- ship_prefixes = list("MTV" = "freight")
- // Culture names, because Anewbe told me so.
+ ship_prefixes = list("MTV" = "a freight", "MDV" = "a market protection", "MSV" = "an outreach")
+ //periodic elements; something 'unusual' for the posibrain TSC without being full on 'quirky' culture ship names (much as I love them, they're done to death)
ship_names = list(
- "Nervous Energy",
- "Prosthetic Conscience",
- "Revisionist",
- "Trade Surplus",
- "Flexible Demeanour",
- "Just Read The Instructions",
- "Limiting Factor",
- "Cargo Cult",
- "Gunboat Diplomat",
- "A Ship With A View",
- "Cantankerous",
- "I Thought He Was With You",
- "Never Talk To Strangers",
- "Sacrificial Victim",
- "Unwitting Accomplice",
- "Witting Accomplice",
- "Bad For Business",
- "Just Testing",
- "Size Isn't Everything",
- "Yawning Angel",
- "Liveware Problem",
- "Very Little Gravitas Indeed",
- "Zero Gravitas",
- "Gravitas Free Zone",
- "Absolutely No You-Know-What",
- "Existence Is Pain",
- "I'm Walking Here",
- "Screw Loose",
- "Of Course I Still Love You",
- "Limiting Factor",
- "So Much For Subtley",
- "Unfortunate Conflict Of Evidence",
- "Prime Mover",
- "It's One Of Ours",
- "Thank You And Goodnight",
- "Boo!",
- "Reasonable Excuse",
- "Honest Mistake",
- "Appeal To Reason",
- "My First Ship II",
- "Hidden Income",
- "Anything Legal Considered",
- "New Toy",
- "Me, I'm Always Counting",
- "Just Five More Minutes",
- "Are You Feeling It",
- "Great White Snark",
- "No Shirt No Shoes",
- "Callsign",
- "Three Ships in a Trenchcoat",
- "Not Wearing Pants",
- "Ridiculous Naming Convention",
- "God Dammit Morpheus",
- "It Seemed Like a Good Idea",
- "Legs All the Way Up",
- "Purchase Necessary",
- "Some Assembly Required",
- "Buy One Get None Free",
- "BRB",
- "SHIP NAME HERE",
- "Questionable Ethics",
- "Accept Most Substitutes",
- "I Blame the Government",
- "Garbled Gibberish",
- "Thinking Emoji",
- "Is This Thing On?",
- "Make My Day",
- "No Vox Here",
- "Savings and Values",
- "Secret Name",
- "Can't Find My Keys",
- "Look Over There!",
- "Made You Look!",
- "Take Nothing Seriously",
- "It Comes In Lime, Too",
- "Loot Me",
- "Nothing To Declare",
- "Sneaking Suspicion",
- "Bass Ackwards",
- "Good Things Come to Those Who Freight",
- "Redundant Morality",
- "Synthetic Goodwill",
- "Your Ad Here",
- "What Are We Plotting?",
- "Set Phasers To Stun",
- "Preemptive Defensive Strike",
- "This Ship Is Spiders",
- "Legitimate Trade Vessel",
- "Please Don't Explode II",
- "Get Off the Air",
- "Definitely Unsinkable",
- "We Didn't Do It!",
- "Unrelated To That Other Ship",
- "Not Reflecting The Opinons Of The Shareholders",
- "Normal Ship Name",
- "Define Offensive",
- "Tiffany",
- "My Other Ship is A Gestalt",
- "NTV HTV WTV ITV ZTV"
- )
+ "Hydrogen",
+ "Helium",
+ "Lithium",
+ "Beryllium",
+ "Boron",
+ "Carbon",
+ "Nitrogen",
+ "Oxygen",
+ "Fluorine",
+ "Neon",
+ "Sodium",
+ "Magnesium",
+ "Aluminium",
+ "Silicon",
+ "Phosphorus",
+ "Sulfur",
+ "Chlorine",
+ "Argon",
+ "Potassium",
+ "Calcium",
+ "Scandium",
+ "Titanium",
+ "Vanadium",
+ "Chromium",
+ "Manganese",
+ "Iron",
+ "Cobalt",
+ "Nickel",
+ "Copper",
+ "Zinc",
+ "Gallium",
+ "Germanium",
+ "Arsenic",
+ "Selenium",
+ "Bromine",
+ "Krypton",
+ "Rubidium",
+ "Strontium",
+ "Yttrium",
+ "Zirconium",
+ "Niobium",
+ "Molybdenum",
+ "Technetium",
+ "Ruthenium",
+ "Rhodium",
+ "Palladium",
+ "Silver",
+ "Cadmium",
+ "Indium",
+ "Tin",
+ "Antimony",
+ "Tellurium",
+ "Iodine",
+ "Xenon",
+ "Caesium",
+ "Barium"
+ )
+ //some hebrew alphabet destinations for a little extra unusualness
destination_names = list(
- "a trade outpost in Shelf"
+ "our headquarters in Shelf",
+ "a trade outpost in Shelf",
+ "one of our factory complexes on Root",
+ "research outpost Aleph",
+ "logistics depot Dalet",
+ "research installation Zayin",
+ "research base Tsadi",
+ "manufacturing facility Samekh"
)
/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. Their portfolio includes mining exosuits, \
factory equipment, rugged positronic chassis, and other pieces of equipment vital to the function of the economy. Xion \
keeps its control of the market by leasing, not selling, their equipment, and through infamous and bloody patent protection \
@@ -447,59 +542,526 @@
headquarters = ""
motto = ""
- ship_prefixes = list("XTV" = "hauling", "XFV" = "bulk transport", "XIV" = "resupply")
+ ship_prefixes = list("XTV" = "a hauling", "XFV" = "a bulk transport", "XIV" = "a resupply")
+ //martian mountains
+ ship_names = list(
+ "Olympus Mons",
+ "Ascraeus Mons",
+ "Arsia Mons",
+ "Pavonis Mons",
+ "Elysium Mons",
+ "Hecates Tholus",
+ "Albor Tholus",
+ "Tharsis Tholus",
+ "Biblis Tholus",
+ "Alba Mons",
+ "Ulysses Tholus",
+ "Mount Sharp",
+ "Uranius Mons",
+ "Anseris Mons",
+ "Hadriacus Mons",
+ "Euripus Mons",
+ "Tyrrhenus Mons",
+ "Promethei Mons",
+ "Chronius Mons",
+ "Apollinaris Mons",
+ "Gonnus Mons",
+ "Syrtis Major Planum",
+ "Amphitrites Patera",
+ "Nili Patera",
+ "Pityusa Patera",
+ "Malea Patera",
+ "Peneus Patera",
+ "Labeatis Mons",
+ "Issidon Paterae",
+ "Pindus Mons",
+ "Meroe Patera",
+ "Orcus Patera",
+ "Oceanidum Mons",
+ "Horarum Mons",
+ "Peraea Mons",
+ "Octantis Mons",
+ "Galaxius Mons",
+ "Hellas Planitia",
+ )
destination_names = list()
+//Keek&Allakai&Peesh's new TSC
+/datum/lore/organization/tsc/antares
+ name = "Antares Robotics Group"
+ short_name = "Antares "
+ acronym = "ARG"
+ desc = "A heavy competitor in the mining industries to Hephaestus Industries, Antares Robotics sets its vision grand.
The ARU (Antares Robotics Unit) was the first step to creating a heavy frame synthetic that can take even the harshest of punishment from any foreign origin!
After rigorous studies (all of which successful of course!) Antares Robotics paired with several outsourced help took its first step into Prosthetics for those that need a reliable limb that can take and give a punch!"
+ history = ""
+ work = "cybernetics manufacturer"
+ headquarters = ""
+ motto = ""
+
+ ship_prefixes = list("ATV" = "a transport", "ARV" = "a research", "ADV" = "a routine patrol", "AEV" = "a raw materials acquisition")
+ //ship names: blank, because we get some autogenned for us
+ ship_names = list()
+ destination_names = list()
+
+/datum/lore/organization/tsc/antares/New()
+ ..()
+ var/i = 20 //give us twenty random names, antares has snowflake rng-ids
+ var/list/numbers = list(
+ "One",
+ "Two",
+ "Three",
+ "Four",
+ "Five",
+ "Six",
+ "Seven",
+ "Eight",
+ "Nine",
+ "Zero"
+ )
+ while(i)
+ ship_names.Add("[pick(numbers)] [pick(numbers)] [pick(numbers)] [pick(numbers)]")
+ i--
+
+/datum/lore/organization/tsc/ftu
+ name = "Free Trade Union"
+ short_name = "Trade Union "
+ acronym = "FTU"
+ desc = "The Free Trade Union is different from other tran-stellars in that they are not just a company, but they are a big conglomerate of various traders and merchants from all over the galaxy. They control a sizable fleet of vessels of various sizes which are given autonomy from the central command to engage in trading. They also host a fleet of combat vessels which respond directly to the central command for defending traders when necessary. They are in control of many large scale 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. Almost anything is sold there and products that are forbidden or have insanely high taxes in other places are generally sold in the duty-free shops at very cheap and low prices.
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."
+ history = "The Free Trade Union was created in 2410 by Issac Adler, a merchant, economist, and owner of a small fleet of ships. At this time the \"Free Merchants\" were in decay because of the high taxes and tariffs that were generally applied on the products that they tried to import or export. Another issue was that big trans-stellar corporations were constantly blocking their products to prospective buyers in order to form their monopolies. Issac decided to organize the \"Free Merchants\" into a legitimate organization to lobby and protest against the unfair practices of the major corporations and the governments that were in their pocket. At the same time, they wanted to organize and sell their things at better prices. The organization started relatively small but by 2450 it became one of the biggest conglomerates with a significant amount of the merchants of the galaxy being a part of the FTU. At the same time, the Free Trade Union started to popularize tradeband in the galaxy as the language of business. Around 2500, the majority of independent merchants were part of the FTU with significant influence on the galactic scale. They have started to invest in colonization efforts in order to take early claim of the frontier systems as the best choice for frontier traders."
+ work = ""
+ headquarters = ""
+ motto = ""
+
+ ship_prefixes = list("FTRP" = "a route protection", "FTRR" = "a piracy suppression", "FTLV" = "a logistical support", "FTTV" = "a mercantile", "FTDV" = "a market establishment")
+ //famous merchants and traders, taken from Civ6's Great Merchants
+ ship_names = list(
+ "Isaac Adler",
+ "Colaeus",
+ "Marcus Licinius Crassus",
+ "Zhang Qian",
+ "Irene of Athens",
+ "Marco Polo",
+ "Piero de' Bardi",
+ "Giovanni de' Medici",
+ "Jakob Fugger",
+ "Raja Todar Mal",
+ "Adam Smith",
+ "John Jacob Astor",
+ "John Spilsbury",
+ "John Rockefeller",
+ "Sarah Breedlove",
+ "Mary Katherine Goddard",
+ "Helena Rubenstein",
+ "Levi Strauss",
+ "Melitta Bentz",
+ "Estee Lauder",
+ "Jamsetji Tata",
+ "Masaru Ibuka",
+ )
+ destination_names = list(
+ "a Free Trade Union office",
+ "FTU HQ"
+ )
+
/datum/lore/organization/tsc/mbt
name = "Major Bill's Transportation"
- short_name = "Major Bill's"
- 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 motto is \"With Major Bill's, you won't pay major bills!\", an earworm much of the galaxy longs to forget."
+ 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 motto is \"With Major Bill's, you won't pay major bills!\", an earworm much of the galaxy longs to forget. Their ships are named after some of Earth's greatest rivers."
history = ""
work = "courier and passenger transit"
headquarters = "Mars, Sol"
- motto = ""
+ motto = "With Major Bill's, you won't pay major bills!"
- ship_prefixes = list("TTV" = "transport", "TTV" = "luxury transit")
- destination_names = list()
+ ship_prefixes = list("TTV" = "a transport", "TTV" = "a luxury transit", "TTV" = "a priority transit", "TTV" = "a secure data courier")
+ //ship names: big rivers
+ ship_names = list (
+ "Nile",
+ "Kagera",
+ "Nyabarongo",
+ "Mwogo",
+ "Rukarara",
+ "Amazon",
+ "Ucayali",
+ "Tambo",
+ "Ene",
+ "Mantaro",
+ "Yangtze",
+ "Mississippi",
+ "Missouri",
+ "Jefferson",
+ "Beaverhead",
+ "Red Rock",
+ "Hell Roaring",
+ "Yenisei",
+ "Angara",
+ "Yelenge",
+ "Ider",
+ "Ob",
+ "Irtysh",
+ "Rio de la Plata",
+ "Parana",
+ "Rio Grande",
+ "Congo",
+ "Chambeshi",
+ "Amur",
+ "Argun",
+ "Kherlen",
+ "Lena",
+ "Mekong",
+ "Mackenzie",
+ "Peace",
+ "Finlay",
+ "Niger",
+ "Brahmaputra",
+ "Tsangpo",
+ "Murray",
+ "Darling",
+ "Culgoa",
+ "Balonne",
+ "Condamine",
+ "Tocantins",
+ "Araguaia",
+ "Volga"
+ )
+ destination_names = list(
+ "Major Bill's Transportation HQ on Mars",
+ "a Major Bill's warehouse",
+ "a Major Bill's distribution center",
+ "a Major Bill's supply deplot"
+ )
+
+/datum/lore/organization/tsc/grayson
+ name = "Grayson Manufactories Ltd."
+ short_name = "Grayson "
+ acronym = "GM"
+ desc = "Grayson Manufactories Ltd., true to its name, mines, refines, and produces iron, steel, aluminum, and other metals for use in casing and other production before selling them. They are also known for reviving their old traditions of supplying general materials ready for assembly for construction projects. These parts are interchangeable and considered somewhat cheap, but have proven to be generally and consecutively reliable.
As of current, Grayson Manufactories has a fairly neutral stance on the other major corporations, though has a history of maintaining a monopoly on specific trades through heavy competition and even rumors of industrial sabotage and use of strikebreakers."
+ history = ""
+ work = ""
+ headquarters = "Mars"
+ motto = ""
+
+ ship_prefixes = list("GMT" = "a transport", "GMR" = "a resourcing", "GMS" = "a surveying", "GMH" = "a bulk transit")
+ //rocks
+ ship_names = list(
+ "Adakite",
+ "Andesite",
+ "Basalt",
+ "Basanite",
+ "Diorite",
+ "Dunite",
+ "Gabbro",
+ "Granite",
+ "Harzburgite",
+ "Ignimbrite",
+ "Kimberlite",
+ "Komatiite",
+ "Norite",
+ "Obsidian",
+ "Pegmatite",
+ "Picrite",
+ "Pumice",
+ "Rhyolite",
+ "Scoria",
+ "Syenite",
+ "Tachylyte",
+ "Wehrlite",
+ "Arkose",
+ "Chert",
+ "Dolomite",
+ "Flint",
+ "Laterite",
+ "Marl",
+ "Oolite",
+ "Sandstone",
+ "Shale",
+ "Anthracite",
+ "Gneiss",
+ "Granulite",
+ "Mylonite",
+ "Schist",
+ "Skarn",
+ "Slate"
+ )
+ destination_names = list(
+ "our headquarters on Mars",
+ "one of our manufacturing complexes",
+ "one of our mining installations"
+ )
+
+/datum/lore/organization/tsc/aether
+ name = "Aether Atmospherics & Recycling"
+ 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."
+ history = ""
+ work = ""
+ headquarters = ""
+ motto = ""
+
+ ship_prefixes = list("AARE" = "a resource extraction", "AARG" = "a gas transport", "AART" = "a transport")
+ //weather systems/patterns
+ ship_names = list (
+ "Cloud",
+ "Nimbus",
+ "Fog",
+ "Vapor",
+ "Haze",
+ "Smoke",
+ "Thunderhead",
+ "Veil",
+ "Steam",
+ "Mist",
+ "Noctilucent",
+ "Nacreous",
+ "Cirrus",
+ "Cirrostratus",
+ "Cirrocumulus",
+ "Aviaticus",
+ "Altostratus",
+ "Altocumulus",
+ "Stratus",
+ "Stratocumulus",
+ "Cumulus",
+ "Fractus",
+ "Asperitas",
+ "Nimbostratus",
+ "Cumulonimbus",
+ "Pileus",
+ "Arcus"
+ )
+ destination_names = list(
+ "Aether HQ",
+ "a gas mining orbital",
+ "a liquid extraction plant"
+ )
+
+/datum/lore/organization/tsc/focalpoint
+ name = "Focal Point Energistics"
+ short_name = "Focal "
+ 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."
+ history = ""
+ work = ""
+ headquarters = ""
+ motto = ""
+
+ ship_prefixes = list("FPH" = "a transport", "FPC" = "an energy relay", "FPT" = "a fuel transport")
+ //famous electrical engineers
+ ship_names = list (
+ "Erlang",
+ "Blumlein",
+ "Taylor",
+ "Bell",
+ "Reeves",
+ "Bennett",
+ "Volta",
+ "Blondel",
+ "Beckman",
+ "Hirst",
+ "Lamme",
+ "Bright",
+ "Armstrong",
+ "Ayrton",
+ "Bardeen",
+ "Fuller",
+ "Boucherot",
+ "Brown",
+ "Brush",
+ "Burgess",
+ "Camras",
+ "Crompton",
+ "Deprez",
+ "Elwell",
+ "Entz",
+ "Faraday",
+ "Halas",
+ "Hounsfield",
+ "Immink",
+ "Laithwaite",
+ "McKenzie",
+ "Moog",
+ "Moore",
+ "Pierce",
+ "Ronalds",
+ "Shallenberger",
+ "Siemens",
+ "Spencer",
+ "Tesla",
+ "Yablochkov",
+ )
+ destination_names = list(
+ "Focal Point HQ"
+ )
+
+/datum/lore/organization/tsc/starlanes
+ name = "StarFlight Inc."
+ short_name = "StarFlight "
+ acronym = "SFI"
+ desc = "Founded in 2437 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."
+ history = ""
+ work = "luxury, business, and economy passenger flights"
+ headquarters = "Spin Aerostat, Jupiter"
+ motto = "Sic itur ad astra"
+ scan_exempt = TRUE
+
+ ship_prefixes = list("SFI-X" = "a VIP liner", "SFI-L" = "a luxury liner", "SFI-B" = "a business liner", "SFI-E" = "an economy liner", "SFI-M" = "a mixed class liner", "SFI-S" = "a sightseeing")
+ flight_types = list( //no military-sounding ones here
+ "flight",
+ "route",
+ "tour"
+ )
+ ship_names = list(
+ "Rhea",
+ "Ostritch",
+ "Cassowary",
+ "Emu",
+ "Kiwi",
+ "Duck",
+ "Swan",
+ "Chachalaca",
+ "Curassow",
+ "Guan",
+ "Guineafowl",
+ "Pheasant",
+ "Turkey",
+ "Francolin",
+ "Loon",
+ "Penguin",
+ "Grebe",
+ "Flamingo",
+ "Stork",
+ "Ibis",
+ "Heron",
+ "Pelican",
+ "Spoonbill",
+ "Shoebill",
+ "Gannet",
+ "Cormorant",
+ "Osprey",
+ "Kite",
+ "Hawk",
+ "Falcon",
+ "Caracara"
+ )
+ destination_names = list(
+ "a resort planet",
+ "a beautiful ring system",
+ "a ski-resort world"
+ )
/datum/lore/organization/tsc/independent
- name = "Free Traders"
- short_name = "Free Trader"
- desc = "Though less common now than they were in the decades before the Sol Economic Organization took power, independent traders remain an important part of the galactic economy, owing in no small part to protective tarrifs established by the Free Trade Union in the late twenty-forth century."
+ name = "Independent Pilots Association"
+ short_name = "Independent "
+ acronym = "IPA"
+ desc = "Though less common now than they were in the decades before the Sol Economic Organization took power, independent 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-fourth century. Further out on the frontier, independent pilots are often the only people keeping freight and supplies moving."
history = ""
work = "trade and transit"
headquarters = "N/A"
motto = "N/A"
- ship_prefixes = list("IEV" = "prospecting", "IEC" = "prospecting", "IFV" = "bulk freight", "ITV" = "passenger transport", "ITC" = "just-in-time delivery")
- destination_names = list()
+ ship_prefixes = list("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")
+ flight_types = list(
+ "flight",
+ "mission",
+ "route",
+ "operation",
+ "assignment",
+ "contract"
+ )
+ destination_names = list() //we have no hqs or facilities of our own
+
+// Other
+
+//SPACE LAW
+/datum/lore/organization/other/sysdef
+ name = "System Defense Force"
+ short_name = "SysDef "
+ acronym = "SDF"
+ desc = "Localized militias are used to secure systems throughout inhabited space. By levying and maintaining these local militia forces, governments can use their fleets for more important matters. 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 small-time pirates, and can generally stall greater threats long enough for reinforcements to arrive. They're also typically responsible for space-based SAR operations in their system."
+ history = ""
+ work = "local security"
+ headquarters = ""
+ motto = ""
+ scan_exempt = TRUE //we're the laaaaaw, we don't impersonate people and stuff
+ autogenerate_destination_names = FALSE
+
+ ship_prefixes = list ("SDB" = "a patrol", "SDF" = "a patrol", "SDV" = "a patrol", "SDB" = "an escort", "SDF" = "an escort", "SDV" = "an escort", "SAR" = "a search and rescue", "SDT" = "a logistics", "SDT" = "a resupply", "SDJ" = "a prisoner transport") //b = boat, f = fleet, v = vessel, t = tender
+ //ship names: weapons
+ ship_names = list(
+ "Sword",
+ "Saber",
+ "Cutlass",
+ "Broadsword",
+ "Katar",
+ "Shamshir",
+ "Shashka",
+ "Epee",
+ "Estoc",
+ "Longsword",
+ "Katana",
+ "Baselard",
+ "Gladius",
+ "Kukri",
+ "Pick",
+ "Mattock",
+ "Hatchet",
+ "Machete",
+ "Axe",
+ "Tomahawk",
+ "Dirk",
+ "Dagger",
+ "Maul",
+ "Mace",
+ "Flail",
+ "Morningstar",
+ "Shillelagh",
+ "Cudgel",
+ "Truncheon",
+ "Hammer",
+ "Arbalest",
+ "Catapult",
+ "Trebuchet",
+ "Longbow",
+ "Pike",
+ "Glaive",
+ "Halberd",
+ "Scythe",
+ "Spear"
+ )
+ destination_names = list(
+ "the outer system",
+ "the inner system",
+ "Waypoint Alpha",
+ "Waypoint Beta",
+ "Waypoint Gamma",
+ "Waypoint Delta",
+ "Waypoint Epsilon",
+ "Waypoint Zeta",
+ "Waypoint Eta",
+ "Waypoint Theta",
+ "Waypoint Iota",
+ "Waypoint Kappa",
+ "Waypoint Lambda",
+ "Waypoint Mu",
+ "Waypoint Nu",
+ "Waypoint Xi",
+ "Waypoint Omicron",
+ "Waypoint Pi",
+ "Waypoint Rho",
+ "Waypoint Sigma",
+ "Waypoint Tau",
+ "Waypoint Upsilon",
+ "Waypoint Phi",
+ "Waypoint Chi",
+ "Waypoint Psi",
+ "Waypoint Omega"
+ )
// Governments
-/datum/lore/organization/gov/sifgov
- name = "Sif Governmental Authority"
- short_name = "SifGov"
- desc = "SifGov is the sole governing administration for the Vir system, based in New Reykjavik, Sif. It is a representative \
- democratic government, and a fully recognized member of the Solar Central Government. Anyone operating inside of Vir must \
- comply with SifGov's legislation and regulations." // Vorestation Edit. Confederate -> Central
- history = "" // Todo like the rest of them
- work = "governing body of Sif"
- headquarters = "New Reykjavik, Sif, Vir"
- motto = ""
- autogenerate_destination_names = FALSE
-
- ship_prefixes = list("SGA" = "hauling", "SGA" = "energy relay")
- destination_names = list(
- "New Reykjavik on Sif",
- "Radiance Energy Chain",
- "a dockyard orbiting Sif",
- "a telecommunications satellite",
- "Vir Interstellar Spaceport"
- )
-
/datum/lore/organization/gov/solgov
name = "Solar Confederate Government"
- short_name = "SolGov"
+ short_name = "SolGov "
acronym = "SCG"
desc = "SolGov is a decentralized confederation of human governmental entities based on Luna, Sol, which defines top-level law for their member states. \
Member states receive various benefits such as defensive pacts, trade agreements, social support and funding, and being able to participate \
@@ -509,42 +1071,391 @@
work = "governing polity of humanity's Confederation"
headquarters = "Luna, Sol"
motto = "Nil Mortalibus Ardui Est" // Latin, because latin. Says 'Nothing is too steep for mortals'.
+ scan_exempt = TRUE //it would look pretty weird if the SCG were caught impersonating other people
autogenerate_destination_names = TRUE
- ship_prefixes = list("SCG-T" = "transportation", "SCG-D" = "diplomatic", "SCG-F" = "freight")
+ ship_prefixes = list("SCG-T" = "a transportation", "SCG-D" = "a diplomatic", "SCG-F" = "a freight", "SCG-J" = "a prisoner transfer")
+ //earth's biggest impact craters
+ ship_names = list(
+ "Wabar",
+ "Kaali",
+ "Campo del Cielo",
+ "Henbury",
+ "Morasko",
+ "Boxhole",
+ "Macha",
+ "Rio Cuarto",
+ "Ilumetsa",
+ "Tenoumer",
+ "Xiuyan",
+ "Lonar",
+ "Agoudal",
+ "Tswaing",
+ "Zhamanshin",
+ "Bosumtwi",
+ "Elgygytgyn",
+ "Bigach",
+ "Karla",
+ "Karakul",
+ "Vredefort",
+ "Chicxulub",
+ "Sudbury",
+ "Popigai",
+ "Manicougan",
+ "Acraman",
+ "Morokweng",
+ "Kara",
+ "Beaverhead",
+ "Tookoonooka",
+ "Charlevoix",
+ "Siljan Ring",
+ "Montagnais",
+ "Araguinha",
+ "Chesapeake",
+ "Mjolnir",
+ "Puchezh-Katunki",
+ "Saint Martin",
+ "Woodleigh",
+ "Carswell",
+ "Clearwater West",
+ "Clearwater East",
+ "Manson",
+ "Slate",
+ "Yarrabubba",
+ "Keurusselka",
+ "Shoemaker",
+ "Mistastin",
+ "Kamensk",
+ "Steen",
+ "Strangways",
+ "Tunnunik",
+ "Boltysh",
+ "Nordlinger Ries",
+ "Presqu'ile",
+ "Haughton",
+ "Lappajarvi",
+ "Rochechouart",
+ "Gosses Bluff",
+ "Amelia Creek",
+ "Logancha",
+ "Obolon'",
+ "Nastapoka",
+ "Ishim",
+ "Bedout"
+ )
destination_names = list(
- "Venus",
- "Earth",
- "Luna",
- "Mars",
- "Titan"
- )// autogen will add a lot of other places as well.
+ "Venus",
+ "Earth",
+ "Luna",
+ "Mars",
+ "Titan",
+ "Europa",
+ "the Jovian subcluster",
+ "a SolGov embassy"
+ )
+ // autogen will add a lot of other places as well.
-/*
-// To be expanded upon later, once the military lore gets sorted out.
// Military
+// Used for Para-Military groups right now! Pair of placeholder-ish PMCs.
-/datum/lore/organization/mil/sif_guard
- name = "Sif Defense Force" // Todo: Get better name from lorepeople.
- short_name = "SifGuard"
- desc = ""
+/datum/lore/organization/mil/usdf
+ name = "United Sol Defense Force"
+ short_name = "" //Doesn't cause whitespace any more, with a little sneaky low-effort workaround
+ acronym = "USDF"
+ desc = "The USDF is the dedicated military force of SolGov, originally formed by the United Nations. It is the dominant superpower of the Orion Spur, and is able to project its influence well into parts of the Perseus and Sagittarius arms of the galaxy. However, regions beyond that are too far for the USDF to be a major player."
history = ""
- work = "Sif Governmental Authority's military"
- headquarters = "New Reykjavik, Sif"
+ work = "peacekeeping and piracy suppression"
+ headquarters = "Paris, Earth"
motto = ""
- autogenerate_destination_names = FALSE // Kinda weird if SifGuard goes to Nyx.
-
- ship_prefixes = list("SGSC" = "military", "SGSC" = "patrol", "SGSC" = "rescue", "SGSC" = "emergency response") // Todo: Replace prefix with better one.
+ scan_exempt = TRUE
+ autogenerate_destination_names = TRUE
+
+ ship_prefixes = list ("USDF" = "a logistical", "USDF" = "a training", "USDF" = "a patrol", "USDF" = "a piracy suppression", "USDF" = "a peacekeeping", "USDF" = "a relief", "USDF" = "an escort", "USDF" = "a search and rescue")
+ ship_names = list(
+ "Aphrodite",
+ "Apollo",
+ "Ares",
+ "Artemis",
+ "Athena",
+ "Demeter",
+ "Dionysus",
+ "Hades",
+ "Hephaestus",
+ "Hera",
+ "Hermes",
+ "Hestia",
+ "Poseidon",
+ "Zeus",
+ "Achlys",
+ "Aether",
+ "Aion",
+ "Ananke",
+ "Chaos",
+ "Chronos",
+ "Erebus",
+ "Eros",
+ "Gaia",
+ "Hemera",
+ "Hypnos",
+ "Nemesis",
+ "Nyx",
+ "Phanes",
+ "Pontus",
+ "Tartarus",
+ "Thalassa",
+ "Thanatos",
+ "Uranus",
+ "Coeus",
+ "Crius",
+ "Cronus",
+ "Hyperion",
+ "Iapetus",
+ "Mnemosyne",
+ "Oceanus",
+ "Phoebe",
+ "Rhea",
+ "Tethys",
+ "Theia",
+ "Themis",
+ "Asteria",
+ "Astraeus",
+ "Atlas",
+ "Aura",
+ "Clymene",
+ "Dione",
+ "Helios",
+ "Selene",
+ "Eos",
+ "Epimetheus",
+ "Eurybia",
+ "Eurynome",
+ "Lelantos",
+ "Leto",
+ "Menoetius",
+ "Metis",
+ "Ophion",
+ "Pallas",
+ "Perses",
+ "Prometheus",
+ "Styx",
+ )
destination_names = list(
- "a classified location in SolGov territory",
- "Sif orbit",
- "the rings of Kara",
- "the rings of Rota",
- "Firnir orbit",
- "Tyr orbit",
- "Magni orbit",
- "a wreck in SifGov territory",
- "a military outpost",
- )
-*/
+ "USDF HQ",
+ "a USDF staging facility on the edge of SolGov territory",
+ "a USDF resupply depot",
+ "a USDF shipyard in Sol"
+ )
+
+/datum/lore/organization/mil/pcrc
+ name = "Proxima Centauri Risk Control"
+ 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."
+ history = ""
+ work = "risk control and private security"
+ headquarters = "Proxima Centauri"
+ motto = ""
+ scan_exempt = TRUE //we're not the best guys, but we're not actually shady
+ autogenerate_destination_names = TRUE
+
+ ship_prefixes = list("PCRC" = "a risk control", "PCRC" = "a private security")
+ flight_types = list(
+ "flight",
+ "mission",
+ "route",
+ "operation",
+ "assignment",
+ "contract"
+ )
+ //law/protection terms
+ ship_names = list(
+ "Detective",
+ "Constable",
+ "Judge",
+ "Adjudicator",
+ "Magistrate",
+ "Marshal",
+ "Warden",
+ "Peacemaker",
+ "Arbiter",
+ "Justice",
+ "Order",
+ "Jury",
+ "Inspector",
+ "Bluecoat",
+ "Gendarme",
+ "Gumshoe",
+ "Patrolman",
+ "Sentinel",
+ "Shield",
+ "Aegis",
+ "Auditor",
+ "Monitor",
+ "Investigator",
+ "Agent",
+ "Prosecutor",
+ "Sergeant",
+ )
+
+ destination_names = list(
+ "PCRC HQ, in Proxima Centauri",
+ "a PCRC training installation",
+ "a PCRC supply depot"
+ )
+
+//I'm covered in beeeeeeees!
+/datum/lore/organization/mil/hive
+ name = "HIVE Security"
+ 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 = ""
+ work = "mercenary contractors"
+ headquarters = ""
+ motto = "Strength in Numbers"
+ scan_exempt = TRUE //we're technically kinda-good guys, so we don't do shady stuff
+ autogenerate_destination_names = TRUE
+
+ ship_prefixes = list("HPF" = "a secure freight", "HPT" = "a training", "HPS" = "a logistics", "HPV" = "a patrol", "HPH" = "a bounty hunting", "HPX" = "an experimental", "HPC" = "a command", "HPI" = "a mercy")
+ flight_types = list(
+ "flight",
+ "mission",
+ "route",
+ "operation",
+ "assignment",
+ "contract"
+ )
+ //animals, preferably predators, all factual/extant critters
+ ship_names = list(
+ "Wolf",
+ "Bear",
+ "Eagle",
+ "Condor",
+ "Falcon",
+ "Hawk",
+ "Kestrel",
+ "Shark",
+ "Fox",
+ "Weasel",
+ "Mongoose",
+ "Bloodhound",
+ "Rhino",
+ "Tiger",
+ "Leopard",
+ "Panther",
+ "Cheetah",
+ "Lion",
+ "Vulture",
+ "Piranha",
+ "Crocodile",
+ "Alligator",
+ "Recluse",
+ "Tarantula",
+ "Scorpion",
+ "Orca",
+ "Coyote",
+ "Jackal",
+ "Hyena",
+ "Hornet",
+ "Wasp",
+ "Sealion",
+ "Viper",
+ "Cobra",
+ "Sidewinder",
+ "Asp",
+ "Python",
+ "Anaconda",
+ "Krait",
+ "Diamondback",
+ "Mamba",
+ "Fer de Lance",
+ "Keelback",
+ "Adder",
+ "Constrictor",
+ "Boa",
+ "Moray",
+ "Taipan",
+ "Rattlesnake"
+ )
+ destination_names = list(
+ "HIVE Command",
+ "a HIVE patrol fleet",
+ "a HIVE flotilla",
+ "a HIVE training fleet",
+ "a HIVE logistics fleet",
+ "a contract location"
+ )
+ //some basics, padded with autogen
+
+//intentionally edgy a.f.
+/datum/lore/organization/mil/blackstar
+ name = "Blackstar Legion"
+ short_name = "Blackstar "
+ acronym = "BSL"
+ desc = "Shrouded in mystery and controversy, Blackstar Legion is said to have its roots in pre-FTL Sol private military contractors. Their reputation means that most upstanding corporations and governments are hesitant to call upon them, whilst their prices put them out of the reach of most private individuals. As a result, they're mostly seen as the hired thugs of frontier governments that don't (or won't) answer to SolGov."
+ history = ""
+ work = "mercenary contractors"
+ headquarters = ""
+ motto = ""
+ autogenerate_destination_names = TRUE
+
+ ship_prefixes = list("BSF" = "a secure freight", "BST" = "a training", "BSS" = "a logistics", "BSV" = "a patrol", "BSH" = "a security", "BSX" = "an experimental", "BSC" = "a command")
+ flight_types = list(
+ "flight",
+ "mission",
+ "route",
+ "operation",
+ "assignment",
+ "contract"
+ )
+ //edgy mythological critters!
+ ship_names = list(
+ "Dragon",
+ "Chimera",
+ "Titan",
+ "Hekatonchires",
+ "Gorgon",
+ "Scylla",
+ "Minotaur",
+ "Banshee",
+ "Basilisk",
+ "Black Dog",
+ "Centaur",
+ "Cerberus",
+ "Charybdis",
+ "Cyclops",
+ "Cynocephalus",
+ "Demon",
+ "Daemon",
+ "Echidna",
+ "Goblin",
+ "Golem",
+ "Griffin",
+ "Hobgoblin",
+ "Hydra",
+ "Imp",
+ "Ladon",
+ "Manticore",
+ "Medusa",
+ "Ogre",
+ "Pegasus",
+ "Sasquatch",
+ "Shade",
+ "Siren",
+ "Sphinx",
+ "Typhon",
+ "Valkyrie",
+ "Vampir",
+ "Wendigo",
+ "Werewolf",
+ "Wraith"
+ )
+ destination_names = list(
+ "Blackstar Command",
+ "a Blackstar training site",
+ "a Blackstar logistical depot",
+ "a Blackstar-held shipyard",
+ "a contract location"
+ )
+
diff --git a/code/modules/busy_space_vr/organizations.dm b/code/modules/busy_space_vr/organizations.dm
deleted file mode 100644
index 5a59b2f09e3..00000000000
--- a/code/modules/busy_space_vr/organizations.dm
+++ /dev/null
@@ -1,887 +0,0 @@
-//Datums for different companies that can be used by busy_space, VR edition
-
-// Some of these intentionally copy from busy_space/organizations.dm, which is disabled in our server.
-//////////////////////////////////////////////////////////////////////////////////
-
-//Datums for different companies that can be used by busy_space
-/datum/lore/organization
- var/name = "" // Organization's name
- var/short_name = "" // Organization's shortname (NanoTrasen for "NanoTrasen Incorporated")
- var/acronym = "" // Organization's acronym, e.g. 'NT' for NanoTrasen'.
- var/desc = "" // One or two paragraph description of the organization, but only current stuff. Currently unused.
- var/history = "" // Historical discription of the organization's origins Currently unused.
- var/work = "" // Short description of their work, eg "an arms manufacturer"
- var/headquarters = "" // Location of the organization's HQ. Currently unused.
- var/motto = "" // A motto/jingle/whatever, if they have one. Currently unused.
-
- var/list/ship_prefixes = list() //Some might have more than one! Like NanoTrasen. Value is the mission they perform, e.g. ("ABC" = "mission desc")
- var/list/ship_names = list( //Names of spaceships. This is a mostly generic list that all the other organizations inherit from if they don't have anything better.
- "Kestrel",
- "Beacon",
- "Signal",
- "Freedom",
- "Glory",
- "Axiom",
- "Eternal",
- "Harmony",
- "Light",
- "Discovery",
- "Endeavour",
- "Explorer",
- "Swift",
- "Dragonfly",
- "Ascendant",
- "Tenacious",
- "Pioneer",
- "Hawk",
- "Haste",
- "Radiant",
- "Luminous"
- )
- var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly.
- var/autogenerate_destination_names = TRUE
-
-/datum/lore/organization/New()
- ..()
- if(autogenerate_destination_names) // Lets pad out the destination names.
- var/i = rand(6, 10)
- var/list/star_names = list(
- "Sol", "Alpha Centauri", "Sirius", "Vega", "Regulus", "Vir", "Algol", "Aldebaran", "Vilous", "Sanctum", "Qerr'Vallis", "Kataigal", "Antares",
- "Delta Doradus", "Menkar", "Geminga", "Elnath", "Gienah", "Mu Leporis", "Nyx", "Tau Ceti", "Virgo-Erigone", "Uueoa-Esa", "Vazzend", "Kastra-71",
- "Wazn", "Alphard", "Phact", "Altair", "El", "Eutopia", "Qerr'valis", "Qerrna-Lakirr", "Rarkajar", "the Almach Rim")
- var/list/destination_types = list("dockyard", "station", "vessel", "waystation", "telecommunications satellite", "spaceport", "distress beacon", "anomaly", "colony", "outpost")
- while(i)
- destination_names.Add("a [pick(destination_types)] in [pick(star_names)]")
- i--
-
-//////////////////////////////////////////////////////////////////////////////////
-
-// TSCs
-/datum/lore/organization/tsc/nanotrasen
- name = "NanoTrasen Incorporated"
- short_name = "NanoTrasen"
- acronym = "NT"
- desc = "NanoTrasen is one of the foremost research and development companies in SolGov space. \
- Originally focused on consumer products, their swift move into the field of Phoron has lead to \
- them being the foremost experts on the substance and its uses. In the modern day, NanoTrasen prides \
- itself on being an early adopter to as many new technologies as possible, often offering the newest \
- products to their employees. In an effort to combat complaints about being 'guinea pigs', Nanotrasen \
- also offers one of the most comprehensive medical plans in SolGov space, up to and including cloning \
- and therapy.\
-
\
- NT's most well known products are its phoron based creations, especially those used in Cryotherapy. \
- It also boasts an prosthetic line, which is provided to its employees as needed, and is used as an incentive \
- for newly tested posibrains to remain with the company."
- history = "" // To be written someday.
- work = "research giant"
- headquarters = "Luna"
- motto = ""
-
- ship_prefixes = list("NSV" = "exploration", "NTV" = "hauling", "NDV" = "patrol", "NRV" = "emergency response")
- //Scientist or Greek mythology naming scheme
- ship_names = list(
- "Bardeen",
- "Einstein",
- "Feynman",
- "Sagan",
- "Tyson",
- "Galilei",
- "Jans",
- "Fhriede",
- "Franklin",
- "Tesla",
- "Curie",
- "Darwin",
- "Newton",
- "Pasteur",
- "Bell",
- "Mendel",
- "Kepler",
- "Edision",
- "Cavendish",
- "Nye",
- "Hawking",
- "Aristotle",
- "Von Braun",
- "Kaku",
- "Oppenheimer"
- )
- // Note that the current station being used will be pruned from this list upon being instantiated
- destination_names = list(
- "NSS Exodus in Nyx",
- "NCS Northern Star in Vir",
- "NAB Smythside Central Headquarters in Sol",
- "NAS Zeus orbiting Virgo-Prime",
- "NIB Posideon in Alpha Centauri",
- "NTB An-Nur on Virgo-Prime",
- "the colony at Virgo-3B",
- "the NanoTrasen phoron refinery in Vilous",
- "a dockyard orbiting Virgo-Prime",
- "an asteroid orbiting Virgo 3",
- )
-
-/datum/lore/organization/tsc/nanotrasen/New()
- ..()
- spawn(1) // BYOND shenanigans means using_map is not initialized yet. Wait a tick.
- // Get rid of the current map from the list, so ships flying in don't say they're coming to the current map.
- var/string_to_test = "[using_map.station_name] in [using_map.starsys_name]"
- if(string_to_test in destination_names)
- destination_names.Remove(string_to_test)
-
-
-
-/datum/lore/organization/tsc/hephaestus
- name = "Hephaestus Industries"
- short_name = "Hephaestus"
- acronym = "HI"
- desc = "Hephaestus Industries is the largest supplier of arms, ammunition, and small millitary vehicles in Sol space. \
- Hephaestus products have a reputation for reliability, and the corporation itself has a noted tendency to stay removed \
- from corporate politics. They enforce their neutrality with the help of a fairly large asset-protection contingent which \
- prevents any contracting polities from using their own materiel against them. SolGov itself is one of Hephastus’ largest \
- bulk contractors owing to the above factors."
- history = ""
- work = "arms manufacturer"
- headquarters = ""
- motto = ""
-
- ship_prefixes = list("HTV" = "freight", "HTV" = "munitions resupply")
- //War God/Soldier Theme
- ship_names = list(
- "Ares",
- "Athena",
- "Grant",
- "Custer",
- "Puller",
- "Nike",
- "Bellona",
- "Leonides",
- "Bast",
- "Jackson",
- "Lee",
- "Annan",
- "Chi Yu",
- "Shiva",
- "Tyr"
- )
- destination_names = list(
- "a SolGov dockyard on Luna",
- "a Fleet outpost in the Almach Rim",
- "a Fleet outpost on the Moghes border"
- )
-
-/datum/lore/organization/tsc/vey_med
- name = "Vey-Medical"
- 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 opperated by Skrell. \
- Despite the suspicion and prejudice leveled at them for their alien origin, Vey-Med has obtained market dominance in \
- the sale of medical equipment-- from surgical tools to large medical devices to the Oddyseus trauma response mecha \
- and everything in between. Their equipment tends to be top-of-the-line, most obviously shown by their incredibly \
- human-like FBP designs. Vey’s rise to stardom came from their introduction of ressurective cloning, although in \
- recent years they’ve been forced to diversify as their patents expired and NanoTrasen-made medications became \
- essential to modern cloning."
- history = ""
- work = "medical equipment supplier"
- headquarters = ""
- motto = ""
-
- ship_prefixes = list("VTV" = "transportation", "VMV" = "medical resupply")
- // Diona names
- ship_names = list(
- "Wind That Stirs The Waves",
- "Sustained Note Of Metal",
- "Bright Flash Reflecting Off Glass",
- "Veil Of Mist Concealing The Rock",
- "Thin Threads Intertwined",
- "Clouds Drifting Amid Storm",
- "Loud Note And Breaking",
- "Endless Vistas Expanding Before The Void",
- "Fire Blown Out By Wind",
- "Star That Fades From View",
- "Eyes Which Turn Inwards",
- "Joy Without Which The World Would Come Undone",
- "A Thousand Thousand Planets Dangling From Branches"
- )
- destination_names = list(
- "a research facility in Samsara",
- "a SDTF near Ue-Orsi",
- "a sapientarian mission in the Almach Rim"
- )
-
-/datum/lore/organization/tsc/zeng_hu
- name = "Zeng-Hu pharmaceuticals"
- 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 patentted by Zeng-Hu-- Bicaridyne, Dylovene, Tricordrizine, \
- and Dexalin all came from a Zeng-Hu medical laboratory. Zeng-Hu’s fortunes have been in decline as Nanotrasen’s near monopoly \
- on phoron research cuts into their R&D and Vey-Med’s superior medical equipment effectively decimated their own equipment \
- interests. The three-way rivalry between these companies for dominance in the medical field is well-known and a matter of \
- constant economic speculation."
- history = ""
- work = "pharmaceuticals company"
- headquarters = ""
- motto = ""
-
- ship_prefixes = list("ZTV" = "transportation", "ZMV" = "medical resupply")
- destination_names = list()
-
-/datum/lore/organization/tsc/ward_takahashi
- name = "Ward-Takahashi General Manufacturing Conglomerate"
- 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 \
- of the AI cores on which vital control systems are mounted, and it is this branch of their industry that has \
- led to their tertiary interest in the development and sale of high-grade AI systems. Ward-Takahashi’s economies \
- of scale frequently steal market share from Nanotrasen’s high-price products, leading to a bitter rivalry in the \
- consumer electronics market."
- history = ""
- work = "electronics manufacturer"
- headquarters = ""
- motto = ""
-
- ship_prefixes = list("WTV" = "freight")
- ship_names = list(
- "Comet",
- "Aurora",
- "Supernova",
- "Nebula",
- "Galaxy",
- "Starburst",
- "Constellation",
- "Pulsar",
- "Quark",
- "Void",
- "Asteroid"
- )
- destination_names = list()
-
-/datum/lore/organization/tsc/bishop
- name = "Bishop Cybernetics"
- short_name = "Bishop"
- acronym = "BC"
- desc = "Bishop’s focus is on high-class, stylish cybernetics. A favorite among transhumanists (and a bête noire for \
- bioconservatives), Bishop manufactures not only prostheses but also brain augmentation, synthetic organ replacements, \
- and odds and ends like implanted wrist-watches. Their business model tends towards smaller, boutique operations, giving \
- it a reputation for high price and luxury, with Bishop cyberware often rivalling Vey-Med’s for cost. Bishop’s reputation \
- for catering towards the interests of human augmentation enthusiasts instead of positronics have earned it ire from the \
- Positronic Rights Group and puts it in ideological (but not economic) comptetition with Morpheus Cyberkinetics."
- history = ""
- work = "cybernetics and augmentation manufacturer"
- headquarters = ""
- motto = ""
-
- ship_prefixes = list("BTV" = "transportation")
- destination_names = list()
-
-/datum/lore/organization/tsc/morpheus
- name = "Morpheus Cyberkinetics"
- 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 \
- relied on word of mouth among positronics to reach their current economic dominance. Morpheus in exchange lobbies heavily for \
- positronic rights, sponsors positronics through their Jans-Fhriede test, and tends to other positronic concerns to earn them \
- the good-will of the positronics, and the ire of those who wish to exploit them."
- history = ""
- work = "cybernetics manufacturer"
- headquarters = ""
- motto = ""
-
- ship_prefixes = list("MTV" = "freight")
- // Culture names, because Anewbe told me so.
- ship_names = list(
- "Nervous Energy",
- "Prosthetic Conscience",
- "Revisionist",
- "Trade Surplus",
- "Flexible Demeanour",
- "Just Read The Instructions",
- "Limiting Factor",
- "Cargo Cult",
- "Gunboat Diplomat",
- "A Ship With A View",
- "Cantankerous",
- "I Thought He Was With You",
- "Never Talk To Strangers",
- "Sacrificial Victim",
- "Unwitting Accomplice",
- "Witting Accomplice",
- "Bad For Business",
- "Just Testing",
- "Size Isn't Everything",
- "Yawning Angel",
- "Liveware Problem",
- "Very Little Gravitas Indeed",
- "Zero Gravitas",
- "Gravitas Free Zone",
- "Absolutely No You-Know-What",
- "Existence Is Pain",
- "I'm Walking Here",
- "Screw Loose",
- "Of Course I Still Love You",
- "Limiting Factor",
- "So Much For Subtley",
- "Unfortunate Conflict Of Evidence",
- "Prime Mover",
- "It's One Of Ours",
- "Thank You And Goodnight",
- "Boo!",
- "Reasonable Excuse",
- "Honest Mistake",
- "Appeal To Reason",
- "My First Ship II",
- "Hidden Income",
- "Anything Legal Considered",
- "New Toy",
- "Me, I'm Always Counting",
- "Just Five More Minutes",
- "Are You Feeling It",
- "Great White Snark",
- "No Shirt No Shoes",
- "Callsign",
- "Three Ships in a Trenchcoat",
- "Not Wearing Pants",
- "Ridiculous Naming Convention",
- "God Dammit Morpheus",
- "It Seemed Like a Good Idea",
- "Legs All the Way Up",
- "Purchase Necessary",
- "Some Assembly Required",
- "Buy One Get None Free",
- "BRB",
- "SHIP NAME HERE",
- "Questionable Ethics",
- "Accept Most Substitutes",
- "I Blame the Government",
- "Garbled Gibberish",
- "Thinking Emoji",
- "Is This Thing On?",
- "Make My Day",
- "No Vox Here",
- "Savings and Values",
- "Secret Name",
- "Can't Find My Keys",
- "Look Over There!",
- "Made You Look!",
- "Take Nothing Seriously",
- "It Comes In Lime, Too",
- "Loot Me",
- "Nothing To Declare",
- "Sneaking Suspicion",
- "Bass Ackwards",
- "Good Things Come to Those Who Freight",
- "Redundant Morality",
- "Synthetic Goodwill",
- "Your Ad Here",
- "What Are We Plotting?",
- "Set Phasers To Stun",
- "Preemptive Defensive Strike",
- "This Ship Is Spiders",
- "Legitimate Trade Vessel",
- "Please Don't Explode II"
- )
- destination_names = list(
- "a trade outpost in Shelf"
- )
-
-/datum/lore/organization/tsc/xion
- name = "Xion Manufacturing Group"
- short_name = "Xion"
- desc = "Xion, quietly, controls most of the market for industrial equipment. Their portfolio includes mining exosuits, \
- factory equipment, rugged positronic chassis, and other pieces of equipment vital to the function of the economy. Xion \
- keeps its control of the market by leasing, not selling, their equipment, and through infamous and bloody patent protection \
- lawsuits. Xion are noted to be a favorite contractor for SolGov engineers, owing to their low cost and rugged design."
- history = ""
- work = "industrial equipment manufacturer"
- headquarters = ""
- motto = ""
-
- ship_prefixes = list("XTV" = "hauling")
- destination_names = list()
-
-/datum/lore/organization/gov/solgov
- name = "Solar Central Government"
- short_name = "SolGov"
- acronym = "SCG"
- desc = "SolGov is a federation of human governmental entities based on Earth, Sol, which defines top-level law for their member systems. \
- Member systems receive various benefits such as defensive pacts, trade agreements, social support and funding, and being able to participate \
- in the Colonial Assembly. The majority, but not all human territories are members of SolGov. As such, SolGov is a major power and \
- generally represents humanity on the galactic stage."
- history = "A Unified Earth Government was formed in the wake of the Sol Interplanetary War and other conflicts of the 2160s. \
- With numerous Earth governments fighting independent battles against factions of both Facist and Communist forces, the UN became \
- involved, eventually using the war to absorb most, if not all Earth governments into itself, forming a global government to combat \
- the terrorists and stabilize the planet and its other world colonies. The UN won the war and the Unified Earth Government was formed, \
- with its' primary defense, scientific and exploratory force being the newly formed USDF. Although the UEG seemed to have complete \
- control over Earth and Sol's colonies, the UN still existed as an organization and a political entity to continue mediating between \
- countries and colonies. In 2291, Tobias Shaw and Wallace Fujikawa invented a device that could transition normal matter into slipspace \
- (bluespace), and FTL travel became possible. As humanity expanded beyond the Solar System, the UEG reorganized its self to become the \
- centralized government of humanity known today; Sol Central. Organizations like the USDF would continue to exist as a peacekeeping \
- force to protect most of humanity's interests across the galaxy."
- work = "governing body of humanity's colonies"
- headquarters = "Paris, Earth"
- motto = ""
- autogenerate_destination_names = TRUE
-
- ship_prefixes = list("SCG-T" = "transportation", "SCG-D" = "diplomatic", "SCG-F" = "freight")
- destination_names = list(
- "Mercury",
- "Venus",
- "Earth",
- "Luna",
- "Mars",
- "Titan",
- "Europa",
- "the SolGov embassy in Virgo-Erigone",
- "the SolGov embassy in Vilous"
- )// autogen will add a lot of other places as well.
-/* CITADEL CHANGE - Removes VEGA
-/datum/lore/organization/gov/sifgov // Overrides Polaris stuff
- name = "Virgo-Erigone Governmental Authority"
- short_name = ""
- desc = "Existing far outside the reach of SolGov space, the only governing body of the Virgo-Erigone system is the Virgo-Prime Governmental \
- Authority, also known as VEGA. It is a Technocracy founded and operated by NanoTrasen, using company appointed experts hired to see \
- to the comfort and well being of Virgo's citizens; most of whom are also NanoTrasen employees. VEGA provides basic social services \
- such as law enforcement, emergency services, medical care, education, and infrastructure. VEGA's operations are based on the world \
- of Virgo-Prime, within the spaceport city of Anur. Although the government is an entity of NanoTrasen, some elements of democracy \
- are still practiced, such as voting on changes to local law, policy, or public works."
- history = "VEGA was founded in 2556, shortly after the Virgo-Erigone system was colonized by a population of 1000. That population has \
- multiplied many times since then as wealth and commerce come and go from this frontier star system."
- work = "governing body of Virgo-Erigone"
- headquarters = "Anur, Virgo-Prime"
- motto = "Reach for the Stars."
- autogenerate_destination_names = FALSE
-
- ship_prefixes = list("VEFD" = "fire rescue", "VEPD" = "patrol", "VEGA" = "administrative", "SAR" = "medivac")
- destination_names = list(
- "the colony at Virgo-3B",
- "the VORE-1 debris field",
- "a mining colony on Virgo-2",
- "the Anur Spaceport",
- "to a local distress beacon",
- "NAS Zeus orbiting Virgo-Prime",
- "NTB An-Nur on Virgo-Prime",
- "the colony at Virgo-3B",
- "a dockyard orbiting Virgo-Prime",
- "an asteroid orbiting Virgo 3",
- "a telecommunications satellite near Virgo-3B",
- "a telecommunications satellite near Virgo-Prime"
- )
-END OF CITADEL CHANGES */
-/* // Waiting for lore to be updated.
-/datum/lore/organization/gov/federation
- name = "United Federation of Planets"
- short_name = "Federation"
- desc = "The United Federation is a federation of planets that have agreed to exist semi-autonomously \
- under a single central hybrid government, sharing the ideals of liberty, equality, and rights \
- for all. It is one of the larger known interstellar powers in known space and is seen as being \
- the fastest building power. The core planet of Gaia is known for having a proud military culture \
- that, ironically, tends to stomp out any idea of warmongering from their cadets due to their \
- scarred history and the Federation's ideals."
- history = "Before the United Federation, there was a simple alliance with no name between core planet \
- members. The United Federation itself found its roots in the aftermath of the Bloody \
- Valentine Civil War, a racially motivated war that occurred in 2550 during the last year of \
- the Federation Alliance of Gaia between the Genetically Modified and so-called Naturalists. \
- Neutral nations in Gaia's political sphere, encouraged by alien observers, formed the United \
- Federation when the indiscriminate loss of life became intolerable. 2555 saw the official \
- signing of the Federation Charter between the core planet members."
- work = "governing body"
- headquarters = ""
- motto = ""
-
- //Star Trek ship names!
- ship_prefixes = list("SCV" = "military", "STV" = "trading", "SDV" = "diplomatic")
- ship_names = list("Kestrel",
- "Beacon",
- "Signal",
- "Flying Freedom",
- "Los Canas",
- "Ixiom",
- "Falken",
- "Marigold",
- "White Valley",
- "Eternal",
- "Arkbird",
- "Akira",
- "Kongou",
- "Maki",
- "Kagero",
- "Nishiki",
- "Icarus",
- "Yuudachi",
- "Tiki",
- "Lucina",
- "Tenryu",
- "Spirit of Koni",
- "Lady of Onoilph")
- destination_names = list("Ruins of Chani City on Quarri III",
- "Ruins of Kreely City on Ocan II",
- "Ruins of Mishi City on Lucida IV",
- "Ruins of Posloo City on Pi Cephei Prime",
- "Molten Plains of Anarakis VII",
- "Living City of Shani",
- "Floating City of Nuni Vanni",
- "Crystalline City of Delve Tile",
- "New Iapetus Colony",
- "Onul Colony",
- "Ahemait Colony",
- "New Amasia Colony",
- "New Vesta Colony",
- "Amaus Research Facility on Azaleh III",
- "Living City of Na'me L'Tauri",
- "Living City of Fithpa",
- "Resource Mines of Lyra III",
- "Resource Mines of Chi Cerberi III",
- "Ceani Military Outpost on Rily VII",
- "Naro Industrial Complex on Scheddi III",
- "Mari Industrial Complex on Furlou Prime",
- "Runni Crystal Mines of Keid V")
-*/
-
-/datum/lore/organization/mil/usdf
- name = "United Sol Defense Force"
- short_name = "" // This is blank on purpose. Otherwise they call the ships "USDF USDF Name"
- desc = "The USDF is the dedicated military force of SolGov, originally formed by the United Nations. It is the \
- dominant superpower of the Orion Spur, and is able to project its influence well into parts of the Perseus and \
- Sagittarius arms of the galaxy. However, regions beyond that are too far for the USDF to be a major player."
- history = "Earth's clashes with dissident political movements, the most important of which were the \"Red Faction\" and \"Storm Front,\" \
- began the crisis that led to the formation of the USDF. The Storm Front movement was a fascist organization based on the Jovian \
- Moons, a group that received backing from some corporations operating in the Federal Republic of Germany on Earth. Their \
- ideological opponents, the Red Faction, formed a Marxist-Leninist group on Mars centered around the leadership of Vladimir Koslov \
- around the same time. The USDF was commissioned in 2163 as a military force primarily composed of Naval and Marine \
- forces. In July 2164, the USDF partook in its first battle. From this point, the USDF was used by the UN in conflicts, \
- including the Interplanetary War. When the conflicts of Sol ended, a newly powerful Unified Earth Government (later SolGov) \
- and USDF began to expand into the stars. The apex of human expansion would come in 2490, when more than 600 worlds were \
- considered part of SolGov's territory, many developing into full-fledged colonies. By this time, a ring of Outer colonies \
- was providing SolGov with the raw materials that made the macro-economy function; with the political power remaining with \
- the Inner colonies. The massive difference in wealth distribution and political power, which became a hallmark of humanity \
- by this period, led to new threats of secession from the outer ring. In 2492, the colony of Far Isle was razed by nuclear \
- weapons after a massive uprising, creating a new found reason to rebel. SolGov began to wage a bloody struggle against \
- groups of terrorists (or freedom fighters) called the Insurrectionists, who wanted independence. The USDF continues to battle \
- sepratists to this day. The USDF's operations meanwhile focus on curbing piracy operations, as well as providing a deterrent \
- against other major military powers such as the Moghes Hegemony."
- work = "peacekeeping and piracy suppression"
- headquarters = "Paris, Earth"
- motto = "Per Mare, Per Terras, Per Constellatum." // Stolen from Halo because fuck you that's why. -Ace
- ship_prefixes = list("USDF" = "military", "USDF" = "anti-piracy", "USDF" = "escort", "USDF" = "humanitarian", "USDF" = "peacekeeping", "USDF" = "search-and-rescue", "USDF" = "war game") // It's all USDF but let's mix up what missions they do.
- ship_names = list("Aegis Fate",
- "Ain't No Sunshine",
- "All Under Heaven",
- "Allegiance",
- "Andraste",
- "Anjou",
- "Barracuda",
- "Bastion",
- "Buenos Aires",
- "Bum Rush",
- "Callisto",
- "Charon",
- "Colorado",
- "Commonwealth",
- "Corsair",
- "DeGaulle",
- "Devestator",
- "Dust of Snow",
- "Euphrates",
- "Fair Weather",
- "Finite Hearts",
- "Forward Unto Dawn",
- "Gettysburg",
- "Glamorgan",
- "Grafton",
- "Great Wall",
- "Hammerhead",
- "Herakles",
- "Hoenir",
- "In Amber Clad",
- "Iwo Jima",
- "Jolly Roger",
- "Jormungandr",
- "Leonidas",
- "Meriwether Lewis",
- "Mona Lisa",
- "Olympus",
- "Paris",
- "Pony Express",
- "Providence",
- "Prydwen",
- "Purpose",
- "Ready or Not",
- "Redoubtable",
- "Rising Sun",
- "Saratoga",
- "Savannah",
- "Shanxi",
- "Song of the East",
- "Stalwart Dawn",
- "Strident",
- "Tannenberg",
- "Tokugawa",
- "Totem Lake",
- "Tripping Light",
- "Two for Flinching")
- destination_names = list("San Francisco on Earth",
- "Gateway One above Luna",
- "SolGov Headquarters on Earth",
- "Olympus City on Mars",
- "Hermes Naval Shipyard above Mars",
- "Cairo Station above Earth",
- "a rendezvous point in the Cyprus Arm",
- "a settlement on Titan",
- "a settlement on Europa",
- "Aleph Grande on Ganymede",
- "a colony in Proxima II",
- "a settlement on Ceti IV-B",
- "a colony ship around Ceti IV-B",
- "a naval station above Ceti IV-B",
- "a classified location in SolGov territory",
- "a classified location in uncharted space",
- "an emergency nav bouy",
- "the USDF Naval Academy on Earth",
- "Fort Rain on Tal")
-
-/datum/lore/organization/mil/oni
- name = "SolGov Office of Naval Intelligence"
- short_name = "" // This is blank on purpose. Otherwise they call the ships "ONI ONI Name"
- desc = "The Office of Naval Intelligence is SolGov's eyes and ears in the galaxy's affairs. Despite its name, and despite its \
- usual association with the USDF, the Office of Naval Intelligence does not fall under the command of the military. From espionage \
- to archeological research, ONI's work provides SolGov with the knowledge and technology it requires to advance both military and \
- civilian interests across the galaxy."
- history = "ONI was originally created by the consolidation of several military intelligence agencies from Sol during the Sol-Hegemony war. \
- The USDF's victory in that war was largely accredited to intelligence and technology advancements provided by ONI during that time, \
- most notably of which was the reverse-engineering of Unathi vessels, allowing the production of countermeasures that played a crucial \
- role during in the late stages of the conflict. After the war, ONI's resources were pooled into numerous top secret projects; much of \
- which remains unknown or outright denied to the public even today. Among their suspected activities include exploration, weapons \
- development, xenoarcheology, xenobiology, corporate espionage, and manipulation of political affairs."
- work = "espionage, piracy suppression, xeno research, and various other black projects"
- headquarters = "Paris, Earth"
- motto = "The truth will set you free."
- ship_prefixes = list("ONI" = "classified", "ONI" = "archeological", "ONI" = "exploration", "ONI" = "logistic") // It's all ONI but let's mix up what missions they do.
- ship_names = list("Bastille",
- "Fantôme",
- "Harpocrates",
- "Hoenir",
- "Mata Hari",
- "Midsummer Night",
- "Mirage",
- "Persephone", // Director Ixchel Kisoda's personal research ship
- "Versailles")
- destination_names = list("parts unknown",
- "none of your business",
- "uncharted space",
- "an undisclosed location",
- "facility 8492",
- "you don't want to know",
- "if told you I'd have to kill you",
- "... wait, why am I even telling you this? Just let me pass",
- "stop asking questions")
-/* CITADEL CHANGE - Goodbye KHI
-/datum/lore/organization/gov/kitsuhana
- name = "Kitsuhana Heavy Industries"
- short_name = "Kitsuhana"
- desc = "A large post-scarcity amalgamation of races, Kitsuhana is no longer a company but rather a loose association of 'members' \
- who only share the KHI name and their ideals in common. Kitsuhana accepts interviews to join their ranks, and though they have no \
- formal structure with regards to government or law, the concept of 'consent' drives most of the large decision making. Kitsuhanans \
- pride themselves on their ability to avoid consequence, essentially preferring to live care-free lives. Their post-scarcity allows \
- them to rebuild, regrow, and replenish almost any lost asset or resource nearly instantly. It leads to many of the Kitsuhana \
- 'members' treating everything with frivolity and lends them a care-free demeanor."
- history = "Originally a heavy industrial equipment and space mining company. During a forced evacuation of their homeworld, \
- they were they only organization with enough ship capacity to relocate any significant portion of the population, starting with \
- their own employees. After the resulting slowship travel to nearby starsystems, most of the population decided to keep the moniker \
- of the company name. Over the years, Kitsuhana developed into a post-scarcity anarchy where virtually nothing has consequences and \
- Kitsuhana 'members' can live their lives as they see fit, often in isolation."
- work = "utopian anarchy"
- headquarters = "Kitsuhana Prime"
- motto = "Do what you want. We know we will."
-
- //Culture ship names!
- ship_prefixes = list("KHI" = "personal") //Everybody's out for themselves, yanno.
- ship_names = list("Nervous Energy",
- "Prosthetic Conscience",
- "Revisionist",
- "Trade Surplus",
- "Flexible Demeanour",
- "Just Read The Instructions",
- "Limiting Factor",
- "Cargo Cult",
- "Gunboat Diplomat",
- "A Ship With A View",
- "Cantankerous",
- "I Thought He Was With You",
- "Never Talk To Strangers",
- "Sacrificial Victim",
- "Unwitting Accomplice",
- "Bad For Business",
- "Just Testing",
- "Size Isn't Everything",
- "Yawning Angel",
- "Liveware Problem",
- "Very Little Gravitas Indeed",
- "Zero Gravitas",
- "Gravitas Free Zone",
- "Absolutely No You-Know-What")
- destination_names = list("Kitsuhana Prime",
- "Kitsuhana Beta",
- "Kitsuhana Gamma",
- "the Kitsuhana Forge",
- "a Kitsuhanan's home",
- "a Kitsuhana ringworld in Pleis Ceti V",
- "a Kitsuhana ringworld in Lund VI",
- "a Kitsuhana ringworld in Dais IX",
- "a Kitsuhana ringworld in Leibert II-b")
-END OF CITADEL CHANGES */
-/datum/lore/organization/gov/ares
- name = "Ares Confederation"
- short_name = "ArCon"
- desc = "A rebel faction in the Cygnus Arm that renounced the government of both SolGov and their corporate overlords. \
- The Confederation has two fleets; a regular United Fleet Host comprised of professional crewmen and officers, and the Free Host \
- of the Confederation which uses privateers, volunteers and former pirates. The Ares Confederation only holds a few dozen star \
- systems, but they will fiercely defend against any incursion upon their territory, especially by the USDF."
- history = "Originally only a strike of miners on the dusty, arid planet of Ares in the year 2540, the Ares Confederation was quickly \
- established under the leadership of retired USDF Colonel Rodrick Gellaume, who is now Prime Minister."
- work = "rebel fringe government"
- headquarters = "Paraiso a Àstrea"
- motto = "Liberty to the Stars!"
-
- ship_prefixes = list("UFHV" = "military", "FFHV" = "shady")
- ship_names = list("Bulwark of the Free",
- "Charged Negotiation",
- "Corporation Breaker",
- "Cheeki Breeki",
- "Dawnstar",
- "Fiery Justice",
- "Fist of Ares",
- "Freedom",
- "Fuck The Captain",
- "Gauntlet",
- "Gellaume",
- "Hero of the Revolution",
- "Jerome",
- "Laughing Maniac",
- "Liberty",
- "Mahama",
- "Memory of Fallen",
- "Miko",
- "Mostly Harmless",
- "None Of Your Business",
- "Not Insured",
- "People's Fist",
- "Petrov",
- "Prehensile Ethics",
- "Pride of Liberty",
- "Rodrick",
- "She Is One Of Ours Sir",
- "Star of Tiamat",
- "Torch of Freedom",
- "Torch")
- destination_names = list("Drydocks of the Ares Confederation",
- "a classified location",
- "a Homestead on Paraiso a Àstrea",
- "a contested sector of ArCon space",
- "one of our free colonies",
- "the Gateway 98-C at Arest",
- "Sars Mara on Ares",
- "Listening Post Maryland-Sigma",
- "an emergency nav bouy",
- "New Berlin on Nov-Ferrum",
- "a settlement needing our help",
- "Forward Base Sigma-Alpha in ArCon space")
-/* CITADEL CHANGE - Removes the Golden Empire
-/datum/lore/organization/gov/imperial
- name = "Auream Imperium"
- short_name = "Imperial"
- desc = "Also known as the \"Golden Empire\", Auream Imperium is a superpower of elf-like humanoid beings who thrive in the southern \
- galaxy, presumably somewhere in the mid Centaurus Arm. Having existed in the observation shadow of the galactic core, this \
- galactic superpower had remained undiscovered by humanity despite its size until only recently. First contact was made on \
- June 15th 2561, when Imperial Navy cartographers stumbled upon the Virgo-Erigone system, far from the influence of the USDF. \
- Though little is currently known about the Golden Empire, their scholars have been willing to share some information. They \
- are currently ruled by a woman referred to as Empress Gutamir who is allegedly hundreds of years old. Images and portraits \
- of the empress depict a tall woman with an idealized figure of beauty as might have been seen in ancient Roman or Greek \
- works of art. She has white hair, silvery eyes, and a fair complexion. Whether or not these images are an authentic or \
- even an accurate depiction remains unknown. Vessels of the Golden Empire utilize technology unlike anything humans have ever \
- seen. Although they use bluespace for FTL travel, the methods in which they tap into bluespace has yet to be studied in any \
- detail by human scientists. Their kind hails from a binary system of Earth-like worlds called Sanctum and Venio, though the \
- exact location of these worlds is not known due to a culture of secrecy toward outsiders."
- history = "According to Imperial scholars, the Golden Empire is a civilization that has existed for at least 10,000 Earth years. \
- Their home system is said to host not one but two Earth-like worlds, both of which have been home to elves as far as their \
- records go back. How the elves were able to travel between these worlds is currently unknown, but apparently they have been \
- doing so for at least the last 2000 years. However, from what is understood, until only 300 years ago, these accomplishments \
- were only made possible by a very limited number of ships apparently using borrowed technology from an undiscovered \
- civilization they call \"Architectus.\" Curiously, the Golden Empire's primary language is strikingly similar to ancient \
- Latin on Earth, indicating that they may have somehow come into contact with Earth at some point in their history. However, \
- this contradicts what historical records they have been willing to share with us, as it would predate the timeline of space \
- travel they have given us so far."
- work = "rule over the southern galaxy in an uncharted region they call Segmentum Obscurum"
- headquarters = "Sanctum and Venio"
- motto = "Aut inveniam viam aut faciam"
-
- ship_prefixes = list("Bellator" = "naval", "Mercator" = "trade", "Benefactori" = "mercy", "Salvator" = "search-and-rescue", "Rimor" = "exploration", "Legatus" = "diplomatic") // It's all HMS but let's mix up what they do.
- ship_names = list("Ambition",
- "Aurora",
- "Argo",
- "Behemoth",
- "Beholder",
- "Boreas",
- "Bulwark",
- "Calypso",
- "Cerberus",
- "Chimera",
- "Chronos",
- "Civitas",
- "Colossus",
- "Covenant",
- "Cyrus",
- "Destiny",
- "Epimetheus",
- "Eternal",
- "Excalibur",
- "Forerunner",
- "Fortitude",
- "Hellion",
- "Hussar",
- "Hyperion",
- "Illustria",
- "Immortal",
- "Infinitum",
- "Inquisitor",
- "Invictus",
- "Judgment",
- "Juggernaut",
- "Knossos",
- "Legacy",
- "Leviathan",
- "Marathon",
- "Megalith",
- "Mobius",
- "Nemesis",
- "Nightingale",
- "Oblivion",
- "Octavius",
- "Orthrus",
- "Pandora",
- "Phalanx",
- "Revenant",
- "Rhapsody",
- "Scylla",
- "Seraphim",
- "Starfall",
- "Stargazer",
- "Starhammer",
- "Templar",
- "Thundrus",
- "Titan",
- "Triarius",
- "Trident",
- "Tyrannus",
- "Ulysses",
- "Valkyrie",
- "Victoria",
- "Vindicator",
- "Wreath")
- destination_names = list("uncharted space",
- "Cor Galaxia",
- "near Cor Galaxia",
- "Segmentum Obscurum", // Basically their home territory, where our telescopes can't see. They prefer to keep it that way. They call it something else internally.
- )
-END OF CITADEL CHANGES */
diff --git a/code/modules/lore_codex/lore_data/orgs.dm b/code/modules/lore_codex/lore_data/orgs.dm
index 839db448a3d..04c73bd263c 100644
--- a/code/modules/lore_codex/lore_data/orgs.dm
+++ b/code/modules/lore_codex/lore_data/orgs.dm
@@ -30,6 +30,6 @@
/*
/datum/lore/codex/category/auto_org/mil
- name = "Militaries"
+ name = "Para-Militaries & Private Security"
desired_type = /datum/lore/organization/mil
*/
\ No newline at end of file
diff --git a/code/modules/lore_codex/lore_data_vr/orgs.dm b/code/modules/lore_codex/lore_data_vr/orgs.dm
index 5f4c6cc6504..54a38bed000 100644
--- a/code/modules/lore_codex/lore_data_vr/orgs.dm
+++ b/code/modules/lore_codex/lore_data_vr/orgs.dm
@@ -34,6 +34,6 @@
/datum/lore/codex/category/auto_org/mil
- name = "Militaries"
- auto_keywords = list("Mil","Military", "Militaries")
+ name = "Military Forces & Private Security"
+ auto_keywords = list("Mil","Military","Militaries","Security")
desired_type = /datum/lore/organization/mil
diff --git a/code/modules/media/media_tracks.dm b/code/modules/media/media_tracks.dm
index 708e2a811ef..84eba4cad5d 100644
--- a/code/modules/media/media_tracks.dm
+++ b/code/modules/media/media_tracks.dm
@@ -1,63 +1,72 @@
-//
-// Load the list of available music tracks for the jukebox (or other things that use music)
-//
-
-// Music track available for playing in a media machine.
-/datum/track
- var/url // URL to load song from
- var/title // Song title
- var/artist // Song's creator
- var/duration // Song length in deciseconds
- var/secret // Show up in regular playlist or secret playlist?
- var/lobby // Be one of the choices for lobby music?
-
-/datum/track/New(var/url, var/title, var/duration, var/artist = "", var/secret = 0, var/lobby = 0)
- src.url = url
- src.title = title
- src.artist = artist
- src.duration = duration
- src.secret = secret
- src.lobby = lobby
-
-/datum/track/proc/display()
- var str = "\"[title]\""
- if(artist)
- str += " by [artist]"
- return str
-
-/datum/track/proc/toNanoList()
- return list("ref" = "\ref[src]", "title" = title, "artist" = artist, "duration" = duration)
-
-
-// Global list holding all configured jukebox tracks
-var/global/list/all_jukebox_tracks = list()
-var/global/list/all_lobby_tracks = list()
-
-// Read the jukebox configuration file on system startup.
-/hook/startup/proc/load_jukebox_tracks()
- var/jukebox_track_file = "config/jukebox.json"
- if(!fexists(jukebox_track_file))
- warning("File not found: [jukebox_track_file]")
- return
- var/list/jsonData = json_decode(file2text(jukebox_track_file))
- if(!istype(jsonData))
- warning("Failed to read tracks from [jukebox_track_file], json_decode failed.")
- for(var/entry in jsonData)
- if(!istext(entry["url"]))
- warning("[jukebox_track_file] entry [entry]: bad or missing 'url'")
- continue
- if(!istext(entry["title"]))
- warning("[jukebox_track_file] entry [entry]: bad or missingg 'title'")
- continue
- if(!isnum(entry["duration"]))
- warning("[jukebox_track_file] entry [entry]: bad or missing 'duration'")
- continue
- var/datum/track/T = new(entry["url"], entry["title"], entry["duration"])
- if(istext(entry["artist"]))
- T.artist = entry["artist"]
- T.secret = entry["secret"] ? 1 : 0
- T.lobby = entry["lobby"] ? 1 : 0
- all_jukebox_tracks += T
- if(T.lobby)
- all_lobby_tracks += T
- return 1
+//
+// Load the list of available music tracks for the jukebox (or other things that use music)
+//
+
+// Music track available for playing in a media machine.
+/datum/track
+ var/url // URL to load song from
+ var/title // Song title
+ var/artist // Song's creator
+ var/duration // Song length in deciseconds
+ var/secret // Show up in regular playlist or secret playlist?
+ var/lobby // Be one of the choices for lobby music?
+ var/jukebox // Does it even show up in the jukebox?
+ var/genre // What is the genre of the song?
+
+/datum/track/New(var/url, var/title, var/duration, var/artist = "", var/secret = 0, var/lobby = 0, var/jukebox = 0, var/genre = "")
+ src.url = url
+ src.title = title
+ src.artist = artist
+ src.duration = duration
+ src.secret = secret
+ src.lobby = lobby
+ src.jukebox = jukebox
+ src.genre = genre
+
+/datum/track/proc/display()
+ var str = "\"[title]\""
+ if(artist)
+ str += " by [artist]"
+ return str
+
+/datum/track/proc/toNanoList()
+ return list("ref" = "\ref[src]", "title" = title, "artist" = artist, "duration" = duration)
+
+
+// Global list holding all configured jukebox tracks
+var/global/list/all_jukebox_tracks = list()
+var/global/list/all_lobby_tracks = list()
+
+// Read the jukebox configuration file on system startup.
+/hook/startup/proc/load_jukebox_tracks()
+ var/jukebox_track_file = "config/jukebox.json"
+ if(!fexists(jukebox_track_file))
+ warning("File not found: [jukebox_track_file]")
+ return
+ var/list/jsonData = json_decode(file2text(jukebox_track_file))
+ if(!istype(jsonData))
+ warning("Failed to read tracks from [jukebox_track_file], json_decode failed.")
+ for(var/entry in jsonData)
+ if(!istext(entry["url"]))
+ warning("[jukebox_track_file] entry [entry]: bad or missing 'url'")
+ continue
+ if(!istext(entry["title"]))
+ warning("[jukebox_track_file] entry [entry]: bad or missingg 'title'")
+ continue
+ if(!isnum(entry["duration"]))
+ warning("[jukebox_track_file] entry [entry]: bad or missing 'duration'")
+ continue
+ var/datum/track/T = new(entry["url"], entry["title"], entry["duration"])
+ if(istext(entry["artist"]))
+ T.artist = entry["artist"]
+ if(istext(entry["genre"]))
+ T.genre = entry["genre"]
+ T.secret = entry["secret"] ? 1 : 0
+ T.lobby = entry["lobby"] ? 1 : 0
+ T.jukebox = entry["jukebox"] ? 1 : 0
+ if(istext(entry["genre"]))
+ T.genre = entry["genre"]
+ all_jukebox_tracks += T
+ if(T.lobby)
+ all_lobby_tracks += T
+ return 1
diff --git a/config/example/jukebox.json b/config/example/jukebox.json
new file mode 100644
index 00000000000..5845b2b1078
--- /dev/null
+++ b/config/example/jukebox.json
@@ -0,0 +1,62 @@
+[
+{
+"url": "https://s.put.re/bkZYkYwX.mp3",
+"title": "Flip-Flap (Title One)",
+"duration": 1500,
+"artist": "X-CEED",
+"secret": false,
+"lobby": true,
+"jukebox": false,
+"genre": "Jazz"
+},
+{
+"url": "https://s.put.re/EzLP21Mp.mp3",
+"title": "Robocop Theme (Title Two)",
+"duration": 1180,
+"artist": "Cboyardee",
+"secret": false,
+"lobby": true,
+"jukebox": false,
+"genre": "Electronic"
+},
+{
+"url": "https://s.put.re/uDpZrL1L.mp3",
+"title": "Tin Tin on the Moon (Remix)",
+"duration": 2320,
+"artist": "Jeroen Tel (Remixed by Cuboos)",
+"secret": false,
+"lobby": true,
+"jukebox": true,
+"genre": "Electronic"
+},
+{
+"url": "https://s.put.re/nNXTd9ko.mp3",
+"title": "Phoron Will Make Us Rich",
+"duration": 1370,
+"artist": "Earthcrusher",
+"secret": false,
+"lobby": true,
+"jukebox": true,
+"genre": "Electronic"
+},
+{
+"url": "https://s.put.re/vrN9ATH7.mp3",
+"title": "Spaceman's Dilemmia",
+"duration": 2230,
+"artist": "Carmen Miranda",
+"secret": false,
+"lobby": true,
+"jukebox": true,
+"genre": "Folk"
+},
+{
+"url": "https://s.put.re/QgemNJPJ.mp3",
+"title": "Banned from Argo",
+"duration": 3200,
+"artist": "Leslie Fish",
+"secret": false,
+"lobby": true,
+"jukebox": true,
+"genre": "Folk"
+}
+]
\ No newline at end of file
diff --git a/config/example/jukebox.txt b/config/example/jukebox.txt
index 08ae86b3988..291181c209d 100644
--- a/config/example/jukebox.txt
+++ b/config/example/jukebox.txt
@@ -1,30 +1,63 @@
-#Jukebox configuration file
-#Sound file | Song Title | <0 = normal or 1 = secret>
-
-# Normal songs
-sound/music/jukebox/SongAboutHares.ogg | A Song About Hares | 0
-sound/music/jukebox/BelowTheAsteroids.ogg | Below The Asteroids | 0
-sound/ambience/ambispace.ogg | Beyond | 0
-sound/music/clouds.s3m | Clouds of Fire | 0
-sound/music/title2.ogg | D`Bert | 0
-sound/ambience/song_game.ogg | D`Fort | 0
-sound/music/jukebox/DuckTalesMoon.mid | Duck Tales - Moon | 0
-sound/music/space.ogg | Endless Space | 0
-sound/music/main.ogg | Floating | 0
-sound/music/jukebox/Fly_Me_To_The_Moon.ogg | Fly Me To The Moon | 0
-sound/music/jukebox/Cantina.ogg | Mad About Me | 0
-sound/music/jukebox/MinorTurbulenceFull.ogg | Minor Turbulence | 0
-sound/music/jukebox/OdeToGreed.ogg | Ode to Greed | 0
-sound/misc/TestLoop1.ogg | Part A | 0
-sound/music/jukebox/Ransacked.ogg | Ransacked | 0
-sound/music/jukebox/russianrapdisco.ogg | Russkiy rep Diskoteka | 0
-sound/music/title1.ogg | Scratch | 0
-sound/music/space_oddity.ogg | Space Oddity | 0
-sound/music/THUNDERDOME.ogg | Thunderdome | 0
-sound/music/traitor.ogg | Trai`Tor | 0
-sound/music/jukebox/WelcomeToJurassicPark.mid | Welcome To Jurassic Park | 0
-
-# Secret songs!
-sound/music/jukebox/bandit_radio.ogg | Bandit Radio | 1
-sound/music/space_asshole.ogg | Space Asshole | 1
-sound/music/THUNDERDOME.ogg | THUNDERDOME | 1
+##DELETE THIS LINE AND SAVE FILE AS jukebox.json##
+[
+{
+"url": "https://s.put.re/bkZYkYwX.mp3",
+"title": "Flip-Flap (Title One)",
+"duration": 1500,
+"artist": "X-CEED",
+"secret": false,
+"lobby": true,
+"jukebox": false,
+"genre": "Jazz"
+},
+{
+"url": "https://s.put.re/EzLP21Mp.mp3",
+"title": "Robocop Theme (Title Two)",
+"duration": 1180,
+"artist": "Cboyardee",
+"secret": false,
+"lobby": true,
+"jukebox": false,
+"genre": "Electronic"
+},
+{
+"url": "https://s.put.re/uDpZrL1L.mp3",
+"title": "Tin Tin on the Moon (Remix)",
+"duration": 2320,
+"artist": "Jeroen Tel (Remixed by Cuboos)",
+"secret": false,
+"lobby": true,
+"jukebox": true,
+"genre": "Electronic"
+},
+{
+"url": "https://s.put.re/nNXTd9ko.mp3",
+"title": "Phoron Will Make Us Rich",
+"duration": 1370,
+"artist": "Earthcrusher",
+"secret": false,
+"lobby": true,
+"jukebox": true,
+"genre": "Electronic"
+},
+{
+"url": "https://s.put.re/vrN9ATH7.mp3",
+"title": "Spaceman's Dilemmia",
+"duration": 2230,
+"artist": "Carmen Miranda",
+"secret": false,
+"lobby": true,
+"jukebox": true,
+"genre": "Folk"
+},
+{
+"url": "https://s.put.re/QgemNJPJ.mp3",
+"title": "Banned from Argo",
+"duration": 3200,
+"artist": "Leslie Fish",
+"secret": false,
+"lobby": true,
+"jukebox": true,
+"genre": "Folk"
+}
+]
diff --git a/nano/templates/jukebox.tmpl b/nano/templates/jukebox.tmpl
index 77edb9ed419..ddbc1909a56 100644
--- a/nano/templates/jukebox.tmpl
+++ b/nano/templates/jukebox.tmpl
@@ -39,6 +39,11 @@ Used In File(s): \code\game\machinery\jukebox.dm
+