From 52161061922b1d8b5ba0246e55352ad23a78e8a6 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 1 May 2019 21:35:56 +0200 Subject: [PATCH 1/3] Uplink kit rebalance --- .../items/weapons/storage/uplink_kits.dm | 203 +++++++++--------- .../projectiles/guns/projectile/sniper.dm | 8 - 2 files changed, 102 insertions(+), 109 deletions(-) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 56db11ad058..f052365963f 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -1,112 +1,113 @@ -/obj/item/storage/box/syndicate/ - New() - ..() - switch(pickweight(list("bloodyspai" = 1, "thief" = 1, "bond" = 1, "sabotage" = 1, "payday" = 1, "implant" = 1, "hacker" = 1, "darklord" = 1, "gadgets" = 1, "professional" = 1))) - if("bloodyspai") // 28TC - new /obj/item/twohanded/garrote(src) - new /obj/item/pinpointer/advpinpointer(src) - new /obj/item/clothing/mask/chameleon(src) - new /obj/item/clothing/under/chameleon(src) - new /obj/item/card/id/syndicate(src) - new /obj/item/flashlight/emp(src) - new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src) - new /obj/item/clothing/glasses/hud/security/chameleon(src) - new /obj/item/camera_bug(src) - return +/obj/item/storage/box/syndicate/New() + ..() + switch(pickweight(list("bloodyspai" = 1, "thief" = 1, "bond" = 1, "sabotage" = 1, "payday" = 1, "implant" = 1, "hacker" = 1, "darklord" = 1, "professional" = 1))) + if("bloodyspai") // 35TC + one 0TC + new /obj/item/clothing/under/chameleon(src) // 2TC + new /obj/item/clothing/mask/chameleon(src) // 0TC + new /obj/item/card/id/syndicate(src) // 2TC + new /obj/item/clothing/shoes/chameleon/noslip(src) // 2TC + new /obj/item/camera_bug(src) // 1TC + new /obj/item/multitool/ai_detect(src) // 1TC + new /obj/item/encryptionkey/syndicate(src) // 2TC + new /obj/item/twohanded/garrote(src) // 10TC + new /obj/item/pinpointer/advpinpointer(src) // 4TC + new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src) // 2TC + new /obj/item/flashlight/emp(src) // 2TC + new /obj/item/clothing/glasses/hud/security/chameleon(src) // 2TC + new /obj/item/chameleon(src) // 8TC + return - if("thief") // 30TC - new /obj/item/gun/energy/kinetic_accelerator/crossbow(src) - new /obj/item/chameleon(src) - new /obj/item/clothing/gloves/color/black/thief(src) - new /obj/item/card/id/syndicate(src) - new /obj/item/clothing/shoes/chameleon/noslip(src) - new /obj/item/storage/box/syndie_kit/safecracking(src) - return + if("thief") // 44TC + new /obj/item/gun/energy/kinetic_accelerator/crossbow(src) // 12TC + new /obj/item/pen/sleepy(src) // 8TC + new /obj/item/chameleon(src) // 8TC + new /obj/item/clothing/glasses/thermal/syndi(src) // 6TC + new /obj/item/clothing/gloves/color/black/thief(src) // 6TC + new /obj/item/card/id/syndicate(src) // 2TC + new /obj/item/clothing/shoes/chameleon/noslip(src) // 2TC + return - if("bond") // 29TC + Healing Cocktail + armored suit jacket - new /obj/item/gun/projectile/automatic/pistol(src) - new /obj/item/suppressor(src) - new /obj/item/ammo_box/magazine/m10mm/hp(src) - new /obj/item/ammo_box/magazine/m10mm/ap(src) - new /obj/item/encryptionkey/syndicate(src) - new /obj/item/reagent_containers/food/drinks/drinkingglass/alliescocktail(src) // This drink heals now - new /obj/item/card/id/syndicate(src) - new /obj/item/dnascrambler(src) - new /obj/item/storage/box/syndie_kit/emp(src) - new /obj/item/CQC_manual(src) - new /obj/item/clothing/under/suit_jacket/really_black(src) - new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) - return + if("bond") // 33TC + three 0TC + new /obj/item/gun/projectile/automatic/pistol(src) // 4TC + new /obj/item/suppressor(src) // 1TC + new /obj/item/ammo_box/magazine/m10mm/hp(src) // 3TC + new /obj/item/ammo_box/magazine/m10mm/ap(src) // 2TC + new /obj/item/clothing/under/suit_jacket/really_black(src) // 0TC + new /obj/item/card/id/syndicate(src) // 2TC + new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) // 0TC + new /obj/item/encryptionkey/syndicate(src) // 2TC + new /obj/item/reagent_containers/food/drinks/drinkingglass/alliescocktail(src) // 0TC + new /obj/item/dnascrambler(src) // 4TC + new /obj/item/storage/box/syndie_kit/emp(src) // 2TC + new /obj/item/CQC_manual(src) // 13TC + return - if("sabotage") // 31TC + RCD + Insuls - new /obj/item/powersink(src) - new /obj/item/grenade/syndieminibomb(src) - new /obj/item/card/emag(src) - new /obj/item/grenade/clusterbuster/n2o(src) - new /obj/item/clothing/gloves/color/yellow(src) - new /obj/item/rcd/preloaded(src) - new /obj/item/storage/box/syndie_kit/space(src) - return + if("sabotage") // 45TC + three 0TC + new /obj/item/grenade/plastic/c4(src) // 1TC + new /obj/item/grenade/plastic/c4(src) // 1TC + new /obj/item/camera_bug(src) // 1TC + new /obj/item/powersink(src) // 10TC + new /obj/item/cartridge/syndicate(src) // 6TC + new /obj/item/rcd/preloaded(src) // 0TC + new /obj/item/card/emag(src) // 6TC + new /obj/item/clothing/gloves/color/yellow(src) // 0TC + new /obj/item/grenade/syndieminibomb(src) // 6TC + new /obj/item/grenade/clusterbuster/n2o(src) // 0TC + new /obj/item/storage/box/syndie_kit/space(src) // 4TC + return - if("payday") // 31TC + armored suit jacket - new /obj/item/gun/projectile/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/card/id/syndicate(src) - new /obj/item/clothing/under/suit_jacket/really_black(src) - new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) - new /obj/item/clothing/gloves/color/latex/nitrile(src) - new /obj/item/clothing/mask/gas/clown_hat(src) - new /obj/item/thermal_drill(src) - return + if("payday") // 31TC + four 0TC + new /obj/item/gun/projectile/revolver(src) // 13TC + new /obj/item/ammo_box/a357(src) // 3TC + new /obj/item/ammo_box/a357(src) // 3TC + new /obj/item/card/emag(src) // 6TC + new /obj/item/grenade/plastic/c4(src) // 1TC + new /obj/item/card/id/syndicate(src) // 2TC + new /obj/item/clothing/under/suit_jacket/really_black(src) //0TC + new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) //0TC + new /obj/item/clothing/gloves/color/latex/nitrile(src) //0 TC + new /obj/item/clothing/mask/gas/clown_hat(src) // 0TC + new /obj/item/thermal_drill(src) // 3TC + return - if("implant") // 35TC - new /obj/item/implanter/uplink(src) - new /obj/item/implanter/adrenalin(src) - new /obj/item/implanter/storage(src) - new /obj/item/implanter/freedom(src) - return + if("implant") // 37TC + ten free TC + new /obj/item/implanter/freedom(src) // 5TC + new /obj/item/implanter/uplink(src) // 14TC (ten free TC) + new /obj/item/implanter/emp(src) // 0TC + new /obj/item/implanter/adrenalin(src) // 8TC + new /obj/item/implanter/explosive(src) // 2TC + new /obj/item/implanter/storage(src) // 8TC + return - if("hacker") // 22TC + Ion law uploader - new /obj/item/aiModule/syndicate(src) - new /obj/item/encryptionkey/binary(src) - new /obj/item/encryptionkey/syndicate(src) - new /obj/item/aiModule/toyAI(src) - new /obj/item/card/emag(src) - return + if("hacker") // 30TC + one 0TC + new /obj/item/aiModule/syndicate(src) // 12TC + new /obj/item/card/emag(src) // 6TC + new /obj/item/encryptionkey/syndicate(src) // 2TC + new /obj/item/encryptionkey/binary(src) // 5TC + new /obj/item/aiModule/toyAI(src) // 0TC + new /obj/item/multitool/ai_detect(src) // 1TC + new /obj/item/storage/box/syndie_kit/c4 // 4TC + return - if("darklord") // 23TC + TK implant - new /obj/item/melee/energy/sword/saber/red(src) - new /obj/item/melee/energy/sword/saber/red(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/noslip(src) - new /obj/item/clothing/mask/chameleon(src) - return + if("darklord") // 22TC + two 0TC + new /obj/item/melee/energy/sword/saber/red(src) // 8TC + new /obj/item/melee/energy/sword/saber/red(src) // 8TC + new /obj/item/dnainjector/telemut/darkbundle(src) // 0TC + new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) // 0TC + new /obj/item/card/id/syndicate(src) // 2TC + new /obj/item/clothing/shoes/chameleon/noslip(src) // 2TC + new /obj/item/clothing/mask/chameleon(src) // 2TC + return - if("gadgets") // 30TC - new /obj/item/clothing/gloves/color/yellow/power(src) - new /obj/item/pen/sleepy(src) - new /obj/item/clothing/shoes/chameleon/noslip(src) - new /obj/item/clothing/glasses/thermal/syndi(src) - new /obj/item/flashlight/emp(src) - new /obj/item/stamp/chameleon(src) - new /obj/item/multitool/ai_detect(src) - return - - if("professional") // 29TC + armored suit jacket + insulated combat gloves - new /obj/item/gun/projectile/automatic/sniper_rifle/soporific(src) // Unique version that starts with soporific rounds loaded and cannot be suppressed - new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) - new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) - new /obj/item/pen/edagger(src) - new /obj/item/clothing/glasses/thermal/syndi/sunglasses(src) - new /obj/item/clothing/under/suit_jacket/really_black(src) - new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) - new /obj/item/clothing/gloves/combat(src) - return + if("professional") // 29 TC + two 0TC + new /obj/item/gun/projectile/automatic/sniper_rifle(src) // 16TC + new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) // 5TC + new /obj/item/clothing/glasses/thermal/syndi/sunglasses(src) // 6TC + new /obj/item/clothing/gloves/combat(src) // 0 TC + new /obj/item/clothing/under/suit_jacket/really_black(src) // 0 TC + new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) // 0TC + new /obj/item/pen/edagger(src) // 2TC + return /obj/item/storage/box/syndie_kit name = "Box" diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index cbffd8ecf8a..1be05bf03ef 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -31,14 +31,6 @@ desc = "Syndicate flavoured sniper rifle, it packs quite a punch, a punch to your face" origin_tech = "combat=7;syndicate=6" -/obj/item/gun/projectile/automatic/sniper_rifle/soporific - name = "Soporific sniper rifle" - desc = "A sniper rifle that's primarily used to fire non-lethal soporific rounds." - origin_tech = "combat=7;syndicate=6" - mag_type = /obj/item/ammo_box/magazine/sniper_rounds/soporific - can_unsuppress = 0 - can_suppress = 0 - /obj/item/gun/projectile/automatic/sniper_rifle/compact //holds very little ammo, lacks zooming, and bullets are primarily damage dealers, but the gun lacks the downsides of the full size rifle name = "compact sniper rifle" desc = "a compact, unscoped version of the standard issue syndicate sniper rifle. Still capable of sending people crying." From b3d7681a4a67cec041ac2ab579c7548c5528bdb0 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 1 May 2019 22:24:51 +0200 Subject: [PATCH 2/3] Discord feedback on bundles --- .../items/weapons/storage/uplink_kits.dm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index f052365963f..93b6daf3fec 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -17,14 +17,15 @@ new /obj/item/chameleon(src) // 8TC return - if("thief") // 44TC + if("thief") // 40TC new /obj/item/gun/energy/kinetic_accelerator/crossbow(src) // 12TC - new /obj/item/pen/sleepy(src) // 8TC new /obj/item/chameleon(src) // 8TC new /obj/item/clothing/glasses/thermal/syndi(src) // 6TC new /obj/item/clothing/gloves/color/black/thief(src) // 6TC new /obj/item/card/id/syndicate(src) // 2TC new /obj/item/clothing/shoes/chameleon/noslip(src) // 2TC + new /obj/item/storage/backpack/satchel_flat(src) // 2TC + new /obj/item/encryptionkey/syndicate(src) // 2TC return if("bond") // 33TC + three 0TC @@ -42,7 +43,7 @@ new /obj/item/CQC_manual(src) // 13TC return - if("sabotage") // 45TC + three 0TC + if("sabotage") // 47TC + three 0TC new /obj/item/grenade/plastic/c4(src) // 1TC new /obj/item/grenade/plastic/c4(src) // 1TC new /obj/item/camera_bug(src) // 1TC @@ -54,9 +55,10 @@ new /obj/item/grenade/syndieminibomb(src) // 6TC new /obj/item/grenade/clusterbuster/n2o(src) // 0TC new /obj/item/storage/box/syndie_kit/space(src) // 4TC + new /obj/item/encryptionkey/syndicate(src) // 2TC return - if("payday") // 31TC + four 0TC + if("payday") // 33TC + four 0TC new /obj/item/gun/projectile/revolver(src) // 13TC new /obj/item/ammo_box/a357(src) // 3TC new /obj/item/ammo_box/a357(src) // 3TC @@ -68,15 +70,17 @@ new /obj/item/clothing/gloves/color/latex/nitrile(src) //0 TC new /obj/item/clothing/mask/gas/clown_hat(src) // 0TC new /obj/item/thermal_drill(src) // 3TC + new /obj/item/encryptionkey/syndicate(src) // 2TC return - if("implant") // 37TC + ten free TC + if("implant") // 39TC + ten free TC new /obj/item/implanter/freedom(src) // 5TC new /obj/item/implanter/uplink(src) // 14TC (ten free TC) new /obj/item/implanter/emp(src) // 0TC new /obj/item/implanter/adrenalin(src) // 8TC new /obj/item/implanter/explosive(src) // 2TC new /obj/item/implanter/storage(src) // 8TC + new /obj/item/encryptionkey/syndicate(src) // 2TC return if("hacker") // 30TC + one 0TC @@ -97,16 +101,19 @@ new /obj/item/card/id/syndicate(src) // 2TC new /obj/item/clothing/shoes/chameleon/noslip(src) // 2TC new /obj/item/clothing/mask/chameleon(src) // 2TC + new /obj/item/encryptionkey/syndicate(src) // 2TC return - if("professional") // 29 TC + two 0TC + if("professional") // 32 TC + two 0TC new /obj/item/gun/projectile/automatic/sniper_rifle(src) // 16TC new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) // 5TC + new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) // 3TC new /obj/item/clothing/glasses/thermal/syndi/sunglasses(src) // 6TC new /obj/item/clothing/gloves/combat(src) // 0 TC new /obj/item/clothing/under/suit_jacket/really_black(src) // 0 TC new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) // 0TC new /obj/item/pen/edagger(src) // 2TC + new /obj/item/encryptionkey/syndicate(src) // 2TC return /obj/item/storage/box/syndie_kit From eac4f841ce9e27b17213fc25884627fccec7b369 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 2 May 2019 01:39:11 +0200 Subject: [PATCH 3/3] Switch to penetrator/sopo rounds only --- .../items/weapons/storage/uplink_kits.dm | 2 +- .../projectiles/guns/projectile/sniper.dm | 22 ++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 93b6daf3fec..5d31cc3f59b 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -105,7 +105,7 @@ return if("professional") // 32 TC + two 0TC - new /obj/item/gun/projectile/automatic/sniper_rifle(src) // 16TC + new /obj/item/gun/projectile/automatic/sniper_rifle/syndicate/penetrator(src) // 16TC new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) // 5TC new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) // 3TC new /obj/item/clothing/glasses/thermal/syndi/sunglasses(src) // 6TC diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 1be05bf03ef..e030c9afb2a 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -1,6 +1,6 @@ /obj/item/gun/projectile/automatic/sniper_rifle name = "sniper rifle" - desc = "the kind of gun that will leave you crying for mummy before you even realise your leg's missing" + desc = "The kind of gun that will leave you crying for mummy before you even realise your leg's missing." icon_state = "sniper" item_state = "sniper" recoil = 2 @@ -20,17 +20,27 @@ slot_flags = SLOT_BACK actions_types = list() +/obj/item/gun/projectile/automatic/sniper_rifle/syndicate + name = "syndicate sniper rifle" + desc = "Syndicate flavoured sniper rifle, it packs quite a punch, a punch to your face." + origin_tech = "combat=7;syndicate=6" + +/obj/item/gun/projectile/automatic/sniper_rifle/syndicate/penetrator + name = "syndicate penetrator sniper rifle" + +/obj/item/gun/projectile/automatic/sniper_rifle/syndicate/penetrator/Initialize(mapload) + . = ..() + desc += " It comes loaded with a penetrator magazine, but can use different magazines." + + QDEL_NULL(magazine) + magazine = new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) + /obj/item/gun/projectile/automatic/sniper_rifle/update_icon() if(magazine) icon_state = "sniper-mag" else icon_state = "sniper" -/obj/item/gun/projectile/automatic/sniper_rifle/syndicate - name = "syndicate sniper rifle" - desc = "Syndicate flavoured sniper rifle, it packs quite a punch, a punch to your face" - origin_tech = "combat=7;syndicate=6" - /obj/item/gun/projectile/automatic/sniper_rifle/compact //holds very little ammo, lacks zooming, and bullets are primarily damage dealers, but the gun lacks the downsides of the full size rifle name = "compact sniper rifle" desc = "a compact, unscoped version of the standard issue syndicate sniper rifle. Still capable of sending people crying."