mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
* changes uplink description for trophy belt to reflect ability to hold limbs * allows trophy belt to hold limbs and updates its description to reflect this fact * removed reference in trophy belt's uplink description to having 7 slots because this wasn't true even before i made any changes to what it could hold
1171 lines
63 KiB
Plaintext
1171 lines
63 KiB
Plaintext
var/list/uplink_items = list()
|
|
|
|
/proc/get_uplink_items()
|
|
// If not already initialized..
|
|
if(!uplink_items.len)
|
|
|
|
// Fill in the list and order it like this:
|
|
// A keyed list, acting as categories, which are lists to the datum.
|
|
|
|
for(var/item in typesof(/datum/uplink_item))
|
|
|
|
var/datum/uplink_item/I = new item()
|
|
if(!I.item)
|
|
continue
|
|
if(I.only_on_month)
|
|
if(time2text(world.realtime,"MM") != I.only_on_month)
|
|
continue
|
|
if(I.only_on_day)
|
|
if(time2text(world.realtime,"DD") != I.only_on_day)
|
|
continue
|
|
|
|
if(!uplink_items[I.category])
|
|
uplink_items[I.category] = list()
|
|
|
|
uplink_items[I.category] += I
|
|
|
|
return uplink_items
|
|
|
|
// You can change the order of the list by putting datums before/after one another OR
|
|
// you can use the last variable to make sure it appears last, well have the category appear last.
|
|
|
|
/datum/uplink_item
|
|
var/name = "item name"
|
|
var/category = "item category"
|
|
var/desc = "Item Description"
|
|
var/item = null
|
|
var/cost = 0
|
|
var/discounted_cost = 0
|
|
var/abstract = 0
|
|
var/list/jobs_with_discount = list() //Jobs in this list get the discount price.
|
|
var/list/jobs_exclusive = list() //If empty, does nothing. If not empty, ONLY jobs in this list can buy this item.
|
|
var/list/jobs_excluded = list() //Jobs in this list cannot buy this item at all.
|
|
var/list/roles_exclusive = list() //If empty, does nothing. If not empty, ONLY roles in this list can buy this item.
|
|
var/available_for_traitors = TRUE
|
|
var/available_for_nuke_ops = TRUE
|
|
var/only_on_month //two-digit month as string
|
|
var/only_on_day //two-digit day as string
|
|
var/num_in_stock = 0 // Number of times this can be bought, globally. 0 is infinite
|
|
var/times_bought = 0
|
|
var/refundable = FALSE
|
|
var/refund_path = null // Alternative path for refunds, in case the item purchased isn't what is actually refunded (Bombs and such).
|
|
var/refund_amount // specified refund amount in case there needs to be a TC penalty for refunds.
|
|
|
|
/datum/uplink_item/proc/get_cost(var/user_job, var/cost_modifier = 1)
|
|
if(gives_discount(user_job))
|
|
. = discounted_cost
|
|
else
|
|
. = cost
|
|
. = Ceiling(. * cost_modifier) //"." is our return variable, effectively the same as doing "var/X", working on X, then returning X
|
|
|
|
/datum/uplink_item/proc/gives_discount(var/user_job)
|
|
return user_job && jobs_with_discount.len && jobs_with_discount.Find(user_job)
|
|
|
|
/datum/uplink_item/proc/available_for_job(var/user_job)
|
|
if(!user_job)
|
|
return TRUE
|
|
return !(jobs_exclusive.len && !jobs_exclusive.Find(user_job)) && !(jobs_excluded.len && jobs_excluded.Find(user_job))
|
|
|
|
//This will get called that is essentially a New() by default.
|
|
//Use this to make New()s that have extra conditions, such as bundles
|
|
//Make sure to add a return or else it will break a part of buy()
|
|
/datum/uplink_item/proc/new_uplink_item(var/new_item, var/turf/location, mob/user)
|
|
return new new_item(location)
|
|
|
|
/datum/uplink_item/proc/spawn_item(var/turf/loc, datum/component/uplink/U, mob/user)
|
|
if(!available_for_job(U.job))
|
|
message_admins("[key_name(user)] tried to purchase \the [src.name] from their uplink despite not being available to their job! (Job: [U.job]) ([formatJumpTo(get_turf(U))])")
|
|
return
|
|
if(U.nuke_ops_inventory && !available_for_nuke_ops)
|
|
message_admins("[key_name(user)] tried to purchase \the [src.name] from their uplink despite being a nuclear operative")
|
|
return
|
|
U.telecrystals -= max(get_cost(U.job), 0)
|
|
feedback_add_details("traitor_uplink_items_bought", name)
|
|
return new_uplink_item(item, loc, user)
|
|
|
|
/datum/uplink_item/proc/buy(datum/component/uplink/U, var/mob/user)
|
|
if(!istype(U))
|
|
return 0
|
|
|
|
if (user.stat || user.restrained())
|
|
return 0
|
|
|
|
if (!( istype(user, /mob/living/carbon/human)))
|
|
return 0
|
|
|
|
if(num_in_stock && times_bought >= num_in_stock)
|
|
to_chat(user, "<span class='warning'>This item is out of stock.</span>")
|
|
return 0
|
|
|
|
// If the uplink's holder is in the user's contents
|
|
var/obj/item/holder = U.parent
|
|
if ((holder in user.contents || (in_range(holder, user) && istype(holder.loc, /turf))))
|
|
user.set_machine(U)
|
|
if(get_cost(U.job) > U.telecrystals)
|
|
return 0
|
|
|
|
var/O = spawn_item(get_turf(user), U, user)
|
|
var/obj/I = null
|
|
var/datum/uplink_item/UI = null
|
|
if(isobj(O))
|
|
I = O
|
|
else if(istype(O,/datum/uplink_item))
|
|
UI = O
|
|
I = new_uplink_item(UI.item,get_turf(user),user)
|
|
if(!I)
|
|
return 0
|
|
on_item_spawned(I,user)
|
|
var/icon/tempimage = icon(I.icon, I.icon_state)
|
|
|
|
var/bundlename = name
|
|
if(name == "Random Item" || name == "For showing that you are The Boss")
|
|
if(UI)
|
|
bundlename = UI.name
|
|
else
|
|
bundlename = I.name
|
|
if(I.tag)
|
|
bundlename = "[I.tag] bundle"
|
|
I.tag = null
|
|
if(ishuman(user))
|
|
var/mob/living/carbon/human/A = user
|
|
|
|
if(istype(I, /obj/item))
|
|
A.put_in_any_hand_if_possible(I)
|
|
|
|
U.purchase_log += {"[user] ([user.ckey]) bought <img class='icon' src='data:image/png;base64,[iconsouth2base64(tempimage)]'> [name] for [UI ? UI.get_cost(U.job, 0.5) : get_cost(U.job)]."}
|
|
stat_collection.uplink_purchase(src, I, user)
|
|
times_bought += 1
|
|
|
|
if(user.mind)
|
|
user.mind.spent_TC += get_cost(U.job)
|
|
//First, try to add the uplink buys to any operative teams they're on. If none, add to a traitor role they have.
|
|
var/datum/role/R = user.mind.GetRole(NUKE_OP)
|
|
if(R)
|
|
R.faction.faction_scoreboard_data += {"<img class='icon' src='data:image/png;base64,[iconsouth2base64(tempimage)]'> [bundlename] for [UI ? UI.get_cost(U.job, 0.5) : get_cost(U.job)] TC<BR>"}
|
|
else
|
|
R = user.mind.GetRole(TRAITOR)
|
|
if(R)
|
|
R.uplink_items_bought += {"<img class='icon' src='data:image/png;base64,[iconsouth2base64(tempimage)]'> [bundlename] for [UI ? UI.get_cost(U.job, 0.5) : get_cost(U.job)] TC<BR>"}
|
|
else
|
|
R = user.mind.GetRole(CHALLENGER)
|
|
if(R)
|
|
R.uplink_items_bought += {"<img class='icon' src='data:image/png;base64,[iconsouth2base64(tempimage)]'> [bundlename] for [UI ? UI.get_cost(U.job, 0.5) : get_cost(U.job)] TC<BR>"}
|
|
return 1
|
|
return 0
|
|
|
|
/datum/uplink_item/proc/on_item_spawned(var/obj/I, var/mob/user)
|
|
return
|
|
|
|
/*
|
|
//
|
|
// UPLINK ITEMS
|
|
//
|
|
*/
|
|
//Work in Progress, job specific antag tools
|
|
|
|
// NUKE OPS
|
|
// Any Syndicate item exclusive to Nuclear Operatives goes here
|
|
|
|
/datum/uplink_item/valentine
|
|
category = "Valentine's Day Special!"
|
|
only_on_month = "02"
|
|
only_on_day = "14"
|
|
|
|
/datum/uplink_item/valentine/explosivechocolate
|
|
name = "Explosive Chocolate Bar"
|
|
desc = "A special Valentine's Day chocolate bar chock-full of Bicarodyne. For adding that little extra oompf to your hugs."
|
|
item = /obj/item/weapon/reagent_containers/food/snacks/chocolatebar/wrapped/valentine/syndicate
|
|
cost = 8
|
|
|
|
//Nuclear Operative exclusive items and (totally) discounted regular items for them
|
|
/datum/uplink_item/nukeprice
|
|
category = "Nuclear Opeations Specials"
|
|
jobs_exclusive = list("Nuclear Operative")
|
|
|
|
/datum/uplink_item/nukeprice/popout_cake
|
|
name = "Pop-Out Cake"
|
|
desc = "A massive and delicious cake, big enough to store a person inside. It is equipped with a one-use party horn and other special effects, and can be cut into edible slices in case of an emergency."
|
|
item = /obj/structure/popout_cake
|
|
cost = 6
|
|
|
|
/datum/uplink_item/nukeprice/teleporter
|
|
name = "Teleporter Circuit Board"
|
|
desc = "A printed circuit board that completes the teleporter onboard the mothership, allowing deployment onto any activated bluespace beacon. It is advised to test fire the teleporter before entering it or sending items through as malfunctions can occur."
|
|
item = /obj/item/weapon/circuitboard/teleporter
|
|
cost = 40
|
|
|
|
/datum/uplink_item/nukeprice/gatling
|
|
name = "Gatling Gun"
|
|
desc = "A huge man-portable minigun. Makes up for its lack of mobility and discretion with sheer firepower. Has a drum of 200 bullets and a flawless cooling action allowing for uninterrupted fire from start to end."
|
|
item = /obj/structure/closet/crate/secure/weapon/experimental/gatling
|
|
cost = 40
|
|
|
|
/datum/uplink_item/nukeprice/nikita
|
|
name = "Nikita RC Missile Launcher"
|
|
desc = "A remote-controlled missile launcher, trades in raw explosive power for extreme steering precision, allowing it to make perfect turns around corners or turn around at will, or simply accelerate normally. Comes with four spare RC rockets."
|
|
item = /obj/structure/closet/crate/secure/weapon/experimental/nikita
|
|
cost = 40
|
|
|
|
/datum/uplink_item/nukeprice/hecate
|
|
name = "PMG Hecate II Anti-Material Rifle"
|
|
desc = "A .50 BMG anti-material sniper rifle. Anything between the barrel and the next three solid walls should be tenderized in short order. Comes with eight individual rounds, thermals and earmuffs."
|
|
item = /obj/structure/closet/crate/secure/weapon/experimental/hecate
|
|
cost = 40
|
|
|
|
/datum/uplink_item/nukeprice/dude_bombs_lmao
|
|
name = "Modified Tank Transfer Valve"
|
|
desc = "A small, expensive and powerful plasma-oxygen explosive attached with a timer assembly. Will trigger a massive explosion upon detonation, vaporizing the general area around the device. Handle with extreme care and keep away from fires and explosions."
|
|
item = /obj/effect/spawner/newbomb/timer
|
|
cost = 25
|
|
refundable = TRUE
|
|
|
|
/datum/uplink_item/nukeprice/robot
|
|
name = "Syndicate-modified Combat Robot Teleporter"
|
|
desc = "A single-use teleporter used to deploy a syndicate robot that will help with your mission. Keep in mind that unlike NT silicons these don't have access to most of the station's machinery."
|
|
item = /obj/item/weapon/robot_spawner/syndicate
|
|
cost = 60
|
|
refundable = TRUE
|
|
|
|
/datum/uplink_item/nukeprice/mecha
|
|
name = "Syndicate Mass-Produced Assault Mecha 'Mauler'"
|
|
desc = "A Heavy-duty combat unit. Not usually used by nuclear operatives due to its ridiculous pricetag and lack of stealth. Yet, against heavily-guarded stations, it might be just the thing." //Implying bombs aren't better.
|
|
item = /obj/effect/spawner/mecha/mauler
|
|
cost = 80
|
|
|
|
// DANGEROUS WEAPONS
|
|
// Any Syndicate item with applying lethal force to people while being very much detected (Ex: Revolver, E-Sword, Machete)
|
|
|
|
/datum/uplink_item/dangerous
|
|
category = "Highly Visible and Dangerous Weapons"
|
|
|
|
/datum/uplink_item/dangerous/revolver
|
|
name = "Loaded .357 Revolver"
|
|
desc = "A traditional repeating handgun with seven chambers which fires .357 rounds. Can incapacitate most unarmored targets in two shots."
|
|
item = /obj/item/weapon/gun/projectile/revolver
|
|
cost = 12
|
|
|
|
/datum/uplink_item/dangerous/ammo
|
|
name = ".357 Speedloader"
|
|
desc = "A speedloader loaded with seven additional rounds for the .357 Revolver. Extra seven-piece boxes of .357 rounds can be made in a modified autolathe."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/ammo
|
|
cost = 4
|
|
|
|
/datum/uplink_item/dangerous/sword
|
|
name = "Energy Sword"
|
|
desc = "The energy sword is a blade of pure energy able to easily cut through organics. The sword can be drawn and retracted from a small metal hilt that can be easily concealed, or linked to another sword for a double blade. Activating it produces a loud, distinctive noise."
|
|
item = /obj/item/weapon/melee/energy/sword
|
|
cost = 8
|
|
|
|
/datum/uplink_item/dangerous/machete
|
|
name = "High-Frequency Machete"
|
|
desc = "A high quality machete blade augmented with a high-frequency blade not dissimilar to the Energy Sword. When inactive, can be used as a powerful throwing weapon. Can be dual-wielded with another machete but will cause bloodlust until death."
|
|
item = /obj/item/weapon/melee/energy/hfmachete
|
|
cost = 8
|
|
|
|
/datum/uplink_item/dangerous/viscerator
|
|
name = "Viscerator Grenade"
|
|
desc = "A single grenade containing a pair of incredibly destructive viscerators and a basic flashbang mix on a five second timer. The viscerators will viscerate any non-Syndicate lifeforms in the area with extreme prejudice."
|
|
item = /obj/item/weapon/grenade/spawnergrenade/manhacks/syndicate
|
|
cost = 6
|
|
|
|
// STEALTHY WEAPONS
|
|
// Any Syndicate item with applying lethal force to people without being easily detected (Ex: Syndicate Soap, Parapen, E-Bow)
|
|
|
|
/datum/uplink_item/stealthy_weapons
|
|
category = "Stealthy and Inconspicuous Weapons"
|
|
|
|
/datum/uplink_item/stealthy_weapons/crossbow
|
|
name = "Mini Energy Crossbow"
|
|
desc = "A miniature energy crossbow small enough to both fit into a pocket and slip into a backpack unnoticed, making it hard to spot when firing. Fires up to five bolts tipped with a poisonous substance that stuns targets for a short period of time and recharges on its own."
|
|
item = /obj/item/weapon/gun/energy/crossbow
|
|
cost = 12
|
|
discounted_cost = 10
|
|
jobs_with_discount = list("Nuclear Operative")
|
|
|
|
/datum/uplink_item/stealthy_weapons/para_pen
|
|
name = "Paralysis Pen"
|
|
desc = "A functional pen containing a hidden syringe filled with a neuromuscular-blocking drug that paralyses a target and makes them appear dead to observers and basic medical scanners. Apply with a firm stabbing motion. The pen holds one dose of paralyzing mix and cannot be refilled."
|
|
item = /obj/item/weapon/pen/paralysis
|
|
cost = 8
|
|
|
|
/datum/uplink_item/stealthy_weapons/butterfly
|
|
name = "Butterfly Knife"
|
|
desc = "A butterfly knife containing a deadly viscerator. It can be flipped closed to conceal the blade and open to deploy the viscerator. The viscerator will self-destruct after 20 seconds but the knife will reconstruct a new one every 25 seconds."
|
|
item = /obj/item/weapon/butterflyknife/viscerator
|
|
cost = 7
|
|
|
|
/datum/uplink_item/stealthy_weapons/detomatix
|
|
name = "Detomatix PDA Cartridge"
|
|
desc = "When inserted into a PDA, gives you four charges allowing you to detonate PDAs of crewmembers who have messaging enabled. The concussive effect from the explosion will lightly wound the recipient and deafen them for a while. Has a chance to backfire and detonate your PDA."
|
|
item = /obj/item/weapon/cartridge/syndicate
|
|
cost = 6
|
|
|
|
/datum/uplink_item/stealthy_weapons/knuckles
|
|
name = "Spiked Knuckles"
|
|
desc = "A pair of spiked metal knuckles that can be worn directly on your hands in place of gloves, dramatically increasing damage done by your punches without giving any obvious signs to observers unless they inspect you more closely."
|
|
item = /obj/item/clothing/gloves/knuckles/spiked
|
|
cost = 2
|
|
|
|
/datum/uplink_item/stealthy_weapons/soap
|
|
name = "Syndicate Soap"
|
|
desc = "A sinister-looking bar of surfactant used to clean blood stains and other traces of misdoings and interfere with DNA collection. Doubles as a tool of Syndicate hygiene and a slipping hazard for split-second takedowns."
|
|
item = /obj/item/weapon/soap/syndie
|
|
cost = 1
|
|
|
|
// STEALTHY TOOLS
|
|
// Any Syndicate item that helps with concealing one's identity, avoiding detection or fleeing if caught, without lethal or stun applications
|
|
|
|
/datum/uplink_item/stealthy_tools
|
|
category = "Stealth and Camouflage Items"
|
|
|
|
/datum/uplink_item/stealthy_tools/agent_card
|
|
name = "Agent ID Card"
|
|
desc = "A fully programmable ID card that can be modified without the help of an indentification computer, allowing one to craft a full identity on the fly. Starts with Assistant-level access but can accumulate more by scanning other ID cards. Modified ID chip blocks all AI tracking when equipped."
|
|
item = /obj/item/weapon/card/id/syndicate
|
|
cost = 2
|
|
|
|
/datum/uplink_item/stealthy_tools/chameleon_jumpsuit
|
|
name = "Chameleon Jumpsuit"
|
|
desc = "An innocuous-looking jumpsuit used to imitate any uniform on the Nanotrasen crew roster. Comes with a large selection of job-specific jumpsuits and can scan more via direct application. Dial can be concealed and is sensible to EMP blasts."
|
|
item = /obj/item/clothing/under/chameleon
|
|
cost = 2
|
|
|
|
/datum/uplink_item/stealthy_tools/syndigaloshes
|
|
name = "Chameleon No-Slip Shoes"
|
|
desc = "A pair of species-flexible shoes that can look and sound like any other piece of footwear. Protects against slipping on virtually all slippery surfaces and items with the exception of lubrication agents. Can be discerned as syndicate technology when examined closely."
|
|
item = /obj/item/clothing/shoes/syndigaloshes
|
|
cost = 2
|
|
|
|
/datum/uplink_item/stealthy_tools/voice_changer
|
|
name = "Chameleon Voice Changer"
|
|
desc = "An innocuous-looking face mask that can imitate a wide range of facewear and synthesize a voice based on your equipped ID. When no identification is worn, the mask will scramble and distort your voice to make it unrecognizable. Can be discerned as syndicate technology when examined closely."
|
|
item = /obj/item/clothing/mask/gas/voice
|
|
cost = 5
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Nuclear Operative")
|
|
|
|
/datum/uplink_item/stealthy_tools/chameleon_proj
|
|
name = "Chameleon Projector"
|
|
desc = "When activated, will cloak the user into any portable item, concealing them and causing enemies and projectiles to pass over them. The projector can store the apperance of a specific item by scanning it. Allows limited movement, but dropping the projector or being interacted with will break the projection."
|
|
item = /obj/item/device/chameleon
|
|
cost = 6
|
|
|
|
/datum/uplink_item/stealthy_tools/dnascrambler
|
|
name = "DNA Scrambler"
|
|
desc = "A single-use syringe that will instantly and permanently randomize the appearance and name of the person injected including an unique genetic UI+UE, fingerprints and DNA sequence. While the new identity is perfect, it will not be registered to the crew manifest and the ID card will not update."
|
|
item = /obj/item/weapon/dnascrambler
|
|
cost = 4
|
|
|
|
/datum/uplink_item/stealthy_tools/cold_jumpsuit
|
|
name = "Heat Sink Jumpsuit"
|
|
desc = "A booby-trapped variant of the Chameleon Jumpsuit that quickly vents the wearer's body heat once equipped, causing them to suffer crippling hypothermia and usually pass out near instantly. Will usually result in user death unless assisted."
|
|
item = /obj/item/clothing/under/chameleon/cold
|
|
cost = 2
|
|
|
|
/datum/uplink_item/stealthy_tools/smoke_bombs
|
|
name = "Instant Smoke Bombs"
|
|
desc = "A package of 8 instant-action smoke bombs cleverly disguised as harmless snap-pops. The cover of smoke they create is large enough to cover most of a room within seconds. Pairs well with thermal imaging glasses or concealment items."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/smokebombs
|
|
cost = 2
|
|
|
|
/datum/uplink_item/stealthy_tools/decoy_balloon
|
|
name = "Decoy Balloon"
|
|
desc = "A balloon that will instantly imitate your current look when inflated. Will not fool any tracking devices or HUD displays by itself but will hold up to a rapid examination. Doubles as an extra-strength punching mannequin, but vulnerable to projectiles and sharp implements."
|
|
item = /obj/item/toy/balloon/decoy
|
|
cost = 1
|
|
|
|
// DEVICE AND TOOLS
|
|
// Any Syndicate item that helps with hacking, low-key sabotage, damaging or subverting equipment (ex: Emag, camera bugs, EMP flashlight)
|
|
|
|
/datum/uplink_item/device_tools
|
|
category = "Infiltration and Hacking Tools"
|
|
|
|
/datum/uplink_item/device_tools/emag
|
|
name = "Cryptographic Sequencer"
|
|
desc = "Colloquially referred to as an \"emag\". This modified ID card unlocks hidden Syndicate programming in most Nanotrasen electronic devices, subverting intended functions and bypassing most security mechanisms. Most machines will show signs of tampering during and after use and the emag itself is blatant when spotted."
|
|
item = /obj/item/weapon/card/emag
|
|
cost = 6
|
|
|
|
/datum/uplink_item/device_tools/emag/new_uplink_item(new_item, turf/location, mob/user)
|
|
return new new_item(location, 1) //Uplink emags are infinite
|
|
|
|
/datum/uplink_item/device_tools/explosive_gum
|
|
name = "Explosive Chewing Gum"
|
|
desc = "A single stick of explosive chewing gum that detonates five seconds after you start chewing, perfectly disguised as regular gum. Make sure to pull it out of your mouth if you don't intend to explode with it. Gum can be stuck to objects and walls, but not other people."
|
|
item = /obj/item/gum/explosive
|
|
cost = 6
|
|
|
|
/datum/uplink_item/device_tools/flashlightemp
|
|
name = "EMP Flashlight"
|
|
desc = "A functional flashlight that can deliver an instantaneous weak EMP pulse on whatever or whomever you press it on on when lit. Holds up to 4 charges that recharges fully in 30 seconds. Devastating against Silicons and enemies using energy weapons or artificial organs."
|
|
item = /obj/item/device/flashlight/emp
|
|
cost = 4
|
|
|
|
/datum/uplink_item/device_tools/emp
|
|
name = "EMP Grenade Box"
|
|
desc = "A box that contains 5 EMP grenades ready for use. Useful to disrupt all Silicon lifeforms and any machinery or device near an exploding grenade, including all energy weapons and communications devices."
|
|
item = /obj/item/weapon/storage/box/emps
|
|
cost = 4
|
|
|
|
/datum/uplink_item/device_tools/toolbox
|
|
name = "Fully Loaded Toolbox"
|
|
desc = "A sinister-looking black and red toolbox loaded with a full set of tools, including a cable coil and a multitool. Insulated gloves are not included in the package. The toolbox itself is lined with a heavier material for more intense robusting action if caught by surprise or desperate."
|
|
item = /obj/item/weapon/storage/toolbox/syndicate
|
|
cost = 1
|
|
|
|
/datum/uplink_item/device_tools/bugdetector
|
|
name = "Bug Detector & Camera Disabler"
|
|
desc = "A functional multitool that can detect certain surveillance devices. Its screen changes color if the AI or a pAI can see you or if a tape recorder or voice analyzer is nearby. Conspicuous if currently detecting something. Examine it to see everything it detects. Activating it will temporarily disable all cameras nearby plus random ones across the camera network."
|
|
item = /obj/item/device/multitool/ai_detect
|
|
cost = 3
|
|
|
|
/datum/uplink_item/device_tools/space_suit
|
|
name = "Syndicate Space Suit"
|
|
desc = "A red syndicate space suit that is less encumbering than most Nanotrasen variants, fitting inside backpacks while providing a weapon and jetpack holster. Do note that the space suit is not only obvious but outright infamous and that most Nanotrasen crew will instantly recognize it as Syndicate."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/space
|
|
cost = 4
|
|
|
|
/datum/uplink_item/device_tools/thermal
|
|
name = "Thermal Imaging Glasses"
|
|
desc = "A modified pair of Optical Meson Scanners frame fitted with thermal vision lenses, allowing you to spot organics through walls and in total darkness. Do note that they will not function as regular meson scanners in any way, shape or form."
|
|
item = /obj/item/clothing/glasses/thermal/syndi
|
|
cost = 6
|
|
|
|
/datum/uplink_item/device_tools/surveillance
|
|
name = "Camera Surveillance Kit"
|
|
desc = "A kit consisting containing of five camera bugs hidden in a cigarette pack and a mobile TV receiver. Attach camera bugs to a camera to enable remote viewing with the receiver. Make sure to set an ID tag before applying to ensure stealthy bugging."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/surveillance
|
|
cost = 6
|
|
|
|
/datum/uplink_item/device_tools/camerabugs
|
|
name = "Camera Bugs"
|
|
desc = "A cigarette pack containing five camera bugs hidden within. Requires a mobile TV receiver to use, intended to recharge the above bundle for extra surveillance coverage."
|
|
item = /obj/item/weapon/storage/box/surveillance
|
|
cost = 4
|
|
|
|
/datum/uplink_item/device_tools/binary
|
|
name = "Binary Translator Key"
|
|
desc = "A key that, when inserted into any radio headset, allows you to listen to and talk with artificial intelligences and cybernetic organisms in Binary using the :b communications key. Screwdriver to replace encryption keys not included."
|
|
item = /obj/item/device/encryptionkey/binary
|
|
cost = 5
|
|
|
|
/datum/uplink_item/device_tools/cipherkey
|
|
name = "Syndicate Encryption Key"
|
|
desc = "A key that, when inserted into any radio headset, allows you to listen to and talk on all known Nanotrasen radio channels using their respective communications keys. Access to the Syndicate radio channel is also granted. Use :t to speak over the syndicate channel. Screwdriver to replace encryption keys not included."
|
|
item = /obj/item/device/encryptionkey/syndicate/hacked
|
|
cost = 4
|
|
|
|
/datum/uplink_item/device_tools/pdapinpointer
|
|
name = "PDA Pinpointer"
|
|
desc = "A pinpointer that can flawlessly track any PDA in the local space sector. Useful for locating assassination targets or other high-value targets that you can't find. Do note that it cannot track normal targets like the nuclear disk, and is obvious upon inspection."
|
|
item = /obj/item/weapon/pinpointer/pdapinpointer
|
|
cost = 4
|
|
|
|
|
|
// LOUD SABOTAGE
|
|
// Any Syndicate item that helps with high-level, destructive station-wide sabotage (Ex: Does Not Tip backdoor, Singularity Beacon, Power Sink, C-4)
|
|
|
|
/datum/uplink_item/sabotage_tools
|
|
category = "Sabotage and Disruption Devices"
|
|
|
|
/datum/uplink_item/sabotage_tools/powersink
|
|
name = "Power Sink"
|
|
desc = "When screwed down onto an exposed wire connected to the power grid, this large device will cause an excessive and untraceable power load on the grid, causing a stationwide power failure in short order. Do note that the power sink can explode if it feeds too much power. Ordering this will send you a full power sink that can be carried but cannot be stored away. No screwdriver included, plan accordingly."
|
|
item = /obj/item/device/powersink
|
|
cost = 10
|
|
|
|
/datum/uplink_item/sabotage_tools/singularity_beacon
|
|
name = "Singularity Beacon"
|
|
desc = "When anchored to the floor and ran through a powered wire by hand, this large device will pull the singularity towards it regularly if it is loose from containment. Ordering this will send a small beacon that will teleport the singularity beacon to your location on activation. Beacon cannot be stored again, requires a lot of power to run, has an internal battery of one minute if power fails, and glows in the dark. No wrench included, plan accordingly."
|
|
item = /obj/item/beacon/syndicate
|
|
cost = 14
|
|
|
|
/datum/uplink_item/sabotage_tools/hacked_module
|
|
name = "Hacked AI Freeform Module"
|
|
desc = "When used on any AI Upload console, this module allows you to upload freeform laws to station Silicons that take priority over their core lawset and thus directly override it. Be careful with their wording as Silicons may look for loopholes to exploit or announce their subversion if not prevented to."
|
|
item = /obj/item/weapon/aiModule/freeform/syndicate
|
|
cost = 14
|
|
|
|
/datum/uplink_item/sabotage_tools/does_not_tip_note
|
|
name = "\"Does Not Tip\" database backdoor"
|
|
desc = "Lets you add or remove your station to the \"does not tip\" list kept by the Cargo workers at Central Command. Ensures that all pizza orders will be poisoned from the moment the screen flashes red, without giving any obvious hints to such. Appears as a PDA until inspected more closely."
|
|
item = /obj/item/device/does_not_tip_backdoor
|
|
num_in_stock = 1
|
|
cost = 10
|
|
|
|
/datum/uplink_item/sabotage_tools/loic_remote
|
|
name = "Low Orbit Ion Cannon Remote"
|
|
desc = "This device can activate a remote syndicate satellite every 15 minutes, generating a randomized law in the station's AI. Results may vary."
|
|
item = /obj/item/device/loic_remote
|
|
cost = 8
|
|
discounted_cost = 6
|
|
jobs_with_discount = SCIENCE_POSITIONS
|
|
|
|
/datum/uplink_item/sabotage_tools/reportintercom
|
|
name = "NT Central Command Report Falsifier"
|
|
desc = "A command report intercom stolen from Nanotrasen Command that allows for a single fake Command Update to be sent. Ensure tastefulness so that the crew actually falls for the message. Item is particular obvious and will have to be manually discarded after use."
|
|
item = /obj/item/device/reportintercom
|
|
cost = 6
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Nuclear Operative")
|
|
|
|
/datum/uplink_item/sabotage_tools/plastic_explosives
|
|
name = "Composition C-4"
|
|
desc = "C-4 is plastic explosive of the common variety Composition C. Can be attached to any item or organic to reliably destroy it. Connect a signaler to its wiring to make it remotely detonable even when unplanted. Timer starts at 10 seconds but can be set to any length. Takes a few seconds to apply."
|
|
item = /obj/item/weapon/c4
|
|
cost = 4
|
|
|
|
/datum/uplink_item/sabotage_tools/megaphone
|
|
name = "Mad Scientist Megaphone"
|
|
desc = "A large megaphone with a communications chip, for making your demands known very loud and clear. This megaphone can broadcast to any known radio frequency. Can also optionally scramble your voice for ominous, anonymous threats. Make sure to strip your ID to avoid leaking your job to the communications system."
|
|
item = /obj/item/device/megaphone/madscientist
|
|
num_in_stock = 3
|
|
cost = 1
|
|
discounted_cost = 0
|
|
jobs_with_discount = SCIENCE_POSITIONS
|
|
|
|
|
|
// IMPLANTS
|
|
// Any Syndicate item that gets implanted into the body goes here
|
|
|
|
/datum/uplink_item/implants
|
|
category = "Implants"
|
|
|
|
/datum/uplink_item/implants/freedom
|
|
name = "Freedom Implant"
|
|
desc = "An implant usable after being injected into one's body. When activated with a specific body gesture that is indicated upon injection, it will instantly slip any restraints you are in. Has four effective uses."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/imp_freedom
|
|
cost = 5
|
|
|
|
/datum/uplink_item/implants/uplink
|
|
name = "Uplink Implant"
|
|
desc = "An implant usable after being injected into one's body. When activated with a specific body gesture that is chosen upon injection, it will discreetly open an uplink with 10 telecrystals loaded in. This uplink works even if you have been stripped naked."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/imp_uplink
|
|
cost = 16
|
|
|
|
/datum/uplink_item/implants/explosive
|
|
name = "Explosive Implant"
|
|
desc = "An implant usable after being injected into one's body. When activated with a specific speech line that is chosen upon injection, it will cause a large explosion from the implant that will gib the user and easily space a room. Can be triggered remotely using the communications system, avoid common words and phrases."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/imp_explosive
|
|
cost = 12
|
|
|
|
/datum/uplink_item/implants/compression
|
|
name = "Compressed Matter Implant"
|
|
desc = "An implant usable after being injected into one's body. When activated with a specific body gesture that is chosen upon injection, it will retrieve an item that was earlier compressed into the implant and put it in your hand. Can only compress portable, non-storage items, choose wisely."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/imp_compress
|
|
cost = 6
|
|
|
|
|
|
// POINTLESS BADASSERY
|
|
// "Misc" section for things that don't fit above
|
|
|
|
/datum/uplink_item/badass
|
|
category = "Badassery"
|
|
|
|
/datum/uplink_item/badass/bundle
|
|
name = "Syndicate Bundle"
|
|
desc = "A Syndicate Bundle is a specific, themed selection of syndicate items including some that are otherwise impossible to acquire that arrive stored in a plain, unmarked box. These items are collectively worth significantly more than 14 telecrystals, but you do not know which bundle you will receive or what it will be useful for."
|
|
item = /obj/item/weapon/storage/box/syndicate
|
|
cost = 14
|
|
|
|
/datum/uplink_item/badass/bundle/new_uplink_item(new_item, location, user)
|
|
var/list/conditions = list()
|
|
if(isplasmaman(user))
|
|
conditions += "plasmaman"
|
|
return new new_item(location, conditions)
|
|
|
|
/datum/uplink_item/badass/balloon
|
|
name = "For showing that you are The Boss"
|
|
desc = "A useless red balloon with the syndicate logo printed on it which can blow even the deepest of covers. Otherwise looks similar to the Synidicate HUD pip that Nuclear Operatives would see."
|
|
item = /obj/item/toy/syndicateballoon
|
|
cost = 20
|
|
|
|
/datum/uplink_item/badass/trophybelt
|
|
name = "Trophy Belt"
|
|
desc = "An unremarkable leather belt specially crafted to hold whole heads and limbs in storage, perfect for serial killers and maimers with something to prove. Will not accept brains, so behead mindfully."
|
|
item = /obj/item/weapon/storage/belt/skull
|
|
cost = 4
|
|
|
|
/datum/uplink_item/badass/raincoat
|
|
name = "Raincoat"
|
|
desc = "It's hip to be square! Fireaxe not included."
|
|
item = /obj/item/clothing/suit/raincoat
|
|
cost = 1
|
|
|
|
/datum/uplink_item/badass/experimental_gear
|
|
name = "Syndicate Experimental Gear Bundle"
|
|
desc = "A box that contains a randomly-selected experimental Syndicate gear, an unique state-of-the-art object. Satisfaction not guaranteed."
|
|
item = /obj/item/weapon/storage/box/syndicate_experimental
|
|
cost = 20
|
|
|
|
/datum/uplink_item/badass/random
|
|
name = "Random Item"
|
|
desc = "Picking this choice will send you a random item from anywhere in the list for half the normal cost. Useful for when you cannot think of a strategy to finish your objectives with, or cannot think of anything to begin with."
|
|
item = /obj/item/weapon/storage/box/syndicate
|
|
cost = 0
|
|
|
|
/datum/uplink_item/badass/random/spawn_item(var/turf/loc, var/datum/component/uplink/U, user)
|
|
var/list/buyable_items = get_uplink_items()
|
|
var/list/possible_items = list()
|
|
|
|
for(var/category in buyable_items)
|
|
for(var/datum/uplink_item/I in buyable_items[category])
|
|
if(I == src)
|
|
continue
|
|
if(!I.available_for_job(U.job))
|
|
continue
|
|
if(!I.available_for_nuke_ops && U.nuke_ops_inventory)
|
|
continue
|
|
if(I.get_cost(U.job, 0.5) > U.telecrystals)
|
|
continue
|
|
possible_items += I
|
|
|
|
if(possible_items.len)
|
|
var/datum/uplink_item/I = pick(possible_items)
|
|
U.telecrystals -= max(0, I.get_cost(U.job, 0.5))
|
|
feedback_add_details("traitor_uplink_items_bought","RN")
|
|
return I
|
|
|
|
/datum/uplink_item/jobspecific/command_security
|
|
category = "Command and Security Specials"
|
|
|
|
/datum/uplink_item/jobspecific/command_security/syndicuffs
|
|
name = "Syndicate Cuffs"
|
|
desc = "A pair of handcuffs rigged with electronics and laced with a C4 charge. Can be toggled between explosion a few seconds after application and explosion immediately upon removal by pulling on the rotating arm. Concealed unless interacted with."
|
|
item = /obj/item/weapon/handcuffs/syndicate
|
|
cost = 5
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Security Officer", "Warden", "Head of Security")
|
|
|
|
/datum/uplink_item/jobspecific/command_security/syndietape_police
|
|
name = "Syndicate Police Tape"
|
|
desc = "A length of police tape rigged with adapative electronics that will wrap a segment of itself around the hands of any non-Syndicate personnel who attempts to cross or break it, instantly cuffing them with weak bindings. They shall not pass. Can be used 3 times before it runs out."
|
|
item = /obj/item/taperoll/syndie/police
|
|
cost = 10
|
|
discounted_cost = 8
|
|
jobs_with_discount = list("Security Officer", "Warden", "Head of Security")
|
|
|
|
/datum/uplink_item/jobspecific/command_security/syndibaton
|
|
name = "Harm Baton"
|
|
desc = "A stun baton modified with tesla relay coils capable of discharging high amount of shock to overload human pain registers. It can also use this energy to boost the impact of the baton."
|
|
item = /obj/item/weapon/melee/baton/harm/loaded
|
|
cost = 12
|
|
discounted_cost = 9
|
|
jobs_with_discount = list("Security Officer", "Warden", "Head of Security")
|
|
|
|
/datum/uplink_item/jobspecific/command_security/batlinggun
|
|
name = "Batling gun"
|
|
desc = "A gatling gun modified to fire stun batons. The batons are launched in such a way that guarantees the stunning end always connects, and the launch velocity is high enough to cause injuries. Can be reloaded with stun batons."
|
|
item = /obj/item/weapon/gun/gatling/batling
|
|
cost = 18
|
|
discounted_cost = 12
|
|
jobs_with_discount = list("Warden", "Head of Security")
|
|
|
|
/datum/uplink_item/jobspecific/command_security/remoteexplosive
|
|
name = "Remote Explosive Implants"
|
|
desc = "A box containing 5 implants disguised as chemical implants usable after being injected into one's body. When activated with from a prisoner management console, it will cause a small yet breaching explosion from the implant that will gib the user and easily space a room."
|
|
item = /obj/item/weapon/storage/box/remeximp
|
|
cost = 18
|
|
discounted_cost = 12
|
|
jobs_with_discount = list("Warden", "Head of Security")
|
|
|
|
/datum/uplink_item/jobspecific/command_security/evidenceforger
|
|
name = "Evidence Forger"
|
|
desc = "A hacked evidence scanner that allows you to forge evidence by setting a specific output that will apply on the next item scan only. Keep Security Records handy to input all requested data. Concealed as long as the evidence forger itself is not interacted with."
|
|
item = /obj/item/device/detective_scanner/forger
|
|
cost = 6
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Detective")
|
|
|
|
/datum/uplink_item/jobspecific/command_security/conversionkit
|
|
name = "Revolver Conversion Kit"
|
|
desc = "A bundle that comes with a professional revolver conversion kit and one box of .357 ammo. This kit allows you to convert your ballistic revolver to fire either .357 lethal or .38 less-than-lethal rounds. The modification is perfect and will never result in a chamber failure, but remember to empty your gun before attempting a modification!"
|
|
item = /obj/item/weapon/storage/box/syndie_kit/conversion
|
|
cost = 12
|
|
discounted_cost = 10
|
|
jobs_with_discount = list("Detective")
|
|
|
|
/datum/uplink_item/jobspecific/command_security/briefcase_smg
|
|
name = "Briefcase SMG"
|
|
desc = "A modified briefcase capable of storing and firing a gun under a false bottom, while still allowing regular storage functions. Starts with a 9mm SMG loaded with 18 rounds that can be fired by holding the briefcase. Use a screwdriver to pry away the false bottom and either retrieve the gun or insert a new one. Distinguishable upon close examination due to the added weight."
|
|
item = /obj/item/weapon/storage/briefcase/false_bottomed/smg
|
|
cost = 14
|
|
discounted_cost = 10
|
|
jobs_with_discount = list("Internal Affairs Agent")
|
|
|
|
/datum/uplink_item/jobspecific/command_security/briefcase_smg/on_item_spawned(var/obj/I, var/mob/user)
|
|
if(gives_discount(user.job))
|
|
I.icon_state = "briefcase-centcomm"
|
|
return
|
|
|
|
/datum/uplink_item/jobspecific/command_security/knifeboot
|
|
name = "Concealed knife shoes"
|
|
desc = "Lace-up shoes with a knife concealed in the toecap. Tap your heels together to reveal the small knife. Remember to kick the target to stab them. Knife will be visible when pulled out, but kicking with the knife will not be directly obvious to observers."
|
|
item = /obj/item/clothing/shoes/knifeboot
|
|
cost = 4
|
|
discounted_cost = 2
|
|
jobs_with_discount = list("Internal Affairs Agent")
|
|
|
|
/datum/uplink_item/jobspecific/medical
|
|
category = "Medical Specials"
|
|
|
|
/datum/uplink_item/jobspecific/medical/mouser
|
|
name = "Mouser Pistol"
|
|
desc = "A pistol that turns unfortunate victims into labrats and stuns them briefly. All of their gear becomes part of their body, and if the mouse dies, the target becomes human once again, fully armed and unharmed."
|
|
item = /obj/item/weapon/gun/energy/mouser
|
|
cost = 12
|
|
discounted_cost = 8
|
|
jobs_with_discount = list("Virologist", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/medical/wheelchair
|
|
name = "Syndicate Wheelchair"
|
|
desc = "This combat-modified motorized wheelchair has a forward thrust sufficient enough to knock down and run over victims, with special bladed wheels that will make short work of anyone caught under them. Provides limited protection against ballistic weaponry."
|
|
item = /obj/item/syndicate_wheelchair_kit
|
|
cost = 18
|
|
discounted_cost = 12
|
|
jobs_with_discount = list("Orderly", "Medical Doctor", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/medical/organ_remover
|
|
name = "Modified Organics Extractor"
|
|
desc = "A tool used by Vox Raiders to extract organs from unconscious victims that has been reverse-engineered by Syndicate scientists to be used by anyone. Cannot extract hearts, but works twice as fast as the original variant. Interact with it to select the type of organ to extract, and then select the appropiate body zone."
|
|
item = /obj/item/weapon/organ_remover/traitor
|
|
cost = 8
|
|
discounted_cost = 6
|
|
jobs_with_discount = list("Medical Doctor", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/medical/chemsprayer
|
|
name = "Chemical Sprayer"
|
|
desc = "A powerful industrial spraygun that holds 600 units of any liquid and can cover large areas faster than a standard spray bottle. Keep away from face."
|
|
item = /obj/item/weapon/reagent_containers/spray/chemsprayer
|
|
cost = 10
|
|
discounted_cost = 8
|
|
jobs_with_discount = list("Chemist", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/medical/antisocial
|
|
name = "Explosive Hug Chemical"
|
|
desc = "30 units of Bicarodyne, a special chemical that causes a devastating explosion when exposed to endorphins released in the body by a hug. Metabolizes quite slowly."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/explosive_hug //Had to be put in a box because it didn't play well with reagent creation
|
|
cost = 9
|
|
discounted_cost = 8
|
|
jobs_with_discount = list("Chemist", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/medical/hypozinebottle
|
|
name = "Lethal Speed Chemical"
|
|
desc = "30 units of Hypozine, a special chemical that causes the body to seamlessly synthesize Hyperzine, but also causes increases in muscle activity to levels that rapidly tear the user's body apart, causing catastrophic ligament failure. Metabolizes quite slowly."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/lethal_hyperzine
|
|
cost = 5
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Chemist", "Medical Doctor", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/medical/radgun
|
|
name = "Radgun"
|
|
desc = "An experimental energy gun that fires radioactive projectiles that burn, irradiate and scramble DNA, giving the victim a different appearance and name, and potentially harmful or beneficial mutations. Recharges on its own."
|
|
item = /obj/item/weapon/gun/energy/radgun
|
|
cost = 18
|
|
discounted_cost = 12
|
|
jobs_with_discount = list("Geneticist", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/medical/viruscollection
|
|
name = "Deadly Syndrome Collection"
|
|
desc = "A diskette box filled with 3 random Deadly stage 4 syndromes GNA disks (the same syndrome won't show up twice) on top of a Waiting Syndrome GNA disk to help your disease spread undetected, and a GNA forging disk for masking deadly syndromes in the database."
|
|
item = /obj/item/weapon/storage/lockbox/diskettebox/syndisease
|
|
cost = 20
|
|
discounted_cost = 12
|
|
jobs_with_discount = list("Virologist", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/medical/symptomforger
|
|
name = "GNA Database Forger Disk"
|
|
desc = "A disk that looks almost exactly like a normal GNA disk, with the exception of being able to copy the symptom from any other normal one to splice into a disk. Splicing this in does not affect the disease, but instead creates a forged symptom onto the database, obscuring the original effect."
|
|
item = /obj/item/weapon/disk/disease/spoof
|
|
cost = 12
|
|
discounted_cost = 6
|
|
jobs_with_discount = list("Virologist", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/medical/syndietape_viro
|
|
name = "Syndicate Biohazard Tape"
|
|
desc = "A length of biohazard tape coated in an engineered bacterium that forcibly ejects explosive goo when disturbed, but can be handled safely with latex gloves. Can be used 3 times."
|
|
item = /obj/item/taperoll/syndie/viro
|
|
cost = 4
|
|
discounted_cost = 2
|
|
jobs_with_discount = list("Virologist", "Chief Medical Officer")
|
|
|
|
/datum/uplink_item/jobspecific/engineering
|
|
category = "Engineering Specials"
|
|
|
|
/datum/uplink_item/jobspecific/engineering/powergloves
|
|
name = "Power Gloves"
|
|
desc = "Insulated gloves that can utilize the station's power grid to deliver a short but powerful arc of electricity at a target. Requires standing over a powered cable to use, but does not require for it to be uncovered. Damage scales with spare power in the grid."
|
|
item = /obj/item/clothing/gloves/yellow/power
|
|
cost = 14
|
|
discounted_cost = 8
|
|
jobs_with_discount = list("Station Engineer", "Chief Engineer")
|
|
|
|
/datum/uplink_item/jobspecific/engineering/teslagun
|
|
name = "Tesla Cannon"
|
|
desc = "This device uses stored power to create a devastating orb of electricity that shocks nearly everyone in its path. The device must be loaded with capacitors in order to fire, each charged to at least 1 MW. The amount of damage scales with the power stored in the capacitor. The cannon comes with one free, pre-charged capacitor."
|
|
item = /obj/item/weapon/gun/tesla/preloaded
|
|
cost = 18
|
|
discounted_cost = 14
|
|
jobs_with_discount = list("Station Engineer", "Chief Engineer")
|
|
|
|
/datum/uplink_item/jobspecific/engineering/powercreeper_packet
|
|
name = "Powercreep Packet"
|
|
desc = "A packet that creates a dangerous mutated version of kudzu vines. The vines will repeatedly shock people and connect themselves to any cables near them, rapidly growing and spreading out of control if left unchecked."
|
|
item = /obj/item/powercreeper_packet
|
|
cost = 16
|
|
discounted_cost = 10
|
|
jobs_with_discount = list("Botanist", "Station Engineer", "Chief Engineer")
|
|
|
|
/datum/uplink_item/jobspecific/engineering/syndietape_engineering
|
|
name = "Syndicate Engineering Tape"
|
|
desc = "A length of Engineering tape doubled with a conducting material, providing for a powerful electric potential. Will spark and shock people who attempt to break it, causing severe burn damage and potentially creating fires. Can be used 3 times."
|
|
item = /obj/item/taperoll/syndie/engineering
|
|
cost = 4
|
|
discounted_cost = 2
|
|
jobs_with_discount = list("Station Engineer", "Chief Engineer")
|
|
|
|
/datum/uplink_item/jobspecific/engineering/syndietape_atmos
|
|
name = "Syndicate Atmospherics Tape"
|
|
desc = "A length of Atmospherics tape doubled with an extremely sharp material that will severely shred the hands of anyone attempting to break or cross it. Very difficult to remove from their hands once applied. Can be used 3 times."
|
|
item = /obj/item/taperoll/syndie/atmos
|
|
cost = 4
|
|
discounted_cost = 2
|
|
jobs_with_discount = list("Atmospheric Technician", "Chief Engineer")
|
|
|
|
/datum/uplink_item/jobspecific/engineering/contortionist
|
|
name = "Contortionist's Jumpsuit"
|
|
desc = "A highly flexible jumpsuit that will help you climb into and navigate the internal ventilation loops of the station. Comes with pockets and ID slot, but can't be used without stripping off most gear, including backpack, belt, helmet, and exosuit. Free hands are also necessary to crawl around inside. Mind vent temperature and pressure before use."
|
|
item = /obj/item/clothing/under/contortionist
|
|
cost = 8
|
|
discounted_cost = 6
|
|
jobs_with_discount = list("Atmospheric Technician", "Chief Engineer")
|
|
|
|
/datum/uplink_item/jobspecific/engineering/flaregun
|
|
name = "Modified Flaregun"
|
|
desc = "A modified flaregun, identical in most appearances to the regular kind. Capable of firing flares at lethal velocity as well as firing any kind of shotgun ammunition normally. Comes with 7 rounds of flare ammunition."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/flaregun
|
|
cost = 6
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Atmospheric Technician", "Chief Engineer")
|
|
|
|
/datum/uplink_item/jobspecific/engineering/dev_analyser
|
|
name = "Modified Device Analyzer"
|
|
desc = "A device analyzer with the safety features disabled. Allows the user to replicate any kind of Syndicate equipment for further duplication using the station's Mechanic equipment."
|
|
item = /obj/item/device/device_analyser/syndicate
|
|
cost = 9
|
|
discounted_cost = 6
|
|
jobs_with_discount = list("Mechanic")
|
|
|
|
/datum/uplink_item/jobspecific/cargo
|
|
category = "Cargo and Mining Specials"
|
|
|
|
/datum/uplink_item/jobspecific/cargo/syndiepaper
|
|
name = "Extra Adhesive Wrapping Paper"
|
|
desc = "This extra-strong wrapping paper is perfect for concealing bodies or trapping a victim with no escape. Simply apply directly to the victim to wrap them up into a regular-looking delivery package that can be further tagged or delivered. Takes about three seconds to wrap up fully."
|
|
item = /obj/item/stack/package_wrap/syndie
|
|
cost = 6
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Cargo Technician", "Quartermaster")
|
|
|
|
/datum/uplink_item/jobspecific/cargo/mastertrainer
|
|
name = "Master Trainer's Belt"
|
|
desc = "A trainer's belt containing 6 Lazarus capsules loaded with random but particularly hostile and lethal mobs loyal to you alone. You can inspect what the Lazarus capsules contain before throwing them."
|
|
item = /obj/item/weapon/storage/belt/lazarus/antag
|
|
cost = 12
|
|
discounted_cost = 8
|
|
jobs_with_discount = list("Shaft Miner")
|
|
|
|
/datum/uplink_item/jobspecific/cargo/mastertrainer/new_uplink_item(var/new_item, var/turf/location, mob/user)
|
|
return new new_item(location, user)
|
|
|
|
/datum/uplink_item/jobspecific/service
|
|
category = "Service Specials"
|
|
|
|
/datum/uplink_item/jobspecific/service/ambrosiacruciatus
|
|
name = "Ambrosia Cruciatus Seeds"
|
|
desc = "Part of the notorious Ambrosia family, this species is nearly indistinguishable from Ambrosia Vulgaris. However, when harvested and grown, its branches contain spiritbreaker toxin. Eight units are enough to drive victims insane after a three-minute delay. Can be turned into seeds and regrown freely, ground into chemicals or rolled into blunts."
|
|
item = /obj/item/seeds/ambrosiacruciatusseed
|
|
cost = 6
|
|
discounted_cost = 2
|
|
jobs_with_discount = list("Botanist")
|
|
|
|
/datum/uplink_item/jobspecific/service/vinesuit
|
|
name = "Space Vietnam Grass Coat"
|
|
desc = "This inconspicuous grass coat was woven from kudzu fibers for guerilla missions in Space Vietnam. While wearing the coat, space vines won't entangle, bite, or otherwise harm you."
|
|
item = /obj/item/clothing/suit/mino/vinesafe
|
|
cost = 6
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Botanist")
|
|
|
|
/datum/uplink_item/jobspecific/service/beecase
|
|
name = "Briefcase Full of Bees"
|
|
desc = "A briefcase containing twenty angry bees. Will deliver the bee payload when first opened, functions as a normal briefcase after this initial swarm. The bees do not discriminate on targets, so either get someone else to open the briefcase for you or run."
|
|
item = /obj/item/weapon/storage/briefcase/bees
|
|
cost = 12
|
|
discounted_cost = 6
|
|
jobs_with_discount = list("Botanist")
|
|
|
|
/datum/uplink_item/jobspecific/service/hornethive
|
|
name = "Deployable Wild Hornet Hive"
|
|
desc = "A portable hive that starts producing deadly hornets once thrown or dropped, be careful! Best hidden in maintenance or someone's backroom to give them time to multiply."
|
|
item = /obj/item/deployable_wild_hornet_hive
|
|
cost = 10
|
|
discounted_cost = 5
|
|
jobs_with_discount = list("Botanist")
|
|
|
|
/datum/uplink_item/jobspecific/service/beenade
|
|
name = "Bee-Nade"
|
|
desc = "Over a dozen deadly hornets. The grenade comes equiped with a pheromone spray so the hornets won't attack the one who threw the grenade."
|
|
item = /obj/item/weapon/grenade/spawnergrenade/beenade
|
|
cost = 16
|
|
discounted_cost = 8
|
|
jobs_with_discount = list("Botanist")
|
|
|
|
/datum/uplink_item/jobspecific/service/specialsauce
|
|
name = "Chef Excellence's Special Sauce"
|
|
desc = "Twenty units of a custom-made sauce cooked from the toxin glands of an exotic species of space carps, and other delicious, hand-picked high-quality ingredients. If roughly two units are ingested, the victim will drop dead a few minutes after ingestion."
|
|
item = /obj/item/weapon/reagent_containers/food/condiment/syndisauce
|
|
cost = 8
|
|
discounted_cost = 2
|
|
jobs_with_discount = list("Chef")
|
|
|
|
/datum/uplink_item/jobspecific/service/meatcleaver
|
|
name = "Meat Cleaver"
|
|
desc = "A mean looking meat cleaver that does damage comparable to an Energy Sword but with the added benefit of chopping your victim into hunks of meat after they've died. It also stuns when thrown."
|
|
item = /obj/item/weapon/kitchen/utensil/knife/large/butch/meatcleaver
|
|
cost = 12
|
|
discounted_cost = 10
|
|
jobs_with_discount = list("Chef")
|
|
|
|
/datum/uplink_item/jobspecific/service/cautionsign
|
|
name = "Proximity Mine Wet Floor Sign"
|
|
desc = "An anti-personnel proximity mine cleverly disguised as a wet floor caution sign that is triggered by running past it. Interact with it to start the 15 second timer and activate it again to disarm."
|
|
item = /obj/item/weapon/caution/proximity_sign
|
|
cost = 5
|
|
discounted_cost = 3
|
|
jobs_with_discount = list("Janitor")
|
|
|
|
/datum/uplink_item/jobspecific/service/drunkbullets
|
|
name = "Boozey Shotgun Shells"
|
|
desc = "A box containing 6 shotgun shells that simulate the effects of extreme drunkenness on the target. Efficacy increases for each type of alcohol currently present in the target's bloodstream, regardless of amount."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/boolets
|
|
cost = 7
|
|
discounted_cost = 6
|
|
jobs_with_discount = list("Bartender")
|
|
|
|
/datum/uplink_item/jobspecific/service/etwenty
|
|
name = "The E20"
|
|
desc = "A seemingly innocent die with a lethal secret. When rolled, it will set a four second timer and then explode for the strength of the roll. More powerful than even expert-crafted bombs on a Nat 20!"
|
|
item = /obj/item/weapon/dice/d20/e20
|
|
cost = 6
|
|
jobs_exclusive = list("Librarian")
|
|
|
|
/datum/uplink_item/jobspecific/service/traitor_bible
|
|
name = "Feldbischof's Bible"
|
|
desc = "A copy of the station's holy book of choice, with a little ballistic discount on conversions in the form of a genuine, Chinese-made Luger pistol. 88 rapid, eight in the gun, eight in the extra mag."
|
|
item = /obj/item/weapon/storage/bible/traitor_gun
|
|
cost = 14
|
|
discounted_cost = 10
|
|
jobs_with_discount = list("Chaplain")
|
|
|
|
/datum/uplink_item/jobspecific/service/occultbook
|
|
name = "Occult Book"
|
|
desc = "A reproduction of a forbidden and occult book. Causes brain damage, eye damage and hallucinations to anyone unfortunate or stupid enough to attempt to read it. Use a pen to change its title."
|
|
item = /obj/item/weapon/book/occult
|
|
cost = 4
|
|
discounted_cost = 2
|
|
jobs_with_discount = list("Librarian", "Chaplain")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime
|
|
category = "Clown Planet Specials"
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/banannon
|
|
name = "Banannon"
|
|
desc = "A fearsome piece of ancient Clown technology, the armor-piercing discarding sabonanas fired by this weapon shed their peels in flight, increasing their damage and creating a slipping hazard in their wake. Only those trained in the Clown arts may use this weapon without risking a severe malfunction."
|
|
item = /obj/item/weapon/gun/banannon
|
|
cost = 18
|
|
jobs_exclusive = list("Clown")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/bsword
|
|
name = "Energized Bananium Sword"
|
|
desc = "An ancient piece of technology from a lost civilization. This energy sword conceals perfectly into a banana hilt that will easily fool most, but becomes extremely lethal when activated. Two of these can be combined to create the ultimate power weapon, but only a Clown may safely handle such power for the glory of Clown-kind."
|
|
item = /obj/item/weapon/melee/energy/sword/bsword
|
|
cost = 8
|
|
jobs_exclusive = list("Clown")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/livingballoons
|
|
name = "Box of Living Long Balloons"
|
|
desc = "These modified balloons can be tied into special balloon animals, which will come to life and attack any nearby non-Clowns if a balloon is popped near them. Serious hazard if manipulated by those not versed in the Clown arts."
|
|
item = /obj/item/weapon/storage/box/balloons/long/living
|
|
cost = 6
|
|
jobs_exclusive = list("Clown")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/clowngrenade
|
|
name = "Banana Grenade"
|
|
desc = "A grenade that will release a large field of banana peels on detonation that are genetically modified to be extra slippery and release caustic acid when stepped on. Covers roughly a 5x5 area."
|
|
item = /obj/item/weapon/grenade/clown_grenade
|
|
cost = 6
|
|
discounted_cost = 5
|
|
jobs_with_discount = list("Clown")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/bananagun
|
|
name = "Banana Gun"
|
|
desc = "A single-shot but particularly powerful banana gun, appearing as a banana until fired. Will do catastrophic damage to whomever it hits and only leave a banana peel behind as evidence. Do not attempt to eat."
|
|
item = /obj/item/weapon/gun/projectile/banana
|
|
cost = 4
|
|
discounted_cost = 2
|
|
jobs_with_discount = list("Clown")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/superglue
|
|
name = "Bottle of Superglue"
|
|
desc = "Considered illegal everywhere except for the Clown Planet, this water-resistant superglue can instantly bind human flesh to any material, permanently. Can only be used once."
|
|
item = /obj/item/weapon/glue
|
|
cost = 6
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Clown", "Mime", "Captain")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/invisible_spray
|
|
name = "Can of Invisible Spray"
|
|
desc = "Spray something to render it invisible for five minutes! Can only be used once. Permanence not guaranteed when exposed to water, may not render all parts invisible, especially for humans."
|
|
item = /obj/item/weapon/invisible_spray
|
|
cost = 6
|
|
jobs_excluded = list("Clown", "Mime")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/invisible_spray/permanent
|
|
name = "Can of Permanent Invisible Spray"
|
|
desc = "Spray something to render it permanently invisible! Can only be used once. Permanence not guaranteed when exposed to water, may not render all parts invisible, especially for humans."
|
|
item = /obj/item/weapon/invisible_spray/permanent
|
|
cost = 4
|
|
jobs_excluded = list()
|
|
jobs_exclusive = list("Clown", "Mime")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/advancedmime
|
|
name = "Advanced Mime Gloves"
|
|
desc = "Grants the user the ability to periodically fire an invisible gun from their white gloves with two rounds in the chamber, dealing decent damage. Only real Mimes are trained in the art of firing this artefact silently when using the forbidden hand-gun technique."
|
|
item = /obj/item/clothing/gloves/white/advanced
|
|
cost = 12
|
|
jobs_exclusive = list("Mime")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/unwall_spell
|
|
name = "Invisible Un-Wall Spellbook"
|
|
desc = "Grants the user the ability to conjure a strange wall allowing the passage of anything through a space regardless of the objects in place. Only real Mimes are capable of learning from this forbidden tome."
|
|
item = /obj/item/weapon/spellbook/oneuse/unwall
|
|
cost = 12
|
|
jobs_exclusive = list("Mime")
|
|
|
|
/datum/uplink_item/jobspecific/clown_mime/punchline
|
|
name = "Punchline"
|
|
desc = "A high risk high reward abomination combining experimental phazon and bananium technologies. Wind-up Punchline to charge it. Enough charge and your targets will slip through reality. Warning: Forcing wind-ups beyond the limiter may reverse the prototype phazite honkpacitors and disrupt reality around the user."
|
|
item = /obj/item/weapon/gun/hookshot/whip/windup_box/clownbox
|
|
cost = 14
|
|
discounted_cost = 10
|
|
jobs_with_discount = list("Clown")
|
|
jobs_excluded = list("Mime")
|
|
|
|
/datum/uplink_item/jobspecific/assistant
|
|
category = "Assistant Specials"
|
|
|
|
/datum/uplink_item/jobspecific/assistant/greytide
|
|
name = "Greytide Implants"
|
|
desc = "A box containing two greytide implanters that when injected into another person makes them loyal to the Greytide and thus your cause. Loyalty will end on implant removal or destruction, and loyalty implants will fry the implant. The bundle contains disguised SecHUD sunglasses with limited access until they scan a real pair."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/greytide
|
|
cost = 20
|
|
discounted_cost = 14
|
|
jobs_with_discount = list("Assistant")
|
|
|
|
/datum/uplink_item/jobspecific/assistant/cheaptide
|
|
name = "Cheaptide Implant"
|
|
desc = "A box containing one greytide implanter that when injected into another person makes them loyal to the Greytide and thus your cause. Loyalty will end on implant removal or destruction, and loyalty implants will fry the implant. The bundle contains disguised SecHUD sunglasses with limited access until they scan a real pair."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/cheaptide
|
|
cost = 12
|
|
discounted_cost = 8
|
|
jobs_with_discount = list("Assistant")
|
|
|
|
/datum/uplink_item/jobspecific/assistant/pickpocketgloves
|
|
name = "Pickpocket's Gloves"
|
|
desc = "A pair of sleek gloves used to aid in pickpocketing. While wearing these you can sneakily strip any item off someone without alerting their owner. Pickpocketed items will also be put into your hand rather than falling to the ground."
|
|
item = /obj/item/clothing/gloves/black/thief
|
|
cost = 4
|
|
discounted_cost = 2
|
|
jobs_with_discount = list("Assistant")
|
|
|
|
/datum/uplink_item/jobspecific/assistant/pickpocketglovestorage
|
|
name = "Pickpocket's Gloves with Storage"
|
|
desc = "A pair of sleek gloves used to aid in pickpocketing. These custom-made gloves come with a two-slot storage where pickpocketed items will automatically be placed. These items can be retrieved at will when needed."
|
|
item = /obj/item/clothing/gloves/black/thief/storage
|
|
cost = 7
|
|
discounted_cost = 4
|
|
jobs_with_discount = list("Assistant")
|
|
|
|
/datum/uplink_item/jobspecific/command
|
|
category = "Command Specials"
|
|
|
|
/datum/uplink_item/jobspecific/command/pocketsat
|
|
name = "Pocket Satellite"
|
|
desc = "A grenade which, when detonated in space, creates a circular station with radius 7. The station is loaded with self-powered computers, useful gear, and machinery as well as a teleporter beacon. Anyone right under it when it unfolds is crushed."
|
|
item = /obj/item/weapon/grenade/station
|
|
cost = 12
|
|
discounted_cost = 8
|
|
jobs_with_discount = list("Captain", "Head of Personnel")
|
|
|
|
/datum/uplink_item/jobspecific/trader
|
|
category = "Trader Specials"
|
|
|
|
/datum/uplink_item/jobspecific/trader/dartgun
|
|
name = "Chemical Dart Gun"
|
|
desc = "A staple in vox weaponry. This dart gun starts loaded with darts containing sleep toxin and chloral hydrate. The beaker inside can be swapped out to create your own deadly mixes."
|
|
item = /obj/item/weapon/gun/dartgun/vox/raider
|
|
cost = 16
|
|
jobs_exclusive = list("Trader")
|
|
|
|
/datum/uplink_item/jobspecific/trader/dart_cartridge
|
|
name = "Dart Cartridge"
|
|
desc = "A spare cartridge to refill your dart gun."
|
|
item = /obj/item/weapon/dart_cartridge
|
|
cost = 2
|
|
jobs_exclusive = list("Trader")
|
|
|
|
/datum/uplink_item/jobspecific/trader/cratesender
|
|
name = "Modified Crate Sender"
|
|
desc = "A modified salvage crate sender that has been modified to bypass the security protocols, allowing it to teleport crates from onboard the station and allowing it to teleport crates to random destinations. Comes with a cargo telepad you can send your stolen goods to."
|
|
item = /obj/item/weapon/storage/box/syndie_kit/cratesender
|
|
cost = 6
|
|
jobs_exclusive = list("Trader")
|
|
|
|
// SYNDICATE COOP
|
|
// Any high cost items that are intended to only be purchasable when three syndies come together to change the narrative.
|
|
|
|
/datum/uplink_item/syndie_coop
|
|
category = "Cooperative Cell"
|
|
available_for_nuke_ops = FALSE
|
|
|
|
/datum/uplink_item/syndie_coop/elite_bundle
|
|
name = "Elite Syndicate Bundle"
|
|
desc = "A Syndicate bundle designed for a team of two agents."
|
|
item = /obj/item/weapon/storage/box/syndicate_team
|
|
cost = 28
|
|
|
|
/datum/uplink_item/syndie_coop/stone
|
|
name = "SG-VPR-23 Pathogenic Medium"
|
|
desc = "A closely guarded artifact leveraged from the Vampire Lords. It possesses an active sample of the SG-VPR-23 strain that is the source of all known cases of vampirism within the galaxy. This piece is only to be granted to an operative cell that wishes to execute, and accepts the risk, of an SG-VPR-23 outbreak. It is brittle in its old age, and may only survive one use."
|
|
item = /obj/item/clothing/mask/stone
|
|
cost = 60
|
|
|
|
/datum/uplink_item/syndie_coop/changeling_vial
|
|
name = "CH-L1-NG Bioweapon Sample"
|
|
desc = "A securely contained vial of the experimental mutagen 'CH-L1-NG'. Originally designed as a transhumanist super-soldier serum, the mutagen was reclassified as a bioweapon when research showed that the afflicted would completely dissociate from their identity and loyalties. Victims of 'CH-L1-NG' were found to be the perfect killing machines to be released upon enemies of the Syndicate."
|
|
item = /obj/item/changeling_vial
|
|
cost = 60
|
|
|
|
/datum/uplink_item/syndie_coop/bloodcult_pamphlet
|
|
name = "Esoteric Propaganda Pamphlet"
|
|
desc = "A pamphlet found within the controlled literature archives detailing what appears to be a communication ritual to contact the celestial NRS-1. Exposure to NRS-1 is known to induce the formation of a hive-like social structure among the afflicted, delusions of grandeur, and collective suicidal tendencies. An operative cell wishing to weaponize contact with NRS-1 should proceed with extreme caution."
|
|
item = /obj/item/weapon/bloodcult_pamphlet/oneuse
|
|
cost = 60
|
|
|
|
/datum/uplink_item/syndie_coop/codebreaker
|
|
name = "Codebreaker"
|
|
desc = "The be-all-end-all solution to halting Nanotrasen's expansion into free space. This piece of Gorlex tech will allow a cell that is sufficiently large enough to decrypt the authentication key for their target station's failsafe thermonuclear warhead. Good luck, operatives."
|
|
item = /obj/item/device/codebreaker
|
|
cost = 100
|