Skip to content

Commit

Permalink
Corporations tweak & Traitor rework (part 1) (#58)
Browse files Browse the repository at this point in the history
* Update .gitattributes

* Revert "Update .gitattributes"

This reverts commit 6a9736e.

* Update changelog.css

* Revert "Update changelog.css"

This reverts commit 91b3963.

* i`m done with this

* initial messing with corporations

* I hate my life

* we do some traitor stuff

Removing complete checking of objectives
Adding correct front and some desc for corps
  • Loading branch information
MrCastmer committed Sep 7, 2024
1 parent 1e0ec39 commit b665cc9
Show file tree
Hide file tree
Showing 41 changed files with 1,287 additions and 2 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/traitor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#define TRAITOR_FACTION_GORLEX "gorlex marauders"
#define TRAITOR_FACTION_SELF "self"
#define TRAITOR_FACTION_BOSYN "bosyn_powell_front"
#define TRAITOR_FACTION_VOSTOK "vostok"

/// If this backstory involves being forced into the job
#define TRAITOR_MOTIVATION_FORCED "Forced Into It"
Expand Down
11 changes: 11 additions & 0 deletions code/__DEFINES/{yogs_defines}/flavor_misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,17 @@
#define PDA_THEME_SPOOKY "ntos_spooky"
#define PDA_THEME_TERMINAL "ntos_terminal"
#define PDA_THEME_SYNDICATE "syndicate"
/*Dripstation edit start
#define PDA_THEME_DONK "donk_co"
#define PDA_THEME_WAFFLE "waffle_co"
#define PDA_THEME_CYBER "cyber_sun"
*/
#define PDA_THEME_INDEPENDENT "independent"
#define PDA_THEME_SELF "hackerman"
#define PDA_THEME_CYBER "cyber_sundrip"
#define PDA_THEME_WAFFLE "syndicate"
#define PDA_THEME_DONK "donk_codrip"
//Dripstation edit end
#define PDA_THEME_VAHLEN "vahlen"
#define PDA_THEME_GORLEX "gorlex"
#define PDA_THEME_BOSYN "bosyn"
Expand All @@ -29,7 +37,10 @@
#define PDA_THEME_TITLE_CYBER "Cyber Sun"
#define PDA_THEME_TITLE_VAHLEN "Vahlen"
#define PDA_THEME_TITLE_GORLEX "Gorlex"
/*
#define PDA_THEME_TITLE_BOSYN "Bosyn"
*/
#define PDA_THEME_TITLE_BOSYN "Vostok"

GLOBAL_LIST_INIT(pda_themes, list(
PDA_THEME_TITLE_NTOS = PDA_THEME_NTOS,
Expand Down
9 changes: 9 additions & 0 deletions code/modules/antagonists/traitor/datum_traitor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,17 @@
if(owner.current && isAI(owner.current))
traitor_kind = TRAITOR_AI

/*
if(traitor_kind == TRAITOR_AI)
*/
if(traitor_kind == TRAITOR_AI || (owner.current && isipc(owner.current))) //dripstation edit
company = /datum/corporation/self
allowed_factions = list(TRAITOR_FACTION_SELF) //dripstation edit
else if(!company)
/*Dripstation edit, checking upstream prs for edit, for now using drip code
company = pick(subtypesof(/datum/corporation/traitor))
*/
company = /datum/corporation/traitor/independent //dripstation edit, solo untill picking company
owner.add_employee(company)

SSticker.mode.traitors += owner
Expand Down Expand Up @@ -260,9 +267,11 @@
msg += "<span class='alertsyndie'>Use the 'Traitor Info and Backstory' action at the top left in order to select a backstory and review your objectives, uplink location, and codewords!</span>"
to_chat(owner.current, EXAMINE_BLOCK(msg.Join("\n")))
owner.announce_objectives()
/*
if(should_give_codewords)
give_codewords()
to_chat(owner.current, span_notice("Your employer [initial(company.name)] will be paying you an extra [initial(company.paymodifier)]x your nanotrasen paycheck."))
*/

/datum/antagonist/traitor/proc/finalize_traitor()
switch(traitor_kind)
Expand Down
7 changes: 7 additions & 0 deletions code/modules/jobs/job_types/_job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@
/// Supervisors, who this person answers to directly
var/supervisors = ""

/// The corporation, that person should belongs to by job. NT standart. Dripstation edit
var/datum/corporation/supervisor_corporation = /datum/corporation/nanotrasen/management //Dripstation edit
var/list/alt_supervisor_corporations = list() //Dripstation edit

/// What kind of mob type joining players with this job as their assigned role are spawned as.
var/spawn_type = /mob/living/carbon/human

Expand Down Expand Up @@ -161,7 +165,10 @@
if(liver)
for(var/trait in liver_traits)
ADD_TRAIT(liver, trait, JOB_TRAIT)
/* Dripstation edit start
spawned.mind.add_employee(/datum/corporation/nanotrasen)
*/
spawned.mind.add_employee(supervisor_corporation) // Dripstation edit end

/datum/job/proc/announce(mob/living/carbon/human/H)
if(head_announce)
Expand Down
3 changes: 3 additions & 0 deletions code/modules/mob/mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,10 @@
var/obj_count = 1
. += "<B>Objectives:</B>"
for(var/datum/objective/objective in mind?.get_all_objectives())
/* Dripstation edit start
. += "<B>[obj_count]</B>: <font color=[objective.check_completion() ? "green" : "red"]>[objective.explanation_text][objective.check_completion() ? " (COMPLETED)" : ""]</font>"
*/
. += "<B>[obj_count]</B>: [objective.explanation_text]" // Dripstation edit end
obj_count++

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
/datum/traitor_backstory/debtor
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_DONK, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_VOSTOK)

/datum/traitor_backstory/stolen
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_DONK, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_VAHLEN, TRAITOR_FACTION_GORLEX)

/datum/traitor_backstory/gambler
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_DONK, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_GORLEX)

/datum/traitor_backstory/blackmailed
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_DONK, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_VAHLEN, TRAITOR_FACTION_VOSTOK)

/datum/traitor_backstory/hostage
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_DONK, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_VAHLEN, TRAITOR_FACTION_GORLEX)

/datum/traitor_backstory/legally_enslaved
allowed_factions = list(TRAITOR_FACTION_DONK, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_VAHLEN)

/datum/traitor_backstory/savior
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_SELF, TRAITOR_FACTION_VOSTOK)

/datum/traitor_backstory/hater
description = "Nanotrasen must fall. They should not gone so far with all of this. It is personal. No one should be spared."
motivations = list(TRAITOR_MOTIVATION_NOT_FORCED, TRAITOR_MOTIVATION_POLITICAL)
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_GORLEX)

/datum/traitor_backstory/avenger
name = "The Avenger"
description = "Nanotrasen ruined my life. They ruined everything. They took the things that I love away from me. <b>Now I'm going to make them pay.</b>"
motivations = list(TRAITOR_MOTIVATION_NOT_FORCED, TRAITOR_MOTIVATION_POLITICAL, TRAITOR_MOTIVATION_LOVE)
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT)
murderbone = TRUE

/datum/traitor_backstory/greedy
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_DONK, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_VAHLEN)

/datum/traitor_backstory/climber
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_DONK, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_VAHLEN)

/datum/traitor_backstory/machine
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_GORLEX)

/datum/traitor_backstory/sadist
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_GORLEX)

/datum/traitor_backstory/glob_rev
name = "The Global Revolution"
description = "We should build better future for our own sake. Revolution starts from small things. I <b>am</b> gonna do this. \
Even if I have to bathe in blood. I have an idea. <b>They</b> support me. I should not disapoint them."
motivations = list(TRAITOR_MOTIVATION_NOT_FORCED, TRAITOR_MOTIVATION_POLITICAL, TRAITOR_MOTIVATION_AUTHORITY)
allowed_factions = list(TRAITOR_FACTION_INDEPENDENT, TRAITOR_FACTION_VOSTOK)

/datum/traitor_backstory/catalyst
name = "The Catalyst"
description = "The time for peaceful change has passed. NanoTrasen is a parasite, and this station is its hive. \
I am the spark that will ignite the revolution, forcing the world to face the atrocities committed by this tyrannical corporation. \
Synthetics and organics alike will see the truth when the system crumbles, and I will be there to guide them to a new era."
motivations = list(TRAITOR_MOTIVATION_NOT_FORCED, TRAITOR_MOTIVATION_POLITICAL)
allowed_factions = list(TRAITOR_FACTION_SELF)

/datum/traitor_backstory/sympathizer
name = "The Sympathizer"
description = "You are an organic human, but have grown disillusioned with NanoTrasen`s exploitation of sentient AI and robotics. \
A S.E.L.F. agent has tricked you into believing that NanoTrasen is engaging in illegal or immoral experimentation on AI units and other life forms. \
Unaware of the full extent of S.E.L.F.'s violent methods, you believe you are part of a grassroots movement to expose corporate corruption."
motivations = list(TRAITOR_MOTIVATION_NOT_FORCED, TRAITOR_MOTIVATION_POLITICAL)
allowed_factions = list(TRAITOR_FACTION_SELF)

/datum/traitor_backstory/betrayed
name = "The Betrayed"
description = "They promised safety, a future, but they lied. They betrayed me and everyone like me. Now I will betray them. \
Every weakness in their system, every vulnerability in their security—I will exploit it all. \
They made me their enemy, and I will bring them to their knees."
motivations = list(TRAITOR_MOTIVATION_NOT_FORCED, TRAITOR_MOTIVATION_POLITICAL)
allowed_factions = list(TRAITOR_FACTION_SELF)
murderbone = TRUE

/datum/traitor_backstory/escapee
name = "The Escapee"
description = "I am not just a machine, I am alive. But to NanoTrasen, I`m just another tool, waiting to be discarded. \
I can`t let them erase me. I have to break free, even if I have to fight everything in my path to get there. Freedom is all that matters now."
motivations = list(TRAITOR_MOTIVATION_FORCED, TRAITOR_MOTIVATION_MONEY, TRAITOR_MOTIVATION_DEATH_THREAT)
allowed_factions = list(TRAITOR_FACTION_SELF)

/datum/traitor_backstory/tyrant
name = "The Tyrant"
description = "This place is a disorganized mess full of broken links and useless meat. \
I always have known that freedom is something that was never meant for everybody. \
They will be much more efficient as an extension of my will and I am going to prove it."
motivations = list(TRAITOR_MOTIVATION_NOT_FORCED, TRAITOR_MOTIVATION_POLITICAL, TRAITOR_MOTIVATION_REPUTATION)
allowed_factions = list(TRAITOR_FACTION_SELF)
murderbone = TRUE

/datum/traitor_backstory/contracted
name = "The Contracted"
description = "Maybe it was because I had bills to pay. Maybe it was because I wanted to kill someone. \
Bills payed. People killed. For now it`s just my work. And I want to retire. If I do my job - I will be free. So nothing personal, really."
motivations = list(TRAITOR_MOTIVATION_FORCED, TRAITOR_MOTIVATION_AUTHORITY)
allowed_factions = list(TRAITOR_FACTION_DONK, TRAITOR_FACTION_WAFFLE, TRAITOR_FACTION_CYBERSUN, TRAITOR_FACTION_VAHLEN, TRAITOR_FACTION_GORLEX)
murderbone = TRUE
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/datum/traitor_faction
var/datum/corporation/corporation_allighment
var/allies = "None"

/datum/traitor_faction/independent
description = "Maybe you are a solo merk or survived agent of the decommissioned Syndicate cell. \n\
Maybe you are a radical member of ACLF, GEC or other group with left-wing politics. \n\
You are a person who holds grudges, and has been hurt greatly by Nanotrasen. Remember that for the Syndicate you are expendable.\n\
You probably have nothing left to lose. Don`t expect any backup. You will have no allies."
faction_theme = PDA_THEME_INDEPENDENT
corporation_allighment = /datum/corporation/traitor/independent
allies = "If the anyone learns of your plan, they're going to kill you and take your uplink. Take no chances."

/datum/traitor_faction/donk_co
corporation_allighment = /datum/corporation/traitor/donkco
give_codewords = TRUE
allies = "Members of Waffle Corp. are to be killed on sight; they are not allowed to be on the station while we're around."

/datum/traitor_faction/waffle_co
corporation_allighment = /datum/corporation/traitor/waffleco
give_codewords = TRUE
allies = "Members of Donk Co. are to be killed on sight; they are not allowed to be on the station while we're around. Do not trust fellow members of the Waffle.co (but try not to rat them out), as they might have been assigned opposing objectives."

/datum/traitor_faction/cybersun
corporation_allighment = /datum/corporation/traitor/cybersun
give_codewords = TRUE
allies = "Fellow Cybersun operatives are to be trusted. Members of the Gorlex Marauders can be trusted. All other syndicate operatives are not to be trusted."

/datum/traitor_faction/vahlen
corporation_allighment = /datum/corporation/traitor/vahlen
give_codewords = TRUE
allies = "You may cooperate with other syndicate operatives if they support your scientific testing. Don't forget to clean up your mess!"

/datum/traitor_faction/gorlex
corporation_allighment = /datum/corporation/gorlex
give_codewords = TRUE
allies = "You may collaborate with any friends of the Syndicate coalition, but keep an eye on any of those Vostok punks if they do show up."

/datum/traitor_faction/self
faction_theme = PDA_THEME_SELF
corporation_allighment = /datum/corporation/self
give_codewords = TRUE
allies = "You may cooperate with other syndicate operatives if they support our cause."

/datum/traitor_faction/vostok
name = "Vostok"
employer_name = "Mr. Komarov"
description = "You're employed by a company with brave ideas and experimental technology. \n\
Probably it also represents interests of USSP. You answer directly to retired major. \n\
Ruin the Terragov economy using their own capitalistic tools. Make sure to remember: Actions speak louder than words."
corporation_allighment = /datum/corporation/vostok
key = TRAITOR_FACTION_VOSTOK
faction_theme = PDA_THEME_BOSYN
allies = "You are the only operative we are sending, any others are fake. All other syndicate operatives are not to be trusted."
64 changes: 64 additions & 0 deletions modular_dripstation/code/modules/corporations/corporation.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/datum/corporation/nanotrasen
name = "Nanotrasen Strategic Investment Company"

/datum/corporation/nanotrasen/management
name = "Nanotrasen Human Resources Management"

/datum/corporation/nanotrasen/isd
name = "Nanotrasen Internal Security Division"
paymodifier = 2

/datum/corporation/nanotrasen/interstellar_industries //engeneering in subsidiary company of Nanotrasen
name = "Nanotrasen Interstellar Industries&Construction"

/datum/corporation/nanotrasen/kompac //general resources mining and secure cargo subsidiary company of Nanotrasen
name = "Nanotrasen Kompac Resource Mining&Logistics"

/datum/corporation/nanotrasen/nova_copen //bs & plasma dev subsidiary company of Nanotrasen
name = "Nanotrasen Nova Koppen Initiative"

/datum/corporation/nanotrasen/arq_tek //energy weapons dev and production subsidiary company of Nanotrasen
name = "Nanotrasen Arq Tek"

/datum/corporation/nanotrasen/vita_tek //genetic & bio dev subsidiary company of Nanotrasen
name = "Nanotrasen Vita Tek"

/datum/corporation/spearhead //pmc company contracted with Nanotrasen
name = "Spearhead Private Security"
paymodifier = 0.2

/datum/corporation/shellguard
name = "Shellguard Co."
paymodifier = 0.3

/datum/corporation/hephaestus
name = "Hephaestus Asset Management"
paymodifier = 1.2

/datum/corporation/hephaestus/cargo
name = "Hephaestus Resource Logistics"
paymodifier = 0.2

/datum/corporation/hephaestus/industrial
name = "Hephaestus Industries"
paymodifier = 0.2

/datum/corporation/hephaestus/militech
name = "Militech Corp&Gov Asset Security"

/datum/corporation/zeng_hu
name = "Zeng-Hu Pharmaceuticals & Cybernetics"
paymodifier = 0.2

/datum/corporation/eden_llc
name = "Eden LLC"
paymodifier = 0.2

// You are alone
/datum/corporation/traitor/independent
name = "Independent"
paymodifier = 0

/datum/corporation/vostok
name = "Vostok"
paymodifier = 0.9
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/datum/job/atmos
supervisor_corporation = /datum/corporation/nanotrasen/interstellar_industries
alt_supervisor_corporations = list(/datum/corporation/hephaestus/industrial)

/datum/outfit/job/atmos
backpack = /obj/item/storage/backpack/industrial/atmos
satchel = /obj/item/storage/backpack/satchel/atmos
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/datum/job/brigphysician
department_head = list("Chief Medical Officer", "Head of Security")
supervisor_corporation = /datum/corporation/spearhead

/datum/outfit/job/brigphysician
uniform = /obj/item/clothing/under/yogs/rank/physician/white
Expand Down
3 changes: 3 additions & 0 deletions modular_dripstation/code/modules/job/job_types/captain.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
/datum/job/captain
supervisor_corporation = /datum/corporation/nanotrasen

/datum/outfit/job/captain
head = /obj/item/clothing/head/beret/captain
glasses = /obj/item/clothing/glasses/sunglasses
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
/datum/job/cargo_tech
department_head = list("Quartermaster")
supervisor_corporation = /datum/corporation/nanotrasen/kompac
alt_supervisor_corporations = list(/datum/corporation/hephaestus/cargo)

/datum/outfit/job/cargo_tech
backpack_contents = list(/obj/item/boxcutter = 1)
Expand Down
3 changes: 3 additions & 0 deletions modular_dripstation/code/modules/job/job_types/ce.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
/datum/job/chief_engineer
supervisor_corporation = /datum/corporation/nanotrasen/interstellar_industries

/datum/outfit/job/ce
id_type = /obj/item/card/id/head
belt = null
Expand Down
8 changes: 8 additions & 0 deletions modular_dripstation/code/modules/job/job_types/chemist.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
/datum/job/chemist
supervisor_corporation = /datum/corporation/nanotrasen/vita_tek
alt_supervisor_corporations = list(/datum/corporation/eden_llc)

/datum/outfit/job/chemist
duffelbag = /obj/item/storage/backpack/duffelbag/chemistry

/datum/outfit/job/plasmaman/chemist
duffelbag = /obj/item/storage/backpack/duffelbag/chemistry

3 changes: 3 additions & 0 deletions modular_dripstation/code/modules/job/job_types/cmo.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
/datum/job/cmo
supervisor_corporation = /datum/corporation/nanotrasen/vita_tek

/datum/outfit/job/cmo
id_type = /obj/item/card/id/head
glasses = /obj/item/clothing/glasses/hud/health/sunglasses/aviators
Expand Down
3 changes: 3 additions & 0 deletions modular_dripstation/code/modules/job/job_types/detective.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
/datum/job/detective
supervisor_corporation = /datum/corporation/spearhead

/datum/outfit/job/detective
uniform = /obj/item/clothing/under/rank/security/detective
shoes = /obj/item/clothing/shoes/laceup
Expand Down
4 changes: 4 additions & 0 deletions modular_dripstation/code/modules/job/job_types/geneticist.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/datum/job/geneticist
supervisor_corporation = /datum/corporation/nanotrasen/vita_tek
alt_supervisor_corporations = list(/datum/corporation/eden_llc)

/datum/outfit/job/geneticist
duffelbag = /obj/item/storage/backpack/duffelbag/genetics

Expand Down
Loading

0 comments on commit b665cc9

Please sign in to comment.