Merge pull request #4580 from Citadel-Station-13/upstream-merge-33842

[MIRROR] Internal radio implant
This commit is contained in:
LetterJay
2017-12-30 05:03:48 -06:00
committed by GitHub
5 changed files with 378 additions and 310 deletions
@@ -77,3 +77,40 @@
if (!healthstring)
healthstring = "ERROR"
return healthstring
/obj/item/implant/radio
name = "internal radio implant"
desc = "Are you there God? It's me, Syndicate Comms Agent."
activated = TRUE
var/obj/item/device/radio/radio
var/radio_key = /obj/item/device/encryptionkey/syndicate
icon = 'icons/obj/radio.dmi'
icon_state = "walkietalkie"
/obj/item/implant/radio/activate()
// needs to be GLOB.deep_inventory_state otherwise it won't open
radio.ui_interact(usr, "main", null, FALSE, null, GLOB.deep_inventory_state)
/obj/item/implant/radio/Initialize(mapload)
. = ..()
radio = new(src)
// almost like an internal headset, but without the
// "must be in ears to hear" restriction.
radio.name = "internal radio"
radio.subspace_transmission = TRUE
radio.canhear_range = 0
radio.keyslot = new radio_key
radio.recalculateChannels()
/obj/item/implant/radio/get_data()
var/dat = {"<b>Implant Specifications:</b><BR>
<b>Name:</b> Internal Radio Implant<BR>
<b>Life:</b> 24 hours<BR>
<b>Implant Details:</b> Allows user to use an internal radio, useful if user expects equipment loss, or cannot equip conventional radios."}
return dat
/obj/item/implanter/radio
name = "implanter (internal radio)"
imp_type = /obj/item/implant/radio
+310 -307
View File
@@ -1,307 +1,310 @@
/obj/item/storage/box/syndicate
/obj/item/storage/box/syndicate/PopulateContents()
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1)))
if("bloodyspai") // 27 tc now this is more right
new /obj/item/clothing/under/chameleon(src) // 2 tc since it's not the full set
new /obj/item/clothing/mask/chameleon(src) // Goes with above
new /obj/item/card/id/syndicate(src) // 2 tc
new /obj/item/clothing/shoes/chameleon(src) // 2 tc
new /obj/item/device/camera_bug(src) // 1 tc
new /obj/item/device/multitool/ai_detect(src) // 1 tc
new /obj/item/device/encryptionkey/syndicate(src) // 2 tc
new /obj/item/reagent_containers/syringe/mulligan(src) // 4 tc
new /obj/item/switchblade(src) //I'll count this as 2 tc
new /obj/item/storage/fancy/cigarettes/cigpack_syndicate (src) // 2 tc this shit heals
new /obj/item/device/flashlight/emp(src) // 2 tc
new /obj/item/device/chameleon(src) // 7 tc
if("stealth") // 31 tc
new /obj/item/gun/energy/kinetic_accelerator/crossbow(src)
new /obj/item/pen/sleepy(src)
new /obj/item/device/healthanalyzer/rad_laser(src)
new /obj/item/device/chameleon(src)
new /obj/item/soap/syndie(src)
new /obj/item/clothing/glasses/thermal/syndi(src)
if("bond") // 29 tc
new /obj/item/gun/ballistic/automatic/pistol(src)
new /obj/item/suppressor(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/clothing/under/chameleon(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/reagent_containers/syringe/stimulants(src)
if("screwed") // 29 tc
new /obj/item/device/sbeacondrop/bomb(src)
new /obj/item/grenade/syndieminibomb(src)
new /obj/item/device/sbeacondrop/powersink(src)
new /obj/item/clothing/suit/space/syndicate/black/red(src)
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
new /obj/item/device/encryptionkey/syndicate(src)
if("guns") // 28 tc now
new /obj/item/gun/ballistic/revolver(src)
new /obj/item/ammo_box/a357(src)
new /obj/item/ammo_box/a357(src)
new /obj/item/card/emag(src)
new /obj/item/grenade/plastic/c4(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
new /obj/item/clothing/under/suit_jacket/really_black(src)
if("murder") // 28 tc now
new /obj/item/melee/transforming/energy/sword/saber(src)
new /obj/item/clothing/glasses/thermal/syndi(src)
new /obj/item/card/emag(src)
new /obj/item/clothing/shoes/chameleon(src)
new /obj/item/device/encryptionkey/syndicate(src)
new /obj/item/grenade/syndieminibomb(src)
if("implant") // 55+ tc holy shit what the fuck this is a lottery disguised as fun boxes isn't it?
new /obj/item/implanter/freedom(src)
new /obj/item/implanter/uplink/precharged(src)
new /obj/item/implanter/emp(src)
new /obj/item/implanter/adrenalin(src)
new /obj/item/implanter/explosive(src)
new /obj/item/implanter/storage(src)
if("hacker") // 26 tc
new /obj/item/aiModule/syndicate(src)
new /obj/item/card/emag(src)
new /obj/item/device/encryptionkey/binary(src)
new /obj/item/aiModule/toyAI(src)
new /obj/item/device/multitool/ai_detect(src)
if("lordsingulo") // 24 tc
new /obj/item/device/sbeacondrop(src)
new /obj/item/clothing/suit/space/syndicate/black/red(src)
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
new /obj/item/card/emag(src)
if("sabotage") // 26 tc now
new /obj/item/grenade/plastic/c4 (src)
new /obj/item/grenade/plastic/c4 (src)
new /obj/item/device/doorCharge(src)
new /obj/item/device/doorCharge(src)
new /obj/item/device/camera_bug(src)
new /obj/item/device/sbeacondrop/powersink(src)
new /obj/item/cartridge/virus/syndicate(src)
new /obj/item/storage/toolbox/syndicate(src) //To actually get to those places
new /obj/item/pizzabox/bomb
if("darklord") //20 tc + tk + summon item close enough for now
new /obj/item/twohanded/dualsaber(src)
new /obj/item/dnainjector/telemut/darkbundle(src)
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/clothing/shoes/chameleon(src) //because slipping while being a dark lord sucks
new /obj/item/spellbook/oneuse/summonitem(src)
if("sniper") //This shit is unique so can't really balance it around tc, also no silencer because getting killed without ANY indicator on what killed you sucks
new /obj/item/gun/ballistic/automatic/sniper_rifle(src) // 12 tc
new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src)
new /obj/item/clothing/glasses/thermal/syndi(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
new /obj/item/clothing/under/suit_jacket/really_black(src)
if("metaops") // 30 tc
new /obj/item/clothing/suit/space/hardsuit/syndi(src) // 8 tc
new /obj/item/gun/ballistic/automatic/shotgun/bulldog/unrestricted(src) // 8 tc
new /obj/item/implanter/explosive(src) // 2 tc
new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc
new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc
new /obj/item/grenade/plastic/c4 (src) // 1 tc
new /obj/item/grenade/plastic/c4 (src) // 1 tc
new /obj/item/card/emag(src) // 6 tc
if("ninja") // 33 tc worth
new /obj/item/katana(src) // Unique , hard to tell how much tc this is worth. 8 tc?
new /obj/item/implanter/adrenalin(src) // 8 tc
new /obj/item/throwing_star(src) // ~5 tc for all 6
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/storage/belt/chameleon(src) // Unique but worth at least 2 tc
new /obj/item/card/id/syndicate(src) // 2 tc
new /obj/item/device/chameleon(src) // 7 tc
/obj/item/storage/box/syndie_kit
name = "box"
desc = "A sleek, sturdy box."
icon_state = "syndiebox"
illustration = "writing_syndie"
/obj/item/storage/box/syndie_kit/imp_freedom
name = "boxed freedom implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_freedom/PopulateContents()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/freedom(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/imp_microbomb
name = "Microbomb Implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_microbomb/PopulateContents()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/explosive(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/imp_macrobomb
name = "Macrobomb Implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_macrobomb/PopulateContents()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/explosive/macro(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/imp_uplink
name = "boxed uplink implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_uplink/PopulateContents()
..()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/uplink(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/bioterror
name = "bioterror syringe box"
/obj/item/storage/box/syndie_kit/bioterror/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/reagent_containers/syringe/bioterror(src)
/obj/item/storage/box/syndie_kit/imp_adrenal
name = "boxed adrenal implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_adrenal/PopulateContents()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/adrenalin(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/imp_storage
name = "boxed storage implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_storage/PopulateContents()
new /obj/item/implanter/storage(src)
/obj/item/storage/box/syndie_kit/space
name = "boxed space suit and helmet"
can_hold = list(/obj/item/clothing/suit/space/syndicate, /obj/item/clothing/head/helmet/space/syndicate)
max_w_class = WEIGHT_CLASS_NORMAL
/obj/item/storage/box/syndie_kit/space/PopulateContents()
new /obj/item/clothing/suit/space/syndicate/black/red(src) // Black and red is so in right now
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
/obj/item/storage/box/syndie_kit/emp
name = "boxed EMP kit"
/obj/item/storage/box/syndie_kit/emp/PopulateContents()
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/implanter/emp(src)
/obj/item/storage/box/syndie_kit/chemical
name = "boxed chemical kit"
storage_slots = 14
/obj/item/storage/box/syndie_kit/chemical/PopulateContents()
new /obj/item/reagent_containers/glass/bottle/polonium(src)
new /obj/item/reagent_containers/glass/bottle/venom(src)
new /obj/item/reagent_containers/glass/bottle/neurotoxin2(src)
new /obj/item/reagent_containers/glass/bottle/formaldehyde(src)
new /obj/item/reagent_containers/glass/bottle/spewium(src)
new /obj/item/reagent_containers/glass/bottle/cyanide(src)
new /obj/item/reagent_containers/glass/bottle/histamine(src)
new /obj/item/reagent_containers/glass/bottle/initropidril(src)
new /obj/item/reagent_containers/glass/bottle/pancuronium(src)
new /obj/item/reagent_containers/glass/bottle/sodium_thiopental(src)
new /obj/item/reagent_containers/glass/bottle/coniine(src)
new /obj/item/reagent_containers/glass/bottle/curare(src)
new /obj/item/reagent_containers/glass/bottle/amanitin(src)
new /obj/item/reagent_containers/syringe(src)
/obj/item/storage/box/syndie_kit/nuke
name = "box"
/obj/item/storage/box/syndie_kit/nuke/PopulateContents()
new /obj/item/screwdriver/nuke(src)
new /obj/item/nuke_core_container(src)
new /obj/item/paper/guides/antag/nuke_instructions(src)
/obj/item/storage/box/syndie_kit/supermatter
name = "box"
/obj/item/storage/box/syndie_kit/supermatter/PopulateContents()
new /obj/item/scalpel/supermatter(src)
new /obj/item/hemostat/supermatter(src)
new /obj/item/nuke_core_container/supermatter(src)
new /obj/item/paper/guides/antag/supermatter_sliver(src)
/obj/item/storage/box/syndie_kit/tuberculosisgrenade
name = "boxed virus grenade kit"
/obj/item/storage/box/syndie_kit/tuberculosisgrenade/PopulateContents()
new /obj/item/grenade/chem_grenade/tuberculosis(src)
for(var/i in 1 to 5)
new /obj/item/reagent_containers/hypospray/medipen/tuberculosiscure(src)
new /obj/item/reagent_containers/syringe(src)
new /obj/item/reagent_containers/glass/bottle/tuberculosiscure(src)
/obj/item/storage/box/syndie_kit/chameleon
name = "chameleon kit"
/obj/item/storage/box/syndie_kit/chameleon/PopulateContents()
new /obj/item/clothing/under/chameleon(src)
new /obj/item/clothing/suit/chameleon(src)
new /obj/item/clothing/gloves/chameleon(src)
new /obj/item/clothing/shoes/chameleon(src)
new /obj/item/clothing/glasses/chameleon(src)
new /obj/item/clothing/head/chameleon(src)
new /obj/item/clothing/mask/chameleon(src)
new /obj/item/storage/backpack/chameleon(src)
new /obj/item/device/radio/headset/chameleon(src)
new /obj/item/stamp/chameleon(src)
new /obj/item/device/pda/chameleon(src)
new /obj/item/gun/energy/laser/chameleon(src)
//5*(2*4) = 5*8 = 45, 45 damage if you hit one person with all 5 stars.
//Not counting the damage it will do while embedded (2*4 = 8, at 15% chance)
/obj/item/storage/box/syndie_kit/throwing_weapons/PopulateContents()
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/restraints/legcuffs/bola/tactical(src)
new /obj/item/restraints/legcuffs/bola/tactical(src)
/obj/item/storage/box/syndie_kit/cutouts/PopulateContents()
for(var/i in 1 to 3)
new/obj/item/cardboard_cutout/adaptive(src)
new/obj/item/toy/crayon/rainbow(src)
/obj/item/storage/box/syndie_kit/romerol/PopulateContents()
new /obj/item/reagent_containers/glass/bottle/romerol(src)
new /obj/item/reagent_containers/syringe(src)
new /obj/item/reagent_containers/dropper(src)
/obj/item/storage/box/syndie_kit/ez_clean/PopulateContents()
for(var/i in 1 to 3)
new/obj/item/grenade/chem_grenade/ez_clean(src)
/obj/item/storage/box/hug/reverse_revolver/PopulateContents()
new /obj/item/gun/ballistic/revolver/reverse(src)
/obj/item/storage/box/syndie_kit/mimery/PopulateContents()
new /obj/item/spellbook/oneuse/mimery_blockade(src)
new /obj/item/spellbook/oneuse/mimery_guns(src)
/obj/item/storage/box/syndicate
/obj/item/storage/box/syndicate/PopulateContents()
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1)))
if("bloodyspai") // 27 tc now this is more right
new /obj/item/clothing/under/chameleon(src) // 2 tc since it's not the full set
new /obj/item/clothing/mask/chameleon(src) // Goes with above
new /obj/item/card/id/syndicate(src) // 2 tc
new /obj/item/clothing/shoes/chameleon(src) // 2 tc
new /obj/item/device/camera_bug(src) // 1 tc
new /obj/item/device/multitool/ai_detect(src) // 1 tc
new /obj/item/device/encryptionkey/syndicate(src) // 2 tc
new /obj/item/reagent_containers/syringe/mulligan(src) // 4 tc
new /obj/item/switchblade(src) //I'll count this as 2 tc
new /obj/item/storage/fancy/cigarettes/cigpack_syndicate (src) // 2 tc this shit heals
new /obj/item/device/flashlight/emp(src) // 2 tc
new /obj/item/device/chameleon(src) // 7 tc
if("stealth") // 31 tc
new /obj/item/gun/energy/kinetic_accelerator/crossbow(src)
new /obj/item/pen/sleepy(src)
new /obj/item/device/healthanalyzer/rad_laser(src)
new /obj/item/device/chameleon(src)
new /obj/item/soap/syndie(src)
new /obj/item/clothing/glasses/thermal/syndi(src)
if("bond") // 29 tc
new /obj/item/gun/ballistic/automatic/pistol(src)
new /obj/item/suppressor(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/clothing/under/chameleon(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/reagent_containers/syringe/stimulants(src)
if("screwed") // 29 tc
new /obj/item/device/sbeacondrop/bomb(src)
new /obj/item/grenade/syndieminibomb(src)
new /obj/item/device/sbeacondrop/powersink(src)
new /obj/item/clothing/suit/space/syndicate/black/red(src)
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
new /obj/item/device/encryptionkey/syndicate(src)
if("guns") // 28 tc now
new /obj/item/gun/ballistic/revolver(src)
new /obj/item/ammo_box/a357(src)
new /obj/item/ammo_box/a357(src)
new /obj/item/card/emag(src)
new /obj/item/grenade/plastic/c4(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
new /obj/item/clothing/under/suit_jacket/really_black(src)
if("murder") // 28 tc now
new /obj/item/melee/transforming/energy/sword/saber(src)
new /obj/item/clothing/glasses/thermal/syndi(src)
new /obj/item/card/emag(src)
new /obj/item/clothing/shoes/chameleon(src)
new /obj/item/device/encryptionkey/syndicate(src)
new /obj/item/grenade/syndieminibomb(src)
if("implant") // 55+ tc holy shit what the fuck this is a lottery disguised as fun boxes isn't it?
new /obj/item/implanter/freedom(src)
new /obj/item/implanter/uplink/precharged(src)
new /obj/item/implanter/emp(src)
new /obj/item/implanter/adrenalin(src)
new /obj/item/implanter/explosive(src)
new /obj/item/implanter/storage(src)
if("hacker") // 26 tc
new /obj/item/aiModule/syndicate(src)
new /obj/item/card/emag(src)
new /obj/item/device/encryptionkey/binary(src)
new /obj/item/aiModule/toyAI(src)
new /obj/item/device/multitool/ai_detect(src)
if("lordsingulo") // 24 tc
new /obj/item/device/sbeacondrop(src)
new /obj/item/clothing/suit/space/syndicate/black/red(src)
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
new /obj/item/card/emag(src)
if("sabotage") // 26 tc now
new /obj/item/grenade/plastic/c4 (src)
new /obj/item/grenade/plastic/c4 (src)
new /obj/item/device/doorCharge(src)
new /obj/item/device/doorCharge(src)
new /obj/item/device/camera_bug(src)
new /obj/item/device/sbeacondrop/powersink(src)
new /obj/item/cartridge/virus/syndicate(src)
new /obj/item/storage/toolbox/syndicate(src) //To actually get to those places
new /obj/item/pizzabox/bomb
if("darklord") //20 tc + tk + summon item close enough for now
new /obj/item/twohanded/dualsaber(src)
new /obj/item/dnainjector/telemut/darkbundle(src)
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/clothing/shoes/chameleon(src) //because slipping while being a dark lord sucks
new /obj/item/spellbook/oneuse/summonitem(src)
if("sniper") //This shit is unique so can't really balance it around tc, also no silencer because getting killed without ANY indicator on what killed you sucks
new /obj/item/gun/ballistic/automatic/sniper_rifle(src) // 12 tc
new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src)
new /obj/item/clothing/glasses/thermal/syndi(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
new /obj/item/clothing/under/suit_jacket/really_black(src)
if("metaops") // 30 tc
new /obj/item/clothing/suit/space/hardsuit/syndi(src) // 8 tc
new /obj/item/gun/ballistic/automatic/shotgun/bulldog/unrestricted(src) // 8 tc
new /obj/item/implanter/explosive(src) // 2 tc
new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc
new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc
new /obj/item/grenade/plastic/c4 (src) // 1 tc
new /obj/item/grenade/plastic/c4 (src) // 1 tc
new /obj/item/card/emag(src) // 6 tc
if("ninja") // 33 tc worth
new /obj/item/katana(src) // Unique , hard to tell how much tc this is worth. 8 tc?
new /obj/item/implanter/adrenalin(src) // 8 tc
new /obj/item/throwing_star(src) // ~5 tc for all 6
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/storage/belt/chameleon(src) // Unique but worth at least 2 tc
new /obj/item/card/id/syndicate(src) // 2 tc
new /obj/item/device/chameleon(src) // 7 tc
/obj/item/storage/box/syndie_kit
name = "box"
desc = "A sleek, sturdy box."
icon_state = "syndiebox"
illustration = "writing_syndie"
/obj/item/storage/box/syndie_kit/imp_freedom
name = "boxed freedom implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_freedom/PopulateContents()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/freedom(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/imp_microbomb
name = "Microbomb Implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_microbomb/PopulateContents()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/explosive(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/imp_macrobomb
name = "Macrobomb Implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_macrobomb/PopulateContents()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/explosive/macro(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/imp_uplink
name = "boxed uplink implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_uplink/PopulateContents()
..()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/uplink(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/bioterror
name = "bioterror syringe box"
/obj/item/storage/box/syndie_kit/bioterror/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/reagent_containers/syringe/bioterror(src)
/obj/item/storage/box/syndie_kit/imp_adrenal
name = "boxed adrenal implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_adrenal/PopulateContents()
var/obj/item/implanter/O = new(src)
O.imp = new /obj/item/implant/adrenalin(O)
O.update_icon()
/obj/item/storage/box/syndie_kit/imp_storage
name = "boxed storage implant (with injector)"
/obj/item/storage/box/syndie_kit/imp_storage/PopulateContents()
new /obj/item/implanter/storage(src)
/obj/item/storage/box/syndie_kit/space
name = "boxed space suit and helmet"
can_hold = list(/obj/item/clothing/suit/space/syndicate, /obj/item/clothing/head/helmet/space/syndicate)
max_w_class = WEIGHT_CLASS_NORMAL
/obj/item/storage/box/syndie_kit/space/PopulateContents()
new /obj/item/clothing/suit/space/syndicate/black/red(src) // Black and red is so in right now
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
/obj/item/storage/box/syndie_kit/emp
name = "boxed EMP kit"
/obj/item/storage/box/syndie_kit/emp/PopulateContents()
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/implanter/emp(src)
/obj/item/storage/box/syndie_kit/chemical
name = "boxed chemical kit"
storage_slots = 14
/obj/item/storage/box/syndie_kit/chemical/PopulateContents()
new /obj/item/reagent_containers/glass/bottle/polonium(src)
new /obj/item/reagent_containers/glass/bottle/venom(src)
new /obj/item/reagent_containers/glass/bottle/neurotoxin2(src)
new /obj/item/reagent_containers/glass/bottle/formaldehyde(src)
new /obj/item/reagent_containers/glass/bottle/spewium(src)
new /obj/item/reagent_containers/glass/bottle/cyanide(src)
new /obj/item/reagent_containers/glass/bottle/histamine(src)
new /obj/item/reagent_containers/glass/bottle/initropidril(src)
new /obj/item/reagent_containers/glass/bottle/pancuronium(src)
new /obj/item/reagent_containers/glass/bottle/sodium_thiopental(src)
new /obj/item/reagent_containers/glass/bottle/coniine(src)
new /obj/item/reagent_containers/glass/bottle/curare(src)
new /obj/item/reagent_containers/glass/bottle/amanitin(src)
new /obj/item/reagent_containers/syringe(src)
/obj/item/storage/box/syndie_kit/nuke
name = "box"
/obj/item/storage/box/syndie_kit/nuke/PopulateContents()
new /obj/item/screwdriver/nuke(src)
new /obj/item/nuke_core_container(src)
new /obj/item/paper/guides/antag/nuke_instructions(src)
/obj/item/storage/box/syndie_kit/supermatter
name = "box"
/obj/item/storage/box/syndie_kit/supermatter/PopulateContents()
new /obj/item/scalpel/supermatter(src)
new /obj/item/hemostat/supermatter(src)
new /obj/item/nuke_core_container/supermatter(src)
new /obj/item/paper/guides/antag/supermatter_sliver(src)
/obj/item/storage/box/syndie_kit/tuberculosisgrenade
name = "boxed virus grenade kit"
/obj/item/storage/box/syndie_kit/tuberculosisgrenade/PopulateContents()
new /obj/item/grenade/chem_grenade/tuberculosis(src)
for(var/i in 1 to 5)
new /obj/item/reagent_containers/hypospray/medipen/tuberculosiscure(src)
new /obj/item/reagent_containers/syringe(src)
new /obj/item/reagent_containers/glass/bottle/tuberculosiscure(src)
/obj/item/storage/box/syndie_kit/chameleon
name = "chameleon kit"
/obj/item/storage/box/syndie_kit/chameleon/PopulateContents()
new /obj/item/clothing/under/chameleon(src)
new /obj/item/clothing/suit/chameleon(src)
new /obj/item/clothing/gloves/chameleon(src)
new /obj/item/clothing/shoes/chameleon(src)
new /obj/item/clothing/glasses/chameleon(src)
new /obj/item/clothing/head/chameleon(src)
new /obj/item/clothing/mask/chameleon(src)
new /obj/item/storage/backpack/chameleon(src)
new /obj/item/device/radio/headset/chameleon(src)
new /obj/item/stamp/chameleon(src)
new /obj/item/device/pda/chameleon(src)
new /obj/item/gun/energy/laser/chameleon(src)
//5*(2*4) = 5*8 = 45, 45 damage if you hit one person with all 5 stars.
//Not counting the damage it will do while embedded (2*4 = 8, at 15% chance)
/obj/item/storage/box/syndie_kit/throwing_weapons/PopulateContents()
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/restraints/legcuffs/bola/tactical(src)
new /obj/item/restraints/legcuffs/bola/tactical(src)
/obj/item/storage/box/syndie_kit/cutouts/PopulateContents()
for(var/i in 1 to 3)
new/obj/item/cardboard_cutout/adaptive(src)
new/obj/item/toy/crayon/rainbow(src)
/obj/item/storage/box/syndie_kit/romerol/PopulateContents()
new /obj/item/reagent_containers/glass/bottle/romerol(src)
new /obj/item/reagent_containers/syringe(src)
new /obj/item/reagent_containers/dropper(src)
/obj/item/storage/box/syndie_kit/ez_clean/PopulateContents()
for(var/i in 1 to 3)
new/obj/item/grenade/chem_grenade/ez_clean(src)
/obj/item/storage/box/hug/reverse_revolver/PopulateContents()
new /obj/item/gun/ballistic/revolver/reverse(src)
/obj/item/storage/box/syndie_kit/mimery/PopulateContents()
new /obj/item/spellbook/oneuse/mimery_blockade(src)
new /obj/item/spellbook/oneuse/mimery_guns(src)
/obj/item/storage/box/syndie_kit/imp_radio/PopulateContents()
new /obj/item/implanter/radio(src)
+10
View File
@@ -341,6 +341,15 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
return message
/mob/living/proc/radio(message, message_mode, list/spans, language)
var/obj/item/implant/radio/imp = locate() in src
if(imp && imp.radio.on)
if(message_mode == MODE_HEADSET)
imp.radio.talk_into(src, message, , spans, language)
return ITALICS | REDUCE_RANGE
if(message_mode == MODE_DEPARTMENT || message_mode in GLOB.radiochannels)
imp.radio.talk_into(src, message, message_mode, spans, language)
return ITALICS | REDUCE_RANGE
switch(message_mode)
if(MODE_WHISPER)
return ITALICS
@@ -362,6 +371,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
if(MODE_BINARY)
return ITALICS | REDUCE_RANGE //Does not return 0 since this is only reached by humans, not borgs or AIs.
return 0
/mob/living/say_mod(input, message_mode)
@@ -199,12 +199,24 @@
to_chat(SM, "<span class='userdanger'>You are grateful to be self aware and owe [user.real_name] a great debt. Serve [user.real_name], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.</span>")
to_chat(user, "<span class='notice'>[SM] accepts [src] and suddenly becomes attentive and aware. It worked!</span>")
SM.copy_known_languages_from(user, TRUE)
after_success(user, SM)
qdel(src)
else
to_chat(user, "<span class='notice'>[SM] looks interested for a moment, but then looks back down. Maybe you should try again later.</span>")
being_used = 0
..()
/obj/item/slimepotion/sentience/proc/after_success(mob/living/user, mob/living/simple_animal/SM)
return
/obj/item/slimepotion/sentience/nuclear
name = "syndicate intelligence potion"
desc = "A miraculous chemical mix that grants human like intelligence to living beings. It has been modified with Syndicate technology to also grant an internal radio implant to the target."
/obj/item/slimepotion/sentience/nuclear/after_success(mob/living/user, mob/living/simple_animal/SM)
var/obj/item/implant/radio/imp = new(src)
imp.implant(SM, user)
/obj/item/slimepotion/transference
name = "consciousness transference potion"
desc = "A strange slime-based chemical that, when used, allows the user to transfer their consciousness to a lesser being."
+9 -3
View File
@@ -1059,9 +1059,9 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
include_modes = list(/datum/game_mode/nuclear)
/datum/uplink_item/device_tools/potion
name = "Sentience Potion"
item = /obj/item/slimepotion/sentience
desc = "A potion recovered at great risk by undercover syndicate operatives. Using it will make any animal sentient, and bound to serve you."
name = "Syndicate Sentience Potion"
item = /obj/item/slimepotion/sentience/nuclear
desc = "A potion recovered at great risk by undercover syndicate operatives and then subsequently modified with syndicate technology. Using it will make any animal sentient, and bound to serve you, as well as implanting an internal radio for communication."
cost = 4
include_modes = list(/datum/game_mode/nuclear)
@@ -1152,6 +1152,12 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
cost = 20
include_modes = list(/datum/game_mode/nuclear)
/datum/uplink_item/implants/radio
name = "Internal Syndicate Radio Implant"
desc = "An implant injected into the body, allowing the use of an internal syndicate radio. Used just like a regular headset, but can be disabled to use external headsets normally and to avoid detection."
item = /obj/item/storage/box/syndie_kit/imp_radio
cost = 4
// Cybernetics
/datum/uplink_item/cyber_implants