From 4f58a8fdf0bc1e856874392c8027fffce3abb23c Mon Sep 17 00:00:00 2001 From: Contrabang <91113370+Contrabang@users.noreply.github.com> Date: Thu, 30 May 2024 11:34:20 -0400 Subject: [PATCH] Adds 3 new traitor bundles (#25543) * bundles * oops * changes --- .../objects/items/devices/radio/beacon.dm | 7 +- code/game/objects/items/weapons/cards_ids.dm | 23 +++++++ .../items/weapons/storage/uplink_kits.dm | 67 ++++++++++++++++++- 3 files changed, 94 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm index 17fa2b57e64..eabcd0e9433 100644 --- a/code/game/objects/items/devices/radio/beacon.dm +++ b/code/game/objects/items/devices/radio/beacon.dm @@ -57,7 +57,7 @@ user.drop_item() qdel(src) -/obj/item/radio/beacon/syndicate/bundle/ +/obj/item/radio/beacon/syndicate/bundle name = "suspicious beacon" desc = "A label on it reads: Activate to select a bundle." var/list/static/bundles = list( @@ -73,7 +73,10 @@ "Sniper" = /obj/item/storage/box/syndie_kit/bundle/professional, "Grenadier" = /obj/item/storage/box/syndie_kit/bundle/grenadier, "Augmented" = /obj/item/storage/box/syndie_kit/bundle/metroid, - "Ocelot" = /obj/item/storage/box/syndie_kit/bundle/ocelot) + "Ocelot" = /obj/item/storage/box/syndie_kit/bundle/ocelot, + "Nuclear Wannabe" = /obj/item/storage/box/syndie_kit/bundle/operative, + "Big Spender" = /obj/item/storage/box/syndie_kit/bundle/rich, + "Maintenance Collector" = /obj/item/storage/box/syndie_kit/bundle/maint_loot) var/list/selected = list() var/list/unselected = list() diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 4abfbffb948..a6585f225d0 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -637,6 +637,29 @@ untrackable = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER, ACCESS_SYNDICATE_COMMAND, ACCESS_EXTERNAL_AIRLOCKS) +// like /obj/item/card/id/syndicate, but you can only swipe access, not change your identity, its also trackable +/obj/item/card/id/syndi_scan_only + name = "Syndicate Operative's ID card (Operative)" + rank = "Operative" + assignment = "Operative" + registered_name = "Syndicate Operative" + access = list(ACCESS_SYNDICATE) + +/obj/item/card/id/syndi_scan_only/examine(mob/user) + . = ..() + if(isAntag(user)) + . += "Similar to an agent ID, this ID card can be used to copy accesses, but it lacks the customization and anti-tracking capabilities of an agent ID." + +/obj/item/card/id/syndi_scan_only/afterattack(obj/item/O, mob/user, proximity) + if(!proximity) + return + if(istype(O, /obj/item/card/id)) + var/obj/item/card/id/I = O + if(isliving(user) && user.mind) + if(user.mind.special_role) + to_chat(user, "The card's microscanners activate as you pass it over [I], copying its access.") + access |= I.access // Don't copy access if user isn't an antag -- to prevent metagaming + /obj/item/card/id/captains_spare name = "captain's spare ID" desc = "The spare ID of the captain." diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index b3a24992c50..6bfe4d60fd8 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -178,7 +178,7 @@ /// 133TC + Tactical Grenadier Belt /obj/item/storage/box/syndie_kit/bundle/grenadier name = "Grenade Bundle" - desc = "A variety of grenades and pyrotechnics to ensure you can blast your way through any situation. " + desc = "A variety of grenades and pyrotechnics to ensure you can blast your way through any situation." items = list( /obj/item/storage/belt/grenade/tactical, // Contains 2 Frag and EMP grenades, 5 C4 Explosives, 5 Smoke and Gluon grenades and 1 Minibomb grenade ~20TC Estimate /obj/item/storage/box/syndie_kit/stechkin, // 20TC @@ -227,6 +227,71 @@ /obj/item/clothing/gloves/combat, // 0 TC /obj/item/clothing/shoes/combat) // 0 TC +// 175 TC +/obj/item/storage/box/syndie_kit/bundle/operative + name = "\"Operative\" Bundle" + desc = "Glory to the Syndicate! Only the essentials for destroying Nanotrasen in this important kit." + items = list( + /obj/item/mod/control/pre_equipped/traitor, // 30TC + /obj/item/card/id/syndi_scan_only, // ~2TC? + /obj/item/encryptionkey/syndicate, // 10tc + /obj/item/melee/energy/sword/saber/red, // 40tc + /obj/item/shield/energy, // 40tc + /obj/item/pinpointer/advpinpointer, // 20tc, get dat fuckin disk + /obj/item/storage/belt/military, // 10tc + /obj/item/grenade/plastic/c4, // 5tc + /obj/item/bio_chip_implanter/proto_adrenalin, // 18tc + /obj/item/toy/figure/crew/syndie, // 0tc + /obj/item/clothing/under/syndicate // 0tc + ) + +// 250 TC worth of credits +/obj/item/storage/box/syndie_kit/bundle/rich + name = "Big Spender Bundle" + desc = "It's money. I don't need to explain more." + items = list( + /obj/item/clothing/under/suit/really_black, // 0 TC + /obj/item/clothing/shoes/laceup, // 0 TC + /obj/item/clothing/glasses/monocle, // 0 TC + /obj/item/clothing/gloves/color/white, // 0 TC + /obj/item/clothing/head/that, // 0 TC + /obj/item/storage/secure/briefcase, // 0 TC + /// syndie briefcase has 600 credits for 5 TC. + /obj/item/stack/spacecash/c10000, + /obj/item/stack/spacecash/c10000, + /obj/item/stack/spacecash/c10000 + ) + +// 211 TC of maint loot, higher than other bundles because it doesn't combo well +/obj/item/storage/box/syndie_kit/bundle/maint_loot + name = "Maintenance Loot Bundle" + desc = "One of our interns found all of this lying in a Nanotrasen Maintenance tunnels. Reduce, Reuse, Recycle!" + items = list( + /obj/item/storage/bag/plasticbag, // 1 TC + /obj/item/grenade/clown_grenade, // 15 TC + /obj/item/seeds/ambrosia/cruciatus, // 5 TC + /obj/item/gun/projectile/automatic/pistol, // 20 TC + /obj/item/ammo_box/magazine/m10mm, // 3 TC + /obj/item/soap/syndie, // 5 TC + /obj/item/suppressor, // 5 TC + /obj/item/clothing/under/chameleon, // 3 TC + /obj/item/clothing/shoes/chameleon/noslip, // 10 TC + /obj/item/clothing/mask/chameleon/voice_change, // 10 TC + /obj/item/dnascrambler, // 7 TC + /obj/item/storage/backpack/satchel_flat, // 10 TC + /obj/item/storage/toolbox/syndicate, // 5 TC + /obj/item/storage/backpack/duffel/syndie/med/surgery, // 10 TC + /obj/item/storage/belt/military/traitor, // 10 TC + /obj/item/storage/box/syndie_kit/space, // 20 TC + /obj/item/multitool/ai_detect, // 5 TC + /obj/item/bio_chip_implanter/storage, // 40 TC + /obj/item/deck/cards/syndicate, // 2 TC + /obj/item/storage/secure/briefcase/syndie, // 5 TC + /obj/item/storage/fancy/cigarettes/cigpack_syndicate, // 7 TC + /obj/item/clothing/suit/jacket/syndicatebomber, // 3 TC + /obj/item/melee/knuckleduster/syndie, // 10 TC + ) + /obj/item/storage/box/syndie_kit/bundle/populate_contents() for(var/obj/item/item as anything in items) new item(src)