im finally fucking done

This commit is contained in:
elgeonmb
2023-02-20 23:26:52 -08:00
parent 96505dfd8e
commit 23f6bcb597
4 changed files with 467 additions and 171 deletions
+1 -1
View File
@@ -113,7 +113,7 @@ var/global/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
full_request = "[callname], this is [source.short_name] [mission_text], [pick(request_verb)] [request]."
full_response = "[combined_name], this is [using_map.station_short] TraCon, [response]." //Station TraCon always calls themselves TraCon
full_closure = "[using_map.station_short] TraCon, [yes ? "thank you" : "understood"], good day." //They always copy what TraCon called themselves in the end when they realize they said it wrong
if(source.motto && prob(source.annoying))
if(source.motto && prob(source.annoying) && yes)
full_closure += " " + source.motto
//Ship sends request to ATC
+11 -3
View File
@@ -15,15 +15,15 @@
//Default mission types for ease of populating organizations
//Most orgs that do medical missions are going to run comperable kinds of medical mission
/datum/lore/mission/prebuilt/medical
mission_strings = list("medical", "medical resupply", "hospital", "pathogen containment")
mission_strings = list("medical", "medical resupply", "hospital", "vaccine distribution")
mission_type = ATC_MED
/datum/lore/mission/prebuilt/transport
mission_strings = list("transport", "passenger transport", "general transport", "courier", "just-in-time delivery")
mission_strings = list("transport", "passenger transport", "general transport", "courier")
mission_type = ATC_TRANS
/datum/lore/mission/prebuilt/freight
mission_strings = list("freight", "hauling", "bulk transport", "materials delivery", "energy relay")
mission_strings = list("freight", "hauling", "bulk transport", "materials delivery")
mission_type = ATC_FREIGHT
/datum/lore/mission/prebuilt/defense
@@ -50,5 +50,13 @@
mission_strings = list("salvage", "scrap gathering", "damage assessment", "material recovery", "data recovery", "effects recovery", "in-situ repair")
mission_type = ATC_SALVAGE
/datum/lore/mission/prebuilt/medical_response
mission_strings = list("medical response", "emergency triage", "first response", "pathogen containment")
mission_type = ATC_MED
/datum/lore/mission/prebuilt/defense_response
mission_strings = list("crisis response", "SOS investigation", "high-priority escort", "rescue")
mission_type = ATC_DEF
/datum/lore/mission/prebuilt/transport/default
prefix = "ITV"
+446 -163
View File
@@ -9,17 +9,28 @@
var/headquarters = "" // Location of the organization's HQ. Currently unused.
var/motto = "" // A motto/jingle/whatever, if they have one.
var/legit = 90 // The odds of them being approved a flight route. mostly a function of their reputation though unfamiliarity with local traffic rules is also a factor
var/annoying = 10 // The odds they'll say their motto at the end of a successfully negotiatiated route.
var/annoying = 100 // The odds they'll say their motto at the end of a successfully negotiatiated route.
var/serviced = list(/datum/lore/system/sol = 1) // systems they work in, weighted
var/missions = list() // mission types they run
// var/special_locations = list() // individual locations they might run missions to outside of their serviced systems
var/mission_noun = list("flight","mission","route") // used for random mission generation
var/current_ship = "" // the most recent ship from this org to have talked on the tracon
var/list/destination_names = list()
// var/list/destination_names = list()
var/autogenerate_destination_names
var/autogenerate_destinations
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/missions = list(
new /datum/lore/mission/prebuilt/medical("IMV"),
new /datum/lore/mission/prebuilt/transport("ITV"),
new /datum/lore/mission/prebuilt/freight("IFV"),
new /datum/lore/mission/prebuilt/industrial("IIV"),
new /datum/lore/mission/prebuilt/defense("IDV"),
new /datum/lore/mission/prebuilt/luxury("ITV"),
new /datum/lore/mission/prebuilt/diplomatic("IDV"),
new /datum/lore/mission/prebuilt/scientific("ISV"),
new /datum/lore/mission/prebuilt/salvage("IIV"),
)
*/
var/list/ship_names = list( //Names of spaceships. This is a mostly generic list that all the other organizations inherit from if they don't have anything better.
"Kestrel",
"Beacon",
@@ -171,48 +182,32 @@
)
/datum/lore/organization/proc/generate_mission()
current_ship = "ITV Testing"
// pick what system we're going to run in
var/datum/lore/system/destination_system = pickweight(serviced)
if(destination_system)
destination_system = new destination_system
to_world("destination selected")
//shuffle
missions = shuffle(missions)
destination_system.locations = shuffle(destination_system.locations)
to_world(jointext(destination_system.locations, ""))
to_world("shuffled")
//init other variables
var/destination_mission_types = list()
var/possible_mission_types = list()
to_world("vars initialized")
//find what missions we can run
for(var/datum/lore/mission/x in missions)
possible_mission_types |= x.mission_type
to_world("source mission types populated:")
to_world(jointext(possible_mission_types, ""))
//populate destination_missions with all the mission types in that system
for(var/datum/lore/location/x in destination_system.locations)
destination_mission_types |= x.mission_types
to_world("destination mission types populated:")
to_world(jointext(destination_mission_types, ""))
// only find missions in the system we can run
possible_mission_types &= destination_mission_types
to_world("union found")
to_world(jointext(possible_mission_types, ""))
//sanity checking
if(!possible_mission_types)
to_world("sanity check failed")
return "ERROR" //change to fail silently after testing
//select a mission we can run
@@ -220,27 +215,17 @@
for(var/datum/lore/mission/x in missions)
if(x.mission_type in possible_mission_types)
selected_mission = x
to_world("mission selected")
to_world(selected_mission.mission_type)
break
else
to_world("mission failed selection")
//select a place to do it at
var/datum/lore/location/selected_location
for(var/datum/lore/location/x in destination_system.locations)
if(selected_mission.mission_type in x.mission_types)
selected_location = x
to_world("destination selected")
to_world(selected_location.desc)
break
else
world << "destination selection failed"
//set our ship name for consistancy on the tracon
current_ship = "[selected_mission.prefix] [pick(ship_names)]"
to_world("ship name selected")
world.log << current_ship
//finally return our answer
return "[current_ship] on a [pick(selected_mission.mission_strings)] [pick(mission_noun)] to [selected_location.desc]"
@@ -268,17 +253,53 @@
work = "research giant"
headquarters = "Luna, Sol"
motto = ""
legit = 95 //they own the local airspace
ship_prefixes = list("NSV" = "exploration", "NTV" = "hauling", "NDV" = "patrol", "NRV" = "emergency response", "NDV" = "asset protection")
missions = list( // they get almost every mission type because they're like the protagonists
missions = list( // they get almost every mission type because they're, you know, NT
new /datum/lore/mission/prebuilt/medical("NMV"),
new /datum/lore/mission/prebuilt/transport("NTV"),
new /datum/lore/mission/prebuilt/defense("NDV"),
new /datum/lore/mission/prebuilt/freight("NFV"),
new /datum/lore/mission/prebuilt/industrial("NIV"),
new /datum/lore/mission/prebuilt/scientific("NSV")
new /datum/lore/mission/prebuilt/scientific("NSV"),
new /datum/lore/mission/prebuilt/salvage("NIV"),
new /datum/lore/mission/prebuilt/medical_response("NRV"),
new /datum/lore/mission/prebuilt/defense_response("NRV"),
)
serviced = list( //again, protagonists, so this is something close to a map by trade distance of human+tajaran space
/datum/lore/system/vir = 20,
/datum/lore/system/sol = 15,
/datum/lore/system/gavel = 15,
/datum/lore/system/oasis = 15,
/datum/lore/system/saint_columbia = 10,
/datum/lore/system/kess_gendar = 10,
/datum/lore/system/tau_ceti = 10,
/datum/lore/system/alpha_centauri = 10,
/datum/lore/system/new_ohio = 10,
/datum/lore/system/new_seoul = 10,
/datum/lore/system/el = 10, //specific high NT investment
/datum/lore/system/nyx = 10,
/datum/lore/system/zhu_que = 5,
/datum/lore/system/love = 5,
/datum/lore/system/kauqxum = 5,
/datum/lore/system/sidhe = 5,
/datum/lore/system/mahimahi = 5,
/datum/lore/system/relan = 5,
/datum/lore/system/exalts_light = 5,
/datum/lore/system/rarkajar = 5,
/datum/lore/system/raphael = 5, //they own one of the raphaelite colonies
/datum/lore/system/mesomori = 2,
/datum/lore/system/arrathiir = 2,
/datum/lore/system/jahans_post = 2,
/datum/lore/system/abels_rest = 2,
/datum/lore/system/terminus = 2,
/datum/lore/system/eutopia = 2,
/datum/lore/system/altair = 2,
/datum/lore/system/neon_light = 1,
)
//Scientist naming scheme
ship_names = list(
"Bardeen",
@@ -324,25 +345,6 @@
)
destination_names = list(
"NSS Exodus in Nyx",
"NCS Northern Star in Vir",
"NLS Southern Cross in Vir",
"a dockyard orbiting Sif",
"an asteroid orbiting Kara",
"an asteroid orbiting Rota",
"Vir Interstellar Spaceport"
)
/datum/lore/organization/tsc/nanotrasen/New()
..()
spawn(1) // BYOND shenanigans means using_map is not initialized yet. Wait a tick.
// Get rid of the current map from the list, so ships flying in don't say they're coming to the current map.
var/string_to_test = "[using_map.station_name] in [using_map.starsys_name]"
if(string_to_test in destination_names)
destination_names.Remove(string_to_test)
/datum/lore/organization/tsc/hephaestus
name = "Hephaestus Industries"
short_name = "Hephaestus"
@@ -357,7 +359,37 @@
headquarters = "Luna, Sol"
motto = ""
ship_prefixes = list("HTV" = "freight", "HLV" = "munitions resupply", "HDV" = "asset protection", "HDV" = "preemptive deployment")
missions = list(
new/datum/lore/mission/prebuilt/defense("HDV"),
new/datum/lore/mission/prebuilt/industrial("HIV"),//extremely unfortunate prefix. can probably fudge it as HFV or HLV if this is too unpleasant
new/datum/lore/mission/prebuilt/freight("HFV"),
new/datum/lore/mission/prebuilt/transport("HTV"),
new/datum/lore/mission("HSV", list("weapons testing", "materials testing", "data exchange"), ATC_SCI),//might produce slightly weird results vis a vis location
)
serviced = list(
/datum/lore/system/vir = 10, //local space (local operations significantly reduced)
/datum/lore/system/sol = 20,
/datum/lore/system/oasis = 15, //local + on the border
/datum/lore/system/saint_columbia = 15, //SCG military outposts
/datum/lore/system/jahans_post = 15,
/datum/lore/system/tau_ceti = 15, //specifically named local operations
/datum/lore/system/kess_gendar = 15,
/datum/lore/system/alpha_centauri = 10,
/datum/lore/system/abels_rest = 10,
/datum/lore/system/new_ohio = 10, //is very obviously a big border thing
/datum/lore/system/gavel = 10, //local
/datum/lore/system/sidhe = 5, //other systems w/ piracy problems and governments addressing them
/datum/lore/system/love = 5,
/datum/lore/system/zhu_que = 5,
/datum/lore/system/raphael = 5,
/datum/lore/system/new_seoul = 5,//national capitals that are vaguely scg friendly
/datum/lore/system/rarkajar = 5,
/datum/lore/system/terminus = 2,
/datum/lore/system/whythe = 1, //very good national contractors are allowed to poke at the fucked up hell ruins
/datum/lore/system/isavaus_gamble = 1,
)
//War God/Soldier Theme
ship_names = list(
"Ares",
@@ -402,14 +434,6 @@
"Yamamoto",
"Bismarck"
)
destination_names = list(
"a SolGov dockyard on Luna",
"a SolGov dockyard in Saint Columbia",
"an anti-piracy outpost in The Bowl",
"a Fleet outpost on the Almach border",
"a Fleet outpost on the Moghes border",
"a Five Arrows outpost in the Sagittarius Heights",
)
/datum/lore/organization/tsc/vey_med
name = "Vey-Medical"
@@ -426,9 +450,37 @@
work = "medical equipment supplier"
headquarters = "Toledo, New Ohio"
motto = ""
legit = 80 //major NT competitor + dirty aliens etc
ship_prefixes = list("VTV" = "transportation", "VMV" = "medical resupply", "VSV" = "research mission", "VRV" = "emergency medical support")
// Diona names
missions = list(
new/datum/lore/mission/prebuilt/medical("VMV"),
new/datum/lore/mission/prebuilt/medical_response("VRV"),
new/datum/lore/mission/prebuilt/scientific("VSV"),
new/datum/lore/mission/prebuilt/transport("VTV"),
)
serviced = list(
/datum/lore/system/vir = 15,
/datum/lore/system/new_ohio = 15, //their HQ
/datum/lore/system/gavel = 10,
/datum/lore/system/oasis = 10,
/datum/lore/system/sol = 10,
/datum/lore/system/kauqxum = 10, //activity mostly in the heights
/datum/lore/system/new_seoul = 10,
/datum/lore/system/mahimahi = 10, //im guessing wildly about mahi-mahi i know nothing
/datum/lore/system/sidhe = 5,
/datum/lore/system/qerrvalis = 5, //one of very few organizations that will actually operate out that far
/datum/lore/system/tau_ceti = 5,
/datum/lore/system/alpha_centauri = 5,
/datum/lore/system/kess_gendar = 5,
/datum/lore/system/exalts_light = 5, //delicious almachi medicine
/datum/lore/system/relan = 5,
/datum/lore/system/vounna = 5,
/datum/lore/system/el = 2,
/datum/lore/system/eutopia = 2,
)
// Mostly Diona names
ship_names = list(
"Wind That Stirs The Waves",
"Sustained Note Of Metal",
@@ -453,11 +505,6 @@
"Memory of Kel'xi",
"Xi'Kroo's Herald"
)
destination_names = list(
"a research facility in Samsara",
"a SDTF near Ue-Orsi",
"a sapientarian mission in the Almach Rim"
)
/datum/lore/organization/tsc/zeng_hu
name = "Zeng-Hu Pharmaceuticals"
@@ -472,10 +519,32 @@
history = ""
work = "pharmaceuticals company"
headquarters = "Earth, Sol"
motto = ""
motto = "When your life is on the line, trust Zeng-Hu." //from the wiki
legit = 85 // major NT competitor
ship_prefixes = list("ZTV" = "transportation", "ZMV" = "medical resupply")
destination_names = list()
missions = list(
new /datum/lore/mission/prebuilt/medical("ZMV"), //they dont really like. do emergency medical shit. they just kind of sell drugs.
new /datum/lore/mission/prebuilt/transport("ZTV"),
new /datum/lore/mission/prebuilt/scientific("ZSV"),
)
serviced = list( //some of this list is veering perilously close to just making shit up tbh
/datum/lore/system/vir = 10,
/datum/lore/system/sol = 15,
/datum/lore/system/alpha_centauri = 10,
/datum/lore/system/tau_ceti = 10,
/datum/lore/system/kess_gendar = 10,
/datum/lore/system/new_ohio = 5,
/datum/lore/system/new_seoul = 5,
/datum/lore/system/mahimahi = 5,
/datum/lore/system/saint_columbia = 5, //i imagine they have decent SCG hospital contracts compared to vey-med (foreign) and nanotrasen (super shifty)
/datum/lore/system/jahans_post = 5,
/datum/lore/system/abels_rest = 5,
/datum/lore/system/love = 2,
/datum/lore/system/zhu_que = 2,
/datum/lore/system/sidhe = 2,
/datum/lore/system/vounna = 2, //i imagine theyre mostly being squeezed out of the almachi investment rush given kalediscope and their poor positioning in general
)
/datum/lore/organization/tsc/ward_takahashi
name = "Ward-Takahashi General Manufacturing Conglomerate"
@@ -491,8 +560,48 @@
work = "electronics manufacturer"
headquarters = ""
motto = ""
legit = 85 //major NT competitor
missions = list(
new /datum/lore/mission/prebuilt/freight("WFV"),
new /datum/lore/mission/prebuilt/transport("WTV"),
new /datum/lore/mission/prebuilt/industrial("WIV"),
new /datum/lore/mission/prebuilt/scientific("WSV"),
new /datum/lore/mission/prebuilt/defense("WDV"),
)
serviced = list( //pretty similar to the NT map-- they're NT's biggest competitor on like, half their things
/datum/lore/system/vir = 10, //squeezed out by big NT
/datum/lore/system/sol = 15,
/datum/lore/system/gavel = 10,
/datum/lore/system/oasis = 10,
/datum/lore/system/kess_gendar = 10,
/datum/lore/system/tau_ceti = 10,
/datum/lore/system/alpha_centauri = 10,
/datum/lore/system/new_ohio = 10,
/datum/lore/system/new_seoul = 10,
/datum/lore/system/saint_columbia = 5,
/datum/lore/system/el = 5,
/datum/lore/system/zhu_que = 5,
/datum/lore/system/love = 5,
/datum/lore/system/kauqxum = 5,
/datum/lore/system/sidhe = 5,
/datum/lore/system/mahimahi = 5,
/datum/lore/system/relan = 5,
/datum/lore/system/exalts_light = 5,
/datum/lore/system/rarkajar = 5,
/datum/lore/system/terminus = 5,
/datum/lore/system/eutopia = 5, //computer manufacturers love unfree labor
/datum/lore/system/altair = 5,
/datum/lore/system/phact = 5, //historic ties. the name also helps
/datum/lore/system/mesomori = 2,
/datum/lore/system/arrathiir = 2,
/datum/lore/system/jahans_post = 2,
/datum/lore/system/abels_rest = 2,
/datum/lore/system/raphael = 2,
/datum/lore/system/neon_light = 1,
)
ship_prefixes = list("WFV" = "freight", "WTV" = "transport", "WDV" = "asset protection")
ship_names = list(
"Comet",
"Aurora",
@@ -523,9 +632,6 @@
"Milky Way",
"Trojan"
)
destination_names = list(
"A manufacturing facility in the Almach Protectorate"
)
/datum/lore/organization/tsc/bishop
name = "Bishop Cybernetics"
@@ -542,15 +648,31 @@
headquarters = ""
motto = ""
ship_prefixes = list("ITV" = "transportation", "ISV" = "research exchange") //Bishop can't afford / doesn't care enough to afford its own prefixes
destination_names = list(
"a medical facility in Angessa's Pearl"
missions = list(
new /datum/lore/mission/prebuilt/transport("ITV"), //Bishop can't afford / doesn't care enough to afford its own prefixes
new /datum/lore/mission("ISV", list("data exchange", "data collection", "prototype demonstration"), ATC_SCI), //bishop doesn't really, like, stellaris scan anomalies.
)
serviced = list( //wealthy, nearby-ish systems-- theyre not a huge operation and theyre not really going to put up a big boutique in saint columbia
/datum/lore/system/vir = 15,
/datum/lore/system/sol = 10,
/datum/lore/system/oasis = 10,
/datum/lore/system/gavel = 10,
/datum/lore/system/alpha_centauri = 5,
/datum/lore/system/tau_ceti = 5,
/datum/lore/system/new_seoul = 5,
/datum/lore/system/exalts_light = 5, //recklessly extrapolating from the old version of the lore page that they probably have some significant presence here
/datum/lore/system/new_ohio = 2,
/datum/lore/system/altair = 2, //they dont /sell/ here but they produce here
/datum/lore/system/eutopia = 2,
/datum/lore/system/relan = 2,
/datum/lore/system/neon_light = 1,
)
/datum/lore/organization/tsc/morpheus
name = "Morpheus Cyberkinetics - Sol Branch"
short_name = "Morpheus Sol"
acronym = "MC"
acronym = "MC-S"
desc = "The only large corporation run by positronic intelligences, Morpheus caters almost exclusively to their sensibilities \
and needs. Originally product of the synthetic colony of Shelf, Morpheus eschews traditional advertising to keep their prices low and \
relied on word of mouth among positronics to reach their current economic dominance. Morpheus in exchange lobbies heavily for \
@@ -559,11 +681,37 @@
Shelfican counterpart, though both are notionally headed by the same board of directors."
history = ""
work = "cybernetics manufacturer"
headquarters = "Sophia, El"
motto = "#6 Get bent, meatbags."
headquarters = "Sophia, El" //ancient discord lore but also just a really reasonable extrapolation from everything
motto = ""
legit = 75 // hey remember that time they blew up a star. and then everything sucked for everyone.
ship_prefixes = list("MTV" = "freight")
// Culture names, because Anewbe told me so.
missions = list(
new /datum/lore/mission/prebuilt/freight("MFV"),
new /datum/lore/mission/prebuilt/transport("MTV"),
new /datum/lore/mission/prebuilt/scientific("MSV"), // this is the MSV We Didn't Do It! on a data collection flight to an anomaly in whythe
new /datum/lore/mission/prebuilt/defense("MDV"), //ive been giving defense fleets to every "major" TSC but morph's narrow focus and Obvious Sleeziness means they might not even want one?
)
serviced = list( //pretty flat weighting structure -- a lot of posi-majority systems are on the other end of Sol so it kinda works out that way
/datum/lore/system/vir = 15,
/datum/lore/system/el = 15,
/datum/lore/system/sol = 10,
/datum/lore/system/gavel = 10,
/datum/lore/system/oasis = 10, //somehow i imagine they do not really operate openly in Saint Columbia anymore
/datum/lore/system/kess_gendar = 5,
/datum/lore/system/tau_ceti = 5,
/datum/lore/system/terminus = 10,
/datum/lore/system/raphael = 10,
/datum/lore/system/relan = 10,
/datum/lore/system/exalts_light = 5,
/datum/lore/system/new_ohio = 5,
/datum/lore/system/new_seoul = 5,
/datum/lore/system/zhu_que = 5, //apparently they have a voter farm??
/datum/lore/system/love = 2,
/datum/lore/system/neon_light = 2,
/datum/lore/system/alpha_centauri = 2,
/datum/lore/system/whythe = 1, //oh god
)
ship_names = list(
"Nervous Energy",
"Prosthetic Conscience",
@@ -663,10 +811,7 @@
"Define Offensive",
"Tiffany",
"My Other Ship is A Gestalt",
"NTV HTV WTV ITV ZTV"
)
destination_names = list(
"a trade outpost in Terminus"
"NTV HTV WTV ITV ZTV",
)
/datum/lore/organization/tsc/xion
@@ -681,8 +826,40 @@
headquarters = ""
motto = ""
ship_prefixes = list("XTV" = "hauling", "XFV" = "bulk transport", "XIV" = "resupply")
destination_names = list()
missions = list(
new /datum/lore/mission/prebuilt/freight("XFV"),
new /datum/lore/mission/prebuilt/transport("XTV"),
new /datum/lore/mission/prebuilt/industrial("XIV"),
new /datum/lore/mission/prebuilt/salvage("XIV"),
new /datum/lore/mission/prebuilt/defense("XDV"),
)
serviced = list(
/datum/lore/system/vir = 10,
/datum/lore/system/sol = 15,
/datum/lore/system/alpha_centauri = 20, // they own a fucking moon
/datum/lore/system/tau_ceti = 15,
/datum/lore/system/gavel = 15, //vaguely remember there being obscure lore that said gavel does mining?
/datum/lore/system/new_seoul = 10,
/datum/lore/system/love = 10,
/datum/lore/system/zhu_que = 10,
/datum/lore/system/saint_columbia = 10,
/datum/lore/system/new_ohio = 5,
/datum/lore/system/oasis = 5,
/datum/lore/system/sidhe = 5,
/datum/lore/system/mahimahi = 5,
/datum/lore/system/jahans_post = 5,
/datum/lore/system/abels_rest = 5,
/datum/lore/system/raphael = 5, // they own a celestial body here too
/datum/lore/system/rarkajar = 5, // i love building extractive capital in developing nations
/datum/lore/system/exalts_light = 5,
/datum/lore/system/relan = 2, //i think relan mostly nationalized a bunch of their industries but like. they are not really in a bargaining position rn
/datum/lore/system/eutopia = 2,
/datum/lore/system/vounna = 2,
/datum/lore/system/mesomori = 2,
/datum/lore/system/arrathiir = 2,
/datum/lore/system/isavaus_gamble = 1, //they used to run salvage ops here and might as well keep doing it
)
/datum/lore/organization/tsc/mbt
name = "Major Bill's Transportation"
@@ -697,8 +874,45 @@
motto = "With Major Bill's, you won't pay major bills!"
annoying = 100 //oh god
ship_prefixes = list("TTV" = "transport", "TTV" = "luxury transit")
destination_names = list()
missions = list(
new /datum/lore/mission/prebuilt/transport("TTV"),
new /datum/lore/mission/prebuilt/freight("TFV"),
new /datum/lore/mission/prebuilt/luxury("TTV"),
)
serviced = list( // and THIS is basically just a population map of known space, slightly adjusted for distance
/datum/lore/system/vir = 5, //ppl mostly do not use major bills for in-system stuff, is my sense of it
/datum/lore/system/sol = 25,
/datum/lore/system/alpha_centauri = 20,
/datum/lore/system/tau_ceti = 20,
/datum/lore/system/kess_gendar = 15,
/datum/lore/system/new_seoul = 15,
/datum/lore/system/oasis = 15,//tourism pull
/datum/lore/system/kauqxum = 15,
/datum/lore/system/gavel = 10,
/datum/lore/system/saint_columbia = 10,
/datum/lore/system/mahimahi = 10,
/datum/lore/system/zhu_que = 10,
/datum/lore/system/love = 10,
/datum/lore/system/el = 10,
/datum/lore/system/abels_rest = 10,
/datum/lore/system/rarkajar = 5,
/datum/lore/system/eutopia = 5, //tourism pull
/datum/lore/system/raphael = 5,
/datum/lore/system/jahans_post = 5,
/datum/lore/system/relan = 5,
/datum/lore/system/exalts_light = 5,
/datum/lore/system/terminus = 3,
/datum/lore/system/phact = 3, //people really want to see the dumb castle
/datum/lore/system/qerrvalis = 3,
/datum/lore/system/nyx = 3,
/datum/lore/system/mesomori = 2,
/datum/lore/system/vounna = 2,
/datum/lore/system/arrathiir = 2,
/datum/lore/system/neon_light = 2,
)
//TODO: add in other tscs-- kaleidoscope, SAARE, and PCRC for sure but maybe also gilthari,grayson, aether
/datum/lore/organization/tsc/independent
name = "Free Traders"
@@ -708,9 +922,48 @@
work = "trade and transit"
headquarters = "N/A"
motto = ""
legit = 85 //kinda amateurish
ship_prefixes = list("IEV" = "prospecting", "IEC" = "prospecting", "IFV" = "bulk freight", "ITV" = "passenger transport", "ITC" = "just-in-time delivery")
destination_names = list()
missions = list( //my sense is theres not really free trader medical or defense craft worth mentioning -- or, i guess more accurately, an "independent defense vessel" is probably just a pirate
new /datum/lore/mission/prebuilt/transport("ITV"),
new /datum/lore/mission/prebuilt/freight("IFV"),
new /datum/lore/mission/prebuilt/industrial("IIV"),
new /datum/lore/mission/prebuilt/salvage("IIV"),
)
serviced = list( // basically an adjusted version of the Major Bills chart but a little more evenly weighted, with some more bias towards otherwise underserved systems and with some more off-the-grid locations about it
/datum/lore/system/vir = 20,
/datum/lore/system/sol = 15,
/datum/lore/system/alpha_centauri = 15,
/datum/lore/system/tau_ceti = 15,
/datum/lore/system/zhu_que = 15,
/datum/lore/system/love = 15,
/datum/lore/system/kess_gendar = 10,
/datum/lore/system/new_seoul = 10,
/datum/lore/system/kauqxum = 10,
/datum/lore/system/gavel = 10,
/datum/lore/system/oasis = 10,
/datum/lore/system/el = 10,
/datum/lore/system/abels_rest = 5,
/datum/lore/system/mahimahi = 5,
/datum/lore/system/saint_columbia = 5,
/datum/lore/system/rarkajar = 5,
/datum/lore/system/eutopia = 5,
/datum/lore/system/raphael = 5,
/datum/lore/system/jahans_post = 5,
/datum/lore/system/relan = 5,
/datum/lore/system/exalts_light = 5,
/datum/lore/system/natuna = 5,
/datum/lore/system/casinis_reach = 5, //i laborously enscribed special snowflake code for an authentically immersive communard experience and then have them trading with exactly one org
/datum/lore/system/nyx = 5,
/datum/lore/system/neon_light = 3,
/datum/lore/system/terminus = 3,
/datum/lore/system/phact = 2,
/datum/lore/system/mesomori = 2,
/datum/lore/system/vounna = 2,
/datum/lore/system/arrathiir = 2,
/datum/lore/system/isavaus_gamble = 2, //literally dont even worry officer i super have a permit for this
)
/datum/lore/organization/local_traffic
name = "independent traffic"
@@ -720,9 +973,23 @@
work = "trade and transit"
headquarters = "N/A"
motto = ""
autogenerate_destination_names = FALSE
legit = 80 //extremely amateurish
missions = list(
new /datum/lore/mission("ITC", list("local shuttle service", "private transport"), ATC_TRANS),
new /datum/lore/mission("IFC", list("courier", "local delivery", "just-in-time delivery"), ATC_FREIGHT),
new /datum/lore/mission("IIC", list("local maintence", "repair", "in-situ manufacturing"), ATC_INDU),
new /datum/lore/mission("ISC", list("test flight", "local university research", "data collection"), ATC_SCI),
new /datum/lore/mission/prebuilt/luxury("ITC"),
new /datum/lore/mission/prebuilt/medical_response("IMC"),
new /datum/lore/mission/prebuilt/defense_response("IDC"),
new /datum/lore/mission/prebuilt/salvage("IIC"),
)
serviced = list(
/datum/lore/system/vir = 1 // the one thing that's uncomplicated about the new system
)
ship_prefixes = list("ITC" = "local shuttle service", "ITC" = "luxury transit", "ITC" = "pleasure cruise", "ITC" = "private transport", "IFC" = "courier", "IFC" = "local delivery", "IIC" = "maintenance", "IMC" = "medical response")
ship_names = list(
"Ambition",
"Blue Moon",
@@ -754,29 +1021,6 @@
"Savik"
)
destination_names = list(
"New Reykjavik",
"Kalmar",
"Ekmanshalvo",
"a settlement on Sif",
"a corporate facility on Sif",
"the Ullran Expanse",
"Kaltsandur",
"Amundsen",
"Londuneyja",
"the Thorvaldsson Plains",
"the NCS Northern Star",
"a location in the Sivian wilderness",
"Sif orbit",
"the rings of Kara",
"the rings of Rota",
"Firnir orbit",
"Tyr orbit",
"Magni orbit",
"a vessel in Vir territory",
"a mining outpost"
)
// Governments
/datum/lore/organization/gov/virgov
@@ -794,9 +1038,21 @@
work = "governing body of Vir"
headquarters = "New Reykjavik, Sif, Vir"
motto = ""
autogenerate_destination_names = FALSE
legit = 95 //government
missions = list( //most transport and freight is privatized. sifguard is its own org for whatever reason
new /datum/lore/mission("VGA", list("energy relay", "emergency resupply", "restricted material transport"), ATC_FREIGHT),
new /datum/lore/mission("VGA", list("refugee transport", "prison transport"), ATC_TRANS),
new /datum/lore/mission/prebuilt/diplomatic("VGA"), //local zaddat colonies
new /datum/lore/mission/prebuilt/scientific("VGA"),
)
serviced = list(
/datum/lore/system/vir = 10, //unsurprisingly, mostly stays in vir
/datum/lore/system/gavel = 1, //sometimes does some limited local cooperative diplomacy or emergency response
/datum/lore/system/oasis = 1,
)
ship_prefixes = list("VGA" = "hauling", "VGA" = "energy relay", "VGA" = "private transport")
ship_names = list(
"Alfred Nobel",
"Anders Celcius",
@@ -825,17 +1081,6 @@
"Thingvellir"
)
destination_names = list(
"New Reykjavik on Sif",
"Kalmar on Sif",
"Ekmanshalvo on Sif",
"a settlement on Sif",
"Radiance Energy Chain",
"a dockyard orbiting Sif",
"a telecommunications satellite",
"Vir Interstellar Spaceport"
)
/datum/lore/organization/gov/solgov
name = "Solar Confederate Government"
short_name = "SolGov"
@@ -856,16 +1101,64 @@
work = "governing polity of humanity's Confederation"
headquarters = "Luna, Sol"
motto = "Nil Mortalibus Ardui Est" // Latin, because latin. Says 'Nothing is too steep for mortals'.
autogenerate_destination_names = TRUE
legit = 95 //government
ship_prefixes = list("SCG-T" = "transportation", "SCG-D" = "diplomatic", "SCG-F" = "freight", "SCG-M" = "medical response")
destination_names = list(
"Venus",
"Earth",
"Luna",
"Mars",
"Titan"
)// autogen will add a lot of other places as well.
missions = list(
new /datum/lore/mission("SCG-T", list("transport", "passenger transport", "prisoner transport", "refugee resettlement", "classified"), ATC_TRANS),
new /datum/lore/mission("SCG-F", list("emergency resupply", "hazardous material transport", "strategic resupply", "classified"), ATC_FREIGHT),
new /datum/lore/mission("SCG-E", list("damage assesment", "data recovery", "classified"), ATC_SALVAGE),
new /datum/lore/mission("SCG-D", list("defense", "patrol", "military response", "joint exercise", "classified"), ATC_DEF),
new /datum/lore/mission/prebuilt/scientific("SCG-S"),
new /datum/lore/mission/prebuilt/diplomatic("SCG-D"), //local zaddat colonies, independent earth nations, internal diplomatic missions to embassies in Sol, abels rest. actual foreign diplomacy happens elsewhere
new /datum/lore/mission/prebuilt/medical_response("SCG-M"),
new /datum/lore/mission/prebuilt/defense_response("SCG-D"),
)
serviced = list(
/datum/lore/system/vir = 10,
/datum/lore/system/sol = 25,
/datum/lore/system/alpha_centauri = 20,
/datum/lore/system/tau_ceti = 20,
/datum/lore/system/kess_gendar = 20,
/datum/lore/system/saint_columbia = 20,
/datum/lore/system/jahans_post = 15,
/datum/lore/system/abels_rest = 15,
/datum/lore/system/el = 10,
/datum/lore/system/raphael = 10,
/datum/lore/system/altair = 10,
/datum/lore/system/zhu_que = 10,
/datum/lore/system/love = 5,
/datum/lore/system/isavaus_gamble = 3,
/datum/lore/system/whythe = 3, //not in scg space but im sure they can still get at it
)
//kind of experimental
//lets SCG do diplomacy but not eg military action in foreign systems
//in the future, similar splits could allow corps to have 'core' defense assets they dont send on idiotic military actions to Vounna
//could also be expanded with fluff ala VGA/Sifguard
/datum/lore/organization/gov/solgov/diplo_corps
missions = list(
new /datum/lore/mission/prebuilt/diplomatic("SCG-D")
)
serviced = list(
/datum/lore/system/qerrvalis = 15, //capital systems of major interstellar powers
/datum/lore/system/rarkajar = 15,
/datum/lore/system/new_seoul = 15,
/datum/lore/system/relan = 15,
/datum/lore/system/casinis_reach = 10, //independent single systems
/datum/lore/system/eutopia = 10,
/datum/lore/system/phact = 10,
/datum/lore/system/natuna = 10,
/datum/lore/system/neon_light = 5, // neon light (neon light)
/datum/lore/system/exalts_light = 5, //noncapital systems of major interstellar powers
/datum/lore/system/vounna = 5,
/datum/lore/system/sidhe = 5,
/datum/lore/system/new_cairo = 3, //funny bugs
// /datum/lore/system/mahimahi = 5, //uncomment these if theyre ever like, detailed enough to have a specific named embassy
// /datum/lore/system/kauqxum = 5,
)
//TODO add 5 Arrows, Protectorate, Pearlshield
//maybe some other flavorful government agencies like the EIO or the GSA or SOFI
// Military
@@ -879,7 +1172,18 @@
work = "Vir Governmental Authority's military"
headquarters = "New Reykjavik, Sif"
motto = ""
autogenerate_destination_names = FALSE // Kinda weird if SifGuard goes to Nyx.
legit = 95 // government
missions = list(
new /datum/lore/mission("VGA-PV", list("defense", "patrol", "military response", "joint exercise"), ATC_DEF),
new /datum/lore/mission/prebuilt/defense_response("VGA-PC"),
)
serviced = list(
/datum/lore/system/vir = 10,
/datum/lore/system/gavel = 1,
/datum/lore/system/oasis = 1,
)
ship_names = list(
"Halfdane",
@@ -908,25 +1212,4 @@
"Draken",
"Gladan",
"Falken"
)
ship_prefixes = list("VGA-PV" = "military", "VGA-PV" = "patrol", "VGA-PC" = "rescue", "VGA-PC" = "emergency response")
destination_names = list(
"New Reykjavik on Sif",
"Kalmar on Sif",
"Ekmanshalvo on Sif",
"a settlement on Sif",
"a location in the Sivian wilderness",
"a classified location in Vir",
"Sif orbit",
"the rings of Kara",
"the rings of Rota",
"Firnir orbit",
"Tyr orbit",
"Magni orbit",
"a wreck in VirGov territory",
"a military outpost",
"an incursion site within Vir",
"rendezvous to an incursion site in Oasis",
"rendezvous to an incursion site in Gavel"
)
)
+9 -4
View File
@@ -17,7 +17,7 @@
var/mission = list()
if(rand(length(planets))) // equal chance of an event in local space or any individual planet
initial = pick(planetary_destinations)
if(initial in list("an outpost", "a facility", "a commune")) //commune isn't in the default list but it's used in casini's reach and natuna
if(initial in list("an outpost", "a facility", "a commune", "a settlement")) //some of these aren't in the default list but are used down the line
mission = list(ATC_TYPICAL)
else if(initial in list("a ruin"))
mission = list(ATC_SALVAGE)
@@ -49,6 +49,8 @@
//ATC_ALL_CIV has ATC_TYPICAL plus luxury and scientific missions too, so it's the kind of traffic you'd see to a major cultural center
//ATC_ALL has ATC_ALL_CIV plus diplomatic and salvage missions and really isn't appropriate for use in most places
//ATC_SCI might need to get split into academic stuff and 'weird space wedgies'
//SCG major systems
/datum/lore/system/sol
name = "Sol"
@@ -445,7 +447,7 @@
//human independents
/datum/lore/system/natuna
name = "Natuna Barisal"
name = "Natuna Barisal" //we have unicode support but i think radio might still shit itself
desc = "Seceeded from SolGov over all the racism and casteism. Now it's home to pirates and also got invaded by the Hegemony"
planets = list("Natuna Barisal c") //its this or 'the planet' or 'natuna barisal, natuna barisal'-- the planet and the system share a name
locations = list(
@@ -525,11 +527,14 @@
/datum/lore/system/rarkajar
name = "Rarkajar"
desc = "The home system of the Tajaran race."
planets = list("Merelar")
planets = list("Meralar")
locations = list(
new /datum/lore/location("a helium-3 extractor on Keoalar, Rarkajar", list(ATC_TYPICAL)),
new /datum/lore/location("a geological survey site on Aipira, Rarkajar", list(ATC_TYPICAL, ATC_SCI)),
new /datum/lore/location("the SolGov embassy on Merelar, Rarkajar", list(ATC_DIPLO, ATC_TRANS)),
new /datum/lore/location("the SolGov embassy on Meralar, Rarkajar", list(ATC_DIPLO, ATC_TRANS)),
new /datum/lore/location("Nalyar on Meralar, Rarkajar", list(ATC_ALL_CIV)),
new /datum/lore/location("Jormitar on Meralar, Rarkajar", list(ATC_ALL_CIV)),
new /datum/lore/location("Mi'dynh Al'Manq on Meralar, Rarkajar", list(ATC_ALL_CIV)),
)
/datum/lore/system/rarkajar/New()