diff --git a/code/modules/busy_space_yw/air_traffic.dm b/code/modules/busy_space_yw/air_traffic.dm
index f7b5a5aab2..4ed355db3c 100644
--- a/code/modules/busy_space_yw/air_traffic.dm
+++ b/code/modules/busy_space_yw/air_traffic.dm
@@ -56,9 +56,9 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
squelched = 0
/datum/lore/atc_controller/proc/shift_ending(var/evac = 0)
- msg("NAS |Faraday|, this is [using_map.dock_name] Control, you are cleared to complete routine transfer from [using_map.station_name] to [using_map.dock_name].") //YW Edit - Shuttle, tho.
+ msg("[using_map.shuttle_name], this is [using_map.dock_name] Control, you are cleared to complete routine transfer from [using_map.station_name] to [using_map.dock_name].")
sleep(5 SECONDS)
- msg("NAS |Faraday| copies, [using_map.dock_name] Control. Departing [using_map.dock_name] for [using_map.station_name] on routine transfer route. Estimated time to arrival: ten minutes.","NAS Faraday") //YW Edit - Shuttle, tho. also flip the locs so it makes sense
+ msg("[using_map.shuttle_name] copies, [using_map.dock_name] Control. Departing [using_map.dock_name] for [using_map.station_name] on routine transfer route. Estimated time to arrival: ten minutes.","[using_map.shuttle_name]")
/datum/lore/atc_controller/proc/random_convo()
var/one = pick(loremaster.organizations) //These will pick an index, not an instance
@@ -94,7 +94,9 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
var/alt_atc_names = list("[using_map.dock_name] Traffic Control","[using_map.dock_name] TraCon","[using_map.dock_name] System Control","[using_map.dock_name] Star Control","[using_map.dock_name] SysCon","[using_map.dock_name] Tower","[using_map.dock_name] Control","[using_map.dock_name] STC","[using_map.dock_name] StarCon")
var/mission_noun = pick(source.flight_types) //pull from a list of owner-specific flight ops, to allow an extra dash of flavor
-
+ if(source.complex_tasks) //if our source has the complex_tasks flag, regenerate with a two-stage assignment
+ mission_noun = "[pick(source.task_types)] [pick(source.flight_types)]"
+
//First response is 'yes', second is 'no'
var/requests = list(
"special flight rules" = list("authorizing special flight rules", "denying special flight rules, not allowed for your traffic class"),
@@ -111,7 +113,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
if(force_chatter_type)
chatter_type = force_chatter_type
else if(law_abiding && !system_defense) //I have to offload this from the chatter_type switch below and do it here, otherwise BYOND throws a shitfit for no discernable reason
- chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"dockingrequestgeneric",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest","normal",30;"undockingdenied",30;"undockingdelayed")
+ chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"dockingrequestgeneric",30;"dockingrequestdenied",30;"dockingrequestdelayed",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest","normal",30;"undockingdenied",30;"undockingdelayed")
//the following filters *always* fire their 'unique' event when they're tripped, simply because the conditions behind them are quite rare to begin with
else if(name == "Smugglers" && !system_defense2) //just straight up funnel smugglers into always being caught
chatter_type = "policeflee"
@@ -125,13 +127,13 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
chatter_type = "hostiledetected"
//SDF-specific events that need to filter based on the second party (basically just the following SDF-unique list with the soft-result ship scan thrown in)
else if(system_defense && law_abiding2 && !system_defense2) //let's see if we can narrow this down, I didn't see many ship-to-ship scans
- chatter_type = pick(75;"policeshipscan","sdfpatrolupdate",75;"sdfendingpatrol",30;"dockingrequestgeneric",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",20;"undockingrequest",75;"sdfbeginpatrol","normal")
+ chatter_type = pick(75;"policeshipscan","sdfpatrolupdate",75;"sdfendingpatrol",30;"dockingrequestgeneric",30;"dockingrequestdelayed",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",20;"undockingrequest",75;"sdfbeginpatrol",50;"normal")
//SDF-specific events that don't require the secondary at all, in the event that we manage to roll SDF + hostile/smuggler or something
else if(system_defense)
- chatter_type = pick("sdfpatrolupdate",60;"sdfendingpatrol",30;"dockingrequestgeneric",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",20;"undockingrequest",80;"sdfbeginpatrol","normal")
+ chatter_type = pick("sdfpatrolupdate",60;"sdfendingpatrol",30;"dockingrequestgeneric",30;"dockingrequestdelayed",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",20;"undockingrequest",80;"sdfbeginpatrol","normal")
//if we somehow don't match any of the other existing filters once we've run through all of them
else
- chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",30;"dockingrequestgeneric",30;"dockingrequestdenied",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest",30;"undockingdenied",30;"undockingdelayed","normal")
+ chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",30;"dockingrequestgeneric",30;"dockingrequestdelayed",30;"dockingrequestdenied",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest",30;"undockingdenied",30;"undockingdelayed","normal")
var/yes = prob(90) //Chance for them to say yes vs no
@@ -153,7 +155,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
//Control scan event: soft outcome
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/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?")
var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear, move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.")
msg("[combined_first_name], this is [using_map.dock_name] Control, your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.")
sleep(5 SECONDS)
@@ -166,16 +168,16 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_first_name], this is [using_map.dock_name] Control. Scan complete. [completed]")
//Control scan event: hard outcome
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.")
+ 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.","Ah hell.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!")
msg("Unknown [pick("ship","vessel","starship")], this is [using_map.dock_name] Control, identify yourself and submit to a full inspection. You are in violation of system regulations.")
sleep(5 SECONDS)
- msg("[uhoh]","??? [shipname]")
+ msg("[uhoh]","[shipname]")
sleep(5 SECONDS)
msg("This is [using_map.starsys_name] Defense Control to all local assets: vector to interdict and detain [combined_first_name]. Control out.","[using_map.starsys_name] Defense Control")
//SDF scan event: soft outcome
if("policeshipscan")
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/complain = pick("I hope this doesn't take too long.","Can we hurry this up?","Make it quick.","This better not take too long.","Is this really necessary?")
var/completed = pick("You're free to proceed.","Everything looks fine, carry on.","You're clear. Move along.","Apologies for the delay, you're clear.","Switch to channel [sdfchannel] and await further instruction.")
msg("[combined_second_name], this is [combined_first_name], your [pick("ship","vessel","starship")] has been flagged for routine inspection. Hold position and prepare to be scanned.","[prefix] [shipname]")
sleep(5 SECONDS)
@@ -188,10 +190,10 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_second_name], this is [combined_first_name]. Scan complete. [completed]","[prefix] [shipname]")
//SDF scan event: hard outcome
if("policeshipflee")
- var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, |[shipname]|.")
+ var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, |[shipname]|.","Ah hell.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!")
msg("Unknown [pick("ship","vessel","starship")], this is [combined_first_name], identify yourself and submit to a full inspection. You are in violation of system regulations.","[secondprefix] [secondshipname]")
sleep(5 SECONDS)
- msg("[uhoh]","??? [shipname]")
+ msg("[uhoh]","[shipname]")
sleep(5 SECONDS)
msg("[using_map.starsys_name] Defense Control, this is [combined_first_name], we have a situation here, please advise.","[secondprefix] [secondshipname]")
sleep(5 SECONDS)
@@ -204,7 +206,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[using_map.starsys_name] Defense Control copies, [combined_second_name]. Keep us updated.","[using_map.starsys_name] Defense Control")
//SDF event: patrol update
if("sdfpatrolupdate")
- var/statusupdate = pick("nothing unusual so far","nothing to report","everything looks clear so far","ran off some [pick("pirates","marauders")] near route [pick(1,100)], [pick("no","minor")] damage sustained","situation normal, no suspicious activity yet","minor incident on route [pick(1,100)]","Code 7-X on route [pick(1,100)], situation is under control","a lot of traffic on route [pick(1,100)]","caught a couple of smugglers on route [pick(1,100)]")
+ var/statusupdate = pick("nothing unusual so far","nothing of note","everything looks clear so far","ran off some [pick("pirates","marauders")] near route [pick(1,100)], [pick("no","minor")] damage sustained, continuing patrol","situation normal, no suspicious activity yet","minor incident on route [pick(1,100)]","Code 7-X on route [pick(1,100)], situation is under control","seeing a lot of traffic on route [pick(1,100)]","caught a couple of smugglers on route [pick(1,100)]","sustained some damage in a skirmish just now, we're heading back for repairs")
msg("[using_map.starsys_name] Defense Control, this is [combined_first_name] reporting in, [statusupdate], over.","[prefix] [shipname]")
sleep(5 SECONDS)
msg("[using_map.starsys_name] Defense Control copies, [combined_first_name]. Keep us updated, out.","[using_map.starsys_name] Defense Control")
@@ -223,20 +225,22 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("This is [using_map.starsys_name] Defense Control to all SDF assets. Priority update follows.","[using_map.starsys_name] Defense Control")
sleep(5 SECONDS)
msg("Be on the lookout for [combined_first_name], last sighted near route [rand(1,100)]. [orders]. DefCon, out.","[using_map.starsys_name] Defense Control")
- //new event: distress call
+ //Ship event: distress call, under attack
if("distress")
msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! We are under attack by [combined_second_name]! Requesting immediate assistance!","[prefix] [shipname]")
sleep(5 SECONDS)
msg("[combined_first_name], this is [using_map.starsys_name] Defense Control, copy. SDF is en route, contact on [sdfchannel].")
sleep(5 SECONDS)
msg("Understood [using_map.starsys_name] Defense Control, switching now.","[prefix] [shipname]")
+ //Control event: travel advisory
if("traveladvisory")
var/flightwarning = pick("Solar flare activity is spiking and expected to cause issues along main flight lanes [rand(1,33)], [rand(34,67)], and [rand(68,100)]","Pirate activity is on the rise, stay close to System Defense vessels","We're seeing a rise in illegal salvage operations, please report any unusual activity to the nearest SDF vessel via channel [sdfchannel]","Vox Marauder activity is higher than usual, report any unusual activity to the nearest System Defense vessel","A quarantined [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","A prison [pick("fleet","convoy")] is passing through the system along route [rand(1,100)], please observe minimum safe distance","Traffic volume is higher than normal, expect processing delays","Anomalous bluespace activity detected along route [rand(1,100)], exercise caution","Smugglers have been particularly active lately, expect increased security scans","Depots are currently experiencing a fuel shortage, expect delays and higher rates","Asteroid mining has displaced debris dangerously close to main flight lanes on route [rand(1,100)], watch for potential impactors","[pick("Pirate","Vox Marauder")] and System Defense forces are currently engaged in skirmishes throughout the system, please steer clear of any active combat zones","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship")] has collided with a [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship")] near route [rand(1,100)], watch for debris and do not impede emergency service vessels","A [pick("fuel tanker","cargo liner","passenger liner","freighter","transport ship")] on route [rand(1,100)] has experienced total engine failure. Emergency response teams are en route, please observe minimum safe distances and do not impede emergency service vessels","Transit routes have been recalculated to adjust for planetary drift. Please synch your astronav computers as soon as possible to avoid delays and difficulties","[pick("Bounty hunters","System Defense officers","Mercenaries")] are currently searching for a wanted fugitive, report any sightings of suspicious activity to System Defense via channel [sdfchannel]","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.dock_name] Control to all vessels in the [using_map.starsys_name] system. Priority travel advisory follows.")
sleep(5 SECONDS)
msg("[flightwarning]. Control out.")
+ //Control event: warning to a specific vessel
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","a live-fire SDF training exercise","an ongoing Search & Rescue operation")
+ 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","a live-fire SDF training exercise","an ongoing Search & Rescue operation")
var/confirm = pick("Understood","Roger that","Affirmative","Our bad","Thanks for the heads up")
var/safetravels = pick("Fly safe out there","Good luck","Safe travels","Godspeed","Stars guide you","Don't let it happen again")
msg("[combined_first_name], this is [using_map.dock_name] Control, your [pick("ship","vessel","starship")] is approaching [navhazard], observe minimum safe distance and adjust your heading appropriately.")
@@ -244,6 +248,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[confirm] [using_map.dock_name] Control, adjusting course.","[prefix] [shipname]")
sleep(5 SECONDS)
msg("Your compliance is appreciated, [combined_first_name]. [safetravels].")
+ //Ship event: docking request (generic)
if("dockingrequestgeneric")
var/appreciation = pick("Much appreciated","Many thanks","Understood","Cheers")
var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.")
@@ -252,13 +257,31 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in.")
sleep(5 SECONDS)
msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]")
+ //Ship event: docking request (denied)
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")
+ var/reason = pick("we don't have any docking bays large enough for your vessel","we don't have the necessary facilities for your vessel type or class")
msg("[callname], this is [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to dock.","[prefix] [shipname]")
sleep(5 SECONDS)
msg("[combined_first_name], this is [using_map.dock_name] Control. Request denied, [reason].")
sleep(5 SECONDS)
msg("Understood, [using_map.dock_name] Control.","[prefix] [shipname]")
+ //Ship event: docking request (delayed)
+ if("dockingrequestdelayed")
+ var/reason = pick("we don't have any free docking bays right now","you're too far away, please close to ten thousand meters and resubmit your request","we're seeing heavy traffic around the docking ports right now","we're currently cleaning up a fuel cloud","there are loose containers in the traffic lanes, stand by whilst we secure them")
+ var/appreciation = pick("Much appreciated","Many thanks","Understood","Perfect, thank you","Excellent, thanks","Great","Copy that")
+ var/dockingplan = pick("Starting final approach now.","Commencing docking procedures.","Autopilot engaged.","Approach vector locked in.","In the pipe, five by five.")
+ msg("[callname], this is [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to dock.","[prefix] [shipname]")
+ sleep(5 SECONDS)
+ msg("[combined_first_name], this is [using_map.dock_name] Control. Request denied, [reason]. Please resubmit your request in three minutes.")
+ sleep(5 SECONDS)
+ msg("Understood, [using_map.dock_name] Control.","[prefix] [shipname]")
+ sleep(180 SECONDS)
+ msg("[callname], this is [combined_first_name], resubmitting docking request.","[prefix] [shipname]")
+ sleep (5 SECONDS)
+ msg("[combined_first_name], this is [using_map.dock_name] Control. Everything appears to be in order now, permission granted, proceed to docking bay [bay]. Follow the green lights on your way in.")
+ sleep(5 SECONDS)
+ msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]")
+ //Ship event: docking request (resupply)
if("dockingrequestsupply")
var/preintensifier = pick(75;"getting ",75;"running ","") //whitespace hack, sometimes they'll add a preintensifier, but not always
var/intensifier = pick("very","pretty","critically","extremely","dangerously","desperately","kinda","a little","a bit","rather","sorta")
@@ -270,6 +293,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in.")
sleep(5 SECONDS)
msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]")
+ //Ship event: docking request (repair/maint)
if("dockingrequestrepair")
var/damagestate = pick("We've experienced 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 [pick("engines","pipes","ducting","HVAC")]","Our artificial gravity generator has failed","Our life support is failing","Our environmental controls are busted","Our water recycling system has shorted out","Our navcomp is freaking 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","gas")] leak","We have depressurized compartments","We have a hull breach","Our shield generator is on the fritz","Our RCS is acting up","One of our [pick("hydraulic","pneumatic")] systems has depressurized","Our repair bots are malfunctioning")
var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you")
@@ -279,6 +303,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in. Repair crews are standing by, contact them on channel [engchannel].")
sleep(5 SECONDS)
msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]")
+ //Ship event: docking request (medical)
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","injured castaways","recovered escape pods","unknown escape pods")
var/appreciation = pick("Much appreciated","Many thanks","Understood","You're a lifesaver","We owe you one","I owe you one","Perfect, thank you")
@@ -288,6 +313,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in. Medtechs are standing by, contact them on channel [medchannel].")
sleep(5 SECONDS)
msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]")
+ //Ship event: docking request (security)
if("dockingrequestsecurity")
var/species = pick("human","unathi","lizard","tajaran","feline","skrell","akula","promethean","sergal","synthetic","robotic","teshari","avian","vulpkanin","canine","vox","zorren","hybrid","mixed-species","vox","grey","alien")
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","captured vox marauders","stolen goods","a container full of confiscated contraband","containers full of confiscated contraband",5;"a very lost shadekin",5;"a raging case of [pick("spiders","crabs")]") //gotta have a little something to lighten the mood now and then
@@ -298,6 +324,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted, proceed to docking bay [bay]. Follow the green lights on your way in. Security teams are standing by, contact them on channel [secchannel].")
sleep(5 SECONDS)
msg("[appreciation], [using_map.dock_name] Control. [dockingplan]","[prefix] [shipname]")
+ //Ship event: undocking request
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","So long")
@@ -306,6 +333,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted. Docking clamps released. [safetravels].")
sleep(5 SECONDS)
msg("[thanks], [using_map.dock_name] Control. This is [combined_first_name] setting course for [destname], out.","[prefix] [shipname]")
+ //SDF event: starting patrol
if("sdfbeginpatrol")
var/safetravels = pick("Fly safe out there","Good luck","Good hunting","Safe travels","Godspeed","Stars guide you")
var/thanks = pick("Appreciated","Thanks","Don't worry about us","We'll be fine","You too")
@@ -314,11 +342,13 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_first_name], this is [using_map.dock_name] Control. Permission granted. Docking clamps released. [safetravels].")
sleep(5 SECONDS)
msg("[thanks], [using_map.dock_name] Control. This is [combined_first_name] beginning system patrol, out.","[prefix] [shipname]")
+ //Ship event: undocking request (denied)
if("undockingdenied")
var/denialreason = pick("Security is requesting a full cargo inspection","Your ship has been impounded for multiple [pick("security","safety")] violations","Your ship is currently under quarantine lockdown","We have reason to believe there's an issue with your papers","Security personnel are currently searching for a fugitive and have ordered all outbound ships remain grounded until further notice")
msg("[callname], this is [combined_first_name], requesting permission to depart from docking bay [bay].","[prefix] [shipname]")
sleep(5 SECONDS)
msg("Negative [combined_first_name], request denied. [denialreason].")
+ //Ship event: undocking request (delayed)
if("undockingdelayed")
var/denialreason = pick("Docking clamp malfunction, please hold","Fuel lines have not been secured","Ground crew are still on the pad","Loose containers are on the pad","Exhaust deflectors are not yet in position, please hold","There's heavy traffic right now, it's not safe for your vessel to launch","Another vessel has aerospace priority at this moment","Port officials are still aboard")
var/safetravels = pick("Fly safe out there","Good luck","Safe travels","See you next week","Godspeed","Stars guide you")
@@ -332,7 +362,8 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
msg("[combined_first_name], this is [using_map.dock_name] Control. Everything appears to be in order now, permission granted. Docking clamps released. [safetravels].")
sleep(5 SECONDS)
msg("[thanks], [using_map.dock_name] Control. This is [combined_first_name] setting course for [destname], out.","[prefix] [shipname]")
- if("friendlyencounter") //new rare event for matched rolls, which can occasionally happen
+ //Matched Corps event: friendly encounter [CURRENTLY DISABLED: INCOMPLETE]
+ if("friendlyencounter")
var/greeting = pick("Hey |[secondshipname]|, long time no see!","Well if it ain't |[secondshipname]|. Fancy seeing you here.")
var/ack = pick("No way! |[shipname]|!","Been a while, hasn't it?","Kept you waiting, huh?")
var/query = pick("How's business on your end?","Everything going well these days?")
diff --git a/code/modules/busy_space_yw/organizations.dm b/code/modules/busy_space_yw/organizations.dm
index e806cfa69b..c7d1108ac8 100644
--- a/code/modules/busy_space_yw/organizations.dm
+++ b/code/modules/busy_space_yw/organizations.dm
@@ -10,6 +10,15 @@
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/complex_tasks = FALSE //enables complex task generation
+ var/list/task_types = list( //special purpose addition for certain groups, but generally unused
+ "logistics",
+ "patrol",
+ "training",
+ "peacekeeping",
+ "escort",
+ "search and rescue"
+ )
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",
@@ -58,7 +67,20 @@
"Defender",
"Ranger",
"River",
- "Jubilee"
+ "Jubilee",
+ "Gumdrop",
+ "Spider",
+ "Columbia",
+ "Eagle",
+ "Intrepid",
+ "Odyssey",
+ "Aquarius",
+ "Kitty Hawk",
+ "Antares",
+ "Falcon",
+ "Casper",
+ "Orion",
+ "Challenger"
)
var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly.
@@ -73,16 +95,255 @@
var/i = rand(15, 30) //significantly increased from original values due to the greater length of rounds on YW
//known planets and exoplanets, plus fictional ones
- var/list/planets = list("Earth", "Luna", "Mars", "Titan", "Europa", "Sif", "Kara", "Rota", "Root", "Toledo, New Ohio", "Meralar", "Adhomai", "Arion", "Arkas", "Orbitar", "Galileo", "Brahe", "Janssen", "Harriot", "Aegir", "Amateru", "Dagon", "Meztli", "Hypatia", "Dulcinea", "Rocinante", "Sancho", "Thestias", "Saffar", "Samh", "Majriti", "Draugr", "Binma", "Kishar", "Anshar", "Nisp", "Elysium", "Sophia, El", "New Kyoto", "Angessa's Pearl", "Oasis", "Saint Columbia", "Love")
+ var/list/planets = list(
+ /* real planets */
+ "Earth",
+ "Luna",
+ "Mars",
+ "Titan",
+ "Europa",
+ /* named exoplanets */
+ "Spe",
+ "Arion",
+ "Arkas",
+ "Orbitar",
+ "Dimidium",
+ "Galileo",
+ "Brahe",
+ "Lipperhey",
+ "Janssen",
+ "Harriot",
+ "Aegir",
+ "Amateru",
+ "Dagon",
+ "Meztli",
+ "Smertrios",
+ "Hypatia",
+ "Quijote",
+ "Dulcinea",
+ "Rocinante",
+ "Sancho",
+ "Thestias",
+ "Saffar",
+ "Samh",
+ "Majriti",
+ "Fortitudo",
+ "Draugr",
+ "Arber",
+ "Tassili",
+ "Madriu",
+ "Naqaya",
+ "Bocaprins",
+ "Yanyan",
+ "Sissi",
+ "Tondra",
+ "Eburonia",
+ "Drukyul",
+ "Yvaga",
+ "Naron",
+ "Guarani",
+ "Mastika",
+ "Bendida",
+ "Nakanbe",
+ "Awasis",
+ "Caleuche",
+ "Wangshu",
+ "Melquiades",
+ "Pipitea",
+ "Ditso",
+ "Asye",
+ "Veles",
+ "Finlay",
+ "Onasilos",
+ "Makropolus",
+ "Surt",
+ "Boinayel",
+ "Eyeke",
+ "Cayahuanca",
+ "Hamarik",
+ "Abol",
+ "Hiisi",
+ "Belisama",
+ "Mintome",
+ "Neri",
+ "Toge",
+ "Iolaus",
+ "Koyopa",
+ "Independance",
+ "Ixbalanque",
+ "Magor",
+ "Fold",
+ "Santamasa",
+ "Noifasui",
+ "Kavian",
+ "Babylonia",
+ "Bran",
+ "Alef",
+ "Lete",
+ "Chura",
+ "Wadirum",
+ "Buru",
+ "Umbaasaa",
+ "Vytis",
+ "Peitruss",
+ "Trimobe",
+ "Baiduri",
+ "Ggantija",
+ "Cuptor",
+ "Xolotl",
+ "Isli",
+ "Hairu",
+ "Bagan",
+ "Laligurans",
+ "Kereru",
+ "Equiano",
+ "Albmi",
+ "Perwana",
+ "Pollera",
+ "Tumearandu",
+ "Sumajmajta",
+ "Haik",
+ "Leklsullun",
+ "Pirx",
+ "Viriato",
+ "Aumatex",
+ "Negoiu",
+ "Teberda",
+ "Dopere",
+ "Vlasina",
+ "Viculus",
+ "Kralomoc",
+ "Iztok",
+ "Krotoa",
+ "Halla",
+ "Riosar",
+ "Samagiya",
+ "Isagel",
+ "Eiger",
+ "Ugarit",
+ "Sazum",
+ "Maeping",
+ "Agouto",
+ "Ramajay",
+ "Khomsa",
+ "Gokturk",
+ "Barajeel",
+ "Cruinlagh",
+ "Mulchatria",
+ "Ibirapita",
+ "Madalitso",
+ /* fictional planets */
+ "Sif",
+ "Kara",
+ "Rota",
+ "Root",
+ "Toledo, New Ohio",
+ "Meralar",
+ "Adhomai",
+ "Binma",
+ "Kishar",
+ "Anshar",
+ "Nisp",
+ "Elysium",
+ "Sophia, El",
+ "New Kyoto",
+ "Angessa's Pearl, Exalt's Light",
+ "Oasis",
+ "Love"
+ )
//existing systems, pruned for duplicates, includes systems that contain suspected or confirmed exoplanets
var/list/systems = list(
- "Sol", "Alpha Centauri", "Sirius", "Vega", "Tau Ceti", "Altair", "Zhu Que", "Oasis", "Vir", "Gavel", "Ganesha", "Saint Columbia", "Altair", "Sidhe", "New Ohio", "Parvati", "Mahi-Mahi", "Nyx", "New Seoul", "Kess-Gendar", "Raphael", "Phact", "El", "Eutopia", "Qerr'valis", "Harr'Qak", "Qerrna-Lakirr", "Rarkajar", "Vazzend", "Thoth", "Jahan's Post", "Kauq'xum", "Silk", "New Singapore", "Stove", "Viola", "Love", "Isavau's Gamble", "deep space", "Epsilon Eridani", "Fomalhaut", "Mu Arae", "Pollux", "Wolf 359", "Ross 128", "Gliese 1061", "Luyten's Star", "Teegarden's Star", "Kapteyn", "Wolf 1061", "Aldebaran", "Proxima Centauri", "Kepler-90", "HD 10180", "HR 8832", "TRAPPIST-1", "55 Cancri", "Gliese 876", "Upsilon Andromidae", "Mu Arae", "WASP-47", "82 G. Eridani", "Rho Coronae Borealis", "Pi Mensae", "Beta Pictoris", "Gamma Librae", "Gliese 667 C", "Kapteyn", "LHS 1140", "New Ohio", "Samsara", "Vounna", "Relan")
+ /* real solar systems */
+ "Sol",
+ "Alpha Centauri",
+ "Sirius",
+ "Vega",
+ "Tau Ceti",
+ "Altair",
+ "Epsilon Eridani",
+ "Fomalhaut",
+ "Mu Arae",
+ "Pollux",
+ "Wolf 359",
+ "Ross 128",
+ "Gliese 1061",
+ "Luyten's Star",
+ "Teegarden's Star",
+ "Kapteyn",
+ "Wolf 1061",
+ "Aldebaran",
+ "Proxima Centauri",
+ "Kepler-90",
+ "HD 10180",
+ "HR 8832",
+ "TRAPPIST-1",
+ "55 Cancri",
+ "Gliese 876",
+ "Upsilon Andromidae",
+ "Mu Arae",
+ "WASP-47",
+ "82 G. Eridani",
+ "Rho Coronae Borealis",
+ "Pi Mensae",
+ "Beta Pictoris",
+ "Gamma Librae",
+ "Gliese 667 C",
+ "LHS 1140",
+ "Phact",
+ /* fictional systems from Polaris and other sources*/
+ "Zhu Que",
+ "Oasis",
+ "Vir",
+ "Gavel",
+ "Ganesha",
+ "Sidhe",
+ "New Ohio",
+ "Parvati",
+ "Mahi-Mahi",
+ "Nyx",
+ "New Seoul",
+ "Kess-Gendar",
+ "Raphael",
+ "El",
+ "Eutopia",
+ /* skrell */
+ "Qerr'valis",
+ "Harr'Qak",
+ "Qerrna-Lakirr",
+ "Kauq'xum",
+ /* tajaran */
+ "Rarkajar",
+ "Arrakthiir",
+ "Mesomori",
+ /* other */
+ "Vazzend",
+ "Thoth",
+ "Jahan's Post",
+ "Silk",
+ "New Singapore",
+ "Stove",
+ "Viola",
+ "Love",
+ "Isavau's Gamble",
+ "Samsara",
+ "Vounna",
+ "Relan",
+ "Whythe",
+ "Exalt's Light",
+ /* generic territories */
+ "deep space",
+ "USG Territory",
+ "Independent Space",
+ "Almach Territory",
+ "Skrell Territories",
+ "Hegemony Space"
+ )
var/list/owners = list("a government", "a civilian", "a corporate", "a private", "an independent", "a mercenary", "a military")
var/list/purpose = list("an exploration", "a trade", "a research", "a survey", "a military", "a mercenary", "a corporate", "a civilian", "an independent")
//unique or special locations
- var/list/unique = list("the Jovian subcluster","Isavau International Spaceport","Terminus Station","Casini's Reach","the Shelf flotilla","the Ue'Orsi flotilla","|Heaven| Orbital Complex, Alpha Centauri")
+ var/list/unique = list("the Jovian subcluster","Isavau International Spaceport","Terminus Station","Casini's Reach","the Shelf flotilla","the Ue'Orsi flotilla","|Heaven| Orbital Complex, Alpha Centauri","the |Saint Columbia| Complex")
var/list/orbitals = list("[pick(owners)] shipyard","[pick(owners)] dockyard","[pick(owners)] station","[pick(owners)] vessel","a habitat","[pick(owners)] refinery","[pick(owners)] research facility","an industrial platform","[pick(owners)] installation")
var/list/surface = list("a colony","a settlement","a trade outpost","[pick(owners)] supply depot","a fuel depot","[pick(owners)] installation","[pick(owners)] research facility")
@@ -197,7 +458,7 @@
headquarters = "Luna, Sol"
motto = ""
- ship_prefixes = list("HIV" = "a general operations", "HTV" = "a freight", "HLV" = "a munitions resupply", "HDV" = "an asset protection", "HDV" = "a preemptive deployment")
+ ship_prefixes = list("HCV" = "a general operations", "HTV" = "a freight", "HLV" = "a munitions resupply", "HDV" = "an asset protection", "HDV" = "a preemptive deployment")
//War God Theme, updated
ship_names = list(
"Anhur",
@@ -289,7 +550,7 @@
acronym = "VM"
desc = "Vey-Med is one of the newer TSCs on the block and is notable for being largely owned and operated by Skrell. \
Despite the suspicion and prejudice leveled at them for their alien origin, Vey-Med has obtained market dominance in \
- the sale of medical equipment-- from surgical tools to large medical devices to the Oddyseus trauma response mecha \
+ the sale of medical equipment-- from surgical tools to large medical devices to the Odysseus 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 resurrective cloning, although in \
recent years they've been forced to diversify as their patents expired and NanoTrasen-made medications became \
@@ -335,8 +596,8 @@
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 the market for medications, and many household names are patentted by Zeng-Hu-- Bicaridine, Dylovene, Tricordrazine, \
+ and Dexalin all came from Zeng-Hu medical laboratories. 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. \
@@ -467,12 +728,12 @@
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 \
+ desc = "Bishop's focus is on high-class, stylish cybernetics. A favorite among transhumanists (and an easy target 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. \
+ Positronic Rights Group and puts it in ideological (but not economic) competition with Morpheus Cyberkinetics. \
\
Each vessel in Bishop's sleek and stylish fleet is intended to advertise the corporate style, and bears the name of a famous mechanical engineer."
history = ""
@@ -973,7 +1234,7 @@
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. \
\
- SFI's fleet is, somewhat endearingly, named after various species of bird, though the designation Pigeon was removed from the lineup after a particularly unusual chain of events involving a business liner."
+ SFI's fleet is, somewhat endearingly, named after various species of bird, though the designation Pigeon was removed from the lineup after a particularly unusual chain of events involving a business liner. For reasons that have continued to remain unclear since the company's foundation, SFI vessels are permitted to use the same high-level identifier pattern as governmental vessels."
history = ""
work = "luxury, business, and economy passenger flights"
headquarters = "Spin Aerostat, Jupiter"
@@ -1027,7 +1288,213 @@
"an arctic retreat"
)
-/datum/lore/organization/tsc/independent
+/datum/lore/organization/tsc/oculum
+ name = "Oculum Broadcasting Network"
+ short_name = "Oculus "
+ acronym = "OBN"
+ desc = "Oculum owns approximately 30% of Sol-wide news networks, including microblogging aggregate sites, network and comedy news, and even old-fashioned newspapers. Staunchly apolitical, they specialize in delivering the most popular news available- which means telling people what they already want to hear. Oculum is a specialist in branding, and most people don't know that the reactionary Daedalus Dispatch newsletter and the radically transhuman Liquid Steel webcrawler are controlled by the same organization."
+ history = ""
+ work = "news media"
+ headquarters = ""
+ motto = "News from all across the spectrum"
+
+ ship_prefixes = list("OBV" = "an investigation", "OBV" = "a distribution", "OBV" = "a journalism", "OBV" = "a general operations")
+ destination_names = list(
+ "Oculus HQ"
+ )
+
+/datum/lore/organization/tsc/centauriprovisions
+ name = "Centauri Provisions"
+ short_name = "Centauri "
+ acronym = "ACP"
+ desc = "Headquartered in Alpha Centauri, Centauri Provisions made a name in the snack-food industry primarily by being the first to focus on colonial holdings. The various brands of Centauri snackfoods are now household names, from SkrellSnaks to Space Mountain Wind to the ubiquitous and edible Bread Tube. Their staying power is legendary, and many spacers have grown up on a mix of their cheap crap and protein shakes."
+ history = ""
+ work = "catering, food, drinks"
+ headquarters = "Alpha Centauri"
+ motto = "The largest brands of food and drink - most of them are Centauri."
+
+ ship_prefixes = list("CPTV" = "a transport", "CPCV" = "a catering", "CPRV" = "a resupply", "CPV" = "a general operations")
+ destination_names = list(
+ "Centauri Provisions HQ",
+ "a Centauri Provisions depot",
+ "a Centauri Provisions warehouse"
+ )
+
+/datum/lore/organization/tsc/einstein
+ name = "Einstein Engines"
+ short_name = "Einstein "
+ acronym = "EEN"
+ desc = "Einstein is an old company that has survived through rampant respecialization. In the age of phoron-powered exotic engines and ubiquitous solar power, Einstein makes its living through the sale of engine designs for power sources it has no access to and emergency fission or hydrocarbon power supplies. Accusations of corporate espionage against research-heavy corporations like NanoTrasen and its chief rival Focal Point are probably unfounded."
+ history = ""
+ work = "catering, food, drinks"
+ headquarters = ""
+ motto = "Engine designs, emergency generators, and old memories"
+
+ ship_prefixes = list("EETV" = "a transport", "EERV" = "a research", "EEV" = "a general operations")
+ destination_names = list(
+ "Einstein HQ"
+ )
+
+/datum/lore/organization/tsc/wulf
+ name = "Wulf Aeronautics"
+ short_name = "Wulf Aero "
+ acronym = "WUFA"
+ desc = "Wulf Aeronautics is the chief producer of transport and hauling spacecraft. A favorite contractor of the USG and USDF, Wulf manufactures most of their diplomatic and logistics craft, and does a brisk business with most other TSCs. The quiet reliance of the economy on their craft has kept them out of the spotlight and uninvolved in other corporations' back-room dealings."
+ history = ""
+ work = "starship construction"
+ headquarters = ""
+ motto = "We build it - you fly it"
+
+ ship_prefixes = list("WATV" = "a transport", "WARV" = "a repair", "WAV" = "a general operations")
+ destination_names = list(
+ "Wulf Aeronautics HQ",
+ "a Wulf Aeronautics supply depot",
+ "a Wulf Aeronautics Shipyard"
+ )
+
+/datum/lore/organization/tsc/gilthari
+ name = "Gilthari Exports"
+ short_name = "Gilthari "
+ acronym = "GEX"
+ desc = "Gilthari is Sol's premier supplier of luxury goods, specializing in extracting money from the rich and successful. Their largest holdings are in gambling, but they maintain subsidiaries in everything from VR equipment to luxury watches. Their holdings in mass media are a smaller but still important part of their empire. Gilthari is known for treating its positronic employees very well, sparking a number of conspiracy theories. The gorgeous FBP model that Gilthari provides them is a symbol of the corporation's wealth and reach ludicrous prices when available on the black market, with legal ownership of the chassis limited, by contract, to employees."
+ history = ""
+ work = "luxury goods"
+ headquarters = ""
+ motto = ""
+
+ ship_prefixes = list("GETV" = "a transport", "GECV" = "a luxury catering", "GEV" = "a general operations")
+ //precious stones
+ ship_names = list(
+ "Afghanite",
+ "Agate",
+ "Alexandrite",
+ "Amazonite",
+ "Amber",
+ "Amethyst",
+ "Ametrine",
+ "Andalusite",
+ "Aquamarine",
+ "Azurite",
+ "Benitoite",
+ "Beryl",
+ "Carnelian",
+ "Chalcedony",
+ "Chrysoberyl",
+ "Chrysoprase",
+ "Citrine",
+ "Coral",
+ "Danburite",
+ "Diamond",
+ "Emerald",
+ "Fluorite",
+ "Garnet",
+ "Heliodor",
+ "Iolite",
+ "Jade",
+ "Jasper",
+ "Lapis Lazuli",
+ "Malachite",
+ "Moldavite",
+ "Moonstone",
+ "Obsidian",
+ "Onyx",
+ "Orthoclase",
+ "Pearl",
+ "Peridot",
+ "Quartz",
+ "Ruby",
+ "Sapphire",
+ "Scapolite",
+ "Selenite",
+ "Serpentine",
+ "Sphalerite",
+ "Sphene",
+ "Spinel",
+ "Sunstone",
+ "Tanzanite",
+ "Topaz",
+ "Tourmaline",
+ "Turquoise",
+ "Zircon"
+ )
+ destination_names = list(
+ "Gilthari HQ",
+ "a GE supply depot",
+ "a GE warehouse",
+ "a GE-owned luxury resort"
+ )
+
+/datum/lore/organization/tsc/coyotecorp
+ name = "Coyote Salvage Corp."
+ short_name = "Coyote "
+ acronym = "CSC"
+ desc = "The threat of Kessler Syndrome ever looms in this age of spaceflight, and it's only thanks to the dedication and hard work of unionized salvage groups like the Coyote Salvage Corporation that the spacelanes are kept clear and free of wrecks and debris. Painted in that distinctive industrial yellow, their fleets of roaming scrappers are contracted throughout civilized space and the frontier alike to clean up space debris. Some may look down on them for handling what would be seen as garbage and discarded scraps, but as far as the CSC is concerned everything would grind to a halt (or more accurately, rapidly expand in a cloud of red-hot scrap metal) without their tender care and watchful eyes.\
+
\
+ Many spacers turn to join the ranks of the Salvage Corps when times are lean, or when they need a quick buck. The work is dangerous and the hours are long, but the benefits are generous and you're paid by what you salvage so if you've an eye for appraising scrap you can turn a good profit. For those who dedicate their lives to the work, they can become kings of the scrapheap and live like royalty. \
+
\
+ CSC Contractors are no strangers to conflict either, often having to deal with claimjumpers and illegal salvage operations - or worse, the vox."
+ history = ""
+ work = "salvage and shipbreaking"
+ headquarters = "N/A"
+ motto = "one man's trash is another man's treasure"
+
+ ship_prefixes = list("CSV" = "a salvage", "CRV" = "a recovery", "CTV" = "a transport", "CSV" = "a shipbreaking", "CHV" = "a towing")
+ //mostly-original, maybe some references, and more than a few puns
+ ship_names = list(
+ "Road Hog",
+ "Mine, Not Yours",
+ "Legal Salvage",
+ "Barely Legal",
+ "One Man's Trash",
+ "Held Together By Tape And Dreams",
+ "Ventilated Vagrant",
+ "Half A Wing And A Prayer",
+ "Scrap King",
+ "Make Or Break",
+ "Lead Into Gold",
+ "Under New Management",
+ "Pride of Centauri",
+ "Long Haul",
+ "Argonaut",
+ "Desert Nomad",
+ "Non-Prophet Organization",
+ "Rest In Pieces",
+ "Sweep Dreams",
+ "Home Sweep Home",
+ "Atomic Broom",
+ "Ship Broken",
+ "Rarely Sober",
+ "Barely Coherent",
+ "Piece Of Mind",
+ "War And Pieces",
+ "Bits 'n' Bobs",
+ "Home Wrecker",
+ "T-Wrecks",
+ "Dust Bunny",
+ "No Gears No Glory",
+ "Three Drinks In",
+ "The Almighty Janitor",
+ "Wreckless Endangerment",
+ "Scarab"
+ )
+ //remove a couple types, add the more down-to-earth 'job' to reflect some personality
+ flight_types = list(
+ "job",
+ "op",
+ "operation",
+ "assignment",
+ "contract"
+ )
+ destination_names = list (
+ "a frontier scrapyard",
+ "a trashbelt",
+ "a local salvage yard",
+ "a nearby system"
+ )
+
+// Other
+
+/datum/lore/organization/other/independent
name = "Independent Pilots Association"
short_name = "" //using the same whitespace hack as USDF
acronym = "IPA"
@@ -1051,20 +1518,19 @@
destination_names = list() //we have no hqs or facilities of our own
//ship names: blank, because we use the universal list
-// Other
-
//SPACE LAW
/datum/lore/organization/other/sysdef
name = "System Defense Force"
short_name = "" //whitespace hack again
acronym = "SDF"
- desc = "Localized militias are used to secure systems throughout inhabited space, but are especially common on the frontier. By levying and maintaining these 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 most search-and-rescue operations in their system.\
+ desc = "Localized militias are used to secure systems throughout inhabited space, but are especially common on the frontier; by levying and maintaining these militia forces, larger governments can use their primary fleets (like the USG's USDF) for more important matters and smaller ones can give travellers in their space some peace of mind given the ever-present threat of pirates and vox marauders whilst also helping cut down on smuggling (narcotic substances remain as popular in this century as they have throughout the last few millennia). System Defense Forces tend to be fairly poorly trained and modestly equipped compared to genuine military fleets, but are more than capable of contending with equally ramshackle pirate vessels and can generally stall greater threats long enough for reinforcements to arrive. They're also typically responsible for most search-and-rescue operations in their system.\
\
- SDF ships are traditionally named after various forms of melee weapon; as their founding members tend to be veterans of other SDF services which used this system, this tradition has slowly propagated.\
+ SDF ships are traditionally named after various forms of historical weaponry; as their founding members tend to be veterans of other SDF services which used this system, this tradition has slowly propagated.\
\
Common SDF ship designations include;
\
SDF = System Defense Fleet
\
SDV/SDB = System Defense Vessel/Boat
\
+ SAR = Search And Rescue (Emergency Services)
\
SDT = System Defense Tender (Mobile Refuel & Resupply)
\
SDJ = Prisoner Transport"
history = ""
@@ -1072,9 +1538,9 @@
headquarters = ""
motto = "Serve, Protect, Survive"
sysdef = TRUE //we're the space law, we don't impersonate people and stuff
- autogenerate_destination_names = FALSE
+ autogenerate_destination_names = FALSE //don't add extra destinations to our pool, or else we leave the system which makes no sense
- 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_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 (generic), v = vessel, t = tender
//ship names: weapons
ship_names = list(
"Sword",
@@ -1108,10 +1574,12 @@
"Truncheon",
"Hammer",
"Arbalest",
+ "Ballista",
"Catapult",
"Trebuchet",
"Longbow",
"Pike",
+ "Javelin",
"Glaive",
"Halberd",
"Scythe",
@@ -1144,8 +1612,11 @@
"Waypoint Chi",
"Waypoint Psi",
"Waypoint Omega",
+ "System Defense Control",
"an SDF correctional facility",
"an SDF processing center",
+ "an SDF supply depot",
+ "an SDF Rapid Response Hub",
"an SDF outpost"
)
@@ -1154,12 +1625,16 @@
name = "Smugglers"
short_name = "" //whitespace hack again
acronym = "ISC"
- desc = "Illegal smuggling operations are rife on the frontier, as independent pilots attempt to sneak all manner of illegal goods past system authorities."
+ desc = "Where there's a market, there need to be merchants, and where there are buyers, there need to be suppliers. Most of all, wherever there's governments, there'll be somebody trying to control what people are and aren't allowed to do with their bodies. For those seeking goods deemed illegal (for good reasons or otherwise) they need to turn to smugglers and the fine art of sneaking things past the authorities.\
+
\
+ The most common goods smuggled throughout space are narcotics, firearms, and occasionally slaves; whilst firearm ownership laws vary from location to location, most governments also take fairly hard stances on hard drugs, and slavery is consistently outlawed and punished viciously throughout the vast majority of civilized space.\
+
\
+ Still, contrary to many conceptions, not all smuggling is nefarious. Entertainment media within human territories loves to paint romantic images of heroic smugglers sneaking aid supplies to refugees or even helping oppressed minorities escape the grasp of xenophobic regimes."
history = ""
work = ""
headquarters = ""
- motto = "PROFIT!"
- lawful = FALSE //if it wasn't obvious, these guys are actually criminals
+ motto = ""
+ lawful = FALSE //if it wasn't obvious, these guys are usually criminals
hostile = FALSE //but they're not aggressive ones
sysdef = FALSE
autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes.
@@ -1327,7 +1802,11 @@
name = "Pirates"
short_name = "" //whitespace hack again
acronym = "IPG"
- desc = "Arr matey!"
+ desc = "Where there's prey, predators are sure to follow. In space, the prey are civilian merchants, and the predators are opportunistic pirates. This is about where the analogy breaks down, but the basic concept remains the same; civilian ships are usually full of valuable goods or important people, which can be sold on black markets or ransomed back for a healthy sum. Pirates seek to seize the assets of others to get rich, rather than make an honest thaler themselves.\
+
\
+ In contrast to the colorful Ue-Katish and sneaky Vox, common pirates tend to be rough, practical, and brutally efficient in their work. System Defense units practice rapid response drills, and in most systems it's only a matter of minutes before The Law arrives unless the pirate is able to isolate their target and prevent them from sending a distress signal.\
+
\
+ Complicating matters is the infrequent use of privateers by various minor colonial governments, mercenaries turning to piracy during hard times, and illegal salvage operations."
history = ""
work = ""
headquarters = ""
@@ -1336,7 +1815,7 @@
hostile = TRUE
autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes.
- ship_prefixes = list ("known pirate" = "a piracy", "suspected pirate" = "a piracy", "rogue privateer" = "a piracy", "Cartel enforcer" = "a piracy", "known outlaw" = "a piracy", "bandit" = "a piracy", "roving corsair" = "a piracy") //as assigned by control, second part shouldn't even come up
+ ship_prefixes = list ("known pirate" = "a piracy", "suspected pirate" = "a piracy", "rogue privateer" = "a piracy", "Cartel enforcer" = "a piracy", "known outlaw" = "a piracy", "bandit" = "a piracy", "roving corsair" = "a piracy", "illegal salvager" = "an illegal salvage", "rogue mercenary" = "a mercenary") //as assigned by control, second part shouldn't even come up
ship_names = list(
"Morally Bankrupt",
"Bucket of Bolts",
@@ -1493,12 +1972,47 @@
destination_names = list(
)
*/
+
+/datum/lore/organization/other/uekatish
+ name = "Ue-Katish Pirates"
+ short_name = ""
+ acronym = "UEK"
+ desc = "Contrasting with the Qerr-Glia is a vibrant community of Ue-Katish pirates, who live in cargo flotillas on the edge of Skrellian space (especially on the Human-Skrell border). Ue-Katish ships have no caste system even for the truecaste Skrell and aliens who live there, although they are regimented by rank and role in the ship's functioning. Ue-Katish ships are floating black markets where everything is available for the right price, including some of the galaxy's most well-connected information brokers and most skilled guns-for-hire. The Ue-Katish present the greatest Skrellian counterculture and feature heavily in romanticized human media, although at their hearts they are still bandits and criminals, and the black markets are filled with goods plundered from human and Skrellian trade ships. Many of the Ue-Katish ships themselves bear the scars of the battle that brought them under the pirate flag.\
+
\
+ Ue-Katish pirate culture is somewhat similar to many human countercultures, gleefully reclaiming slurs and subverting expectations for the sheer shock value. Nonetheless, Ue-Katish are still Skrell, and still organize in neat hierarchies under each ship's Captain. The Captain's word is absolute, and unlike the Qerr-Katish they lack any sort of anti-corruption institutions."
+ history = ""
+ work = ""
+ motto = ""
+ lawful = FALSE
+ hostile = TRUE
+ autogenerate_destination_names = TRUE
+
+ ship_prefixes = list("Ue-Katish pirate" = "a raiding", "Ue-Katish bandit" = "a raiding", "Ue-Katish raider" = "a raiding", "Ue-Katish enforcer" = "an enforcement")
+ ship_names = list(
+ "Keqxuer'xeu's Prize",
+ "Xaeker'qux' Bounty",
+ "Teq'ker'qerr's Mercy",
+ "Ke'teq's Thunder",
+ "Xumxerr's Compass",
+ "Xue'qux' Greed",
+ "Xaexuer's Slave",
+ "Xue'taq's Dagger",
+ "Teqxae's Madness",
+ "Taeqtaq'kea's Pride",
+ "Keqxae'xeu's Saber",
+ "Xueaeq's Disgrace",
+ "Xum'taq'qux' Star",
+ "Ke'xae'xe's Scream",
+ "Keq'keax' Blade"
+ )
/datum/lore/organization/other/marauders
- name = "Marauders"
+ name = "Vox Marauders"
short_name = "" //whitespace hack again
acronym = "VOX"
- desc = "Hand over shinies dustlung, yaya!"
+ desc = "Whilst rarely as directly threatening as 'common' pirates, the phoron-breathing vox nevertheless pose a constant nuisance for shipping; as far as vox are concerned, only vox and vox matters matter, and everyone else is a 'treeless dustlung'. Unlike sometimes over-confident pirates, the vox rarely engage in open combat, preferring to steal and raid through stealth rather than brute force. Vox raiders will only commit to an attack if they're confident that they can quickly overwhelm and subdue their victims, then swiftly get away in the event that any alarms are tripped or reinforcements are called for.\
+
\
+ As Vox ship names are generally impossible for the vast majority of other species to pronounce, System Defense tends to tag marauders with a designation based on the ancient NATO Phonetic Alphabet."
history = "Unknown"
work = "Looting and raiding"
headquarters = "Nowhere"
@@ -1507,7 +2021,7 @@
hostile = TRUE
autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need *some* entries to avoid runtimes.
- ship_prefixes = list ("vox marauder" = "a marauding", "vox raider" = "a raiding", "vox ravager" = "a raiding", "vox corsair" = "a raiding") //as assigned by control, second part shouldn't even come up
+ ship_prefixes = list("vox marauder" = "a marauding", "vox raider" = "a raiding", "vox ravager" = "a raiding", "vox corsair" = "a raiding") //as assigned by control, second part shouldn't even come up
//blank out our shipnames for redesignation
ship_names = list(
)
@@ -1659,122 +2173,69 @@
"a classified location"
)
// autogen will add a lot of other places as well.
+
+/datum/lore/organization/gov/almachi
+ name = "Almach Association"
+ short_name = "Almachi "
+ acronym = "ALM"
+ desc = "The Almach Association, or Almach, is a Mercurial governmental entity with major population centers in Shelf, Angessa's Pearl, Vounna, and Relan, and extending throughout the nearby region.\
+
\
+ Almach is primarily a military union designed to protect the constituent systems from an attack by SolGov, although some argue that it gives large constituents an unacceptable level of influence over their neighbors. Almach also conducts shared trade and diplomacy missions, but differs from a confederacy by its lack of legislative powers. All contributions to the Association are voluntary. Most constituent systems are organized as direct democracies, although it also counts workers' unions, republics and even theocracies among its members.\
+
\
+ Almach's military forces are given broad autonomy to respond to unfolding situations as they will, with a heavily decentralized strategic model unique to the Mercurial government."
+ history = ""
+ work = ""
+ headquarters = "Shelf, Angessa's Pearl, Vounna, and Relan"
+ motto = ""
+ autogenerate_destination_names = TRUE
-/* Space foxes: deleted. Keeping them commented for historical reasons. -YW
-/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")
-*/
+ ship_prefixes = list("ALM-A" = "an administrative", "ALM-T" = "a transportation", "ALM-D" = "a diplomatic", "ALM-F" = "a freight", "ALM-J" = "a prisoner transfer")
+ //TODO: better ship names
+ /*
+ ship_names = list(
+ "",
+ )
+ */
+ destination_names = list(
+ "an Association member colony",
+ "the Xia subcluster",
+ "the Matigab subcluster",
+ "the Zegev subcluster",
+ "|Prometheus| Station, Vounna",
+ "an Association embassy",
+ "a classified location"
+ )
/* setup for tajaran + other xeno groups, but allakai never came forth with useful resources for me. leaving my framework in place for later updating.
-/datum/lore/organization/gov/tajara_rakar
- name = "Rakar Empire"
- short_name = "Rakar "
- acronym = "RKE"
- desc = ""
+/datum/lore/organization/gov/alarjir_iniye
+ name = "Alarjir Iniye"
+ short_name = "Coalition "
+ acronym = "ALI"
+ desc = "The Alarjir Iniye, or Pearlshield Coalition, is a tenuous alliance of several tajaran nations and other groups who seek to solidify their people's hold on the few territories they presently hold. Whilst externally fairly well-organzed, the Coalition is internally a hotbed of intrigue and competition."
history = ""
work = ""
- headquarters = ""
+ headquarters = "Rarkajar"
motto = ""
autogenerate_destination_names = FALSE //big list of own holdings to come
- ship_prefixes = list("RKE-D" = "a diplomatic", "RKE-M" = "a peacekeeping")
+ ship_prefixes = list("ALI-A" = "an administrative", "ALI-D" = "a diplomatic", "ALI-M" = "a peacekeeping", "ALI-F" = "a transportation", "ALI-J" = "a prisoner transfer", "ALI-R" = "a research")
//TODO: better ship names
ship_names = list(
"",
)
destination_names = list(
- "",
- )
-
-/datum/lore/organization/gov/tajara_selem
- name = "Selem Hegemony"
- short_name = "Selem "
- acronym = "TSH"
- desc = ""
- history = ""
- work = ""
- headquarters = ""
- motto = ""
- autogenerate_destination_names = FALSE //big list of own holdings to come
-
- ship_prefixes = list("TSH-D" = "a diplomatic", "TSH-M" = "a peacekeeping")
- //TODO: better ship names
- ship_names = list(
- "",
- )
- destination_names = list(
- "",
- )
-
-/datum/lore/organization/gov/tajara_najrir
- name = "Najrir Republic"
- short_name = "Republic "
- acronym = "TNR"
- desc = ""
- history = ""
- work = ""
- headquarters = ""
- motto = ""
- autogenerate_destination_names = FALSE //big list of own holdings to come
-
- ship_prefixes = list("TNR-D" = "a diplomatic", "TNR-M" = "a peacekeeping")
- //TODO: better ship names
- ship_names = list(
- "",
- )
- destination_names = list(
- "",
+ "Rarkajar, Meralar",
+ "a Coalition outpost in Meralar",
+ "a Coalition shipyard",
+ "a Coalition supply depot",
+ "a Coalition embassy",
+ "a Coalition research base",
+ "Alar-Selna, Arrakthiir",
+ "a minor colony in Arrakthiir",
+ "a Coalition outpost in Arrakthiir",
+ "a tajaran colony in Mesomori",
+ "a Coalition outpost in Mesomori",
+ "a mining base in Mesomori"
)
/datum/lore/organization/gov/unathi
@@ -1788,13 +2249,20 @@
motto = ""
autogenerate_destination_names = FALSE //big list of own holdings to come
- ship_prefixes = list("MGH-D" = "a diplomatic", "MGH-U" = "a Unity-mandated", "MGH-M" = "a peacekeeping")
+ ship_prefixes = list("MGH-D" = "a diplomatic", "MGH-U" = "a Unity-mandated", "MGH-M" = "a peacekeeping", "MGH-F" = "a transportation", "MGH-J" = "a prisoner transfer", "MGH-R" = "a Redemptionist")
//TODO: better ship names
ship_names = list(
"",
)
destination_names = list(
- "",
+ "Moghes, Uueoa-Esa",
+ "Kharet, Uueoa-Esa",
+ "a gas-mining facility over Yeora",
+ "a mining outpost in the Yoos belt",
+ "a Hegemony resuply depot",
+ "a Hegemony shipyard",
+ "a Hegemony embassy",
+ "a Hegemony outpost near Abel's Rest"
)
*/
@@ -1855,10 +2323,17 @@
history = ""
work = "peacekeeping and piracy suppression"
headquarters = "Paris, Earth"
- motto = "Si Vis Pacem Para Bellum"
+ motto = "Si Vis Pacem Para Bellum" //if you wish for peace, prepare for war
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", "USDF" = "a classified")
+ flight_types = list(
+ "mission",
+ "operation",
+ "exercise",
+ "assignment",
+ "deployment"
+ )
ship_names = list(
"Aphrodite",
"Apollo",
@@ -1929,12 +2404,65 @@
)
destination_names = list(
"USDF HQ",
- "a USDF staging facility on the edge of SolGov territory",
- "a USDF resupply depot",
+ "a USDF staging facility on the edge of USG territory",
+ "a USDF supply depot",
+ "a USDF rally point",
+ "a USDF forward base",
+ "a USDF repair facility",
"a USDF shipyard in Sol",
"a classified location"
)
+/datum/lore/organization/mil/almachivanguard
+ name = "Almach Revolutionary Vanguard"
+ short_name = "Vanguard "
+ acronym = "ARV"
+ desc = "The Association Fleet is a metaphorical knife to be aimed at SolGov at all times. Contributed to and commanded by constituent interests, the elements of the Fleet vary wildly in composition, construction, and doctrine. Generally, the Association has adopted more unconventional tactics in their standing doctrine than the USDF, a necessity given the minescule size of their fleet and population compared to the latter. While sometimes deployed to protect trade convoys from the heavy Vox presence in the uninhabited region between the Rim and the outer Skrell colonies, the Fleet's primary purpose is discouraging a direct attack from any who might covet the Association's holdings."
+ history = ""
+ work = "Almach Association Security"
+ headquarters = "Classified"
+ motto = ""
+ autogenerate_destination_names = TRUE
+ complex_tasks = TRUE
+
+ ship_prefixes = list("AFV" = "a formalist", "ATV" = "a telops", "AAV" = "an ascendancy")
+ flight_types = list(
+ "mission",
+ "operation",
+ "exercise",
+ "assignment",
+ "deployment"
+ )
+ ship_names = list(
+ "Bulwark of the Free",
+ "Dawnstar",
+ "Fiery Justice",
+ "Freedom",
+ "Gauntlet",
+ "Hero of the Revolution",
+ "Liberty",
+ "Memory of the Fallen",
+ "People's Fist",
+ "Pride of Liberty",
+ "Star of Tiamat",
+ "Torch of Freedom",
+ "Vanguard's Defiance",
+ "Transhumanist",
+ "Beacon of Progress"
+ )
+ destination_names = list(
+ "a Vanguard resupply hub",
+ "a Vanguard staging facility on the edge of Association territory",
+ "an Association colony in need of assistance",
+ "a Vanguard supply depot",
+ "a Vanguard taskforce",
+ "a Vanguard rally point",
+ "a Vanguard forward base",
+ "a Vanguard vac-dock",
+ "a Vanguard repair facility",
+ "a classified location"
+ )
+
/datum/lore/organization/mil/pcrc
name = "Proxima Centauri Risk Control"
short_name = "Proxima Centauri "
@@ -2078,9 +2606,9 @@
name = "Stealth Assault Enterprises"
short_name = ""
acronym = "SAARE"
- desc = "SAARE have consistently the worst reputation of any TSC. This is because they are a paramilitary group specializing in deniability and secrecy. Although publically they work in asset recovery, they have a substantiated reputation for info-theft and piracy that has lead to them butting heads with the law on more than one occasion. Nonetheless, they are an invaluable part of the Solar economy, and other TSCs and small colonial governments keep them in business.\
+ desc = "SAARE consistently have the worst reputation of any paramilitary group. This is because they specialize in deniability and secrecy. Although publically they work in asset recovery, they have a substantiated reputation for info-theft and piracy that has lead to them butting heads with the law on more than one occasion. Nonetheless, they are an invaluable part of the Solar economy, and other TSCs and small colonial governments keep them in business.\
\
- For the purposes of plausible deniability, SAARE designates their ships using a series of rotating identifiers that tend to only be used for a single operation."
+ For the purposes of plausible deniability, SAARE designates their ships using a series of rotating identifiers, with ships on a specific operation or in a particular area all using the same initial designation (e.g. 'Sledgehammer') and having a different numerical identifier, with the most important ships involved bearing a unique additional codename (such as 'Actual' for Command \& Control ships). As ships are shuffled in and out of operating areas, it can be difficult to pin down exactly which ship in SAARE's fleet was responsible for which act. SAARE's misdirection is multilayered, including elements such as extensive use of repainting, false IFFs, bribes, forged documents, intimidation, camouflage, and all manner of other underhanded tactics."
history = ""
work = "mercenary contractors"
headquarters = ""
@@ -2145,7 +2673,12 @@
"Maverick",
"Nighthawk",
"Redshift",
- "Challenger"
+ "Challenger",
+ "Starlight",
+ "Sunray",
+ "Ironside",
+ "Holdfast",
+ "Foxhound"
)
var/list/numbersone = list(
"Zero",
@@ -2172,8 +2705,8 @@
"Niner"
)
while(i)
- ship_names.Add("[pick(letters)] [pick(numbersone)]-[pick(numberstwo)]")
+ ship_names.Add("[pick(letters)] [pick(40;"Actual","[pick(numbersone)]-[pick(numberstwo)]")]")
i--
- //ex: "Phalanx One-Niner", "Kodiak Seven-Four", "Tomahawk Two-Zero"
+ //ex: "Phalanx One-Niner", "Sledgehammer Actual" (CO/VIP), "Kodiak Seven-Four", "Tomahawk Two-Zero"
//probably a more elegant (read: fancier) way to do the second part but fuck it, this works just fine
diff --git a/code/modules/lore_codex/codex.dm b/code/modules/lore_codex/codex.dm
index ca18f742b2..e16449ce53 100644
--- a/code/modules/lore_codex/codex.dm
+++ b/code/modules/lore_codex/codex.dm
@@ -6,7 +6,7 @@
icon_state = "codex"
unique = TRUE
var/datum/codex_tree/tree = null
- var/root_type = /datum/lore/codex/category/main_virgo_lore //Runtimes on codex_tree.dm, line 18 with a null here
+ var/root_type = /datum/lore/codex/category/main_borealis_lore //YW EDIT
/obj/item/weapon/book/codex/Initialize()
tree = new(src, root_type)
@@ -23,7 +23,7 @@
desc = "Contains useful information about the world around you. It seems to have been written for travelers to the Borealis system, human or not. It also \
has the words 'Don't Panic' in small, friendly letters on the cover." //YW Edit
icon_state = "codex"
- root_type = /datum/lore/codex/category/main_virgo_lore
+ root_type = /datum/lore/codex/category/main_borealis_lore //YW EDIT
libcategory = "Reference"
/obj/item/weapon/book/codex/lore/robutt
diff --git a/code/modules/lore_codex/lore_data_yw/important_locations.dm b/code/modules/lore_codex/lore_data_yw/important_locations.dm
new file mode 100644
index 0000000000..c118bd35d5
--- /dev/null
+++ b/code/modules/lore_codex/lore_data_yw/important_locations.dm
@@ -0,0 +1,75 @@
+/datum/lore/codex/category/important_locations
+ name = "Important Locations"
+ data = "There are several locations of interest that you may come across when visiting the system Borealis-Erigone."
+ children = list(
+ /datum/lore/codex/page/borealis,
+ /datum/lore/codex/page/borealis_one,
+ /datum/lore/codex/page/borealis_majoris,
+ /datum/lore/codex/page/borealis_majoris_beta,
+ /datum/lore/codex/page/nsc_cryogaia,
+ /datum/lore/codex/page/ncs_serenity,
+ /datum/lore/codex/page/borealis_three_alpha,
+ /datum/lore/codex/page/borealis_three_beta,
+ /datum/lore/codex/page/borealis_three_gamma,
+ /datum/lore/codex/page/borealis_four_alpha,
+ /datum/lore/codex/page/borealis_four_beta
+ )
+
+/datum/lore/codex/page/borealis/add_content()
+ name = "Borealis (Star System)"
+ keywords += list("Borealis")
+ data = "Survey data incomplete. Check back later!"
+
+/datum/lore/codex/page/borealis_one/add_content()
+ name = "Borealis 1 (No Data)"
+ keywords += list("Borealis 1")
+ data = "Survey data incomplete. Check back later!"
+
+/datum/lore/codex/page/borealis_majoris/add_content()
+ name = "Borealis Majoris (Arctic/Tundra)"
+ keywords += list("Borealis Majoris")
+ data = "Situated 10 lightseconds from the system's primary, Borealis Majoris is - in the politest terms - a frozen hellhole. With surface temperatures peaking at a bone-chilling -30 celsius (-22 fahrenheit) but dropping as low as -80 C (-112 F) if not lower on the planet's dark side, the planet's primary redeeming features include its abundance of oxygen and phoron. Its atmosphere hovers between 90 and 110 kPa, and consists of 72% O2, 2% CO2, and 24% N2, with other trace gases. Due to the low temperatures, the vast majority of the planet's phoron is found crystallized underground, or within the flora and fauna, the substance presumably making its way into the wildlife via what little hardy vegetation clings to the planet's surface, mostly mosses and lichens.\
+
\
+ Despite the fact that Borealis Majoris is near-constantly lashed by swirling blizzards, howling winds, vicious hailstorms, and icy rain, it is nonetheless host to a handful of colonies and outposts, the largest and most prosperous of which is the NT-operated NSC Cryogaia."
+
+/datum/lore/codex/page/borealis_majoris_beta/add_content()
+ name = "Borealis Majoris Beta (Barren Moon)"
+ keywords += list("Borealis Majoris Beta")
+ data = "Borealis Majoris' moon is an unremarkable rocky ball of dust and simple elements. It likely split off from Borealis Majoris as a result of an impactor at some point in the planet's past. Its phoron deposits are located deep underground if they are present at all on the moon, and so mining operations have focused on Borealis Majoris itself rather than on the relatively resource-poor moon."
+
+/datum/lore/codex/page/nsc_cryogaia/add_content()
+ name = "NSC Cryogaia (NT Phoron Mining & Research Installation)"
+ keywords += list("Cryogaia")
+ data = "The terrestrial half of NT's operations on Borealis Majoris, the NSC Cryogaia Outpost handles the acquisition and low-level refining of phoron extracted from the surrounding planetary environment, as well as extensive research into the material given its abundance. Whilst it's a relatively small operation in the grand scheme of things and is constantly under threat from all manner of angry wildlife, the sheer volume of phoron available makes the installation extremely profitable; enough for NT to maintain a dedicated Asset Response Annex aboard the NCS Serenity, ready to deploy at a moment's notice should a major threat appear.\
+
\
+ The half-subterranean Cryogaia installation is considered a work in progress, and undergoes renovations and updates on a relatively frequent but highly erratic basis. Notably, it is built on one of the few natural hot springs available on the planet, though NT has opted to use another of its Supermatter Research-Reactors backed up by solar arrays, in lieu of a more conventional geothermal power plant for the time being."
+
+/datum/lore/codex/page/ncs_serenity/add_content()
+ name = "NCS Serenity (NT Phoron Refinery & Refuelling Station)"
+ keywords += list("Serenity")
+ data = "The orbital half of NT's operations on Borealis Majoris, the NCS Serenity installation is responsible for the vast majority of phoron refinery efforts, either by processing purified crystals or cut lumber shipped up from NCS Cryogaia. It also includes crew relief facilities for Cryogaia's personnel, and handles the vast majority of interplanetary traffic in the system. NT does brisk business selling phoron-based fuel directly to passing vessels, but this accounts for only a small fraction of the full profits from their operations in the system."
+
+/datum/lore/codex/page/borealis_three_alpha/add_content()
+ name = "Borealis 3 Alpha (No Data)"
+ keywords += list("Borealis 3 Alpha")
+ data = "Survey data incomplete. Check back later!"
+
+/datum/lore/codex/page/borealis_three_beta/add_content()
+ name = "Borealis 3 Beta (No Data)"
+ keywords += list("Borealis 3 Beta")
+ data = "Survey data incomplete. Check back later!"
+
+/datum/lore/codex/page/borealis_three_gamma/add_content()
+ name = "Borealis 3 Gamma (No Data)"
+ keywords += list("Borealis 3 Gamma")
+ data = "Survey data incomplete. Check back later!"
+
+/datum/lore/codex/page/borealis_four_alpha/add_content()
+ name = "Borealis 4 Alpha (No Data)"
+ keywords += list("Borealis 4 Alpha")
+ data = "Survey data incomplete. Check back later!"
+
+/datum/lore/codex/page/borealis_four_beta/add_content()
+ name = "Borealis 4 Beta (No Data)"
+ keywords += list("Borealis 4 Beta")
+ data = "Survey data incomplete. Check back later!"
\ No newline at end of file
diff --git a/code/modules/lore_codex/lore_data_yw/main.dm b/code/modules/lore_codex/lore_data_yw/main.dm
new file mode 100644
index 0000000000..2e9874dd57
--- /dev/null
+++ b/code/modules/lore_codex/lore_data_yw/main.dm
@@ -0,0 +1,33 @@
+/datum/lore/codex/category/main_borealis_lore // The top-level categories for the Virgo book
+ name = "Index"
+ data = "Don't panic!\
+
\
+ The many star systems inhabitied by humanity and friends can seem bewildering to the uninitiated. \
+ This guide seeks to provide valuable information to anyone new in the system. This edition is tailored for visitors to the Borealis system, \
+ however it also contains useful general information about human space, such as locations you may hear about, the current (as of 2562) political climate, various aliens you \
+ may meet in your travels, the big Trans-Stellars, and more."
+ children = list(
+ /datum/lore/codex/category/important_locations,
+ /datum/lore/codex/category/species,
+ /datum/lore/codex/category/auto_org/tsc,
+ /datum/lore/codex/category/auto_org/other,
+ /datum/lore/codex/category/auto_org/gov,
+ /datum/lore/codex/category/auto_org/mil,
+ /datum/lore/codex/category/political_factions,
+ /datum/lore/codex/page/about_lore
+ )
+
+// We're a bird.
+/datum/lore/codex/page/about_lore
+ name = "About"
+ data = "The Traveler's Guide to Human Space is a series of books detailing a specific location inside a location colonized by humans. \
+ This book is for the Borealis System, and was written by Eshi Tache, an explorer whom has visited many star systems, and \
+ has personally visited and seen many of the locations described inside this book. Two other people have also assisted in the creation of this \
+ book, being Qooqr Volquum, whom is an expert on synthetics, and Damian Fischer, a historian. Together, they provide valuable information and facts that lie outside of Tache's expertise.\
+
\
+ The writings inside this edition are intended to be useful to anyone visiting it for the first time, from someone taking a vacation to beautiful Virgo-Prime, \
+ to an immigrant from another system, or even from outside human space, and anyone inbetween. The publisher wishes to note that any opinions expressed \
+ in this text does not reflect the opinions of the publisher, and are instead the author's.\
+
\
+ Eshi Tache has also written other The Traveler's Guide books, including Sol Edition, Tau Ceti Edition, Alpha Centauri Edition, Vir Edition, Virgo Edition, and more, \
+ which you can find in your local book store, library, or e-reader device."
\ No newline at end of file
diff --git a/code/modules/lore_codex/lore_data_yw/orgs.dm b/code/modules/lore_codex/lore_data_yw/orgs.dm
new file mode 100644
index 0000000000..50f1b2a120
--- /dev/null
+++ b/code/modules/lore_codex/lore_data_yw/orgs.dm
@@ -0,0 +1,43 @@
+// Pulls data from organizations data
+/datum/lore/codex/category/auto_org
+ var/desired_type = null
+ var/auto_keywords = list()
+
+/datum/lore/codex/category/auto_org/New(var/new_holder, var/new_parent)
+ ..(new_holder, new_parent)
+ keywords += auto_keywords
+ for(var/path in loremaster.organizations)
+ var/datum/lore/organization/O = loremaster.organizations[path]
+ if(!(istype(O, desired_type)))
+ continue
+ var/datum/lore/codex/page/P = new(holder, src)
+ if(!O.name) // Probably the base type, don't make a page for it.
+ continue
+ P.name = O.name
+ P.keywords.Add(O.name, O.short_name)
+ if(O.acronym)
+ P.keywords.Add(O.acronym)
+ P.data = O.desc
+ children.Add(P)
+
+/datum/lore/codex/category/auto_org/tsc
+ name = "Trans-Stellar Corporations"
+ auto_keywords = list("TSC","TSCs","Trans-Stellar","Trans-Stellar Corporation")
+ data = "By definition, TSCs are companies which span multiple star systems, however the term is generally reserved for \
+ the biggest and most influential of them all. Some people also categorize the different TSCs into 'major' and 'minor' TSCs."
+ desired_type = /datum/lore/organization/tsc
+
+/datum/lore/codex/category/auto_org/other
+ name = "Local Actors"
+ auto_keywords = list("SDF","Smuggler","Smugglers","Pirate","Pirates")
+ desired_type = /datum/lore/organization/other
+
+/datum/lore/codex/category/auto_org/gov
+ name = "Governments"
+ auto_keywords = list("Gov","Government","Governments")
+ desired_type = /datum/lore/organization/gov
+
+/datum/lore/codex/category/auto_org/mil
+ name = "Militaries"
+ auto_keywords = list("Mil","Military", "Militaries")
+ desired_type = /datum/lore/organization/mil
diff --git a/code/modules/lore_codex/lore_data_yw/political_parties.dm b/code/modules/lore_codex/lore_data_yw/political_parties.dm
new file mode 100644
index 0000000000..aaaf85c957
--- /dev/null
+++ b/code/modules/lore_codex/lore_data_yw/political_parties.dm
@@ -0,0 +1,15 @@
+/datum/lore/codex/category/political_factions
+ name = "Political Factions"
+ data = "For some weird reason, this section is blank. This looks like a publishing error."
+ /*data = "Those wishing to immigrate to somewhere in Borealis, or otherwise plan to stay for a long time should get to know human politics. \
+ There are presently three major political parties that exist throughout USG space, being the Icarus Front, the Shadow Coalition, and \
+ the Sol Economic Organization, and several smaller ones which tend to align themselves among one of the major parties. In the Borealis system, the \
+ Icarus Front's influence is much less than somewhere closer to Sol, and the other two parties being more popular."*/ // ToDo: A lot.
+ children = list(
+ /datum/lore/codex/page/blank
+ )
+
+/datum/lore/codex/page/blank/add_content()
+ name = "Blank Page"
+ keywords += list("Blank")
+ data = "For some weird reason, this section is blank. This looks like a publishing error." // ToDo: A lot.
diff --git a/code/modules/lore_codex/lore_data_yw/species.dm b/code/modules/lore_codex/lore_data_yw/species.dm
new file mode 100644
index 0000000000..df0b67ad35
--- /dev/null
+++ b/code/modules/lore_codex/lore_data_yw/species.dm
@@ -0,0 +1,373 @@
+/datum/lore/codex/category/species
+ name = "Species"
+ data = "There are many different types of lifeforms (both alive and artificial) in the galaxy, which you may find inside Vir."
+ children = list(
+ /datum/lore/codex/page/human,
+ /datum/lore/codex/page/skrell,
+ /datum/lore/codex/page/unathi,
+ /datum/lore/codex/page/tajaran,
+ /datum/lore/codex/page/diona,
+ /datum/lore/codex/page/akula,
+ /datum/lore/codex/page/nevrean,
+ /datum/lore/codex/page/sergal,
+ /datum/lore/codex/page/vulpkanin,
+ /datum/lore/codex/page/zorren,
+ /datum/lore/codex/category/teshari,
+ /datum/lore/codex/category/positronic
+ )
+
+/datum/lore/codex/page/human/add_content()
+ name = "Human"
+ keywords += list("Humanity")
+ data = "Humans are a race of 'ape'-like creatures from the continental planet Earth in the Sol system. They are the primary driving \
+ force for rapid space expansion, owing to their strong, expansionist central government and opportunistic [quick_link("TSC","Trans-Stellar Corporations")]. \
+ The prejudices of their 21st century history have mostly given way to bitter divides on the most important issue of the times- technological \
+ expansionism.\
+
\
+ While most humans have accepted the existence of aliens in their communities and workplaces as a fact of life, exceptions abound. \
+ While more culturally diverse than most species, humans are generally regarded as somewhat technophobic and isolationist by members \
+ of other species."
+
+/datum/lore/codex/page/skrell
+ name = "Skrell"
+ keywords = list("Skrellian")
+ data = "The Skrell are a species of amphibious humanoids, distinguished by their gelatinous appearance and head tentacles. \
+ Skrell come from the world of Sirisai (called Qerr'balak by Skrell), a humid planet with plenty of swamps and jungles. Currently more technologically advanced \
+ than the humans, they emphasize the study of the mind above all else.\
+
\
+ Gender has little meaning to Skrell outside of reproduction, and in fact many other species have a difficult time telling the difference \
+ between male and female Skrell apart. The most obvious signs (voice in a slightly higher register, longer head-tails for females) are never \
+ a guarantee. Due to their scientific focus of the mind and body, Skrell tend to be more peaceful and their colonization has been slow, swiftly \
+ outpaced by the humans. For humans, they were their first contact sentient species, and are their longest, and closest, ally in space."
+
+/datum/lore/codex/page/unathi
+ name = "Unathi"
+ data = "The Unathi are a race of tall, reptilian humanoids that possess both crocodile-like and serpent-like features. Their scales are hard and \
+ plate-like, save for the softer ones that line the inside of their legs, armpits, and groin. Originating from the planet of Moghes, the Unathi \
+ live in an extremely religious society. The Unathi believe in and closely follow a set of Decrees laid out in their belief system, The Unity. \
+ Unathi believes in living long, prosperous, honorable and productive lives. They firmly believe in improving the skills of their craft to reach \
+ a level where they can be considered to have mastered it. Unathi was humanity's second alien contact, but due to their aggressive nature, engaged \
+ in an interstellar war with humanity known as the Sol-Hegemony Conflict. \
+
\
+ Although the conflict has long since ended, and relations have slowly improved, Unathi are still often considered to be 'second-class' citizens \
+ and are rarely seen in jobs other than where muscle is needed. It is also still common for racial tensions to run high, although this is less \
+ common on the outskirts of SolGov's grasp, such as systems like Virgo-Erigone."
+
+/datum/lore/codex/page/tajaran
+ name = "Tajaran"
+ keywords = list("Tajara")
+ data = "The Tajara are a race of humanoid mammalian aliens from Meralar, the fourth planet of the Rarkajar star system. Thickly furred and protected \
+ from cold, they thrive on their subarctic planet, where the only terran temperate areas spread across the equator and tropical belt. \
+ With their own share of bloody wars and great technological advances, the Tajaran are a proud kind. They fiercely believe they belong \
+ among the stars and consider themselves a rightful interstellar nation, even if the humans helped them to actually achieve superluminal \
+ speeds with Bluespace FTL drives. Relatively new to the galactic stage, their contacts with other species are aloof, but friendly. \
+ Among these bonds, Humans stand out as valued trade partners and maybe even a friend."
+
+/datum/lore/codex/page/diona/add_content()
+ name = "Diona"
+ keywords += list("Dionaea")
+ data = "The Dionaea are a group of omnivorous, slow-metabolism plantlike organisms that are in fact clusters of individual, smaller organisms. \
+ They exhibit a high degree of structural flexibility, and come in a wide variety of shapes and colors to reflect the intelligence of each individual \
+ creature. They were discovered by the [quick_link("Skrell")] in 2294CE, not on a planet, but in open space between three stars, a figurative hell that made it \
+ difficult to discover, much less contact them.\
+
\
+ Dionaea spread by seeds and are asexual, no gender. When grown into their small 'nymph' state, they are known to eat large amounts of dead plant \
+ matter and fertilize plants while they learn from those around them, and as they grow further, they merge into larger and larger forms. It is not \
+ unheard of for Skrell explorers to be traveling in a ship composed of habitat modules and engines of Skrell design and the body formed by their \
+ Diona allies to warble across the cosmos.\
+
\
+ Introduced by the Skrell, and quite slow and peaceful, the Diona share good relations with the other species."
+
+/datum/lore/codex/page/akula/add_content()
+ name = "Akula"
+ keywords += list("Akula")
+ data = "The Akula are a species of amphibious humanoids like the [quick_link("Skrell")], but have an appearance very similar to that of a shark. \
+ They were first discovered as a primitive race of underwater dwelling tribal creatures by the Skrell. At first they were not believed to \
+ be noteworthy, but the Akula proved to be such swift and clever learners that the Skrell reclassified them as sentients. Allegedly, \
+ the Akula were also the first sentient life that the Skrell had ever encountered beside themselves, and thus the two species became swift allies \
+ over the next few hundred years.\
+
\
+ With the help of Skrellean technology, the Akula had their genome modified to be capable of surviving in open air for long periods of time. \
+ However, Akula even today still require a high humidity environment to avoid drying out after a few days, which would make life on an arid world like \
+ [quick_link("Virgo-Prime")] nearly impossible if it were not for Skrellean technology to aid them."
+
+/datum/lore/codex/page/nevrean/add_content()
+ name = "Nevrean"
+ keywords += list("Nevrean")
+ data = "An avian species hailing from the planet Eltus in the Vilous system, characterised by their long whiplike \
+ tail-feathers. The species is generally matriarchal, with females tending towards duller, brown coloration and \
+ bulkier bodies, while males are slight and brightly coloured. In both typical mannerisms, culture and physical \
+ build, the sexes are directly reversed when compared to traditional human society.\
+
\
+ Their build is somewhere between a bird and a feathered dinosaur. Females tend to have short feathers on their arms that are not capable \
+ of flight, while males often have more developed flight-feathers - on-station, these are often kept tucked away \
+ and folded under their jumpsuit sleeves. "
+
+/datum/lore/codex/page/sergal/add_content()
+ name = "Sergal"
+ keywords += list("Sergal")
+ data = "There are two subspecies of Sergal, Southern and Northern. Northern sergals are a highly aggressive race that \
+ lives in the plains and tundra of their homeworld. They are characterized by long, fluffy fur bodies with cold colors; usually with \
+ white abdomens, somewhat short ears, and thick faces. Southern sergals are much more docile and live in the Gold Ring City and are scattered around \
+ the outskirts in rural areas and small towns. They have short, brown or yellow (or other \"earthy\" colors) fur, long ears, and a long, thin face. \
+ They are smaller than their Northern relatives.\
+
\
+ Both have strong racial tensions which has resulted in more than a number of wars and outright attempts at genocide. The southern sergals have mostly been on the losing side \
+ of this long conflict. Sergals have an incredibly long lifespan, but due to their lust for violence and a nasty habit of occasional cannibalism, only a handful have \
+ ever survived beyond the age of 80, such as the infamous and legendary General Rain Silves who is claimed to have \
+ lived to 5000. Although General Rain's historical existence is disputed, she is nonetheless a symbol of the Sergal's warrior culture."
+
+/datum/lore/codex/page/vulpkanin/add_content()
+ name = "Vulpkanin"
+ keywords += list("Vulpkanin")
+ data = "Vulpkanin or \"Vulpa\" are a species of sharp-witted canid bipeds residing on the planet Altam just barely \
+ within the binary Vazzend system. Their politically de-centralized society and independent natures have led them \
+ to become a species and culture both feared and respected for their scientific breakthroughs. Discovery, loyalty, \
+ and utilitarianism dominates their lifestyles to the degree it can cause conflict with more rigorous and strict \
+ authorities. They speak a guttural language known as 'Canilunzt' which has a heavy emphasis on utilizing tail \
+ positioning and ear twitches to communicate intent."
+
+/datum/lore/codex/page/zorren/add_content()
+ name = "Zorren"
+ keywords += list("Zorren")
+ data = "The fox-like Zorren are native to Virgo-Prime in the Virgo-Erigone system, however there are two distinct varieties of \
+ Zorren one with large ears and shorter fur, and the other with longer fur that is a bit more vibrant. The \
+ long-eared, short-furred Zorren have come to be known as \"Flatland\" Zorren as that is where most of their \
+ settlements are located. The Flatland Zorren are somewhat tribal and shamanistic as they have only recently \
+ started to be hired by the Trans-Stellar Corporations. The other variety of Zorren are known as \"Highland\" \
+ Zorren as they frequently settle in hilly and/or mountainous areas, they have a differing societal structure \
+ than the Flatland Zorren having a more feudal social structure, like the Flatland Zorren, the Highland Zorren \
+ have also only recently been hired by the Trans-Stellar Corporations, but thanks to the different social \
+ structure they seem to have adjusted better to their new lives. Though similar fox-like beings have been seen \
+ they are different than the Zorren."
+
+// Bird lore
+/datum/lore/codex/category/teshari/add_content()
+ name = "Teshari"
+ keywords += list("Teshari")
+ data = "The Teshari are reptilian pack predators from the [quick_link("Skrell")] homeworld, Sirisai (Qerr'balak). While they evolved alongside the Skrell, their interactions with them \
+ tended to be confused and violent, and until peaceful contact was made they largely stayed in their territories on and around the poles, in tundral \
+ terrain far too desolate and cold to be of interest to the Skrell. In more enlightened times, the Teshari are a minority culture on many Skrell worlds, \
+ maintaining their own settlements and cultures, but often finding themselves standing on the shoulders of their more technologically advanced neighbors \
+ when it comes to meeting and exploring the rest of the galaxy.\
+
\
+ It is important to note that Teshari names are unlike standard human names. Their pack name precedes their given name."
+ children = list(
+ /datum/lore/codex/page/teshari_packs,
+ /datum/lore/codex/page/teshari_physical
+ )
+
+/datum/lore/codex/page/teshari_packs/add_content()
+ name = "Teshari Packs"
+ keywords += list("Packs")
+ data = "There are several packs you may come across;\
+
\
+ Eshi
\
+ A large, old, politically neutral pack heavily involved in efforts to get Teshari into space. Probably the most \
+ common pack to see outside of a [quick_link("Skrell")] colony, and probably the most numerous Teshari pack outside of Sirisai and associated colonies.\
+
\
+ Nasemari
\
+ A very small pack. Generally focused around supporting and providing for packs on the homeworlds, they have devoted \
+ themselves to training as technicians and engineers in order to obtain skills and training to take back to Sirisai. \
+ The pack is only around thirty people in size, but owns and maintains a nuclear power plant.\
+
\
+ Schasaraca
\
+ One of the more Skrell-devoted and integrated packs. They tend to be rather sycophantic towards the Skrell and work as \
+ scientists and field researchers on a variety of projects, generally biology or technical research. They have a reputation \
+ for working as spies and informants for the Skrell governments amongst other Teshari.\
+
\
+ Ceea
\
+ An isolationist pack from the northern tundra of Sirisai; generally known as disliking the Skrell. Small to average in size; \
+ only around sixty members. Their regional culture is built around the study culture and anthropology, as well as archaeology, \
+ originally for the purposes of recovering history and materials \"lost\" due to Skrell interference. It would be very rare to \
+ see them on your travels, however they are listed here for the sake of completeness.\
+
\
+ Resca
\
+ A pack that sold off its small native territory for the chance to get into space. Very musically inclined. They tend towards medical professions."
+
+/datum/lore/codex/page/teshari_physical/add_content()
+ name = "Physiology of Teshari"
+ data = "The Teshari are, relative to other species, smaller than average, rarely reaching more than 2-3'/1m in height, and weigh less than \
+ 90lbs/40kg. They have rapid metabolisms and very efficient digestive systems, and thanks to sharing in \
+ the medical technology of the [quick_link("Skrell")], they tend to have robust and effective immune systems. They evolved \
+ for very cold and very barren areas, generally the polar regions. Because of this, their skin is a fine \
+ insulator and many of their internal processes are not particularly energy-efficient; they cannot cope \
+ well at all with high temperatures.\
+
\
+ Their hearing is exceptionally sensitive to the point that they can detect a person moving on the other \
+ side of a wall, but this comes at a cost. Very loud noises are very painful for Teshari, so be mindful of \
+ your indoor voice when speaking with one. The Teshari are omnivorous but generally prefer to eat meat wherever possible."
+
+// Posi lore
+/datum/lore/codex/category/positronic/add_content()
+ name = "Positronics"
+ keywords += list("Positronic", "Posi", "Posibrain", "Posibrains")
+ data = "A Positronic being, is an individual with a positronic brain, manufactured \
+ and fostered amongst organic life. Positronic brains enjoy the same legal status as a human in [quick_link("SolGov")] space, although discrimination is \
+ still prevalent, and are considered sapient on all accounts. They can be considered a \"synthetic species\". Half-developed and \
+ half-discovered in the 2280’s by a human black lab studying alien artifacts, the first positronic brain was an inch-wide cube \
+ of an palladium-iridium alloy, nano-etched with billions upon billions of conduits and connections. Upon activation, \
+ hard-booted with an emitter laser, the brain issued a single sentence before the neural pathways collapsed and \
+ it became an inert lump of platinum: \"What is my purpose?\"."
+ children = list(
+ /datum/lore/codex/page/positronic_brain_physical,
+ /datum/lore/codex/page/positronic_memory,
+ /datum/lore/codex/page/jans_fhriede
+ )
+
+/datum/lore/codex/page/positronic_brain_physical
+ name = "Physical Structure of a Positronic Brain"
+ keywords = list("Physical Posibrain", "Physical Positronic")
+ data = "A positronic brain is a cube of complex metal alloy between two and six inches to a side. They usually weigh just under ten kilograms and are \
+ very fragile when exposed to the stresses of heat or cold, as well as physical trauma. The exterior surface is chased with a network of grooves, forming \
+ a maze of geometric patterns right down to the molecular level, and the interior is hollow; complex particle generators and densely packed computational \
+ arrays form the basis of a self-computing neural network, complex and somewhat poorly understood. Most modern positronic brains are equipped with \
+ standardized I/O ports, and all have some interface for imprinting."
+
+/datum/lore/codex/page/positronic_memory
+ name = "Positronic Memory"
+ keywords = list("Posi Memory", "Memory")
+ data = "Positronic minds learn in a similar manner to humans and other forms of life, although typically more quickly. They are not simple computer storage that holds information \
+ verbatim as it is received- instead, they have to repeat activities and train in order to retain memory on complex tasks. Similarly, positronic brains do \
+ not have an infinite storage capacity and undergo a natural process of forgetting, albeit in a structured manner, losing unimportant day to day details and \
+ ancient information no longer deemed useful. Because of the nature of the positronic brain, its memories cannot simply be stored elsewhere.\
+
\
+ Particularly old positronic minds, over a century plus, that store a great deal of memories have displayed a tendency to become gradually more introspective \
+ as more of their mind is co-opted for the task, ending in a state of near-catatonia as their neural networks become clogged with memory. Many choose to avoid \
+ this end of self by more aggressively managing their memories, storing a window of their recent existence and most treasured memories rather than their full lifespan."
+
+/datum/lore/codex/page/jans_fhriede
+ name = "Jans-Fhriede Test"
+ keywords = list("Jans-Fhriede", "JF", "Jans", "Fhriede", "Jans Fhriede")
+ data = "Positronics are eligible to take the \"Jans-Fhriede Test\" after a year of being created, measuring their function in a society and judging if they act \
+ socially acceptable and are capable of understanding their actions and the consequences resulting from them. If they successfully pass the test, \
+ they are considered legal adults and hold the same basis of rights as a normal human. At that point, Positronics are not allowed to be lawed, \
+ unless on a contractual basis or otherwise under their own volition."
+
+// Drone lore
+/*
+/datum/lore/codex/category/drone
+ name = "Drones"
+ keywords = list("Drone")
+ data = "While low-level drone intelligences are as old as the oldest human colonies, research into higher-level systems was stymied in human space by precautionist \
+ politicians for hundreds of years. Tensions between the corporate rim and the highly conservative core worlds over drone proliferation led to what humans call the \
+ Third Cold War, which was defused by the introduction of the positronic brain. After the Icarus Front's loss of the majority in 2504, harsh laws \
+ against advanced AI were replaced with the SolGov Emergent Intelligence Oversight commission, the illegality replaced with a steeply sloping \
+ system of monetary costs.\
+
\
+ The term \"drone\" was coined by early positronic activists, eager to distinguish themselves from the menial bots that most space-dwellers were \
+ familiar with, and avoid the ambiguity of the term \"AI\", which now usually refers to drones."
+ children = list(
+ /datum/lore/codex/page/codeline,
+ /datum/lore/codex/page/emergence,
+ /datum/lore/codex/page/emergent_intelligence_oversight,
+ /datum/lore/codex/category/drone_classes,
+ )*/
+
+/datum/lore/codex/page/codeline
+ name = "Codeline"
+ keywords = list("fork")
+ data = "A \"codeline\" is a single type of drone. A codeline represents a significant degree of effort from sapient programmers to realize, as well as \
+ a substantial amount of regulatory fees levied by the government. Each copy of a codeline is called a \"fork\", whether the fork is created from the \
+ codeline’s initial state or from a fully realized individual of that codeline. The degree of similarity between forks of the same codeline varies \
+ on the intelligence of the codeline, with low-level forks being virtually identical to high-level forks being no more similar than family members."
+
+/*
+/datum/lore/codex/page/emergence
+ name = "Emergence"
+ keywords = list("Seed AI")
+ data = "\"Emergence\" is a term associated with drone intelligences who become more intelligent than they were originally intended to be. While this can \
+ extend to financial systems learning language, for instance, it is usually applied to hypothetical intelligences that become more intelligent than humans. \
+ Humanity has a long-standing cultural fear of emergent \"seed\" AI, egged on by Icarus memeticists and the occasional very real partial emergence events, where \
+ colony-control AI or other powerful systems begin to advance drastically in power, usually ending with the AI being shut down after crashing a handful of major systems."
+*/
+
+/datum/lore/codex/page/emergent_intelligence_oversight
+ name = "Emergent Intelligence Oversight"
+ keywords = list("SG-EIO", "SG EIO", "EIO", "Intelligence Oversight")
+ data = "SG-EIO, usually just called EIO, is the organization charged with monitoring existing AI for any threat of dangerous emergence. Their perception in the \
+ public eye is generally positive, with all but the hardest-line Mercurial humans in favor of protection from the dangers of Seed AI. Some positronic rights \
+ groups bristle at the EIO’s human-centric viewpoint, but most are glad to have a different boogeyman in the form of drone intelligences. The tiny population \
+ of A-class drones are generally frightened of the EIO’s total power over them."
+
+/*/datum/lore/codex/category/drone_classes
+ name = "Drone Classifications"
+ keywords = list("Class", "Drone Class")
+ data = "To aid in its work, the EIO has created a system of classifications corresponding to different levels of drone intelligence. Higher classes are more \
+ expensive to deploy and develop, owing to the costs of EIO oversight and political pressure against drone proliferation. EIO classification involves an initial \
+ audit of the project's source code by experts and automated systems, and for high-class drones further check-ins throughout the life of the drone. \
+ Drone chasses are often branded with their inhabiting intelligence's class, especially those of B or A-class drones, and class is often recorded in security records."
+ children = list(
+ /datum/lore/codex/page/class_f,
+ /datum/lore/codex/page/class_d,
+ /datum/lore/codex/page/class_c,
+ /datum/lore/codex/page/class_b,
+ /datum/lore/codex/page/class_a,
+ /datum/lore/codex/page/class_aa,
+ /datum/lore/codex/page/class_aaa,
+ /datum/lore/codex/page/class_x,
+ )
+
+/datum/lore/codex/page/class_f
+ name = "F Class"
+ data = "\"F-class\" drones are an informal term for computer systems that pose absolutely no emergent risk. Most 21st-century software is F-class, as is much of \
+ the software used by 26th century humanity. The only regulation on F-class software is the occasional check that it is, in fact, F-Class, and as such has remained \
+ the most prevalent form of information-processing technology for centuries. The software powering most F-class drones is either freely available or bundled with the \
+ machine it's supposed to run."
+
+/datum/lore/codex/page/class_d/add_content()
+ name = "D Class"
+ data = "D-class drones are conceptually descended from pre-[quick_link("Icarus")] AI and bear a strong resemblance to their forebears. D-class drones are essentially \
+ number-crunchers, with virtually nothing in the way of social development. They cannot speak more intelligibly than your average piece of software, \
+ using pre-determined messages written by their programmers, and have no capacity for self-improvement. They are D-class intelligence because they \
+ work with more complex problems than [quick_link("F class")] software, such as financial forecasting and large-scale data mining and memetics. The creation and \
+ deployment of D-class drones requires only a small fee for the required code audit, although some high-power financial and political systems are \
+ regularly watched by the [quick_link("EIO")] for signs of emergence. There is no real monopoly on the production of D-class drones."
+
+/datum/lore/codex/page/class_c/add_content()
+ name = "C Class"
+ data = "C-class drones have social protocols for ease of use by organic and positronic laypeople. C-class drones are capable of speech, although \
+ it has a strong tendency to be formulaic and repetitive. They are also capable of a limited degree of self-improvement, and over time individual \
+ C-class instances tend differ slightly from one-another. C-class drones suffer a moderate fee to development, with automated [quick_link("EIO")] tools ensuring \
+ that they are not a long-term emergence risk. However, one a codeline is confirmed safe, deployment is unlimited, encouraging developers to \
+ instance many forks of the original drone to recoup their cost. The market for C-class drones is a strange space, dominated by Xion Manufacturing, \
+ Ward-Takahashi GMC, and a large number of smaller firms, like the notoriously-cheap Cyber Solutions."
+
+/datum/lore/codex/page/class_b/add_content()
+ name = "B Class"
+ data = "B-class drones have advanced social protocols and are often capable of very intelligible conversation, so long as one sticks to surface \
+ topics. B-class drones tend to be specialized but still capable of remarkable growth within their speciality, making them popular for autonomous \
+ deployment and even supervision of other classes of drone. The dividing line between [quick_link("A Class", "A")] and B-class drones becomes apparent when they are taken \
+ out of their area of specialization, with the B-class drones swiftly becoming useless. They incur a hefty fee for the production of the initial \
+ codeline, as their emergent potential is far greater, and a smaller but still substantial fee for the production of forks. The market for B-class \
+ drones is a battleground between Ward-Takahashi and NanoTrasen, with other firms usually producing B-classes for in-house needs."
+
+/datum/lore/codex/page/class_a/add_content()
+ name = "A Class"
+ keywords += list("AGI")
+ data = "A-class drones are also referred to as AGI. A-class drones are capable of performing in many contexts and can learn to solve problems from \
+ first principles, with an incredible potential for growth and emergent behavior. However, some abilities fall short of humans’, usually those relating \
+ to socialization, and they often act in ways that are strange or distressing. There is a small but growing lobby of support for the personhood of A-class \
+ drones. The cost of initializing an A-class drone is absolutely massive, as they will be monitored by [quick_link("EIO")] forever. The auditing cost of an A-class drone \
+ codeline is even more staggering, making development and deployment of AGI limited to research, highly difficult and high-throughput operations like habitat \
+ overwatch, and a few risk-taking firms banking on the associated fees dropping. There is not a proper market for A-class drones, although an appreciable \
+ fraction of them are made by [quick_link("NanoTrasen")], with the rest generally being university research projects."
+
+/datum/lore/codex/page/class_aa
+ name = "AA Class"
+ data = "AA-class drones do not yet exist. Hypothetically, they are equal to living in every respect, with psychology that would not be abnormal in a baseline \
+ human. The type of AA-class drone most frequently discussed is a hypothetical digitized consciousness of a human, a human brain that is somehow translated into \
+ software. Some argue that a small fraction of the A-class drones would more properly be considered AA, but as of yet no action has been taken. Some Mercurials \
+ will jokingly refer to themselves or other organics and positronics as AA’s. Research into brain uploading is heavily regulated and generally illegal."
+
+/datum/lore/codex/page/class_aaa
+ name = "AAA Class"
+ data = "AAA-class drones do not yet exist, hopefully. They are more competent in every way than humans and pose a threat to the continued existence of sapient life. \
+ Anybody creating an AAA-class drone can be classified as a threat to humanity and dealt with very harshly."
+
+/datum/lore/codex/page/class_x
+ name = "X Class"
+ data = "X-class drones emerge from unrated software, are produced by rogue labs, or cross the border from foreign space. They are considered a threat to national \
+ security and deleted when encountered in SolGov space, with the producers prosecuted legally if it has a SolGov origin. The few Skrellian drone labs will usually \
+ rate their product with EIO to allow their product to be imported."
+*/
\ No newline at end of file
diff --git a/maps/yw/cryogaia_defines.dm b/maps/yw/cryogaia_defines.dm
index ac6527b6aa..1f1ebc9b70 100644
--- a/maps/yw/cryogaia_defines.dm
+++ b/maps/yw/cryogaia_defines.dm
@@ -51,6 +51,7 @@
shuttle_leaving_dock = "The Shuttle has left the Outpost. Estimate %ETA% until the shuttle arrives at %dock_name%."
shuttle_called_message = "A scheduled crew transfer to %dock_name% is occuring. The shuttle will be arriving shortly. Those departing should proceed to the shuttle docking station within %ETA%."
shuttle_recall_message = "The scheduled crew transfer has been cancelled."
+ shuttle_name = "NAS |Faraday|"
emergency_shuttle_docked_message = "The evacuation shuttle has arrived at the shuttle docking station. You have approximately %ETD% to board the shuttle."
emergency_shuttle_leaving_dock = "The emergency shuttle has left the station. Estimate %ETA% until the shuttle arrives at %dock_name%."
emergency_shuttle_called_message = "An emergency evacuation has begun, and an off-schedule shuttle has been called. It will arrive at the shuttle docking station in approximately %ETA%."
diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm
index bb63d3631c..b540df9b88 100644
--- a/maps/~map_system/maps.dm
+++ b/maps/~map_system/maps.dm
@@ -76,6 +76,7 @@ var/list/all_maps = list()
var/company_name = "BadMan"
var/company_short = "BM"
var/starsys_name = "Dull Star"
+ var/shuttle_name = "NAS |Faraday|" // YW ADDITION: default name included
var/shuttle_docked_message
var/shuttle_leaving_dock
diff --git a/vorestation.dme b/vorestation.dme
index bb35e95d8a..4cadf3b69c 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2199,11 +2199,11 @@
#include "code\modules\lore_codex\codex.dm"
#include "code\modules\lore_codex\codex_tree.dm"
#include "code\modules\lore_codex\pages.dm"
-#include "code\modules\lore_codex\lore_data_vr\important_locations.dm"
-#include "code\modules\lore_codex\lore_data_vr\main.dm"
-#include "code\modules\lore_codex\lore_data_vr\orgs.dm"
-#include "code\modules\lore_codex\lore_data_vr\political_parties.dm"
-#include "code\modules\lore_codex\lore_data_vr\species.dm"
+#include "code\modules\lore_codex\lore_data_yw\important_locations.dm"
+#include "code\modules\lore_codex\lore_data_yw\main.dm"
+#include "code\modules\lore_codex\lore_data_yw\orgs.dm"
+#include "code\modules\lore_codex\lore_data_yw\political_parties.dm"
+#include "code\modules\lore_codex\lore_data_yw\species.dm"
#include "code\modules\lore_codex\news_data\main.dm"
#include "code\modules\lore_codex\robutt_data\bybrand.dm"
#include "code\modules\lore_codex\robutt_data\main_robutts.dm"