[MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety (#63588)

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: gbfree <guillaumebfree@gmail.com>
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pepsilawn <reisenrui@gmail.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: SuperNovaa41 <supernovaa41@protonmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Aziz Chynaliev <azizonkg@gmail.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: carshalash <carshalash@gmail.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
This commit is contained in:
Watermelon914
2022-01-11 15:47:10 -08:00
committed by GitHub
co-authored by Watermelon914 tralezab Ghilker tgstation-server gbfree Sealed101 Changelogs John Willard vincentiusvin oranges Seth Scherer Jeremiah Azarak RandomGamer123 LemonInTheDark Kylerace ike709 Iamgoofball MrMelbert Pepsilawn AnturK Mothblocks SuperNovaa41 GoldenAlpharex Fikou san7890 MMMiracles Krysonism Aziz Chynaliev Tastyfish Mooshimi carshalash Ryll Ryll
parent eb6145fb7d
commit 8fd85e9666
141 changed files with 17145 additions and 4035 deletions
@@ -55,7 +55,7 @@
outfit = /datum/outfit/plasmaman
/obj/effect/mob_spawn/corpse/human/assistant
name = "Assistant"
name = JOB_ASSISTANT
outfit = /datum/outfit/job/assistant
icon_state = "corpsegreytider"
@@ -92,3 +92,131 @@
if(prob(90)) //only has a 10% chance of existing, otherwise it'll just be a NPC syndie.
new /mob/living/simple_animal/hostile/syndicate/ranged(get_turf(src))
return INITIALIZE_HINT_QDEL
///battlecruiser stuff
/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser
name = "Syndicate Battlecruiser Ship Operative"
you_are_text = "You are a crewmember aboard the syndicate flagship: the SBC Starfury."
flavour_text = "Your job is to follow your captain's orders, maintain the ship, and keep the engine running. If you are not familiar with how the supermatter engine functions: do not attempt to start it."
important_text = "The armory is not a candy store, and your role is not to assault the station directly, leave that work to the assault operatives."
prompt_name = "a battlecruiser crewmember"
outfit = /datum/outfit/syndicate_empty/battlecruiser
spawner_job_path = /datum/job/battlecruiser_crew
/// The antag team to apply the player to
var/datum/team/antag_team
/// The antag datum to give to the player spawned
var/antag_datum_to_give = /datum/antagonist/battlecruiser
/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser/special(mob/living/spawned_mob, mob/possesser)
. = ..()
if(!spawned_mob.mind)
spawned_mob.mind_initialize()
var/datum/mind/mob_mind = spawned_mob.mind
mob_mind.add_antag_datum(antag_datum_to_give, antag_team)
/datum/team/battlecruiser
name = "Battlecruiser Crew"
member_name = "crewmember"
/// The central objective of this battlecruiser
var/core_objective = /datum/objective/nuclear
/// The assigned nuke of this team
var/obj/machinery/nuclearbomb/nuke
/datum/team/battlecruiser/proc/update_objectives()
if(core_objective)
var/datum/objective/objective = new core_objective()
objective.team = src
objectives += objective
/datum/antagonist/battlecruiser
name = "Battlecruiser Crewmember"
show_to_ghosts = TRUE
roundend_category = "battlecruiser syndicate operatives"
suicide_cry = "FOR THE SYNDICATE!!!"
antag_hud_name = "battlecruiser_crew"
job_rank = ROLE_BATTLECRUISER_CREW
var/datum/team/battlecruiser/battlecruiser_team
/datum/antagonist/battlecruiser/get_team()
return battlecruiser_team
/datum/antagonist/battlecruiser/greet()
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ops.ogg',100,0, use_reverb = FALSE)
to_chat(owner, span_big("You are a [name]!"))
owner.announce_objectives()
/datum/antagonist/battlecruiser/captain
name = "Battlecruiser Captain"
antag_hud_name = "battlecruiser_lead"
job_rank = ROLE_BATTLECRUISER_CAPTAIN
/datum/antagonist/battlecruiser/create_team(datum/team/battlecruiser/team)
if(!team)
return
if(!istype(team))
stack_trace("Wrong team type passed to [type] initialization.")
battlecruiser_team = team
/datum/antagonist/battlecruiser/apply_innate_effects(mob/living/mob_override)
add_team_hud(mob_override || owner.current, /datum/antagonist/battlecruiser)
/datum/antagonist/battlecruiser/on_gain()
if(battlecruiser_team)
objectives |= battlecruiser_team.objectives
if(battlecruiser_team.nuke)
var/obj/machinery/nuclearbomb/nuke = battlecruiser_team.nuke
antag_memory += "<B>[nuke] Code</B>: [nuke.r_code]<br>"
owner.add_memory(MEMORY_NUKECODE, list(DETAIL_NUKE_CODE = nuke.r_code, DETAIL_PROTAGONIST = owner.current), story_value = STORY_VALUE_AMAZING, memory_flags = MEMORY_FLAG_NOLOCATION | MEMORY_FLAG_NOMOOD | MEMORY_FLAG_NOPERSISTENCE)
to_chat(owner, "The nuclear authorization code is: <B>[nuke.r_code]</B>")
return ..()
/datum/outfit/syndicate_empty/battlecruiser
name = "Syndicate Battlecruiser Ship Operative"
l_pocket = /obj/item/gun/ballistic/automatic/pistol
r_pocket = /obj/item/knife/combat/survival
belt = /obj/item/storage/belt/military/assault
/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser/assault
name = "Syndicate Battlecruiser Assault Operative"
you_are_text = "You are an assault operative aboard the syndicate flagship: the SBC Starfury."
flavour_text = "Your job is to follow your captain's orders, keep intruders out of the ship, and assault Space Station 13. There is an armory, multiple assault ships, and beam cannons to attack the station with."
important_text = "Work as a team with your fellow operatives and work out a plan of attack. If you are overwhelmed, escape back to your ship!"
prompt_name = "a battlecruiser operative"
outfit = /datum/outfit/syndicate_empty/battlecruiser/assault
/datum/outfit/syndicate_empty/battlecruiser/assault
name = "Syndicate Battlecruiser Assault Operative"
uniform = /obj/item/clothing/under/syndicate/combat
l_pocket = /obj/item/uplink/nuclear
r_pocket = /obj/item/modular_computer/tablet/nukeops
belt = /obj/item/storage/belt/military
suit = /obj/item/clothing/suit/armor/vest
suit_store = /obj/item/gun/ballistic/automatic/pistol
back = /obj/item/storage/backpack/security
mask = /obj/item/clothing/mask/gas/syndicate
/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser/captain
name = "Syndicate Battlecruiser Captain"
you_are_text = "You are the captain aboard the syndicate flagship: the SBC Starfury."
flavour_text = "Your job is to oversee your crew, defend the ship, and destroy Space Station 13. The ship has an armory, multiple ships, beam cannons, and multiple crewmembers to accomplish this goal."
important_text = "As the captain, this whole operation falls on your shoulders. Help your assault operatives detonate a nuke on the station."
prompt_name = "a battlecruiser captain"
outfit = /datum/outfit/syndicate_empty/battlecruiser/assault/captain
spawner_job_path = /datum/job/battlecruiser_captain
antag_datum_to_give = /datum/antagonist/battlecruiser/captain
/datum/outfit/syndicate_empty/battlecruiser/assault/captain
name = "Syndicate Battlecruiser Captain"
l_pocket = /obj/item/melee/energy/sword/saber/red
r_pocket = /obj/item/melee/baton/telescopic
suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate
suit_store = /obj/item/gun/ballistic/revolver/mateba
back = /obj/item/storage/backpack/satchel/leather
head = /obj/item/clothing/head/hos/syndicate
mask = /obj/item/clothing/mask/cigarette/cigar/havana
ears = /obj/item/radio/headset/syndicate/alt/leader
glasses = /obj/item/clothing/glasses/thermal/eyepatch
id = /obj/item/card/id/advanced/black/syndicate_command/captain_id
id_trim = /datum/id_trim/battlecruiser/captain
@@ -81,61 +81,6 @@
new/obj/structure/fluff/empty_sleeper/syndicate(get_turf(src))
return ..()
//battlecruiser stuff, i suppose
/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser
name = "Syndicate Battlecruiser Ship Operative"
you_are_text = "You are a crewmember aboard the syndicate flagship: the SBC Starfury."
flavour_text = "Your job is to follow your captain's orders, maintain the ship, and keep the engine running. If you are not familiar with how the supermatter engine functions: do not attempt to start it."
important_text = "The armory is not a candy store, and your role is not to assault the station directly, leave that work to the assault operatives."
prompt_name = "a battlecruiser crewmember"
outfit = /datum/outfit/syndicate_empty/battlecruiser
/datum/outfit/syndicate_empty/battlecruiser
name = "Syndicate Battlecruiser Ship Operative"
l_pocket = /obj/item/gun/ballistic/automatic/pistol
r_pocket = /obj/item/knife/combat/survival
belt = /obj/item/storage/belt/military/assault
/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser/assault
name = "Syndicate Battlecruiser Assault Operative"
you_are_text = "You are an assault operative aboard the syndicate flagship: the SBC Starfury."
flavour_text = "Your job is to follow your captain's orders, keep intruders out of the ship, and assault Space Station 13. There is an armory, multiple assault ships, and beam cannons to attack the station with."
important_text = "Work as a team with your fellow operatives and work out a plan of attack. If you are overwhelmed, escape back to your ship!"
prompt_name = "a battlecruiser operative"
outfit = /datum/outfit/syndicate_empty/battlecruiser/assault
/datum/outfit/syndicate_empty/battlecruiser/assault
name = "Syndicate Battlecruiser Assault Operative"
uniform = /obj/item/clothing/under/syndicate/combat
l_pocket = /obj/item/ammo_box/magazine/m9mm
r_pocket = /obj/item/knife/combat/survival
belt = /obj/item/storage/belt/military
suit = /obj/item/clothing/suit/armor/vest
suit_store = /obj/item/gun/ballistic/automatic/pistol
back = /obj/item/storage/backpack/security
mask = /obj/item/clothing/mask/gas/syndicate
/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser/captain
name = "Syndicate Battlecruiser Captain"
you_are_text = "You are the captain aboard the syndicate flagship: the SBC Starfury."
flavour_text = "Your job is to oversee your crew, defend the ship, and destroy Space Station 13. The ship has an armory, multiple ships, beam cannons, and multiple crewmembers to accomplish this goal."
important_text = "As the captain, this whole operation falls on your shoulders. You do not need to nuke the station, causing sufficient damage and preventing your ship from being destroyed will be enough."
prompt_name = "a battlecruiser captain"
outfit = /datum/outfit/syndicate_empty/battlecruiser/assault/captain
/datum/outfit/syndicate_empty/battlecruiser/assault/captain
name = "Syndicate Battlecruiser Captain"
l_pocket = /obj/item/melee/energy/sword/saber/red
r_pocket = /obj/item/melee/baton/telescopic
suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate
suit_store = /obj/item/gun/ballistic/revolver/mateba
back = /obj/item/storage/backpack/satchel/leather
head = /obj/item/clothing/head/hos/syndicate
mask = /obj/item/clothing/mask/cigarette/cigar/havana
glasses = /obj/item/clothing/glasses/thermal/eyepatch
id_trim = /datum/id_trim/battlecruiser/captain
/obj/effect/mob_spawn/ghost_role/human/syndicate
name = "Syndicate Operative"
icon = 'icons/obj/machines/sleeper.dmi'