factions cleanup - removes most factions from station (#6531)

Co-authored-by: BlueWildrose <57083662+BlueWildrose@users.noreply.github.com>
This commit is contained in:
silicons
2024-06-24 11:25:21 +02:00
committed by GitHub
co-authored by BlueWildrose
parent ed1aec5b69
commit e9dd4a8893
12 changed files with 119 additions and 357 deletions
+118 -264
View File
@@ -1,9 +1,20 @@
//* HEY!! *//
//* YOU!! *//
//* READ THIS!! *//
// Things are commented out because we're mid-transition, but we want to keep the descriptions
// for characters v2. Please don't remove commented code for no reason.
// todo: for characters v2, we're going to need a faction pick that's smarter,
// as most factions outside of the 5 uncommented below won't be able to play
// on the station from roundstart.
/datum/lore/character_background/faction
abstract_type = /datum/lore/character_background/faction
/// station job types you can play as under this - **typepaths** e.g. /datum/role/job/station/security_officer, etc
/// station job types you can play as under this - **string ids** e.g. /datum/role/job/station/security_officer::id, etc
/// if null, you can play as everything
var/list/job_whitelist = list()
/// job blacklist
/// station job types explicitly cannot play under this - **string ids** e.g. /datum/role/job/station/security_officer::id, etc
var/list/job_blacklist
/// where 'desc' is the corporation description, this is what a player should know if they're a contractor
var/contractor_info
@@ -18,6 +29,10 @@
// job whitelist cache
for(var/i in job_whitelist)
job_whitelist[i] = TRUE
// job blacklist cache
if(job_blacklist)
for(var/i in job_blacklist)
job_blacklist[i] = TRUE
return ..()
/datum/lore/character_background/faction/check_character_species(datum/character_species/S)
@@ -28,7 +43,7 @@
return ..()
/datum/lore/character_background/faction/proc/check_job_id(id)
if(job_blacklist && job_blacklist[id])
if(job_blacklist?[id])
return FALSE
return job_whitelist? (job_whitelist[id]) : TRUE
@@ -49,48 +64,9 @@
the NTS Creon in the privateyl owned Thebes system."
contractor_info = "You are an employee working for Nanotrasen. You are not a contractor, <i>you belong here.</i>"
job_whitelist = null
job_blacklist = list(JOB_ID_TRADER)
/datum/lore/character_background/faction/aether
name = "Aether Atmos & Recycling"
id = "aether"
desc = "Aether Atmospherics and Recycling is the prime maintainer and provider of atmospherics systems to both the many ships that navigate the \
vast expanses of space, and the life support on current and future Human colonies. The byproducts from the filtration of atmospheres across the galaxy \
are then resold for a variety of uses to those willing to buy. With the nature of their services, most work they do is contracted for the construction of \
these systems, or staffing to maintain them for colonies across human space. Recently, Aether executed a shockingly effective set of hostile acquisitions, \
purchasing Focal Point Energistics and the Xion Manufacturing Group."
contractor_info = "You're used to being contracted out to maintain systems for other corporations. This assignment is probably routine to you."
job_whitelist = list(
JOB_ID_QUARTERMASTER,
JOB_ID_CARGO_TECHNICIAN,
JOB_ID_SENIOR_ENGINEER,
JOB_ID_STATION_ENGINEER,
JOB_ID_ATMOSPHERIC_TECHNICIAN,
JOB_ID_BOTANIST,
JOB_ID_ASSISTANT,
JOB_ID_OFFDUTY_CIVILLIAN,
JOB_ID_OFFDUTY_CARGO,
JOB_ID_OFFDUTY_ENGINEER
)
/datum/lore/character_background/faction/centauri
name = "Centauri Provisions"
id = "centauri"
desc = "Headquartered in Alpha Centauri, Centauri Provisions made a name in the snack-food industry primarily by being the first to focus on colonial holdings. \
The various brands of Centauri snackfoods are now household names, from SkrellSnax and Space Mountain Wind to the ubiquitous and allegedly edible Bread Tube. \
They are well known for targeting as many species as possible with each brand - which, some will argue, is due to some of those brands being rather bland \
in taste and texture. Their staying power is legendary, and many spacers have grown up on a mix of their cheap snacks and protein shakes."
contractor_info = "Although the occasional marketing trip isn't unheard of, it's meant to be rare. It may seem strange to be assigned to a different Corporate outpost, but it's a good marketing opportunity regardless, and the bosses are watching!"
job_whitelist = list(
JOB_ID_QUARTERMASTER,
JOB_ID_CARGO_TECHNICIAN,
JOB_ID_BARTENDER,
JOB_ID_BOTANIST,
JOB_ID_ASSISTANT,
JOB_ID_CHEF,
JOB_ID_OFFDUTY_CIVILLIAN,
JOB_ID_OFFDUTY_CARGO
)
job_blacklist = list(
/datum/role/job/trader::id,
)
/datum/lore/character_background/faction/freetradeunion
name = "Free Trade Union"
@@ -103,48 +79,46 @@
government or Corporate space. The FTU are the originators of the Tradeband language, created specially to serve as the lingua franca for Merchants \
across the Galaxy, to ensure members may understand each other regardless of native language or nationality."
contractor_info = "Working under a Corporation feels strange. You're used to exercising your autonomy, or perhaps you're used to the more strict maritime environment of your former vessel. Being surrounded by Corporate employees reminds you of why you're with the FTU."
// FTU is not a trusted / allied faction.
// They get a whitelist, not a blacklist.
job_whitelist = list(
JOB_ID_QUARTERMASTER,
JOB_ID_CARGO_TECHNICIAN,
JOB_ID_SHAFT_MINER,
JOB_ID_STATION_ENGINEER,
JOB_ID_PARAMEDIC,
JOB_ID_PILOT,
JOB_ID_BOTANIST,
JOB_ID_CHEF,
JOB_ID_JANITOR,
JOB_ID_ENTERTAINER,
JOB_ID_ASSISTANT,
JOB_ID_OFFDUTY_CIVILLIAN,
JOB_ID_OFFDUTY_MEDBAY,
JOB_ID_OFFDUTY_CARGO,
JOB_ID_OFFDUTY_ENGINEER,
JOB_ID_TRADER
)
// cargo
/datum/role/job/station/cargo_tech::id,
/datum/role/job/station/quartermaster::id,
/datum/role/job/station/mining::id,
// exploration - no pathfinder
/datum/role/job/station/explorer::id,
/datum/role/job/station/field_medic::id,
// ship staff
/datum/role/job/station/pilot::id,
// civ staff
/datum/role/job/station/assistant::id,
/datum/role/job/station/bartender::id,
/datum/role/job/station/chaplain::id,
/datum/role/job/station/chef::id,
/datum/role/job/station/clown::id,
/datum/role/job/station/entertainer::id,
/datum/role/job/station/hydro::id,
/datum/role/job/station/janitor::id,
/datum/role/job/station/librarian::id,
/datum/role/job/station/mime::id,
// med staff - paramedic only
/datum/role/job/station/paramedic::id,
// engineering staff - engi and atmos tech
/datum/role/job/station/engineer::id,
/datum/role/job/station/atmos::id,
// off duty
/datum/role/job/station/off_duty/cargo::id,
/datum/role/job/station/off_duty/civilian::id,
/datum/role/job/station/off_duty/exploration::id,
/datum/role/job/station/off_duty/engineering::id,
/datum/role/job/station/off_duty/medical::id,
// trader
/datum/role/job/trader::id,
)
innate_languages = list(
/datum/language/trader
)
/datum/lore/character_background/faction/gilthari
name = "Gilthari Exports"
id = "gilthari"
desc = "Gilthari started as Sol's premier supplier of luxury goods, specializing in extracting money from the rich and successful that weren't already shareholders. \
Their largest holdings are in gambling, but they maintain subsidiaries in everything from VR equipment to luxury watches. Their holdings in \
mass media are a smaller but still important part of their empire. Gilthari is known for treating its positronic employees very well, sparking a number of \
conspiracy theories. The gorgeous FBP model that Gilthari provides them is a symbol of the corporation's wealth and is known to reach ludicrous prices when \
available on the black market, with legal ownership of the chassis limited, by contract, to employees."
contractor_info = "The drab atmosphere of this assignment is frustrating. Hardly any thought is put into how the environment might be made more elegant and pleasing to the senses. On the bright side, Corporate employees tend to have plenty of disposable income."
job_whitelist = list(
JOB_ID_QUARTERMASTER,
JOB_ID_CARGO_TECHNICIAN,
JOB_ID_SHAFT_MINER,
JOB_ID_BARTENDER,
JOB_ID_CHEF,
JOB_ID_ENTERTAINER,
JOB_ID_ASSISTANT,
JOB_ID_OFFDUTY_CIVILLIAN,
JOB_ID_OFFDUTY_CARGO
)
/datum/language/trader,
)
/datum/lore/character_background/faction/hephaestus
name = "Hephaestus Industries"
@@ -155,22 +129,28 @@
prevents any contracting polities from using their own materiel against them. The Orion Confederation itself is one of Hephaestus' largest \
non-corporate bulk contractors."
contractor_info = "Nanotrasen and Hephaestus have a long and beneficial working relationship. Your employers would not like it if you strained that relationship in any way, and therefore, neither would you."
job_whitelist = list(
JOB_ID_QUARTERMASTER,
JOB_ID_CARGO_TECHNICIAN,
JOB_ID_SHAFT_MINER,
JOB_ID_ROBOTICIST,
JOB_ID_SENIOR_ENGINEER,
JOB_ID_STATION_ENGINEER,
JOB_ID_ATMOSPHERIC_TECHNICIAN,
JOB_ID_ASSISTANT,
JOB_ID_DETECTIVE,
JOB_ID_OFFDUTY_SCIENCE,
JOB_ID_OFFDUTY_SECURITY,
JOB_ID_OFFDUTY_CIVILLIAN,
JOB_ID_OFFDUTY_CARGO,
JOB_ID_OFFDUTY_ENGINEER
)
job_whitelist = null
job_blacklist = list(
// NT is still in charge
/datum/role/job/station/captain::id,
// NT is still in charge
/datum/role/job/station/head_of_personnel::id,
// NT is still in charge
/datum/role/job/station/research_director::id,
// NT is still in charge
/datum/role/job/station/pathfinder::id,
// loyalty - NT paranoia
/datum/role/job/station/blueshield::id,
// loyalty - NT paranoia
/datum/role/job/station/head_of_security::id,
// loyalty - NT paranoia
// no science
// exception: roboticist
/datum/role/job/station/senior_researcher::id,
/datum/role/job/station/scientist::id,
// not their specialty
/datum/role/job/station/chief_medical_officer::id,
)
/datum/lore/character_background/faction/oculum
name = "Oculum News Network"
@@ -180,13 +160,23 @@
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 in fact both controlled by the same organization."
contractor_info = "You're no stranger to working in a variety of Corporate environments. However you conduct your business, you're always chasing the story, even if that brings you into conflict with whoever's contracting you at the time."
// ONN is not a trusted / allied faction.
// They get a whitelist, not a blacklist.
job_whitelist = list(
JOB_ID_BARTENDER,
JOB_ID_ENTERTAINER,
JOB_ID_LIBRARIAN,
JOB_ID_ASSISTANT,
JOB_ID_OFFDUTY_CIVILLIAN
)
// civ staff
/datum/role/job/station/assistant::id,
/datum/role/job/station/bartender::id,
/datum/role/job/station/chaplain::id,
/datum/role/job/station/chef::id,
/datum/role/job/station/clown::id,
/datum/role/job/station/entertainer::id,
/datum/role/job/station/hydro::id,
/datum/role/job/station/janitor::id,
/datum/role/job/station/librarian::id,
/datum/role/job/station/mime::id,
// off duty
/datum/role/job/station/off_duty/civilian::id,
)
/datum/lore/character_background/faction/veymed
name = "Vey-Med"
@@ -200,161 +190,25 @@
essential to modern sleeving techniques. Vey-Medical possesses a number of trade agreements and research pacts with Nanotrasen, \
resulting in what is functionally considered an alliance."
contractor_info = "Working with Nanotrasen has become a fact of life for Vey-Med employees over the years. You're no stranger to these types of environments, although you have seen better medical facilities before."
job_whitelist = list(
JOB_ID_FIELD_MEDIC,
JOB_ID_HEAD_NURSE,
JOB_ID_MEDICAL_DOCTOR,
JOB_ID_ROBOTICIST,
JOB_ID_PARAMEDIC,
JOB_ID_CHEMIST,
JOB_ID_PSYCHIATRIST,
JOB_ID_ASSISTANT,
JOB_ID_OFFDUTY_CIVILLIAN,
JOB_ID_OFFDUTY_MEDBAY,
JOB_ID_OFFDUTY_EXPLORER
)
/datum/lore/character_background/faction/wardtakahashi
name = "Ward-Takahashi"
id = "wardtakashi"
desc = "Ward-Takahashi focuses on the sale of small consumer electronics, with its computers, communicators, \
and mid-class automobiles a fixture of many households. Less famously, Ward-Takahashi also supplies most \
of the AI cores on which vital control systems are mounted, and it is this branch of their industry that has \
led to their tertiary interest in the development and sale of high-grade AI systems. Ward-Takahashi's economies \
of scale frequently steal market share from Nanotrasen's high-price products, leading to a bitter rivalry in the \
consumer electronics market."
contractor_info = "Being allowed to work on a Nanotrasen facility is atypical. In fact, being employed here at all has made you suspicious. You're probably being watched. But Headquarters would love to hear about anything strange that you find."
job_whitelist = list(
JOB_ID_QUARTERMASTER,
JOB_ID_CARGO_TECHNICIAN,
JOB_ID_SHAFT_MINER,
JOB_ID_SENIOR_ENGINEER,
JOB_ID_STATION_ENGINEER,
JOB_ID_ATMOSPHERIC_TECHNICIAN,
JOB_ID_ASSISTANT,
JOB_ID_OFFDUTY_CARGO,
JOB_ID_OFFDUTY_ENGINEER
)
/datum/lore/character_background/faction/zenghu
name = "Zeng-Hu Pharmaceuticals"
id = "zenghu"
desc = "Zeng-Hu is an old corporation, based close to Confederation space. Until the discovery of Phoron, Zeng-Hu maintained a stranglehold \
on the market for medications, and many household names are patentted by Zeng-Hu-- Bicaridine, Dylovene, Tricordrizine, \
and Dexalin all came from a Zeng-Hu medical laboratory. Zeng-Hu's fortunes have been in decline as Nanotrasen's near monopoly \
on phoron research cut into their R&D capabilities 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."
contractor_info = "You dislike working under Nanotrasen. Zeng Hu saw fit to assign you to this post as part of a work exchange program. Although you were not explicitly told, you are presumably here to keep an eye on Nanotrasen's medical research."
job_whitelist = list(
JOB_ID_HEAD_NURSE,
JOB_ID_MEDICAL_DOCTOR,
JOB_ID_PARAMEDIC,
JOB_ID_CHEMIST,
JOB_ID_PSYCHIATRIST,
JOB_ID_BOTANIST,
JOB_ID_ASSISTANT,
JOB_ID_OFFDUTY_CIVILLIAN,
JOB_ID_OFFDUTY_EXPLORER,
JOB_ID_OFFDUTY_MEDBAY
)
/datum/lore/character_background/faction/naramadiguilds
name = "Naramadi Guilds"
id = "narguild"
desc = "Within the Naramadi Ascendancy, every piece of land, equipment and technology is owned by either a House or a person. \
To work around issues attached to repairing important infrastructure, and to upkeep the Ascendancy as a whole, a set of guilds \
was created right after the unification of Naramadi People. \
Offering both education and work, the guilds do not encompass the all possible fields of work; however offering education and experience \
in the more practical fields. An example being various Engineering fields. The three Guilds currently operating within the ascendancy are: \
Artificers, Logistici and Legionnarum"
contractor_info = "Your presence here is both a curse and a blessing for the Guild. Being contracted to work for a Human megacorporation presents various opportunities to learn technology unavalible in the Ascendancy."
job_whitelist = list(
JOB_ID_STATION_ENGINEER,
JOB_ID_ATMOSPHERIC_TECHNICIAN,
JOB_ID_SENIOR_ENGINEER,
JOB_ID_CARGO_TECHNICIAN,
JOB_ID_SHAFT_MINER,
JOB_ID_QUARTERMASTER,
JOB_ID_ROBOTICIST,
JOB_ID_DETECTIVE,
JOB_ID_OFFDUTY_CARGO,
JOB_ID_OFFDUTY_ENGINEER,
JOB_ID_OFFDUTY_SECURITY,
JOB_ID_OFFDUTY_SCIENCE
)
origin_whitelist = list(
"naramadihouses",
"nameless"
job_whitelist = null
job_blacklist = list(
// NT is still in charge
/datum/role/job/station/captain::id,
// NT is still in charge
/datum/role/job/station/head_of_personnel::id,
// NT is still in charge
/datum/role/job/station/research_director::id,
// NT is still in charge
/datum/role/job/station/pathfinder::id,
// loyalty - NT paranoia
/datum/role/job/station/blueshield::id,
// loyalty - NT paranoia
/datum/role/job/station/head_of_security::id,
// loyalty - NT paranoia
// no science
// exception: roboticist
/datum/role/job/station/senior_researcher::id,
/datum/role/job/station/scientist::id,
// not their specialty
/datum/role/job/station/chief_engineer::id,
)
/datum/lore/character_background/faction/onkhera_necropolis
name = "Onkhera Synthetics & Necropolis"
id = "oss_necro"
desc = "Onkhera Synthetic Solutions, and by extension it's subsidiary Necropolis Industries, is one of the few \
Megacorporations not originating within the Confederacy; instead being owned by a Naramadi House - House Onkhera. \
While the parent company Onkhera Synthetic Solutions focuses on the civilian market, providing high quality prosthetics to non-humans, \
- becoming the direct rival of Vey-Med in the process - Necropolis Industries focuses on the Security and Military markets, providing \
Security services to anybody willing to pay. The Company exports both biological and synthetic augumentations to various Megacorporations found \
across the frontier."
contractor_info = "Neutrality of Onkhera Synthetic Solutions and Necropolis Industries has it's benefits, as You often get contracted with various corporations across the frontier. For you, this is just another assignement."
job_whitelist = list(
JOB_ID_MEDICAL_DOCTOR,
JOB_ID_HEAD_NURSE,
JOB_ID_PARAMEDIC,
JOB_ID_CHEMIST,
JOB_ID_ROBOTICIST,
JOB_ID_DETECTIVE,
JOB_ID_OFFDUTY_MEDBAY,
JOB_ID_OFFDUTY_SECURITY,
JOB_ID_OFFDUTY_SCIENCE
)
/datum/lore/character_background/faction/xam
name = "Xsysorr Arms and Materiel"
id = "xam"
desc = "Xsysorr Arms and Material, also known as XAM. The only true Unathi Megacorporation, and a dealer in heavy equipment. They have cool \
relations with other Megacorporations, especially those owned and operated by humans. Their exports are limited primarily to industrial equipment and \
mining gear, along with weapons too cumbersome to use."
contractor_info = "You've been contracted as part of your obligations. Respect your role until you are disrespected."
job_whitelist = list(
JOB_ID_QUARTERMASTER,
JOB_ID_CARGO_TECHNICIAN,
JOB_ID_SHAFT_MINER,
JOB_ID_OFFDUTY_CARGO
)
/datum/lore/character_background/faction/zaddatguild
name = "Zaddat Guild"
id = "zaddatguild"
desc = "A collection of insular specialists in a given craft. Most well-known are the Engineers, yet there exists a Guild for most technical \
skills. Often they have their skills contracted out for a period of time for the better interest of their Colony."
contractor_info = "You are a member from one of the famed Zaddat Guilds, here by agreement of the Colony. Your skill in your field is peerless, and you should not allow anyone to say otherwise. You should not prove otherwise."
job_whitelist = list(
JOB_ID_QUARTERMASTER,
JOB_ID_CARGO_TECHNICIAN,
JOB_ID_SHAFT_MINER,
JOB_ID_ROBOTICIST,
JOB_ID_SENIOR_ENGINEER,
JOB_ID_STATION_ENGINEER,
JOB_ID_ATMOSPHERIC_TECHNICIAN,
JOB_ID_HEAD_NURSE,
JOB_ID_MEDICAL_DOCTOR,
JOB_ID_PARAMEDIC,
JOB_ID_CHEMIST,
JOB_ID_PSYCHIATRIST,
JOB_ID_PILOT,
JOB_ID_BARTENDER,
JOB_ID_BOTANIST,
JOB_ID_CHEF,
JOB_ID_JANITOR,
JOB_ID_ENTERTAINER,
JOB_ID_CHAPLAIN,
JOB_ID_LIBRARIAN,
JOB_ID_ASSISTANT,
JOB_ID_OFFDUTY_CIVILLIAN,
JOB_ID_OFFDUTY_MEDBAY,
JOB_ID_OFFDUTY_CARGO,
JOB_ID_OFFDUTY_ENGINEER,
JOB_ID_OFFDUTY_SCIENCE
)