[MIRROR] Remove all gamemodes except Dynamic (#5173)

* Remove all gamemodes except Dynamic

* qaaaaaaaa

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
This commit is contained in:
SkyratBot
2021-04-25 21:20:30 +01:00
committed by GitHub
co-authored by Mothblocks Gandalf
parent 9c68fa922a
commit 2ab15aecb5
134 changed files with 863 additions and 2338 deletions
+15 -13
View File
@@ -20,10 +20,14 @@
throw_range = 7
w_class = WEIGHT_CLASS_SMALL
/// The uplink flag for this type.
/// See [`code/__DEFINES/uplink.dm`]
var/uplink_flag = UPLINK_TRAITORS
///obj/item/uplink/Initialize(mapload, owner, tc_amount = 20) //ORIGINAL
/obj/item/uplink/Initialize(mapload, owner, tc_amount = 35) //SKYRAT EDIT CHANGE
. = ..()
AddComponent(/datum/component/uplink, owner, FALSE, TRUE, null, tc_amount)
AddComponent(/datum/component/uplink, owner, FALSE, TRUE, uplink_flag, tc_amount)
/obj/item/uplink/debug
name = "debug uplink"
@@ -34,31 +38,29 @@
hidden_uplink.name = "debug uplink"
hidden_uplink.debug = TRUE
/obj/item/uplink/nuclear/Initialize()
. = ..()
var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
hidden_uplink.set_gamemode(/datum/game_mode/nuclear)
/obj/item/uplink/nuclear
uplink_flag = UPLINK_NUKE_OPS
/obj/item/uplink/nuclear/debug
name = "debug nuclear uplink"
uplink_flag = UPLINK_NUKE_OPS
/obj/item/uplink/nuclear/debug/Initialize(mapload, owner, tc_amount = 9000)
. = ..()
var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
hidden_uplink.set_gamemode(/datum/game_mode/nuclear)
hidden_uplink.name = "debug nuclear uplink"
hidden_uplink.debug = TRUE
/obj/item/uplink/nuclear_restricted
uplink_flag = UPLINK_NUKE_OPS
/obj/item/uplink/nuclear_restricted/Initialize()
. = ..()
var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
hidden_uplink.allow_restricted = FALSE
hidden_uplink.set_gamemode(/datum/game_mode/nuclear)
/obj/item/uplink/clownop/Initialize()
. = ..()
var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
hidden_uplink.set_gamemode(/datum/game_mode/nuclear/clown_ops)
/obj/item/uplink/clownop
uplink_flag = UPLINK_CLOWN_OPS
/obj/item/uplink/old
name = "dusty radio"
@@ -73,10 +75,10 @@
///obj/item/multitool/uplink/Initialize(mapload, owner, tc_amount = 20) //ORIGINAL
/obj/item/multitool/uplink/Initialize(mapload, owner, tc_amount = 35) //SKYRAT EDIT CHANGE
. = ..()
AddComponent(/datum/component/uplink, owner, FALSE, TRUE, null, tc_amount)
AddComponent(/datum/component/uplink, owner, FALSE, TRUE, UPLINK_TRAITORS, tc_amount)
// Pen uplink
///obj/item/pen/uplink/Initialize(mapload, owner, tc_amount = 20) //ORIGINAL
/obj/item/pen/uplink/Initialize(mapload, owner, tc_amount = 35) //SKYRAT EDIT CHANGE
. = ..()
AddComponent(/datum/component/uplink, owner, TRUE, FALSE, null, tc_amount)
AddComponent(/datum/component/uplink, owner, TRUE, FALSE, UPLINK_TRAITORS, tc_amount)
+114 -125
View File
@@ -1,6 +1,6 @@
GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/proc/get_uplink_items(datum/game_mode/gamemode = null, allow_sales = TRUE, allow_restricted = TRUE)
/proc/get_uplink_items(uplink_flag, allow_sales = TRUE, allow_restricted = TRUE)
var/list/filtered_uplink_items = list()
var/list/sale_items = list()
@@ -8,16 +8,8 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
var/datum/uplink_item/I = new path
if(!I.item)
continue
if(I.include_modes.len)
if(!gamemode && SSticker.mode && !(SSticker.mode.type in I.include_modes))
continue
if(gamemode && !(gamemode in I.include_modes))
continue
if(I.exclude_modes.len)
if(!gamemode && SSticker.mode && (SSticker.mode.type in I.exclude_modes))
continue
if(gamemode && (gamemode in I.exclude_modes))
continue
if (!(I.purchasable_from & uplink_flag))
continue
if(I.player_minimum && I.player_minimum > GLOB.joined_player_list.len)
continue
if (I.restricted && !allow_restricted)
@@ -30,7 +22,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
sale_items += I
if(allow_sales)
var/datum/team/nuclear/nuclear_team
if (gamemode == /datum/game_mode/nuclear) // uplink code kind of needs a redesign
if (uplink_flag & UPLINK_NUKE_OPS) // uplink code kind of needs a redesign
nuclear_team = locate() in GLOB.antagonist_teams // the team discounts could be in a GLOB with this design but it would make sense for them to be team specific...
if (!nuclear_team)
create_uplink_sales(3, "Discounted Gear", 1, sale_items, filtered_uplink_items)
@@ -97,8 +89,9 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
var/surplus = 100 // Chance of being included in the surplus crate.
var/cant_discount = FALSE
var/limited_stock = -1 //Setting this above zero limits how many times this item can be bought by the same traitor in a round, -1 is unlimited
var/list/include_modes = list() // Game modes to allow this item in.
var/list/exclude_modes = list() // Game modes to disallow this item from.
/// A bitfield to represent what uplinks can purchase this item.
/// See [`code/__DEFINES/uplink.dm`].
var/purchasable_from = ALL
var/list/restricted_roles = list() //If this uplink item is only available to certain roles. Roles are dependent on the frequency chip or stored ID.
var/player_minimum //The minimum crew size needed for this item to be added to uplinks.
var/purchase_log_vis = TRUE // Visible in the purchase log?
@@ -147,7 +140,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
box of syringes, Donksoft assault rifle, and some riot darts. Remember: Seal suit and equip internals before use."
item = /obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle
cost = 30 // normally 42
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/bundles_tc/bulldog
name = "Bulldog bundle"
@@ -155,21 +148,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
Bulldog shotgun, two 12g buckshot drums, and a pair of Thermal imaging goggles."
item = /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle
cost = 13 // normally 16
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/bundles_tc/c20r
name = "C-20r bundle"
desc = "Old Faithful: The classic C-20r, bundled with two magazines and a (surplus) suppressor at discount price."
item = /obj/item/storage/backpack/duffelbag/syndie/c20rbundle
cost = 14 // normally 16
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/bundles_tc/cyber_implants
name = "Cybernetic Implants Bundle"
desc = "A random selection of cybernetic implants. Guaranteed 5 high quality implants. Comes with an autosurgeon."
item = /obj/item/storage/box/cyber_implants
cost = 40
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/bundles_tc/medical
name = "Medical bundle"
@@ -177,7 +170,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
a Donksoft LMG, a box of riot darts and a pair of magboots to rescue your friends in no-gravity environments."
item = /obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle
cost = 15 // normally 20
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/bundles_tc/sniper
name = "Sniper bundle"
@@ -186,7 +179,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
We'll throw in a free red tie if you order NOW."
item = /obj/item/storage/briefcase/sniperbundle
cost = 20 // normally 26
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/bundles_tc/firestarter
name = "Spetsnaz Pyro bundle"
@@ -195,7 +188,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
Order NOW and comrade Boris will throw in an extra tracksuit."
item = /obj/item/storage/backpack/duffelbag/syndie/firestarter
cost = 30
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/bundles_tc/contract_kit
name = "Contract Kit"
@@ -206,7 +199,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/box/syndicate/contract_kit
cost = 20
player_minimum = 20
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/bundles_tc/bundle_a
name = "Syndi-kit Tactical"
@@ -215,7 +208,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
you will receive. May contain discontinued and/or exotic items."
item = /obj/item/storage/box/syndicate/bundle_a
cost = 20
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/bundles_tc/bundle_b
name = "Syndi-kit Special"
@@ -223,7 +216,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
In Syndi-kit Special, you will receive items used by famous syndicate agents of the past. Collectively worth more than 20 telecrystals, the syndicate loves a good throwback."
item = /obj/item/storage/box/syndicate/bundle_b
cost = 20
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/bundles_tc/surplus
name = "Syndicate Surplus Crate"
@@ -232,7 +225,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/structure/closet/crate
cost = 20
player_minimum = 25
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
var/starting_crate_value = 50
/datum/uplink_item/bundles_tc/surplus/super
@@ -244,7 +237,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
starting_crate_value = 145 //SKYRAT EDIT CHANGE - ORIGINAL: 125
/datum/uplink_item/bundles_tc/surplus/purchase(mob/user, datum/component/uplink/U)
var/list/uplink_items = get_uplink_items(SSticker && SSticker.mode? SSticker.mode : null, FALSE)
var/list/uplink_items = get_uplink_items(UPLINK_TRAITORS, FALSE)
var/crate_value = starting_crate_value
var/obj/structure/closet/crate/C = spawn_item(/obj/structure/closet/crate, user, U)
@@ -325,7 +318,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/rocketlauncher
cost = 8
surplus = 30
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/pie_cannon
name = "Banana Cream Pie Cannon"
@@ -333,7 +326,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 10
item = /obj/item/pneumatic_cannon/pie/selfcharge
surplus = 0
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/bananashield
name = "Bananium Energy Shield"
@@ -343,7 +336,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/shield/energy/bananium
cost = 16
surplus = 0
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/clownsword
name = "Bananium Energy Sword"
@@ -352,14 +345,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/melee/transforming/energy/sword/bananium
cost = 3
surplus = 0
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/clownoppin
name = "Ultra Hilarious Firing Pin"
desc = "A firing pin that, when inserted into a gun, makes that gun only useable by clowns and clumsy people and makes that gun honk whenever anyone tries to fire it."
cost = 1 //much cheaper for clown ops than for clowns
item = /obj/item/firing_pin/clown/ultra
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
illegal_tech = FALSE
/datum/uplink_item/dangerous/clownopsuperpin
@@ -367,7 +360,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "Like the ultra hilarious firing pin, except the gun you insert this pin into explodes when someone who isn't clumsy or a clown tries to fire it."
cost = 4 //much cheaper for clown ops than for clowns
item = /obj/item/firing_pin/clown/ultra/selfdestruct
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
illegal_tech = FALSE
/datum/uplink_item/dangerous/bioterror
@@ -378,7 +371,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/reagent_containers/spray/chemsprayer/bioterror
cost = 20
surplus = 0
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/throwingweapons
name = "Box of Throwing Weapons"
@@ -395,7 +388,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/shotgun/bulldog
cost = 8
surplus = 40
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/smg
name = "C-20r Submachine Gun"
@@ -404,7 +397,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/automatic/c20r
cost = 13
surplus = 40
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/doublesword
name = "Double-Bladed Energy Sword"
@@ -413,7 +406,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/dualsaber
player_minimum = 25
cost = 16
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/doublesword/get_discount()
return pick(4;0.8,2;0.65,1;0.5)
@@ -424,7 +417,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
pocketed when inactive. Activating it produces a loud, distinctive noise."
item = /obj/item/melee/transforming/energy/sword/saber
cost = 8
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/shield
name = "Energy Shield"
@@ -433,7 +426,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/shield/energy
cost = 5 //SKYRAT EDIT CHANGE: ORIGINAL: 16
surplus = 20
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/flamethrower
name = "Flamethrower"
@@ -442,7 +435,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/flamethrower/full/tank
cost = 4
surplus = 40
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
illegal_tech = FALSE
/datum/uplink_item/dangerous/rapid
@@ -458,7 +451,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/box/syndie_kit/guardian
cost = 18
surplus = 0
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
player_minimum = 25
restricted = TRUE
@@ -469,7 +462,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/automatic/l6_saw
cost = 18
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/carbine
name = "M-90gl Carbine"
@@ -478,7 +471,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/automatic/m90
cost = 14
surplus = 50
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/powerfist
name = "Power Fist"
@@ -495,7 +488,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate
cost = 16
surplus = 25
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/pistol
name = "Makarov Pistol"
@@ -503,7 +496,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
with suppressors."
item = /obj/item/gun/ballistic/automatic/pistol
cost = 7
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/aps
name = "Stechkin APS Machine Pistol"
@@ -511,15 +504,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
with suppressors. The gun fires in three round bursts."
item = /obj/item/gun/ballistic/automatic/pistol/aps
cost = 10
include_modes = list(/datum/game_mode/nuclear)
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/surplus_smg
name = "Surplus SMG"
desc = "A horribly outdated automatic weapon. Why would you want to use this?"
item = /obj/item/gun/ballistic/automatic/plastikov
cost = 2
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/revolver
name = "Syndicate Revolver"
@@ -527,7 +519,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/revolver
cost = 13
surplus = 50
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/foamsmg
name = "Toy Submachine Gun"
@@ -535,7 +527,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/automatic/c20r/toy
cost = 5
surplus = 0
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/foammachinegun
name = "Toy Machine Gun"
@@ -544,7 +536,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/ballistic/automatic/l6_saw/toy
cost = 10
surplus = 0
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/foampistol
name = "Toy Pistol with Riot Darts"
@@ -564,14 +556,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
to teach the martial art of krav maga to the wearer."
item = /obj/item/clothing/gloves/krav_maga/combatglovesplus
cost = 5
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
surplus = 0
/datum/uplink_item/stealthy_weapons/cqc
name = "CQC Manual"
desc = "A manual that teaches a single user tactical Close-Quarters Combat before self-destructing."
item = /obj/item/book/granter/martial/cqc
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
cost = 13
surplus = 0
@@ -604,7 +596,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
player_minimum = 25
cost = 13
surplus = 0
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_weapons/crossbow
name = "Miniature Energy Crossbow"
@@ -618,7 +610,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
player_minimum = 25
cost = 10
surplus = 50
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_weapons/origami_kit
name = "Boxed Origami Kit"
@@ -627,7 +619,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/box/syndie_kit/origami_bundle
cost = 12 //SKYRAT EDIT: Original value (14)
surplus = 0
exclude_modes = list(/datum/game_mode/nuclear) //clown ops intentionally left in, because that seems like some s-tier shenanigans.
purchasable_from = ~UPLINK_NUKE_OPS //clown ops intentionally left in, because that seems like some s-tier shenanigans.
/datum/uplink_item/stealthy_weapons/traitor_chem_bottle
name = "Poison Kit"
@@ -657,7 +649,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
falls asleep, they will be able to move and act."
item = /obj/item/pen/sleepy
cost = 4
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_weapons/suppressor
name = "Suppressor"
@@ -665,7 +657,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/suppressor
cost = 3
surplus = 10
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/stealthy_weapons/holster
name = "Syndicate Holster"
@@ -683,7 +675,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "An additional 8-round 9mm magazine, compatible with the Makarov pistol."
item = /obj/item/ammo_box/magazine/m9mm
cost = 1
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
illegal_tech = FALSE
/datum/uplink_item/ammo/pistolap
@@ -692,7 +684,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
These rounds are less effective at injuring the target but penetrate protective gear."
item = /obj/item/ammo_box/magazine/m9mm/ap
cost = 2
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/pistolhp
name = "9mm Hollow Point Magazine"
@@ -700,7 +692,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
These rounds are more damaging but ineffective against armour."
item = /obj/item/ammo_box/magazine/m9mm/hp
cost = 3
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/pistolfire
name = "9mm Incendiary Magazine"
@@ -708,18 +700,18 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
Loaded with incendiary rounds which inflict little damage, but ignite the target."
item = /obj/item/ammo_box/magazine/m9mm/fire
cost = 2
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/pistolaps
name = "9mm Stechkin APS Magazine"
desc = "An additional 15-round 9mm magazine, compatible with the Stechkin APS machine pistol."
item = /obj/item/ammo_box/magazine/m9mm_aps
cost = 2
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/shotgun
cost = 2
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/shotgun/bag
name = "12g Ammo Duffel Bag"
@@ -737,14 +729,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "An alternative 8-round dragon's breath magazine for use in the Bulldog shotgun. \
'I'm a fire starter, twisted fire starter!'"
item = /obj/item/ammo_box/magazine/m12g/dragon
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/shotgun/meteor
name = "12g Meteorslug Shells"
desc = "An alternative 8-round meteorslug magazine for use in the Bulldog shotgun. \
Great for blasting airlocks off their frames and knocking down enemies."
item = /obj/item/ammo_box/magazine/m12g/meteor
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/shotgun/slug
name = "12g Slug Drum"
@@ -759,7 +751,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
For when you really need a lot of things dead."
item = /obj/item/ammo_box/a357
cost = 4
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
illegal_tech = FALSE
/datum/uplink_item/ammo/a40mm
@@ -768,21 +760,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
Your teammates will ask you to not shoot these down small hallways."
item = /obj/item/ammo_box/a40mm
cost = 6
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/smg/bag
name = ".45 Ammo Duffel Bag"
desc = "A duffel bag filled with enough .45 ammo to supply an entire team, at a discounted price."
item = /obj/item/storage/backpack/duffelbag/syndie/ammo/smg
cost = 20 //instead of 27 TC
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/smg
name = ".45 SMG Magazine"
desc = "An additional 24-round .45 magazine suitable for use with the C-20r submachine gun."
item = /obj/item/ammo_box/magazine/smgm45
cost = 3
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/smgap
name = ".45 Armor Piercing SMG Magazine"
@@ -790,7 +782,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
These rounds are less effective at injuring the target but penetrate protective gear."
item = /obj/item/ammo_box/magazine/smgm45/ap
cost = 5
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/smgfire
name = ".45 Incendiary SMG Magazine"
@@ -798,11 +790,11 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
Loaded with incendiary rounds which inflict little damage, but ignite the target."
item = /obj/item/ammo_box/magazine/smgm45/incen
cost = 4
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/sniper
cost = 4
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/sniper/basic
name = ".50 Magazine"
@@ -828,7 +820,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
These bullets pack less punch than 7.12x82mm rounds, but they still offer more power than .45 ammo due to their innate armour penetration."
item = /obj/item/ammo_box/magazine/m556
cost = 4
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/carbinephase
name = "5.56mm Toploader Phasic Magazine"
@@ -837,12 +829,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
The name is a misnomer. It doesn't contain any lead whatsoever!"
item = /obj/item/ammo_box/magazine/m556/phasic
cost = 8
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/machinegun
cost = 6
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/machinegun/basic
name = "7.12x82mm Box Magazine"
@@ -877,7 +869,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 10
/datum/uplink_item/ammo/rocket
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/rocket/basic
name = "84mm HE Rocket"
@@ -906,14 +898,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
and broca systems, making it impossible for them to move or speak for some time."
item = /obj/item/storage/box/syndie_kit/bioterror
cost = 6
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/surplus_smg
name = "Surplus SMG Magazine"
desc = "A cylindrical magazine designed for the PP-95 SMG."
item = /obj/item/ammo_box/magazine/plastikov9mm
cost = 1
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
illegal_tech = FALSE
/datum/uplink_item/ammo/mech/bag
@@ -921,14 +913,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "A duffel bag containing ammo for four full reloads of the scattershotm which is equipped on standard Dark Gygax and Mauler exosuits. Also comes with some support equipment for maintaining the mech, including tools and an inducer."
item = /obj/item/storage/backpack/duffelbag/syndie/ammo/mech
cost = 4
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/mauler/bag
name = "Mauler Ammo Bag"
desc = "A duffel bag containing ammo for three full reloads of the LMG, scattershot carbine, and SRM-8 missile laucher that are equipped on a standard Mauler exosuit."
item = /obj/item/storage/backpack/duffelbag/syndie/ammo/mauler
cost = 6
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
//Grenades and Explosives
/datum/uplink_item/explosives
@@ -942,7 +934,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/grenade/chem_grenade/bioterrorfoam
cost = 5
surplus = 35
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/bombanana
name = "Bombanana"
@@ -951,7 +943,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/food/grown/banana/bombanana
cost = 4 //it is a bit cheaper than a minibomb because you have to take off your helmet to eat it, which is how you arm it
surplus = 0
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/buzzkill
name = "Buzzkill Grenade Box"
@@ -960,7 +952,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/box/syndie_kit/bee_grenades
cost = 15
surplus = 35
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/c4
name = "Composition C-4"
@@ -996,7 +988,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/sbeacondrop/clownbomb
cost = 15
surplus = 0
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
//SKYRAT EDIT REMOVAL BEGIN
/*
@@ -1026,14 +1018,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/box/syndie_kit/tuberculosisgrenade
cost = 12
surplus = 35
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
restricted = TRUE
/datum/uplink_item/explosives/grenadier
name = "Grenadier's belt"
desc = "A belt containing 26 lethally dangerous and destructive grenades. Comes with an extra multitool and screwdriver."
item = /obj/item/storage/belt/grenade/full
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
cost = 22
surplus = 0
@@ -1078,7 +1070,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
the blast radius before using the detonator."
item = /obj/item/syndicatedetonator
cost = 3
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/syndicate_minibomb
name = "Syndicate Minibomb"
@@ -1086,7 +1078,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
in addition to dealing high amounts of damage to nearby personnel."
item = /obj/item/grenade/syndieminibomb
cost = 6
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/tearstache
name = "Teachstache Grenade"
@@ -1095,7 +1087,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/grenade/chem_grenade/teargas/moustache
cost = 3
surplus = 0
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/viscerators
name = "Viscerator Delivery Grenade"
@@ -1104,20 +1096,20 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/grenade/spawnergrenade/manhacks
cost = 5
surplus = 35
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
//Support and Mechs
/datum/uplink_item/support
category = "Support and Exosuits"
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/support/clown_reinforcement
name = "Clown Reinforcements"
desc = "Call in an additional clown to share the fun, equipped with full starting gear, but no telecrystals."
item = /obj/item/antag_spawner/nuke_ops/clown
cost = 20
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
restricted = TRUE
/datum/uplink_item/support/reinforcement
@@ -1127,7 +1119,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/antag_spawner/nuke_ops
cost = 25
refundable = TRUE
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
restricted = TRUE
/datum/uplink_item/support/reinforcement/assault_borg
@@ -1171,7 +1163,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "A clown combat mech equipped with bombanana peel and tearstache grenade launchers, as well as the ubiquitous HoNkER BlAsT 5000."
item = /obj/vehicle/sealed/mecha/combat/honker/dark/loaded
cost = 80
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/support/mauler
name = "Mauler Exosuit"
@@ -1208,7 +1200,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
Due to budget cuts, the shoes don't provide protection against slipping and skillchips are sold separately."
item = /obj/item/storage/box/syndie_kit/chameleon
cost = 2
exclude_modes = list(/datum/game_mode/nuclear) //clown ops are allowed to buy this kit, since it's basically a costume
purchasable_from = ~UPLINK_NUKE_OPS //clown ops are allowed to buy this kit, since it's basically a costume
/datum/uplink_item/stealthy_tools/chameleon_proj
name = "Chameleon Projector"
@@ -1233,7 +1225,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat
cost = 6
surplus = 0
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/stealthy_tools/emplight
name = "EMP Flashlight"
@@ -1251,7 +1243,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/reagent_containers/syringe/mulligan
cost = 4
surplus = 30
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_tools/syndigaloshes
name = "No-Slip Chameleon Shoes"
@@ -1259,14 +1251,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
They do not work on heavily lubricated surfaces."
item = /obj/item/clothing/shoes/chameleon/noslip
cost = 2
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
player_minimum = 20
/datum/uplink_item/stealthy_tools/syndigaloshes/nuke
item = /obj/item/clothing/shoes/chameleon/noslip
cost = 4
exclude_modes = list()
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/stealthy_tools/jammer
name = "Radio Jammer"
@@ -1296,7 +1287,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/toolbox/infiltrator
cost = 6
limited_stock = 1 //you only get one so you don't end up with too many gun cases
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/suits/space_suit
name = "Syndicate Space Suit"
@@ -1315,7 +1306,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
Nanotrasen crew who spot these suits are known to panic."
item = /obj/item/clothing/suit/space/hardsuit/syndi
cost = 8
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) //you can't buy it in nuke, because the elite hardsuit costs the same while being better
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS) //you can't buy it in nuke, because the elite hardsuit costs the same while being better
/datum/uplink_item/suits/hardsuit/elite
name = "Elite Syndicate Hardsuit"
@@ -1323,8 +1314,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
provides the user with superior armor and mobility compared to the standard Syndicate hardsuit."
item = /obj/item/clothing/suit/space/hardsuit/syndi/elite
cost = 8
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
exclude_modes = list()
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/suits/hardsuit/shielded
name = "Shielded Syndicate Hardsuit"
@@ -1332,8 +1322,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
The shields can handle up to three impacts within a short duration and will rapidly recharge while not under fire."
item = /obj/item/clothing/suit/space/hardsuit/shielded/syndi
cost = 30
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
exclude_modes = list()
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
// Devices and Tools
/datum/uplink_item/device_tools
@@ -1353,7 +1342,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/assault_pod
cost = 30
surplus = 0
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
restricted = TRUE
/datum/uplink_item/device_tools/binary
@@ -1373,7 +1362,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
'Advanced Magboots' slow you down in simulated-gravity environments much like the standard issue variety."
item = /obj/item/clothing/shoes/magboots/syndie
cost = 2
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/device_tools/briefcase_launchpad
name = "Briefcase Launchpad"
@@ -1410,7 +1399,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
In its crowbar configuration, it can be used to force open airlocks. Very useful for entering the station or its departments."
item = /obj/item/crowbar/power/syndicate
cost = 4
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/device_tools/doorjack
name = "Airlock Authentication Override Card"
@@ -1445,7 +1434,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 1
surplus = 0
restricted = TRUE
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/device_tools/failsafe/spawn_item(spawn_path, mob/user, datum/component/uplink/U)
if(!U)
@@ -1494,7 +1483,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
operatives in the fight, even while under fire. Don't cross the streams!"
item = /obj/item/gun/medbeam
cost = 15
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/device_tools/singularity_beacon
name = "Power Beacon"
@@ -1538,7 +1527,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
and other supplies helpful for a field medic."
item = /obj/item/storage/firstaid/tactical
cost = 4
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/device_tools/soap
name = "Syndicate Soap"
@@ -1589,7 +1578,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "A potion recovered at great risk by undercover Syndicate operatives and then subsequently modified with Syndicate technology. \
Using it will make any animal sentient, and bound to serve you, as well as implanting an internal radio for communication and an internal ID card for opening doors."
cost = 4
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
restricted = TRUE
//SKYRAT EDIT REMOVAL BEGIN
@@ -1609,7 +1598,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
name = "Guerilla Gloves"
desc = "A pair of highly robust combat gripper gloves that excels at performing takedowns at close range, with an added lining of insulation. Careful not to hit a wall!"
item = /obj/item/clothing/gloves/tackler/combat/insulated
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
cost = 2
illegal_tech = FALSE
@@ -1624,7 +1613,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/autosurgeon/organ/syndicate/anti_stun
cost = 12
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/implants/freedom
name = "Freedom Implant"
@@ -1640,7 +1629,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
This will permanently destroy your body, however."
item = /obj/item/storage/box/syndie_kit/imp_microbomb
cost = 2
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/implants/macrobomb
name = "Macrobomb Implant"
@@ -1648,7 +1637,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
Upon death, releases a massive explosion that will wipe out everything nearby."
item = /obj/item/storage/box/syndie_kit/imp_macrobomb
cost = 20
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
restricted = TRUE
/datum/uplink_item/implants/radio
@@ -1665,7 +1654,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/autosurgeon/organ/syndicate/reviver
cost = 8
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/implants/stealthimplant
name = "Stealth Implant"
@@ -1687,7 +1676,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/autosurgeon/organ/syndicate/thermal_eyes
cost = 8
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/implants/uplink
name = "Uplink Implant"
@@ -1705,7 +1694,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/autosurgeon/organ/syndicate/xray_eyes
cost = 10
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/implants/deathrattle
name = "Box of Deathrattle Implants"
@@ -1716,13 +1705,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/box/syndie_kit/imp_deathrattle
cost = 4
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
purchasable_from = UPLINK_NUKE_OPS
//Race-specific items
/datum/uplink_item/race_restricted
category = "Species-Restricted"
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
surplus = 0
/datum/uplink_item/race_restricted/syndilamp
@@ -1736,7 +1725,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
// Role-specific items
/datum/uplink_item/role_restricted
category = "Role-Restricted"
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
surplus = 0
/datum/uplink_item/role_restricted/ancient_jumpsuit
@@ -2002,7 +1991,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/badass/costumes
surplus = 0
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
cost = 4
cant_discount = TRUE
@@ -2066,5 +2055,5 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "Inject yourself with this to become as clumsy as a clown... or inject someone ELSE with it to make THEM as clumsy as a clown. Useful for clown operatives who wish to reconnect with their former clownish nature or for clown operatives who wish to torment and play with their prey before killing them."
item = /obj/item/dnainjector/clumsymut
cost = 1
include_modes = list(/datum/game_mode/nuclear/clown_ops)
purchasable_from = UPLINK_CLOWN_OPS
illegal_tech = FALSE