Costumes for nuclear operatives

This commit is contained in:
coiax
2018-01-24 19:58:00 +00:00
committed by CitadelStationBot
parent 937d6c473a
commit 481f73aba0
8 changed files with 269 additions and 43 deletions

View File

@@ -34,7 +34,9 @@
/obj/item/device/pda/ai, /obj/item/device/pda/ai,
/obj/item/device/pda/heads, /obj/item/device/pda/heads,
/obj/item/device/pda/clear, /obj/item/device/pda/clear,
/obj/item/device/pda/syndicate) /obj/item/device/pda/syndicate,
/obj/item/device/pda/chameleon,
/obj/item/device/pda/chameleon/broken)
for(var/P in typesof(/obj/item/device/pda) - blocked) for(var/P in typesof(/obj/item/device/pda) - blocked)
var/obj/item/device/pda/D = new P var/obj/item/device/pda/D = new P

View File

@@ -194,6 +194,10 @@
keyslot = new /obj/item/device/encryptionkey/headset_com keyslot = new /obj/item/device/encryptionkey/headset_com
keyslot2 = new /obj/item/device/encryptionkey/headset_cent keyslot2 = new /obj/item/device/encryptionkey/headset_cent
/obj/item/device/radio/headset/headset_cent/empty
keyslot = null
keyslot2 = null
/obj/item/device/radio/headset/headset_cent/commander /obj/item/device/radio/headset/headset_cent/commander
keyslot = new /obj/item/device/encryptionkey/heads/captain keyslot = new /obj/item/device/encryptionkey/heads/captain

View File

@@ -14,7 +14,7 @@
playsound(loc, 'sound/misc/sadtrombone.ogg', 50, 0) playsound(loc, 'sound/misc/sadtrombone.ogg', 50, 0)
/obj/item/implanter/sad_trombone /obj/item/implanter/sad_trombone
name = "implanter (sad_trombone)" name = "implanter (sad trombone)"
imp_type = /obj/item/implant/sad_trombone imp_type = /obj/item/implant/sad_trombone
/obj/item/implantcase/sad_trombone /obj/item/implantcase/sad_trombone

View File

