mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-07-19 20:23:07 +01:00
Merge pull request #11658 from KillianKirilenko/kk-traffic
Traffic Refinements
This commit is contained in:
@@ -4,12 +4,12 @@
|
||||
var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
|
||||
|
||||
/datum/lore/atc_controller
|
||||
var/delay_min = 25 MINUTES //How long between ATC traffic
|
||||
var/delay_max = 35 MINUTES //Adjusted to give approx 2 per hour, will work out to 10-14 over a full shift
|
||||
var/delay_min = 20 MINUTES //How long between ATC traffic, minimum
|
||||
var/delay_max = 30 MINUTES //Ditto, maximum
|
||||
//Shorter delays means more traffic, which gives the impression of a busier system, but also means a lot more radio noise
|
||||
var/backoff_delay = 5 MINUTES //How long to back off if we can't talk and want to. Default is 5 mins.
|
||||
var/initial_delay = 2 MINUTES //How long to wait before sending the first message of the shift.
|
||||
var/next_message = 30 MINUTES //When the next message should happen in world.time - Making it default to min value
|
||||
var/next_message = 20 MINUTES //When the next message should happen in world.time - Making it default to min value
|
||||
var/force_chatter_type //Force a specific type of messages
|
||||
|
||||
var/squelched = 0 //If ATC is squelched currently
|
||||
@@ -77,18 +77,15 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
|
||||
var/mission = source.ship_prefixes[prefix] //The value of the prefix is the mission type that prefix does
|
||||
var/shipname = pick(source.ship_names) //Pick a random ship name
|
||||
var/destname = pick(source.destination_names) //destination is where?
|
||||
var/law_abiding = source.lawful //do we fully observe system law (or are we otherwise favored by the system owners, i.e. NT)?
|
||||
var/law_breaker = source.hostile //or are we part of a pirate group
|
||||
var/system_defense = source.sysdef //are we actually system law/SDF? unlocks the SDF-specific events
|
||||
var/slogan = pick(source.slogans) //god help you all
|
||||
var/org_type = source.org_type //which group do we belong to?
|
||||
|
||||
//pick our second ship
|
||||
//var/secondname = secondary.name //not used atm, commented out to suppress errors
|
||||
var/secondowner = secondary.short_name
|
||||
var/secondprefix = pick(secondary.ship_prefixes) //Pick a random prefix
|
||||
var/secondshipname = pick(secondary.ship_names) //Pick a random ship name
|
||||
var/law_abiding2 = secondary.lawful
|
||||
var/law_breaker2 = secondary.hostile
|
||||
var/system_defense2 = secondary.sysdef //mostly here as a secondary check to ensure SDF don't interrogate other SDF
|
||||
var/org_type2 = secondary.org_type
|
||||
|
||||
var/combined_first_name = "[owner][prefix] |[shipname]|"
|
||||
var/combined_second_name = "[secondowner][secondprefix] |[secondshipname]|"
|
||||
@@ -102,7 +99,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
|
||||
var/requests = list(
|
||||
"special flight rules" = list("authorizing special flight rules", "denying special flight rules, not allowed for your traffic class"),
|
||||
"current solar weather info" = list("sending you the relevant information via tightbeam", "your request has been queued, stand by"),
|
||||
"aerospace priority" = list("affirmative, aerospace priority is yours", "negative, another vessel has priority right now"),
|
||||
"sector aerospace priority" = list("affirmative, sector aerospace priority is yours", "negative, another vessel in your sector has priority right now"),
|
||||
"system traffic info" = list("sending you current traffic info", "request queued, please hold"),
|
||||
"refueling information" = list("sending refueling information now", "depots currently experiencing fuel shortages, advise you move on"),
|
||||
"a current system time sync" = list("sending time sync ping to you now", "your ship isn't compatible with our time sync, set time manually"),
|
||||
@@ -113,30 +110,38 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
|
||||
var/chatter_type = "normal"
|
||||
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
|
||||
else if((org_type == "government" || org_type == "neutral" || org_type == "military" || org_type == "corporate" || org_type == "system defense") && org_type2 == "pirate") //this is ugly but when I tried to do it with !='s it fired for pirate-v-pirate, still not sure why. might as well stick it up here so it takes priority over other combos.
|
||||
chatter_type = "distress"
|
||||
else if(org_type == "corporate") //corporate-specific subset for the slogan event. despite the relatively high weight it was still quite rare in tests.
|
||||
chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",30;"dockingrequestgeneric",30;"dockingrequestdenied",30;"dockingrequestdelayed",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest","normal",30;"undockingdenied",30;"undockingdelayed",300;"slogan")
|
||||
else if((org_type == "government" || org_type == "neutral" || org_type == "military"))
|
||||
chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",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, otherwise we get them asking for traffic info and stuff
|
||||
else if(org_type == "smuggler" && org_type2 != "system defense") //just straight up funnel smugglers into always being caught, otherwise we get them asking for traffic info and stuff
|
||||
chatter_type = "policeflee"
|
||||
else if(name == "Smugglers" && system_defense2) //ditto, if an SDF ship catches them
|
||||
else if(org_type == "smuggler" && org_type2 == "system defense") //ditto, if an SDF ship catches them
|
||||
chatter_type = "policeshipflee"
|
||||
else if(law_abiding && law_breaker2) //on the offchance that we manage to roll a goodguy and a badguy, run a new distress event - it's like emerg but better
|
||||
chatter_type = "distress"
|
||||
else if(law_breaker && system_defense2) //if we roll this combo instead, time for the SDF to do their fucking job
|
||||
else if((org_type == "smuggler" || org_type == "pirate") && org_type2 == "system defense") //if we roll this combo instead, time for the SDF to do their fucking job
|
||||
chatter_type = "policeshipcombat"
|
||||
else if(law_breaker && !system_defense2) //but if we roll THIS combo, time to alert the SDF to get off their asses
|
||||
else if((org_type == "smuggler" || org_type == "pirate") && org_type2 != "system defense") //but if we roll THIS combo, time to alert the SDF to get off their asses
|
||||
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
|
||||
else if(org_type == "system defense" && (org_type == "government" || org_type == "neutral" || org_type == "military" || org_type == "corporate")) //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;"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)
|
||||
else if(org_type == "system defense")
|
||||
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;"dockingrequestdelayed",30;"dockingrequestdenied",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest",30;"undockingdenied",30;"undockingdelayed","normal")
|
||||
//I probably should do some kind of pass here to work through all the possible combinations of major factors and see if the filtering list needs reordering or modifying, but I really can't be arsed
|
||||
|
||||
//DEBUG BLOCK
|
||||
//to_world("DEBUG OUTPUT 1: [name], [owner], [prefix], [mission], [shipname], [org_type], [destname]")
|
||||
//to_world("DEBUG OUTPUT 2: [secondowner], [secondprefix], [secondshipname], [org_type2]")
|
||||
//to_world("DEBUG OUTPUT 3: Chose [chatter_type]")
|
||||
//DEBUG BLOCK ENDS
|
||||
|
||||
var/yes = prob(90) //Chance for them to say yes vs no
|
||||
|
||||
var/request = pick(requests)
|
||||
@@ -167,7 +172,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
|
||||
switch(chatter_type)
|
||||
//mayday call
|
||||
if("emerg")
|
||||
var/problem = pick("We have hull breaches on multiple decks","We have unknown hostile life forms on board","Our primary drive is failing","We have asteroids impacting the hull","We're experiencing a total loss of engine power","We have hostile ships closing fast","There's smoke in the cockpit","We have unidentified boarders","Our life support has failed")
|
||||
var/problem = pick("We have hull breaches on multiple decks","We have unknown hostile life forms on board","Our primary drive is failing","We have [pick("asteroids","space debris")] impacting the hull","We're experiencing a total loss of engine power","We have hostile ships closing fast","There's smoke in the cockpit","We have unidentified boarders","Our RCS are malfunctioning and we're losing stability","Our life support [pick("is failing","has failed")]")
|
||||
msg("+Mayday, mayday, mayday!+ This is [combined_first_name] declaring an emergency! [problem]!","[prefix] [shipname]")
|
||||
sleep(5 SECONDS)
|
||||
msg("[combined_first_name], this is [using_map.dock_name] Control, copy. Switch to emergency responder channel [ertchannel].")
|
||||
@@ -175,7 +180,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
|
||||
msg("Understood [using_map.dock_name] Control, switching now.","[prefix] [shipname]")
|
||||
//Control scan event: soft outcome
|
||||
if("policescan")
|
||||
var/confirm = pick("Understood","Roger that","Affirmative")
|
||||
var/confirm = pick("Understood","Roger that","Affirmative","Very well","Copy that")
|
||||
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.")
|
||||
@@ -190,7 +195,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
|
||||
//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.","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. Flying without an active transponder is a violation of system regulations.")
|
||||
msg("Unknown [pick("ship","vessel","starship")], this is [using_map.dock_name] Control, identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.")
|
||||
sleep(5 SECONDS)
|
||||
msg("[uhoh]","[shipname]")
|
||||
sleep(5 SECONDS)
|
||||
@@ -212,11 +217,11 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
|
||||
//SDF scan event: hard outcome
|
||||
if("policeshipflee")
|
||||
var/uhoh = pick("No can do chief, we got places to be.","Sorry but we've got places to be.","Not happening.","Ah fuck, who ratted us out this time?!","You'll never take me alive!","Hey, I have a cloaking device! You can't see me!","I'm going to need to ask for a refund on that stealth drive...","I'm afraid I can't do that, |[shipname]|.","Ah |hell|.","Fuck!","This isn't the ship you're looking for.","Well. This is awkward.","Uh oh.","I surrender!")
|
||||
msg("Unknown [pick("ship","vessel","starship")], this is [combined_second_name], identify yourself and submit to a full inspection. Flying without an active transponder is a violation of system regulations.","[secondprefix] [secondshipname]")
|
||||
msg("Unknown [pick("ship","vessel","starship")], this is [combined_second_name], identify yourself and submit to a full inspection. Flying without an active transponder is a violation of interstellar shipping regulations.","[secondprefix] [secondshipname]")
|
||||
sleep(5 SECONDS)
|
||||
msg("[uhoh]","[shipname]")
|
||||
sleep(5 SECONDS)
|
||||
msg("[using_map.starsys_name] Defense Control, this is [combined_second_name], we have a situation here, please advise.","[secondprefix] [secondshipname]")
|
||||
msg("[using_map.starsys_name] Defense Control, this is [combined_second_name]. We have a situation here, please advise.","[secondprefix] [secondshipname]")
|
||||
sleep(5 SECONDS)
|
||||
msg("Defense Control copies, [combined_second_name], reinforcements are en route. Switch further communications to encrypted band [sdfchannel].","[using_map.starsys_name] Defense Control")
|
||||
//SDF scan event: engage primary in combat! fairly rare since it needs a pirate/vox + SDF roll
|
||||
@@ -282,7 +287,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
|
||||
if("dockingrequestdenied")
|
||||
var/reason = pick("we don't have any landing pads large enough for your vessel","we don't have the necessary facilities for your vessel type or class")
|
||||
var/disappointed = pick("That's unfortunate. [combined_first_name], out.","Damn shame. We'll just have to keep moving. [combined_first_name], out.","[combined_first_name], out.")
|
||||
msg("[callname], this is [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_move].","[prefix] [shipname]")
|
||||
msg("[callname], this is [combined_first_name], [pick("stopping by","passing through")] on our way to [destname], requesting permission to [landing_short].","[prefix] [shipname]")
|
||||
sleep(5 SECONDS)
|
||||
msg("[combined_first_name], this is [using_map.dock_name] Control. Request denied, [reason].")
|
||||
sleep(5 SECONDS)
|
||||
@@ -388,6 +393,10 @@ 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("slogan")
|
||||
msg("The following is a sponsored message from [name].","Facility PA")
|
||||
sleep (5 SECONDS)
|
||||
msg("[slogan]","Facility PA")
|
||||
else //time for generic message
|
||||
msg("[callname], this is [combined_first_name] on [mission] [pick(mission_noun)] to [destname], requesting [request].","[prefix] [shipname]")
|
||||
sleep(5 SECONDS)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
//how does it work? simple: if you have complex tasks enabled, it goes; PREFIX + TASK_TYPE + FLIGHT_TYPE
|
||||
//e.g. NDV = Asset Protection + Patrol + Flight
|
||||
//this allows you to use the ship prefix for subfactions (warbands, religions, whatever) within a faction, and define task_types at the faction level
|
||||
//this overrides the standard PREFIX = TASK logic and allows you to use the ship prefix for subfactions (warbands, religions, whatever) within a faction, and define task_types at the faction level
|
||||
//task_types are picked from completely at random in air_traffic.dm, much like flight_types, so be careful not to potentially create combos that make no sense!
|
||||
|
||||
var/list/task_types = list(
|
||||
@@ -86,14 +86,114 @@
|
||||
"Falcon",
|
||||
"Casper",
|
||||
"Orion",
|
||||
"Columbia",
|
||||
"Atlantis",
|
||||
"Enterprise",
|
||||
"Challenger",
|
||||
"Pathfinder",
|
||||
"Buran",
|
||||
"Aldrin",
|
||||
"Armstrong",
|
||||
"Tranquility",
|
||||
"Nostrodamus",
|
||||
"Soyuz",
|
||||
"Cosmos",
|
||||
"Sputnik",
|
||||
"Belka",
|
||||
"Strelka",
|
||||
"Gagarin",
|
||||
"Shepard",
|
||||
"Tereshkova",
|
||||
"Leonov",
|
||||
"Vostok",
|
||||
"Apollo",
|
||||
"Mir",
|
||||
"Titan",
|
||||
"Serenity",
|
||||
"Andiamo",
|
||||
"Aurora",
|
||||
"Phoenix",
|
||||
"Lucky",
|
||||
"Raven",
|
||||
"Valkyrie",
|
||||
"Halcyon",
|
||||
"Nakatomi",
|
||||
"Cutlass",
|
||||
"Unicorn",
|
||||
"Sheepdog",
|
||||
"Arcadia",
|
||||
"Gigantic",
|
||||
"Goliath",
|
||||
"Pequod",
|
||||
"Poseidon",
|
||||
"Venture",
|
||||
"Evergreen",
|
||||
"Natal",
|
||||
"Maru",
|
||||
"Djinn",
|
||||
"Witch",
|
||||
"Wolf",
|
||||
"Lone Star",
|
||||
"Grey Fox",
|
||||
"Dutchman",
|
||||
"Sultana",
|
||||
"Siren",
|
||||
"Venus",
|
||||
"Anastasia",
|
||||
"Rasputin",
|
||||
"Stride",
|
||||
"Suzaku",
|
||||
"Hathor",
|
||||
"Dream",
|
||||
"Gaia",
|
||||
"Ibis",
|
||||
"Progress",
|
||||
"Olympic",
|
||||
"Venture",
|
||||
"Brazil",
|
||||
"Tiger",
|
||||
"Hedgehog",
|
||||
"Potemkin",
|
||||
"Fountainhead",
|
||||
"Sinbad",
|
||||
"Esteban",
|
||||
"Mumbai",
|
||||
"Shanghai",
|
||||
"Madagascar",
|
||||
"Kampala",
|
||||
"Bangkok",
|
||||
"Emerald",
|
||||
"Guo Hong",
|
||||
"Shun Kai",
|
||||
"Fu Xing",
|
||||
"Zhenyang",
|
||||
"Da Qing",
|
||||
"Rascal",
|
||||
"Flamingo",
|
||||
"Jackal",
|
||||
"Andromeda",
|
||||
"Ferryman",
|
||||
"Panchatantra",
|
||||
"Nunda",
|
||||
"Fortune",
|
||||
"New Dawn",
|
||||
"Fionn MacCool",
|
||||
"Red Bird",
|
||||
"Star Rat",
|
||||
"Cwn Annwn",
|
||||
"Morning Swan",
|
||||
"Black Cat",
|
||||
"Challenger"
|
||||
)
|
||||
var/list/destination_names = list() //Names of static holdings that the organization's ships visit regularly.
|
||||
|
||||
var/lawful = TRUE //Are we exempt from routine inspections? to avoid incidents where SysDef appears to go rogue -- defaults to TRUE now (regular ships always get the "soft" result)
|
||||
var/hostile = FALSE //Are we explicitly lawless, hostile, or otherwise bad? allows for a finer alignment system, since my last checks weren't working properly
|
||||
var/org_type = "neutral" //Valid options are "neutral", "corporate", "government", "system defense", "military, "smuggler", & "pirate"
|
||||
var/sysdef = FALSE //Are we the space cops?
|
||||
var/autogenerate_destination_names = TRUE //Pad the destination lists with some extra random ones? see the proc below for info on that
|
||||
|
||||
var/slogans = list("This is a placeholder slogan, ding dong!") //Advertising slogans. Who doesn't want more obnoxiousness on the radio? Picked at random each time the slogan event fires. This has a placeholder so it doesn't runtime on trying to draw from a 0-length list in the event that new corps are added without full support.
|
||||
|
||||
/datum/lore/organization/New()
|
||||
..()
|
||||
@@ -213,7 +313,7 @@
|
||||
and therapy.\
|
||||
<br><br>\
|
||||
NT's most well known products are its phoron based creations, especially those used in Cryotherapy. \
|
||||
It also boasts an prosthetic line, which is provided to its employees as needed, and is used as an incentive \
|
||||
It also boasts a prosthetic line, which is provided to its employees as needed, and is used as an incentive \
|
||||
for newly tested posibrains to remain with the company. \
|
||||
<br><br>\
|
||||
NT's ships are named for famous scientists."
|
||||
@@ -222,6 +322,12 @@
|
||||
headquarters = "Luna, Sol"
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"NanoTrasen - Phoron Makes The Galaxy Go 'Round.",
|
||||
"NanoTrasen - Join for the Medical, stay for the Company.",
|
||||
"NanoTrasen - Advancing Humanity."
|
||||
)
|
||||
ship_prefixes = list("NTV" = "a general operations", "NEV" = "an exploration", "NGV" = "a hauling", "NDV" = "a patrol", "NRV" = "an emergency response", "NDV" = "an asset protection")
|
||||
//Scientist naming scheme
|
||||
ship_names = list(
|
||||
@@ -247,13 +353,11 @@
|
||||
"Nye",
|
||||
"Hawking",
|
||||
"Aristotle",
|
||||
"Von Braun",
|
||||
"Kaku",
|
||||
"Oppenheimer",
|
||||
"Renwick",
|
||||
"Hubble",
|
||||
"Alcubierre",
|
||||
"Robineau",
|
||||
"Glass"
|
||||
)
|
||||
// Note that the current station being used will be pruned from this list upon being instantiated
|
||||
@@ -297,6 +401,12 @@
|
||||
headquarters = "Luna, Sol"
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Hephaestus Arms - When it comes to personal protection, nobody does it better.",
|
||||
"Hephaestus Arms - Peace through Superior Firepower.",
|
||||
"Hephaestus Arms - Don't be caught firing blanks."
|
||||
)
|
||||
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(
|
||||
@@ -401,6 +511,12 @@
|
||||
headquarters = "Toledo, New Ohio"
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Vey-Medical. Medical care you can trust.",
|
||||
"Vey-Medical. Only the finest in surgical equipment.",
|
||||
"Vey-Medical. Because your patients deserve the best."
|
||||
)
|
||||
ship_prefixes = list("VMV" = "a general operations", "VTV" = "a transportation", "VHV" = "a medical resupply", "VSV" = "a research", "VRV" = "an emergency medical support")
|
||||
// Diona names, mostly
|
||||
ship_names = list(
|
||||
@@ -415,6 +531,9 @@
|
||||
"Fire Blown Out By Wind",
|
||||
"Star That Fades From View",
|
||||
"Eyes Which Turn Inwards",
|
||||
"Still Water Upon An Endless Shore",
|
||||
"Sunlight Glitters Upon Tranquil Sands",
|
||||
"Growth Within The Darkest Abyss",
|
||||
"Joy Without Which The World Would Come Undone",
|
||||
"A Thousand Thousand Planets Dangling From Branches",
|
||||
"Light Streaming Through Interminable Branches",
|
||||
@@ -447,6 +566,13 @@
|
||||
headquarters = "Earth, Sol"
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Zeng-Hu! WE make the medicines that YOU need!",
|
||||
"Zeng-Hu! Having acid reflux problems? Consult your local physician to see if Dylovene is right for YOU!",
|
||||
"Zeng-Hu! Tired of getting left in the dust? Try Hyperzine! You'll never fall behind again!",
|
||||
"Zeng-Hu! Life's aches and pains getting to you? Try Tramadol - available at any good pharmacy!"
|
||||
)
|
||||
ship_prefixes = list("ZHV" = "a general operations", "ZTV" = "a transportation", "ZMV" = "a medical resupply", "ZRV" = "a medical research")
|
||||
//ship names: a selection of famous physicians who advanced the cause of medicine
|
||||
ship_names = list(
|
||||
@@ -527,6 +653,12 @@
|
||||
headquarters = ""
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Takahashi Appliances - keeping your home running smoothly.",
|
||||
"W-T Automotive - keeping you on time, all the time.",
|
||||
"Ward-Takahashi Electronics - keeping you in touch with the galaxy."
|
||||
)
|
||||
ship_prefixes = list("WTV" = "a general operations", "WTFV" = "a freight", "WTGV" = "a transport", "WTDV" = "an asset protection")
|
||||
ship_names = list(
|
||||
"Comet",
|
||||
@@ -560,6 +692,8 @@
|
||||
"Curtain",
|
||||
"Planetar",
|
||||
"Quasar",
|
||||
"Blazar",
|
||||
"Corona",
|
||||
"Binary"
|
||||
)
|
||||
destination_names = list()
|
||||
@@ -581,6 +715,12 @@
|
||||
headquarters = ""
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Bishop Cybernetics - only the best in personal augmentation.",
|
||||
"Bishop Cybernetics - why settle for flesh when you can have metal?",
|
||||
"Bishop Cybernetics - make a statement."
|
||||
)
|
||||
ship_prefixes = list("BCV" = "a general operations", "BCTV" = "a transportation", "BCSV" = "a research exchange")
|
||||
//famous mechanical engineers
|
||||
ship_names = list(
|
||||
@@ -660,6 +800,10 @@
|
||||
headquarters = "Shelf flotilla"
|
||||
motto = ""
|
||||
|
||||
org_type = "neutral" //disables slogans for morpheus as they don't advertise, per the description above
|
||||
/*
|
||||
slogans = list()
|
||||
*/
|
||||
ship_prefixes = list("MCV" = "a general operations", "MTV" = "a freight", "MDV" = "a market protection", "MSV" = "an outreach")
|
||||
//periodic elements; something 'unusual' for the posibrain TSC without being full on 'quirky' culture ship names (much as I love them, they're done to death)
|
||||
ship_names = list(
|
||||
@@ -749,6 +893,12 @@
|
||||
headquarters = ""
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Xion Manufacturing - We have what you need.",
|
||||
"Xion Manufacturing - The #1 choice of the SolCom Engineer's Union for 150 years.",
|
||||
"Xion Manufacturing - Our products are as bulletproof as our contracts."
|
||||
)
|
||||
ship_prefixes = list("XMV" = "a general operations", "XTV" = "a hauling", "XFV" = "a bulk transport", "XIV" = "a resupply")
|
||||
//martian mountains
|
||||
ship_names = list(
|
||||
@@ -803,6 +953,12 @@
|
||||
headquarters = ""
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"The FTU. We look out for the little guy.",
|
||||
"There's no Trade like Free Trade.",
|
||||
"Join the Free Trade Union. Because anything worth doing, is worth doing for money." //rule of acquisition #13
|
||||
)
|
||||
ship_prefixes = list("FTV" = "a general operations", "FTRP" = "a trade protection", "FTRR" = "a piracy suppression", "FTLV" = "a logistical support", "FTTV" = "a mercantile", "FTDV" = "a market establishment")
|
||||
//famous merchants and traders, taken from Civ6's Great Merchants, plus the TSC's founder
|
||||
ship_names = list(
|
||||
@@ -846,6 +1002,12 @@
|
||||
headquarters = "Mars, Sol"
|
||||
motto = "With Major Bill's, you won't pay major bills!"
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"With Major Bill's, you won't pay major bills!",
|
||||
"Major Bill's - Private Couriers - General Shipping!",
|
||||
"Major Bill's got you covered, now get out there!"
|
||||
)
|
||||
ship_prefixes = list("TTV" = "a general operations", "TTV" = "a transport", "TTV" = "a luxury transit", "TTV" = "a priority transit", "TTV" = "a secure data courier")
|
||||
//ship names: big rivers
|
||||
ship_names = list (
|
||||
@@ -916,6 +1078,12 @@
|
||||
headquarters = "Mars, Sol"
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Grayson Mining - It's An Ore Effort, For The War Effort!",
|
||||
"Grayson Mining - Winning The War On Ore!",
|
||||
"Grayson Mining - Come On Down To Our Ore Chasm!"
|
||||
)
|
||||
ship_prefixes = list("GMV" = "a general operations", "GMT" = "a transport", "GMR" = "a resourcing", "GMS" = "a surveying", "GMH" = "a bulk transit")
|
||||
//rocks
|
||||
ship_names = list(
|
||||
@@ -976,6 +1144,12 @@
|
||||
headquarters = ""
|
||||
motto = "Dum spiro spero"
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Aether A&R - We're Absolutely Breathtaking.",
|
||||
"Aether A&R - You Can Breathe Easy With Us!",
|
||||
"Aether A&R - The SolCom's #1 Environmental Systems Provider."
|
||||
)
|
||||
ship_prefixes = list("AARV" = "a general operations", "AARE" = "a resource extraction", "AARG" = "a gas transport", "AART" = "a transport")
|
||||
//weather systems/patterns
|
||||
ship_names = list (
|
||||
@@ -1025,6 +1199,12 @@
|
||||
headquarters = ""
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Focal Point Energistics - Sustainable Power for a Sustainable Future.",
|
||||
"Focal Point Energistics - Powering The Future Before It Even Happens.",
|
||||
"Focal Point Energistics - Let There Be Light."
|
||||
)
|
||||
ship_prefixes = list("FPV" = "a general operations", "FPH" = "a transport", "FPC" = "an energy relay", "FPT" = "a fuel transport")
|
||||
//famous electrical engineers
|
||||
ship_names = list (
|
||||
@@ -1085,6 +1265,12 @@
|
||||
headquarters = "Spin Aerostat, Jupiter"
|
||||
motto = "Sic itur ad astra"
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"StarFlight - travel the stars.",
|
||||
"StarFlight - bringing you to new horizons.",
|
||||
"StarFlight - getting you where you need to be since 2137."
|
||||
)
|
||||
ship_prefixes = list("SFI-X" = "a VIP liner", "SFI-L" = "a luxury liner", "SFI-B" = "a business liner", "SFI-E" = "an economy liner", "SFI-M" = "a mixed class liner", "SFI-S" = "a sightseeing", "SFI-M" = "a wedding", "SFI-O" = "a marketing", "SFI-S" = "a safari", "SFI-A" = "an aquatic adventure")
|
||||
flight_types = list( //no military-sounding ones here
|
||||
"flight",
|
||||
@@ -1143,6 +1329,12 @@
|
||||
headquarters = ""
|
||||
motto = "News from all across the spectrum"
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Oculum - All News, All The Time.",
|
||||
"Oculum - We Keep An Eye Out.",
|
||||
"Oculum - Your Eye On The Galaxy."
|
||||
)
|
||||
ship_prefixes = list("OBV" = "an investigation", "OBV" = "a distribution", "OBV" = "a journalism", "OBV" = "a general operations")
|
||||
destination_names = list(
|
||||
"Oculus HQ"
|
||||
@@ -1158,6 +1350,12 @@
|
||||
headquarters = "Alpha Centauri"
|
||||
motto = "The largest brands of food and drink - most of them are Centauri."
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Centauri Provisions Bread Tubes - They're Not Just Edible, They're |Breadible!|",
|
||||
"Centauri Provisions SkrellSnax - Not |Just| For Skrell!",
|
||||
"Centauri Provisions Space Mountain Wind - It'll Take Your |Breath| Away!"
|
||||
)
|
||||
ship_prefixes = list("CPTV" = "a transport", "CPCV" = "a catering", "CPRV" = "a resupply", "CPV" = "a general operations")
|
||||
destination_names = list(
|
||||
"Centauri Provisions HQ",
|
||||
@@ -1175,6 +1373,12 @@
|
||||
headquarters = ""
|
||||
motto = "Engine designs, emergency generators, and old memories"
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Einstein Engines - you don't have to be Einstein to use |our| engines!",
|
||||
"Einstein Engines - bringing power to the people.",
|
||||
"Einstein Engines - because it's the smart thing to do."
|
||||
)
|
||||
ship_prefixes = list("EETV" = "a transport", "EERV" = "a research", "EEV" = "a general operations")
|
||||
destination_names = list(
|
||||
"Einstein HQ"
|
||||
@@ -1190,6 +1394,12 @@
|
||||
headquarters = ""
|
||||
motto = "We build it - you fly it"
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Wulf Aeronautics. We build it - you fly it.",
|
||||
"Wulf Aeronautics, the Commonwealth's favorite shipwrights.",
|
||||
"Wulf Aeronautics, building tomorrow's ships today."
|
||||
)
|
||||
ship_prefixes = list("WATV" = "a transport", "WARV" = "a repair", "WAV" = "a general operations")
|
||||
destination_names = list(
|
||||
"Wulf Aeronautics HQ",
|
||||
@@ -1207,6 +1417,12 @@
|
||||
headquarters = ""
|
||||
motto = ""
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Why choose |luxury| when you can choose |Gilthari|?",
|
||||
"|Gilthari|. Because |you're| worth it.",
|
||||
"|Gilthari|. Why settle for |anything| less?"
|
||||
)
|
||||
ship_prefixes = list("GETV" = "a transport", "GECV" = "a luxury catering", "GEV" = "a general operations")
|
||||
//precious stones
|
||||
ship_names = list(
|
||||
@@ -1283,6 +1499,12 @@
|
||||
headquarters = "N/A"
|
||||
motto = "one man's trash is another man's treasure"
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Coyote Salvage Corp. 'cause your trash ain't gonna clean itself.",
|
||||
"Coyote Salvage Corp. 'cause one man's trash is another man's treasure.",
|
||||
"Coyote Salvage Corp. We'll take your scrap - but not your crap."
|
||||
)
|
||||
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(
|
||||
@@ -1351,6 +1573,12 @@
|
||||
headquarters = "Titan, Sol"
|
||||
motto = "the whole is greater than the sum of its parts"
|
||||
|
||||
org_type = "corporate"
|
||||
slogans = list(
|
||||
"Chimera Genetics. Find your true self today!",
|
||||
"Chimera Genetics. Bring us your genes and we'll clean them right up.",
|
||||
"Chimera Genetics. Better bodies for a better tomorrow."
|
||||
)
|
||||
ship_prefixes = list("CGV" = "a general operations", "CGT" = "a transport", "CGT" = "a delivery", "CGH" = "a medical")
|
||||
//edgy mythological critters!
|
||||
ship_names = list(
|
||||
@@ -1506,6 +1734,7 @@
|
||||
sysdef = TRUE //we're the space law, we don't impersonate people and stuff
|
||||
autogenerate_destination_names = FALSE //don't add extra destinations to our pool, or else we leave the system which makes no sense
|
||||
|
||||
org_type = "system defense"
|
||||
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(
|
||||
@@ -1605,6 +1834,7 @@
|
||||
sysdef = FALSE
|
||||
autogenerate_destination_names = TRUE //the events we get called for don't fire a destination, but we need entries to avoid runtimes.
|
||||
|
||||
org_type = "smuggler"
|
||||
ship_prefixes = list ("suspected smuggler" = "an illegal smuggling", "possible smuggler" = "an illegal smuggling") //as assigned by control, second part shouldn't even come up
|
||||
//blank out our shipnames for redesignation
|
||||
ship_names = list(
|
||||
@@ -1781,6 +2011,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.
|
||||
|
||||
org_type = "pirate"
|
||||
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, but it exists to avoid hiccups/weirdness just in case
|
||||
ship_names = list(
|
||||
"Morally Bankrupt",
|
||||
@@ -1953,6 +2184,7 @@
|
||||
hostile = TRUE
|
||||
autogenerate_destination_names = TRUE
|
||||
|
||||
org_type = "pirate"
|
||||
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",
|
||||
@@ -1987,6 +2219,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.
|
||||
|
||||
org_type = "pirate"
|
||||
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(
|
||||
@@ -2063,6 +2296,7 @@
|
||||
motto = "Nil Mortalibus Ardui Est" // Latin, because latin. Says 'Nothing is too steep for mortals'
|
||||
autogenerate_destination_names = TRUE
|
||||
|
||||
org_type = "government"
|
||||
ship_prefixes = list("CWS-A" = "an administrative", "CWS-T" = "a transportation", "CWS-D" = "a diplomatic", "CWS-F" = "a freight", "CWS-J" = "a prisoner transfer")
|
||||
//earth's biggest impact craters
|
||||
ship_names = list(
|
||||
@@ -2158,6 +2392,7 @@
|
||||
headquarters = "Paraiso a Àstrea"
|
||||
motto = "Liberty to the Stars!"
|
||||
|
||||
org_type = "government"
|
||||
ship_prefixes = list("UFHV" = "military", "FFHV" = "classified")
|
||||
ship_names = list(
|
||||
"Bulwark of the Free",
|
||||
@@ -2236,6 +2471,7 @@
|
||||
headquarters = ""
|
||||
motto = ""
|
||||
|
||||
org_type = "government"
|
||||
ship_prefixes = list("ECS-M" = "a military", "ECS-T" = "a transport", "ECS-T" = "a special transport", "ECS-D" = "a diplomatic") //The Special Transport is SLAAAAVES. but let's not advertise that openly.
|
||||
ship_names = list(
|
||||
"Bring Me Wine!",
|
||||
@@ -2291,6 +2527,7 @@
|
||||
headquarters = "The Pact, Myria"
|
||||
motto = ""
|
||||
|
||||
org_type = "government"
|
||||
ship_prefixes = list("SFM-M" = "a military", "SFM-M" = "a patrol") // The Salthans don't do anything else.
|
||||
flight_types = list(
|
||||
"mission",
|
||||
@@ -2394,6 +2631,7 @@
|
||||
motto = ""
|
||||
autogenerate_destination_names = TRUE //big list of own holdings to come
|
||||
|
||||
org_type = "government"
|
||||
//the tesh expeditionary fleet's closest analogue in modern terms would be the US Army Corps of Engineers, just with added combat personnel as well
|
||||
ship_prefixes = list("TEF" = "a diplomatic", "TEF" = "a peacekeeping", "TEF" = "an escort", "TEF" = "an exploration", "TEF" = "a survey", "TEF" = "an expeditionary", "TEF" = "a pioneering")
|
||||
//TODO: better ship names? I just took a bunch of random teshnames from the Random Name button and added a word.
|
||||
@@ -2441,6 +2679,7 @@
|
||||
motto = "Si Vis Pacem Para Bellum" //if you wish for peace, prepare for war
|
||||
autogenerate_destination_names = TRUE
|
||||
|
||||
org_type = "military"
|
||||
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",
|
||||
@@ -2539,6 +2778,7 @@
|
||||
motto = ""
|
||||
autogenerate_destination_names = TRUE
|
||||
|
||||
org_type = "military"
|
||||
ship_prefixes = list("PCRC" = "a risk control", "PCRC" = "a private security")
|
||||
flight_types = list(
|
||||
"flight",
|
||||
@@ -2602,6 +2842,7 @@
|
||||
motto = "Strength in Numbers"
|
||||
autogenerate_destination_names = TRUE
|
||||
|
||||
org_type = "military"
|
||||
ship_prefixes = list("HPF" = "a secure freight", "HPT" = "a training", "HPS" = "a logistics", "HPV" = "a patrol", "HPH" = "a bounty hunting", "HPX" = "an experimental", "HPC" = "a command", "HPI" = "a mercy")
|
||||
flight_types = list(
|
||||
"flight",
|
||||
@@ -2686,6 +2927,7 @@
|
||||
motto = "Aut Neca Aut Necare"
|
||||
autogenerate_destination_names = TRUE
|
||||
|
||||
org_type = "military"
|
||||
ship_prefixes = list("SAARE" = "a secure freight", "SAARE" = "a training", "SAARE" = "a logistics", "SAARE" = "a patrol", "SAARE" = "a security", "SAARE" = "an experimental", "SAARE" = "a command", "SAARE" = "a classified")
|
||||
flight_types = list(
|
||||
"flight",
|
||||
|
||||
Reference in New Issue
Block a user