uplink updates (#18800)

* uplink updates

* gives admin radio uplink 500 TC

* removing implicit var/

* fixing multiple uplink reference

* Update code/datums/uplink_item.dm

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* Update code/datums/uplink_item.dm

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* allowing admin uplink to buy hijack items without hijack objective

* i hate this file being in repo

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
HMBGERDO
2022-08-17 10:54:47 +01:00
committed by GitHub
co-authored by Sirryan2002
parent c2cf6e89b2
commit 5c110b9745
5 changed files with 131 additions and 96 deletions
+96 -89
View File
@@ -1,6 +1,6 @@
GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/proc/get_uplink_items(job = null)
/proc/get_uplink_items(obj/item/uplink/U)
var/list/uplink_items = list()
var/list/sales_items = list()
var/newreference = 1
@@ -12,9 +12,9 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
var/datum/uplink_item/I = new path
if(!I.item)
continue
if(I.gamemodes.len && SSticker && !(SSticker.mode.type in I.gamemodes))
if(length(I.uplinktypes) && !(U.uplink_type in I.uplinktypes) && U.uplink_type != UPLINK_TYPE_ADMIN)
continue
if(I.excludefrom.len && SSticker && (SSticker.mode.type in I.excludefrom))
if(length(I.excludefrom) && (U.uplink_type in I.excludefrom))
continue
if(I.last)
last += I
@@ -71,8 +71,8 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
var/cost = 0
var/last = 0 // Appear last
var/abstract = 0
var/list/gamemodes = list() // Empty list means it is in all the gamemodes. Otherwise place the gamemode name here.
var/list/excludefrom = list() //Empty list does nothing. Place the name of gamemode you don't want this item to be available in here. This is so you dont have to list EVERY mode to exclude something.
var/list/uplinktypes = list() // Empty list means it is in all the uplink types. Otherwise place the uplink type here.
var/list/excludefrom = list() // Empty list does nothing. Place the name of uplink type you don't want this item to be available in here.
var/list/job = null
var/surplus = 100 //Chance of being included in the surplus crate (when pick() selects it)
var/cant_discount = FALSE
@@ -85,7 +85,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/proc/spawn_item(turf/loc, obj/item/uplink/U)
if(hijack_only && !(usr.mind.special_role == SPECIAL_ROLE_NUKEOPS))//nukies get items that regular traitors only get with hijack. If a hijack-only item is not for nukies, then exclude it via the gamemode list.
if(!(locate(/datum/objective/hijack) in usr.mind.get_all_objectives()))
if(!(locate(/datum/objective/hijack) in usr.mind.get_all_objectives()) && U.uplink_type != UPLINK_TYPE_ADMIN)
to_chat(usr, "<span class='warning'>The Syndicate will only issue this extremely dangerous item to agents assigned the Hijack objective.</span>")
return
@@ -162,7 +162,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/jobspecific
category = "Job Specific Tools"
cant_discount = TRUE
excludefrom = list(/datum/game_mode/nuclear) // Stops the job specific category appearing for nukies
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST) // Stops the job specific category appearing for nukies
//Clown
/datum/uplink_item/jobspecific/clowngrenade
@@ -424,7 +424,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "PP"
item = /obj/item/pen/poison
cost = 2
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
job = list("Head of Personnel", "Quartermaster", "Cargo Technician", "Librarian")
@@ -454,7 +454,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "The automatic machine pistol version of the FK-69 'Stechkin' chambered in 10mm Auto with a detachable 20-round box magazine. Perfect for dual wielding or as backup."
item = /obj/item/gun/projectile/automatic/pistol/APS
cost = 8
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/dangerous/smg
name = "C-20r Submachine Gun"
@@ -462,7 +462,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "A fully-loaded Scarborough Arms bullpup submachine gun that fires .45 rounds with a 20-round magazine and is compatible with suppressors."
item = /obj/item/gun/projectile/automatic/c20r
cost = 14
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 40
/datum/uplink_item/dangerous/carbine
@@ -471,7 +471,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "AR"
item = /obj/item/gun/projectile/automatic/m90
cost = 18
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 50
/datum/uplink_item/dangerous/machinegun
@@ -480,7 +480,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "LMG"
item = /obj/item/gun/projectile/automatic/l6_saw
cost = 40
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
/datum/uplink_item/dangerous/rapid
@@ -497,7 +497,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/projectile/automatic/sniper_rifle/syndicate
cost = 16
surplus = 25
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/dangerous/crossbow
name = "Energy Crossbow"
@@ -505,7 +505,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "EC"
item = /obj/item/gun/energy/kinetic_accelerator/crossbow
cost = 12
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 50
/datum/uplink_item/dangerous/flamethrower
@@ -514,7 +514,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "FT"
item = /obj/item/flamethrower/full/tank
cost = 8
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 40
/datum/uplink_item/dangerous/sword
@@ -546,7 +546,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/support
category = "Support and Mechanized Exosuits"
surplus = 0
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/support/gygax
name = "Gygax Exosuit"
@@ -607,7 +607,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "FSMG"
item = /obj/item/gun/projectile/automatic/c20r/toy
cost = 5
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
/datum/uplink_item/dangerous/foammachinegun
@@ -616,7 +616,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "FLMG"
item = /obj/item/gun/projectile/automatic/l6_saw/toy
cost = 10
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
/datum/uplink_item/dangerous/guardian
@@ -625,7 +625,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "Though capable of near sorcerous feats via use of hardlight holograms and nanomachines, they require an organic host as a home base and source of fuel. \
The holoparasites are unable to incoporate themselves to changeling and vampire agents."
item = /obj/item/storage/box/syndie_kit/guardian
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
cost = 12
refund_path = /obj/item/guardiancreator/tech/choose
refundable = TRUE
@@ -671,7 +671,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "10MMAPS"
item = /obj/item/ammo_box/magazine/apsm10mm
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/apsap
name = "Stechkin APS - 10mm Armour Piercing Magazine"
@@ -679,7 +679,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "10MMAPSAP"
item = /obj/item/ammo_box/magazine/apsm10mm/ap
cost = 3
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/apsfire
name = "Stechkin APS - 10mm Incendiary Magazine"
@@ -687,7 +687,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "10MMAPSFIRE"
item = /obj/item/ammo_box/magazine/apsm10mm/fire
cost = 3
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/apshp
name = "Stechkin APS - 10mm Hollow Point Magazine"
@@ -695,7 +695,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "10MMAPSHP"
item = /obj/item/ammo_box/magazine/apsm10mm/hp
cost = 4
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/bullslug
name = "Bulldog - 12g Slug Magazine"
@@ -703,7 +703,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "12BSG"
item = /obj/item/ammo_box/magazine/m12g
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/bullbuck
name = "Bulldog - 12g Buckshot Magazine"
@@ -711,7 +711,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "12BS"
item = /obj/item/ammo_box/magazine/m12g/buckshot
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/bullmeteor
name = "12g Meteorslug Shells"
@@ -719,7 +719,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "12MS"
item = /obj/item/ammo_box/magazine/m12g/meteor
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/bulldragon
name = "Bulldog - 12g Dragon's Breath Magazine"
@@ -727,7 +727,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "12DB"
item = /obj/item/ammo_box/magazine/m12g/dragon
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/bulldog_ammobag
name = "Bulldog - 12g Ammo Duffel Bag"
@@ -735,7 +735,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "12ADB"
item = /obj/item/storage/backpack/duffel/syndie/shotgun
cost = 12 // normally 18
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/bulldog_XLmagsbag
name = "Bulldog - 12g XL Magazine Duffel Bag"
@@ -743,7 +743,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "12XLDB"
item = /obj/item/storage/backpack/duffel/syndie/shotgunXLmags
cost = 12 // normally 18
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/smg
name = "C-20r - .45 Magazine"
@@ -751,7 +751,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "45"
item = /obj/item/ammo_box/magazine/smgm45
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/smg_ammobag
name = "C-20r - .45 Ammo Duffel Bag"
@@ -759,7 +759,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "45ADB"
item = /obj/item/storage/backpack/duffel/syndie/smg
cost = 14 // normally 20
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/carbine
name = "Carbine - 5.56 Toploader Magazine"
@@ -767,7 +767,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "556"
item = /obj/item/ammo_box/magazine/m556
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/a40mm
name = "Carbine - 40mm Grenade Ammo Box"
@@ -775,7 +775,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "40MM"
item = /obj/item/ammo_box/a40mm
cost = 4
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/machinegun
name = "L6 SAW - 5.56x45mm Box Magazine"
@@ -783,12 +783,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "762"
item = /obj/item/ammo_box/magazine/mm556x45
cost = 12
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
/datum/uplink_item/ammo/sniper
cost = 4
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/sniper/basic
name = "Sniper - .50 Magazine"
@@ -832,7 +832,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "BTS"
item = /obj/item/storage/box/syndie_kit/bioterror
cost = 5
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/ammo/toydarts
name = "Box of Riot Darts"
@@ -840,7 +840,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "FOAM"
item = /obj/item/ammo_box/foambox/riot
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
/datum/uplink_item/ammo/revolver
@@ -871,7 +871,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SCS"
item = /obj/item/sleeping_carp_scroll
cost = 13
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
refundable = TRUE
cant_discount = TRUE
@@ -882,7 +882,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/CQC_manual
cost = 13
cant_discount = TRUE
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_weapons/cameraflash
name = "Camera Flash"
@@ -914,7 +914,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SP"
item = /obj/item/pen/sleepy
cost = 8
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_weapons/foampistol
name = "Toy Gun (with Stun Darts)"
@@ -946,7 +946,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/box/syndie_kit/dart_gun
cost = 4
surplus = 50
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_weapons/RSG
name = "Rapid Syringe Gun"
@@ -976,7 +976,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "CGP"
item = /obj/item/clothing/gloves/color/black/krav_maga/combat
cost = 5
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_weapons/combat_minus
name = "Experimental Krav Gloves"
@@ -984,7 +984,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "CGM"
item = /obj/item/clothing/gloves/color/black/krav_maga
cost = 10
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
// GRENADES AND EXPLOSIVES
@@ -1012,7 +1012,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/backpack/duffel/syndie/c4
cost = 8 //20% discount!
cant_discount = TRUE
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/explosives/breaching_charge
name = "Composition X-4"
@@ -1020,7 +1020,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "X4"
item = /obj/item/grenade/plastic/c4/x4
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/explosives/x4bag
name = "Bag of X-4 explosives"
@@ -1031,7 +1031,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/backpack/duffel/syndie/x4
cost = 4
cant_discount = TRUE
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/explosives/syndicate_bomb
name = "Syndicate Bomb"
@@ -1067,14 +1067,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "DEPC"
item = /obj/item/cartridge/syndicate
cost = 6
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/explosives/detomatix/nuclear
desc = "When inserted into a personal digital assistant, this cartridge gives you five opportunities to detonate PDAs of crewmembers who have their message feature enabled. The concussive effect from the explosion will knock the recipient out for a short period, and deafen them for longer. It has a chance to detonate your PDA. This version comes with a program to toggle your nuclear shuttle blast doors remotely."
item = /obj/item/cartridge/syndicate/nuclear
reference = "DEPCN"
excludefrom = list()
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/explosives/pizza_bomb
name = "Pizza Bomb"
@@ -1091,7 +1091,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/belt/grenade/full
cost = 30
surplus = 0
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/explosives/manhacks
name = "Viscerator Delivery Grenade"
@@ -1099,7 +1099,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "VDG"
item = /obj/item/grenade/spawnergrenade/manhacks
cost = 6
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 35
/datum/uplink_item/explosives/atmosn2ogrenades
@@ -1169,7 +1169,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SBM"
item = /obj/item/storage/belt/military/traitor
cost = 2
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_tools/frame
name = "F.R.A.M.E. PDA Cartridge"
@@ -1195,7 +1195,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "CHAM"
item = /obj/item/storage/box/syndie_kit/chameleon
cost = 4
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_tools/voice_modulator
name = "Chameleon Voice Modulator Mask"
@@ -1204,13 +1204,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "CVMM"
item = /obj/item/clothing/mask/gas/voice_modulator/chameleon
cost = 1
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_tools/chameleon/nuke
reference = "NCHAM"
cost = 6
excludefrom = list()
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_tools/syndigaloshes
name = "No-Slip Chameleon Shoes"
@@ -1219,13 +1218,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "NSSS"
item = /obj/item/clothing/shoes/chameleon/noslip
cost = 2
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_tools/syndigaloshes/nuke
reference = "NNSSS"
cost = 4
excludefrom = list()
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_tools/chameleon_proj
name = "Chameleon-Projector"
@@ -1272,14 +1271,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "NOCS"
item = /obj/item/clothing/shoes/chameleon/noslip
cost = 2
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_tools/syndigaloshes/nuke
reference = "NOCSN"
item = /obj/item/clothing/shoes/chameleon/noslip
cost = 4
excludefrom = list()
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/stealthy_tools/cutouts
name = "Adaptive Cardboard Cutouts"
@@ -1303,7 +1302,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "HBIK"
item = /obj/item/storage/backpack/clown/syndie
cost = 6
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
// DEVICE AND TOOLS
@@ -1363,7 +1362,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "DRL"
item = /obj/item/thermal_drill
cost = 3
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/device_tools/diamond_drill
name = "Diamond Tipped Thermal Safe Drill"
@@ -1371,7 +1370,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "DDRL"
item = /obj/item/thermal_drill/diamond_drill
cost = 1
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/device_tools/medkit
name = "Syndicate Combat Medic Kit"
@@ -1380,7 +1379,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SCMK"
item = /obj/item/storage/firstaid/tactical
cost = 7
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/device_tools/vtec
name = "Syndicate Cyborg Upgrade Module (VTEC)"
@@ -1388,7 +1387,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "VTEC"
item = /obj/item/borg/upgrade/vtec
cost = 6
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
//Space Suits and Hardsuits
/datum/uplink_item/suits
@@ -1414,7 +1413,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "BRHS"
item = /obj/item/storage/box/syndie_kit/hardsuit
cost = 6
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/suits/hardsuit/elite
name = "Elite Syndicate Hardsuit"
@@ -1423,7 +1422,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 8
reference = "ESHS"
excludefrom = list()
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/suits/hardsuit/shielded
name = "Shielded Hardsuit"
@@ -1432,7 +1431,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 30
reference = "SHS"
excludefrom = list()
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/device_tools/binary
name = "Binary Translator Key"
@@ -1464,7 +1463,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "BRMB"
item = /obj/item/clothing/shoes/magboots/syndie
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/device_tools/powersink
name = "Power Sink"
@@ -1493,7 +1492,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SD"
item = /obj/item/syndicatedetonator
cost = 3
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/device_tools/advpinpointer
name = "Advanced Pinpointer"
@@ -1522,7 +1521,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/circuitboard/teleporter
reference = "TP"
cost = 20
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
/datum/uplink_item/device_tools/assault_pod
@@ -1531,7 +1530,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/assault_pod
reference = "APT"
cost = 25
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
/datum/uplink_item/device_tools/shield
@@ -1540,7 +1539,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/shield/energy
reference = "ESD"
cost = 16
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 20
/datum/uplink_item/device_tools/dropwall
@@ -1549,7 +1548,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/box/syndie_kit/dropwall
reference = "DWG"
cost = 10
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/device_tools/medgun
name = "Medbeam Gun"
@@ -1557,7 +1556,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/gun/medbeam
reference = "MBG"
cost = 15
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
// IMPLANTS
@@ -1578,9 +1577,17 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "UI"
item = /obj/item/implanter/uplink
cost = 14
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 0
cant_discount = TRUE
/datum/uplink_item/implants/uplink/nuclear
name = "Nuclear Uplink Implant"
reference = "UIN"
item = /obj/item/implanter/nuclear_uplink
excludefrom = list()
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/implants/storage
name = "Storage Implant"
desc = "An implant injected into the body, and later activated at the user's will. It will open a small subspace pocket capable of storing two items."
@@ -1609,13 +1616,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "MBI"
item = /obj/item/implanter/explosive
cost = 2
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
// Cybernetics
/datum/uplink_item/cyber_implants
category = "Cybernetic Implants"
surplus = 0
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/cyber_implants/thermals
name = "Thermal Vision Implant"
@@ -1665,7 +1672,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SPC"
item = /obj/item/deck/cards/syndicate
cost = 1
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 40
/datum/uplink_item/badass/syndiecash
@@ -1682,7 +1689,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "PBAG"
item = /obj/item/storage/bag/plasticbag
cost = 1
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/badass/balloon
name = "For showing that you are The Boss"
@@ -1698,7 +1705,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "HAB"
item = /obj/item/implanter/explosive_macro
cost = 20
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/bundles_TC
category = "Bundles and Telecrystals"
@@ -1712,7 +1719,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "BULB"
item = /obj/item/storage/backpack/duffel/syndie/bulldogbundle
cost = 9 // normally 12
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/bundles_TC/c20r
name = "C-20r Bundle"
@@ -1720,7 +1727,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "C20B"
item = /obj/item/storage/backpack/duffel/syndie/c20rbundle
cost = 18 // normally 21
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/bundles_TC/cyber_implants
name = "Cybernetic Implants Bundle"
@@ -1728,7 +1735,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "CIB"
item = /obj/item/storage/box/cyber_implants
cost = 40
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/bundles_TC/medical
name = "Medical Bundle"
@@ -1737,7 +1744,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "MEDB"
item = /obj/item/storage/backpack/duffel/syndie/med/medicalbundle
cost = 20 // normally 24
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/bundles_TC/sniper
name = "Sniper bundle"
@@ -1747,7 +1754,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SNPB"
item = /obj/item/storage/briefcase/sniperbundle
cost = 18 // normally 23
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/bundles_TC/contractor
name = "Syndicate Contractor Kit"
@@ -1755,7 +1762,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SCOK"
cost = 20
item = /obj/item/storage/box/syndie_kit/contractor
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/bundles_TC/contractor/spawn_item(turf/loc, obj/item/uplink/U)
var/datum/mind/mind = usr.mind
@@ -1787,7 +1794,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SYB"
item = /obj/item/storage/box/syndicate
cost = 20
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
/datum/uplink_item/bundles_TC/surplus_crate
name = "Syndicate Surplus Crate"
@@ -1795,7 +1802,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "SYSC"
cost = 20
item = /obj/item/storage/box/syndicate
excludefrom = list(/datum/game_mode/nuclear)
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
var/crate_value = 50
/datum/uplink_item/bundles_TC/surplus_crate/super
@@ -1807,7 +1814,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/bundles_TC/surplus_crate/spawn_item(turf/loc, obj/item/uplink/U)
var/obj/structure/closet/crate/C = new(loc)
var/list/temp_uplink_list = get_uplink_items()
var/list/temp_uplink_list = get_uplink_items(U)
var/list/buyable_items = list()
for(var/category in temp_uplink_list)
buyable_items += temp_uplink_list[category]
@@ -1863,4 +1870,4 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "RTCB"
item = /obj/item/stack/telecrystal/fifty
cost = 50
gamemodes = list(/datum/game_mode/nuclear)
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)