@@ -553,3 +553,16 @@
new /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka(src) new /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka(src)
new /obj/item/reagent_containers/syringe/stimulants(src) new /obj/item/reagent_containers/syringe/stimulants(src)
new /obj/item/grenade/syndieminibomb(src) new /obj/item/grenade/syndieminibomb(src)
// For ClownOps.
/obj/item/storage/backpack/duffelbag/clown/syndie
slowdown = 0
silent = TRUE
/obj/item/storage/backpack/duffelbag/clown/syndie/PopulateContents()
new /obj/item/device/pda/clown(src)
new /obj/item/clothing/under/rank/clown(src)
new /obj/item/clothing/shoes/clown_shoes(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
new /obj/item/bikehorn(src)
new /obj/item/implanter/sad_trombone(src)

View File

@@ -308,3 +308,27 @@
/obj/item/storage/box/syndie_kit/imp_radio/PopulateContents() /obj/item/storage/box/syndie_kit/imp_radio/PopulateContents()
new /obj/item/implanter/radio(src) new /obj/item/implanter/radio(src)
/obj/item/storage/box/syndie_kit/centcom_costume/PopulateContents()
new /obj/item/clothing/under/rank/centcom_officer(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/gloves/color/black(src)
new /obj/item/device/radio/headset/headset_cent/empty(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/storage/backpack/satchel(src)
new /obj/item/device/pda/heads(src)
new /obj/item/clipboard(src)
/obj/item/storage/box/syndie_kit/chameleon/broken/PopulateContents()
new /obj/item/clothing/under/chameleon/broken(src)
new /obj/item/clothing/suit/chameleon/broken(src)
new /obj/item/clothing/gloves/chameleon/broken(src)
new /obj/item/clothing/shoes/chameleon/broken(src)
new /obj/item/clothing/glasses/chameleon/broken(src)
new /obj/item/clothing/head/chameleon/broken(src)
new /obj/item/clothing/mask/chameleon/broken(src)
new /obj/item/storage/backpack/chameleon/broken(src)
new /obj/item/device/radio/headset/chameleon/broken(src)
new /obj/item/stamp/chameleon/broken(src)
new /obj/item/device/pda/chameleon/broken(src)
// No chameleon laser, they can't randomise for //REASONS//

View File

@@ -153,13 +153,15 @@
select_look(owner) select_look(owner)
return 1 return 1
/datum/action/item_action/chameleon/change/proc/emp_randomise() /datum/action/item_action/chameleon/change/proc/emp_randomise(var/amount = EMP_RANDOMISE_TIME)
if(istype(target, /obj/item/gun/energy/laser/chameleon)) if(istype(target, /obj/item/gun/energy/laser/chameleon))
return //Please no crash! return //Please no crash!
START_PROCESSING(SSprocessing, src) START_PROCESSING(SSprocessing, src)
random_look(owner) random_look(owner)
emp_timer = world.time + EMP_RANDOMISE_TIME var/new_value = world.time + amount
if(new_value > emp_timer)
emp_timer = new_value
/datum/action/item_action/chameleon/change/process() /datum/action/item_action/chameleon/change/process()
if(world.time > emp_timer) if(world.time > emp_timer)
@@ -189,8 +191,8 @@
item_state = "engi_suit" item_state = "engi_suit"
item_color = "engine" item_color = "engine"
/obj/item/clothing/under/chameleon/New() /obj/item/clothing/under/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/clothing/under chameleon_action.chameleon_type = /obj/item/clothing/under
chameleon_action.chameleon_name = "Jumpsuit" chameleon_action.chameleon_name = "Jumpsuit"
@@ -200,6 +202,10 @@
/obj/item/clothing/under/chameleon/emp_act(severity) /obj/item/clothing/under/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/clothing/under/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/clothing/suit/chameleon /obj/item/clothing/suit/chameleon
name = "armor" name = "armor"
desc = "A slim armored vest that protects against most types of damage." desc = "A slim armored vest that protects against most types of damage."
@@ -211,8 +217,8 @@
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/clothing/suit/chameleon/New() /obj/item/clothing/suit/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/clothing/suit chameleon_action.chameleon_type = /obj/item/clothing/suit
chameleon_action.chameleon_name = "Suit" chameleon_action.chameleon_name = "Suit"
@@ -222,6 +228,10 @@
/obj/item/clothing/suit/chameleon/emp_act(severity) /obj/item/clothing/suit/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/clothing/suit/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/clothing/glasses/chameleon /obj/item/clothing/glasses/chameleon
name = "Optical Meson Scanner" name = "Optical Meson Scanner"
desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition." desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition."
@@ -232,8 +242,8 @@
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/clothing/glasses/chameleon/New() /obj/item/clothing/glasses/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/clothing/glasses chameleon_action.chameleon_type = /obj/item/clothing/glasses
chameleon_action.chameleon_name = "Glasses" chameleon_action.chameleon_name = "Glasses"
@@ -243,6 +253,10 @@
/obj/item/clothing/glasses/chameleon/emp_act(severity) /obj/item/clothing/glasses/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/clothing/glasses/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/clothing/gloves/chameleon /obj/item/clothing/gloves/chameleon
desc = "These gloves will protect the wearer from electric shock." desc = "These gloves will protect the wearer from electric shock."
name = "insulated gloves" name = "insulated gloves"
@@ -254,8 +268,8 @@
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/clothing/gloves/chameleon/New() /obj/item/clothing/gloves/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/clothing/gloves chameleon_action.chameleon_type = /obj/item/clothing/gloves
chameleon_action.chameleon_name = "Gloves" chameleon_action.chameleon_name = "Gloves"
@@ -265,6 +279,10 @@
/obj/item/clothing/gloves/chameleon/emp_act(severity) /obj/item/clothing/gloves/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/clothing/gloves/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/clothing/head/chameleon /obj/item/clothing/head/chameleon
name = "grey cap" name = "grey cap"
desc = "It's a baseball hat in a tasteful grey colour." desc = "It's a baseball hat in a tasteful grey colour."
@@ -276,8 +294,8 @@
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/clothing/head/chameleon/New() /obj/item/clothing/head/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/clothing/head chameleon_action.chameleon_type = /obj/item/clothing/head
chameleon_action.chameleon_name = "Hat" chameleon_action.chameleon_name = "Hat"
@@ -287,6 +305,10 @@
/obj/item/clothing/head/chameleon/emp_act(severity) /obj/item/clothing/head/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/clothing/head/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/clothing/head/chameleon/drone /obj/item/clothing/head/chameleon/drone
// The camohat, I mean, holographic hat projection, is part of the // The camohat, I mean, holographic hat projection, is part of the
// drone itself. // drone itself.
@@ -294,8 +316,8 @@
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
// which means it offers no protection, it's just air and light // which means it offers no protection, it's just air and light
/obj/item/clothing/head/chameleon/drone/New() /obj/item/clothing/head/chameleon/drone/Initialize()
..() . = ..()
chameleon_action.random_look() chameleon_action.random_look()
var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src) var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src)
togglehatmask_action.UpdateButtonIcon() togglehatmask_action.UpdateButtonIcon()
@@ -320,8 +342,8 @@
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/clothing/mask/chameleon/New() /obj/item/clothing/mask/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/clothing/mask chameleon_action.chameleon_type = /obj/item/clothing/mask
chameleon_action.chameleon_name = "Mask" chameleon_action.chameleon_name = "Mask"
@@ -331,6 +353,10 @@
/obj/item/clothing/mask/chameleon/emp_act(severity) /obj/item/clothing/mask/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/clothing/mask/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/clothing/mask/chameleon/attack_self(mob/user) /obj/item/clothing/mask/chameleon/attack_self(mob/user)
vchange = !vchange vchange = !vchange
to_chat(user, "<span class='notice'>The voice changer is now [vchange ? "on" : "off"]!</span>") to_chat(user, "<span class='notice'>The voice changer is now [vchange ? "on" : "off"]!</span>")
@@ -343,8 +369,8 @@
// Can drones use the voice changer part? Let's not find out. // Can drones use the voice changer part? Let's not find out.
vchange = 0 vchange = 0
/obj/item/clothing/mask/chameleon/drone/New() /obj/item/clothing/mask/chameleon/drone/Initialize()
..() . = ..()
chameleon_action.random_look() chameleon_action.random_look()
var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src) var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src)
togglehatmask_action.UpdateButtonIcon() togglehatmask_action.UpdateButtonIcon()
@@ -367,8 +393,8 @@
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/clothing/shoes/chameleon/New() /obj/item/clothing/shoes/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/clothing/shoes chameleon_action.chameleon_type = /obj/item/clothing/shoes
chameleon_action.chameleon_name = "Shoes" chameleon_action.chameleon_name = "Shoes"
@@ -378,6 +404,10 @@
/obj/item/clothing/shoes/chameleon/emp_act(severity) /obj/item/clothing/shoes/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/clothing/shoes/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/gun/energy/laser/chameleon /obj/item/gun/energy/laser/chameleon
name = "practice laser gun" name = "practice laser gun"
desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice." desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice."
@@ -405,8 +435,6 @@
chameleon_action.chameleon_blacklist = typecacheof(/obj/item/gun/magic, ignore_root_path = FALSE) chameleon_action.chameleon_blacklist = typecacheof(/obj/item/gun/magic, ignore_root_path = FALSE)
chameleon_action.initialize_disguises() chameleon_action.initialize_disguises()
/obj/item/gun/energy/laser/chameleon/Initialize()
. = ..()
projectile_copy_vars = list("name", "icon", "icon_state", "item_state", "speed", "color", "hitsound", "forcedodge", "impact_effect_type", "range", "suppressed", "hitsound_wall", "impact_effect_type", "pass_flags") projectile_copy_vars = list("name", "icon", "icon_state", "item_state", "speed", "color", "hitsound", "forcedodge", "impact_effect_type", "range", "suppressed", "hitsound_wall", "impact_effect_type", "pass_flags")
chameleon_projectile_vars = list("name" = "practice laser", "icon" = 'icons/obj/projectiles.dmi', "icon_state" = "laser") chameleon_projectile_vars = list("name" = "practice laser", "icon" = 'icons/obj/projectiles.dmi', "icon_state" = "laser")
gun_copy_vars = list("fire_sound", "burst_size", "fire_delay") gun_copy_vars = list("fire_sound", "burst_size", "fire_delay")
@@ -505,8 +533,8 @@
name = "backpack" name = "backpack"
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/storage/backpack/chameleon/New() /obj/item/storage/backpack/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/storage/backpack chameleon_action.chameleon_type = /obj/item/storage/backpack
chameleon_action.chameleon_name = "Backpack" chameleon_action.chameleon_name = "Backpack"
@@ -515,14 +543,18 @@
/obj/item/storage/backpack/chameleon/emp_act(severity) /obj/item/storage/backpack/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/storage/backpack/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/storage/belt/chameleon /obj/item/storage/belt/chameleon
name = "toolbelt" name = "toolbelt"
desc = "Holds tools." desc = "Holds tools."
silent = 1 silent = 1
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/storage/belt/chameleon/New() /obj/item/storage/belt/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/storage/belt chameleon_action.chameleon_type = /obj/item/storage/belt
chameleon_action.chameleon_name = "Belt" chameleon_action.chameleon_name = "Belt"
@@ -531,6 +563,10 @@
/obj/item/storage/belt/chameleon/emp_act(severity) /obj/item/storage/belt/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/storage/belt/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/device/radio/headset/chameleon /obj/item/device/radio/headset/chameleon
name = "radio headset" name = "radio headset"
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
@@ -545,12 +581,16 @@
/obj/item/device/radio/headset/chameleon/emp_act(severity) /obj/item/device/radio/headset/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/device/radio/headset/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)
/obj/item/device/pda/chameleon /obj/item/device/pda/chameleon
name = "PDA" name = "PDA"
var/datum/action/item_action/chameleon/change/chameleon_action var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/device/pda/chameleon/New() /obj/item/device/pda/chameleon/Initialize()
..() . = ..()
chameleon_action = new(src) chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/device/pda chameleon_action.chameleon_type = /obj/item/device/pda
chameleon_action.chameleon_name = "PDA" chameleon_action.chameleon_name = "PDA"
@@ -560,3 +600,7 @@
/obj/item/device/pda/chameleon/emp_act(severity) /obj/item/device/pda/chameleon/emp_act(severity)
chameleon_action.emp_randomise() chameleon_action.emp_randomise()
/obj/item/device/pda/chameleon/broken/Initialize()
. = ..()
chameleon_action.emp_randomise(INFINITY)

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
/obj/item/stamp /obj/item/stamp
name = "\improper GRANTED rubber stamp" name = "\improper GRANTED rubber stamp"
desc = "A rubber stamp for stamping important documents." desc = "A rubber stamp for stamping important documents."
@@ -109,3 +110,127 @@
if(initial(stamp_type.name) == input_stamp) if(initial(stamp_type.name) == input_stamp)
break break
change_to(stamp_type) change_to(stamp_type)
=======
/obj/item/stamp
name = "\improper GRANTED rubber stamp"
desc = "A rubber stamp for stamping important documents."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "stamp-ok"
item_state = "stamp"
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
throw_range = 7
materials = list(MAT_METAL=60)
item_color = "cargo"
pressure_resistance = 2
attack_verb = list("stamped")
/obj/item/stamp/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] stamps 'VOID' on [user.p_their()] forehead, then promptly falls over, dead.</span>")
return (OXYLOSS)
/obj/item/stamp/qm
name = "quartermaster's rubber stamp"
icon_state = "stamp-qm"
item_color = "qm"
/obj/item/stamp/law
name = "law office's rubber stamp"
icon_state = "stamp-law"
item_color = "cargo"
/obj/item/stamp/captain
name = "captain's rubber stamp"
icon_state = "stamp-cap"
item_color = "captain"
/obj/item/stamp/hop
name = "head of personnel's rubber stamp"
icon_state = "stamp-hop"
item_color = "hop"
/obj/item/stamp/hos
name = "head of security's rubber stamp"
icon_state = "stamp-hos"
item_color = "hosred"
/obj/item/stamp/ce
name = "chief engineer's rubber stamp"
icon_state = "stamp-ce"
item_color = "chief"
/obj/item/stamp/rd
name = "research director's rubber stamp"
icon_state = "stamp-rd"
item_color = "director"
/obj/item/stamp/cmo
name = "chief medical officer's rubber stamp"
icon_state = "stamp-cmo"
item_color = "cmo"
/obj/item/stamp/denied
name = "\improper DENIED rubber stamp"
icon_state = "stamp-deny"
item_color = "redcoat"
/obj/item/stamp/clown
name = "clown's rubber stamp"
icon_state = "stamp-clown"
item_color = "clown"
/obj/item/stamp/attack_paw(mob/user)
return attack_hand(user)
// Syndicate stamp to forge documents.
/obj/item/stamp/chameleon
actions_types = list(/datum/action/item_action/toggle)
var/list/stamp_types
var/list/stamp_names
/obj/item/stamp/chameleon/Initialize()
. = ..()
stamp_types = typesof(/obj/item/stamp) - type // Get all stamp types except our own
stamp_names = list()
// Generate them into a list
for(var/i in stamp_types)
var/obj/item/stamp/stamp_type = i
stamp_names += initial(stamp_type.name)
stamp_names = sortList(stamp_names)
/obj/item/stamp/chameleon/emp_act(severity)
change_to(pick(stamp_types))
/obj/item/stamp/chameleon/proc/change_to(obj/item/stamp/stamp_type)
name = initial(stamp_type.name)
icon_state = initial(stamp_type.icon_state)
item_color = initial(stamp_type.item_color)
/obj/item/stamp/chameleon/attack_self(mob/user)
var/input_stamp = input(user, "Choose a stamp to disguise as.",
"Choose a stamp.") as null|anything in stamp_names
if(user && (src in user.contents) && input_stamp)
var/obj/item/stamp/stamp_type
for(var/i in stamp_types)
stamp_type = i
if(initial(stamp_type.name) == input_stamp)
break
change_to(stamp_type)
/obj/item/stamp/chameleon/broken/Initialize()
. = ..()
START_PROCESSING(SSobj, src)
/obj/item/stamp/chameleon/broken/Destroy()
STOP_PROCESSING(SSobj, src)
return ..()
/obj/item/stamp/chameleon/broken/process()
change_to(pick(stamp_types))
>>>>>>> a00d4b1... Costumes for nuclear operatives (#34487)

View File

@@ -714,10 +714,6 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
exclude_modes = list(/datum/game_mode/nuclear) exclude_modes = list(/datum/game_mode/nuclear)
player_minimum = 20 player_minimum = 20
/datum/uplink_item/stealthy_tools/chameleon/nuke
cost = 6
include_modes = list(/datum/game_mode/nuclear)
/datum/uplink_item/stealthy_tools/syndigaloshes /datum/uplink_item/stealthy_tools/syndigaloshes
name = "No-Slip Chameleon Shoes" name = "No-Slip Chameleon Shoes"
desc = "These shoes will allow the wearer to run on wet floors and slippery objects without falling down. \ desc = "These shoes will allow the wearer to run on wet floors and slippery objects without falling down. \
@@ -727,6 +723,12 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
exclude_modes = list(/datum/game_mode/nuclear) exclude_modes = list(/datum/game_mode/nuclear)
player_minimum = 20 player_minimum = 20
/datum/uplink_item/stealthy_tools/syndigaloshes/nuke
item = /obj/item/clothing/shoes/chameleon
cost = 4
exclude_modes = list()
include_modes = list(/datum/game_mode/nuclear)
/datum/uplink_item/stealthy_tools/frame /datum/uplink_item/stealthy_tools/frame
name = "F.R.A.M.E. PDA Cartridge" name = "F.R.A.M.E. PDA Cartridge"
desc = "When inserted into a personal digital assistant, this cartridge gives you five PDA viruses which \ desc = "When inserted into a personal digital assistant, this cartridge gives you five PDA viruses which \
@@ -736,15 +738,6 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
item = /obj/item/cartridge/virus/frame item = /obj/item/cartridge/virus/frame
cost = 4 cost = 4
/datum/uplink_item/stealthy_tools/syndigaloshes/nuke
name = "Stealthy No-Slip Chameleon Shoes"
desc = "These shoes will allow the wearer to run on wet floors and slippery objects without falling down. \
They do not work on heavily lubricated surfaces. The manufacturer claims they are much more stealthy than the normal brand."
item = /obj/item/clothing/shoes/chameleon
cost = 4
exclude_modes = list()
include_modes = list(/datum/game_mode/nuclear)
/datum/uplink_item/stealthy_tools/agent_card /datum/uplink_item/stealthy_tools/agent_card
name = "Agent Identification Card" name = "Agent Identification Card"
desc = "Agent cards prevent artificial intelligences from tracking the wearer, and can copy access \ desc = "Agent cards prevent artificial intelligences from tracking the wearer, and can copy access \
@@ -1328,6 +1321,27 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
cost = 20 cost = 20
cant_discount = TRUE cant_discount = TRUE
/datum/uplink_item/badass/costumes
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
cost = 4
cant_discount = TRUE
/datum/uplink_item/badass/costumes/centcom_official
name = "Centcom Official Costume"
desc = "Ask the crew to \"inspect\" their nuclear disk and weapons system, and then when they decline, pull out a fully automatic rifle and gun down the Captain. Radio headset does not include key. No gun included."
item = /obj/item/storage/box/syndie_kit/centcom_costume
/datum/uplink_item/badass/costumes/clown
name = "Clown Costume"
desc = "Nothing is more terrifying than clowns with fully automatic weaponry."
item = /obj/item/storage/backpack/duffelbag/clown/syndie
/datum/uplink_item/badass/costumes/obvious_chameleon
name = "Broken Chameleon Kit"
desc = "A set of items that contain chameleon technology allowing you to disguise as pretty much anything on the station, and more! Please note that this kit did NOT pass quality control."
item = /obj/item/storage/box/syndie_kit/chameleon/broken
/datum/uplink_item/badass/bundle /datum/uplink_item/badass/bundle
name = "Syndicate Bundle" name = "Syndicate Bundle"
desc = "Syndicate Bundles are specialized groups of items that arrive in a plain box. \ desc = "Syndicate Bundles are specialized groups of items that arrive in a plain box. \