diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index e6d85012be2..4d2edb75a77 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -108,7 +108,7 @@ GLOBAL_VAR(command_name) var/name = "" // Prefix - name += pick("Clandestine", "Prima", "Blue", "Zero-G", "Max", "Blasto", "Waffle", "North", "Omni", "Newton", "Cyber", "Bonk", "Gene", "Gib") + name += pick("Clandestine", "Prima", "Blue", "Zero-G", "Max", "Blasto", "North", "Omni", "Newton", "Cyber", "Bonk", "Gene", "Gib") // Suffix if (prob(80)) @@ -121,11 +121,11 @@ GLOBAL_VAR(command_name) else name += pick("Syndi", "Corp", "Bio", "System", "Prod", "Chem", "Inter", "Hive") name += pick("", "-") - name += pick("Tech", "Sun", "Co", "Tek", "X", "Inc", "Code") + name += pick("Tech", "Co", "Tek", "X", "Inc", "Code") // Small else name += pick("-", "*", "") - name += pick("Tech", "Sun", "Co", "Tek", "X", "Inc", "Gen", "Star", "Dyne", "Code", "Hive") + name += pick("Tech", "Co", "Tek", "X", "Inc", "Gen", "Star", "Dyne", "Code", "Hive") return name diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index c9f9eaf330c..47d4fd40c15 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -100,11 +100,16 @@ icon = 'icons/obj/device.dmi' icon_state = "locator" var/borg_to_spawn - var/special_role_name = ROLE_NUCLEAR_OPERATIVE ///The name of the special role given to the recruit - var/datum/outfit/syndicate/outfit = /datum/outfit/syndicate/no_crystals ///The applied outfit - var/datum/antagonist/nukeop/antag_datum = /datum/antagonist/nukeop ///The antag datam applied + /// The name of the special role given to the recruit + var/special_role_name = ROLE_NUCLEAR_OPERATIVE + /// The applied outfit + var/datum/outfit/syndicate/outfit = /datum/outfit/syndicate/reinforcement + /// The antag datam applied + var/datum/antagonist/nukeop/antag_datum = /datum/antagonist/nukeop /// Style used by the droppod var/pod_style = STYLE_SYNDICATE + /// Do we use a random subtype of the outfit? + var/use_subtypes = TRUE /obj/item/antag_spawner/nuke_ops/proc/check_usability(mob/user) if(used) @@ -152,7 +157,7 @@ antag_datum = new() antag_datum.send_to_spawnpoint = FALSE - antag_datum.nukeop_outfit = outfit + antag_datum.nukeop_outfit = use_subtypes ? pick(subtypesof(outfit)) : outfit var/datum/antagonist/nukeop/creator_op = user.has_antag_datum(/datum/antagonist/nukeop, TRUE) op_mind.add_antag_datum(antag_datum, creator_op ? creator_op.get_team() : null) @@ -168,6 +173,7 @@ outfit = /datum/outfit/syndicate/clownop/no_crystals antag_datum = /datum/antagonist/nukeop/clownop pod_style = STYLE_HONK + use_subtypes = FALSE //////SYNDICATE BORG /obj/item/antag_spawner/nuke_ops/borg_tele diff --git a/code/modules/antagonists/clown_ops/outfits.dm b/code/modules/antagonists/clown_ops/outfits.dm index e8e15ac5a5d..7dc84b56d85 100644 --- a/code/modules/antagonists/clown_ops/outfits.dm +++ b/code/modules/antagonists/clown_ops/outfits.dm @@ -10,11 +10,11 @@ r_pocket = /obj/item/bikehorn id = /obj/item/card/id/advanced/chameleon backpack_contents = list( - /obj/item/pen/edagger, - /obj/item/dnainjector/clumsymut, //in case you want to be clumsy for the memes - /obj/item/storage/box/syndie_kit/clownpins, //for any guns that you get your grubby little clown op mitts on - /obj/item/reagent_containers/spray/waterflower/lube, - /obj/item/mod/skin_applier/honkerative, + /obj/item/pen/edagger = 1, + /obj/item/dnainjector/clumsymut = 1, //in case you want to be clumsy for the memes + /obj/item/storage/box/syndie_kit/clownpins = 1, //for any guns that you get your grubby little clown op mitts on + /obj/item/reagent_containers/spray/waterflower/lube = 1, + /obj/item/mod/skin_applier/honkerative = 1, ) box = /obj/item/storage/box/survival/syndie implants = list(/obj/item/implant/sad_trombone) diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index 6658f62fe46..b7400ff2f2c 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -318,7 +318,7 @@ /datum/antagonist/nukeop/reinforcement show_in_antagpanel = FALSE send_to_spawnpoint = FALSE - nukeop_outfit = /datum/outfit/syndicate/no_crystals + nukeop_outfit = /datum/outfit/syndicate/reinforcement /datum/team/nuclear var/syndicate_name diff --git a/code/modules/antagonists/nukeop/outfits.dm b/code/modules/antagonists/nukeop/outfits.dm index 7db8d43bbf1..c4b9fd3dbb3 100644 --- a/code/modules/antagonists/nukeop/outfits.dm +++ b/code/modules/antagonists/nukeop/outfits.dm @@ -25,11 +25,9 @@ id_trim = /datum/id_trim/chameleon/operative/nuke_leader -/datum/outfit/syndicate/no_crystals - name = "Syndicate Operative - Reinforcement" - tc = 0 - -/datum/outfit/syndicate/post_equip(mob/living/carbon/human/H) +/datum/outfit/syndicate/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(visualsOnly) + return var/obj/item/radio/R = H.ears R.set_frequency(FREQ_SYNDICATE) R.freqlock = TRUE @@ -58,6 +56,73 @@ belt = /obj/item/storage/belt/military r_hand = /obj/item/gun/ballistic/shotgun/bulldog backpack_contents = list( - /obj/item/gun/ballistic/automatic/pistol/clandestine, - /obj/item/pen/edagger, + /obj/item/gun/ballistic/automatic/pistol/clandestine = 1, + /obj/item/pen/edagger = 1, ) + +/datum/outfit/syndicate/reinforcement + name = "Syndicate Operative - Reinforcement" + tc = 0 + backpack_contents = list( + /obj/item/gun/ballistic/automatic/plastikov = 1, + /obj/item/ammo_box/magazine/plastikov9mm = 2, + ) + var/faction = "The Syndicate" + +/datum/outfit/syndicate/reinforcement/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + . = ..() + if(visualsOnly) + return + to_chat(H, span_notice("You're an agent of [faction], sent to accompany the nuclear squad on their mission. \ + Support your allies, and remember: Down with Nanotrasen.")) + +/datum/outfit/syndicate/reinforcement/gorlex + name = "Syndicate Operative - Gorlex Reinforcement" + suit = /obj/item/clothing/suit/armor/vest/alt + head = /obj/item/clothing/head/helmet/swat + neck = /obj/item/clothing/neck/large_scarf/syndie + glasses = /obj/item/clothing/glasses/cold + faction = "the Gorlex Marauders" + +/datum/outfit/syndicate/reinforcement/cybersun + name = "Syndicate Operative - Cybersun Reinforcement" + uniform = /obj/item/clothing/under/syndicate/combat + suit = /obj/item/clothing/suit/jacket/det_suit/dark + gloves = /obj/item/clothing/gloves/fingerless + glasses = /obj/item/clothing/glasses/sunglasses + mask = /obj/item/clothing/mask/cigarette/cigar + faction = "Cybersun Industries" + +/datum/outfit/syndicate/reinforcement/donk + name = "Syndicate Operative - Donk Reinforcement" + suit = /obj/item/clothing/suit/hazardvest + head = /obj/item/clothing/head/hardhat/orange + shoes = /obj/item/clothing/shoes/workboots + glasses = /obj/item/clothing/glasses/meson + faction = "the Donk Corporation" + +/datum/outfit/syndicate/reinforcement/waffle + name = "Syndicate Operative - Waffle Reinforcement" + uniform = /obj/item/clothing/under/syndicate/camo + suit = /obj/item/clothing/suit/armor/vest + head = /obj/item/clothing/head/helmet/blueshirt + glasses = /obj/item/clothing/glasses/welding/up + faction = "the Waffle Corporation" + +/datum/outfit/syndicate/reinforcement/interdyne + name = "Syndicate Operative - Interdyne Reinforcement" + uniform = /obj/item/clothing/under/syndicate/scrubs + suit = /obj/item/clothing/suit/toggle/labcoat/interdyne + head = /obj/item/clothing/head/beret/medical + gloves = /obj/item/clothing/gloves/color/latex + neck = /obj/item/clothing/neck/stethoscope + glasses = /obj/item/clothing/glasses/hud/health + mask = /obj/item/clothing/mask/breath/medical + faction = "Interdyne Pharmaceutics" + +/datum/outfit/syndicate/reinforcement/mi13 + name = "Syndicate Operative - MI13 Reinforcement" + uniform = /obj/item/clothing/under/syndicate/sniper + shoes = /obj/item/clothing/shoes/laceup + glasses = /obj/item/clothing/glasses/sunglasses/big + faction = "MI13" diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index e7971d0f2eb..074dee04ae6 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -368,6 +368,9 @@ /obj/item/clothing/glasses/welding/attack_self(mob/user) weldingvisortoggle(user) +/obj/item/clothing/glasses/welding/up/Initialize(mapload) + . = ..() + visor_toggling() /obj/item/clothing/glasses/blindfold name = "blindfold" diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index d5eea66064d..7a7b2dff946 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -284,6 +284,12 @@ name = "large blue scarf" greyscale_colors = "#20396C#6F7F91" +/obj/item/clothing/neck/large_scarf/syndie + name = "suspicious looking striped scarf" + desc = "Ready to operate." + greyscale_colors = "#B40000#545350" + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) + /obj/item/clothing/neck/petcollar name = "pet collar" desc = "It's for pets." diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 736a004d9e6..4b405e1f6c1 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -100,3 +100,9 @@ name = "roboticist labcoat" desc = "More like an eccentric coat than a labcoat. Helps pass off bloodstains as part of the aesthetic. Comes with red shoulder pads." icon_state = "labcoat_robo" + +/obj/item/clothing/suit/toggle/labcoat/interdyne + name = "interdyne labcoat" + desc = "More like an eccentric coat than a labcoat. Helps pass off bloodstains as part of the aesthetic. Comes with red shoulder pads." + icon_state = "labcoat_robo" + diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 6efa9a8e12d..1e8e70012fa 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -90,3 +90,12 @@ can_adjust = FALSE armor = list(MELEE = 5, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 0, ACID = 0) resistance_flags = NONE + +/obj/item/clothing/under/syndicate/scrubs + name = "tactical scrubs" + desc = "A deep purple set of scrubs, made tactically for tactical reasons." + icon = 'icons/obj/clothing/under/medical.dmi' + worn_icon = 'icons/mob/clothing/under/medical.dmi' + icon_state = "scrubspurple" + can_adjust = FALSE + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 50, FIRE = 50, ACID = 40) diff --git a/code/modules/uplink/uplink_items/nukeops.dm b/code/modules/uplink/uplink_items/nukeops.dm index 47e18c5d763..de76a3e9157 100644 --- a/code/modules/uplink/uplink_items/nukeops.dm +++ b/code/modules/uplink/uplink_items/nukeops.dm @@ -563,8 +563,8 @@ /datum/uplink_item/support/reinforcement name = "Reinforcements" - desc = "Call in an additional team member. They won't come with any gear, so you'll have to save some telecrystals \ - to arm them as well." + desc = "Call in an additional team member from one of our factions. \ + They'll come equipped with a mere surplus SMG, so arming them is recommended." item = /obj/item/antag_spawner/nuke_ops cost = 25 refundable = TRUE