diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm
index 2d8f680c12..941ba869bb 100644
--- a/code/game/objects/items/storage/uplink_kits.dm
+++ b/code/game/objects/items/storage/uplink_kits.dm
@@ -62,7 +62,7 @@
new /obj/item/clothing/glasses/phantomthief/syndicate(src)
new /obj/item/reagent_containers/syringe/stimulants(src)
- if("baseball") // 42~ tc
+ if("baseball") // 44~ tc
new /obj/item/melee/baseball_bat/ablative/syndi(src) //Lets say 12 tc, lesser sleeping carp
new /obj/item/clothing/glasses/sunglasses/garb(src) //Lets say 2 tc
new /obj/item/card/emag(src) //6 tc
@@ -72,6 +72,7 @@
new /obj/item/clothing/under/syndicate/baseball(src) //3tc
new /obj/item/clothing/head/soft/baseball(src) //Lets say 4 tc
new /obj/item/reagent_containers/hypospray/medipen/stimulants/baseball(src) //lets say 5tc
+ new /obj/item/melee/baseball_bat/telescopic(src) // 2 tc
if("implant") // 67+ tc holy shit what the fuck this is a lottery disguised as fun boxes isn't it?
new /obj/item/implanter/freedom(src)
@@ -154,18 +155,18 @@
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/chameleon(src) // 7 tc
-
+
if("ancient") //A kit so old, it's probably older than you. //This bundle is filled with the entire unlink contents traitors had access to in 2006, from OpenSS13. Notably the esword was not a choice but existed in code.
new /obj/item/storage/toolbox/emergency/old/ancientbundle(src) //Items fit neatly into a classic toolbox just to remind you what the theme is.
-
+
/obj/item/storage/toolbox/emergency/old/ancientbundle //So the subtype works
-
+
/obj/item/storage/toolbox/emergency/old/ancientbundle/PopulateContents()
- new /obj/item/card/emag(src)
- new /obj/item/pen/sleepy(src)
+ new /obj/item/card/emag(src)
+ new /obj/item/pen/sleepy(src)
new /obj/item/reagent_containers/pill/cyanide(src)
new /obj/item/chameleon(src) //its not the original cloaking device, but it will do.
- new /obj/item/gun/ballistic/revolver(src)
+ new /obj/item/gun/ballistic/revolver(src)
new /obj/item/implanter/freedom(src)
new /obj/item/stack/telecrystal(src) //The failsafe/self destruct isn't an item we can physically include in the kit, but 1 TC is technically enough to buy the equivalent.
diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm
index 100cea7b9d..156768354c 100644
--- a/code/game/objects/items/weaponry.dm
+++ b/code/game/objects/items/weaponry.dm
@@ -911,6 +911,16 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
var/homerun_ready = 0
var/homerun_able = 0
total_mass = 2.7 //a regular wooden major league baseball bat weighs somewhere between 2 to 3.4 pounds, according to google
+ var/on_sound
+ var/on = TRUE // Are we on or off
+ var/on_icon_state // What is our sprite when turned on
+ var/off_icon_state // What is our sprite when turned off
+ var/on_item_state // What is our in-hand sprite when turned on
+ var/force_on // Damage when on
+ var/force_off // Damage when off
+ var/throwforce_on // Damage when on
+ var/throwforce_off // Damage when off
+ var/weight_class_on // What is the new size class when turned on
/obj/item/melee/baseball_bat/Initialize()
. = ..()
@@ -992,6 +1002,58 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
force = 18 //Spear damage...
throwforce = 30
+/obj/item/melee/baseball_bat/proc/get_on_description()
+ . = list()
+ .["local_on"] = "You extend the bat."
+ .["local_off"] = "You collapse the bat."
+ return .
+
+/obj/item/melee/baseball_bat/telescopic
+ name = "telescopic baseball bat"
+ desc = "A stealthy telescopic bat that can fit in a pocket when collapsed."
+ icon = 'icons/obj/items_and_weapons.dmi'
+ icon_state = "baseball_bat_telescopic_0"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
+ item_state = null
+ w_class = WEIGHT_CLASS_SMALL
+ item_flags = NONE
+ force = 5
+ throwforce = 10
+ on = FALSE
+ on_sound = 'sound/weapons/batonextend.ogg'
+ on_icon_state = "baseball_bat_telescopic_1"
+ off_icon_state = "baseball_bat_telescopic_0"
+ on_item_state = "baseball_bat_telescopic"
+ force_on = 15
+ force_off = 5
+ throwforce_on = 20
+ throwforce_off = 10
+ weight_class_on = WEIGHT_CLASS_HUGE
+ total_mass = TOTAL_MASS_NORMAL_ITEM
+
+/obj/item/melee/baseball_bat/telescopic/attack_self(mob/user)
+ on = !on
+ var/list/desc = get_on_description()
+ if(on)
+ to_chat(user, desc["local_on"])
+ icon_state = on_icon_state
+ item_state = on_item_state
+ w_class = weight_class_on
+ force = force_on
+ throwforce = throwforce_on
+ attack_verb = list("beat", "smacked")
+ else
+ to_chat(user, desc["local_off"])
+ icon_state = off_icon_state
+ item_state = null //no sprite for concealment even when in hand
+ w_class = WEIGHT_CLASS_SMALL
+ force = force_off
+ throwforce = throwforce_off
+ attack_verb = list("drubbed", "beaned")
+ playsound(src.loc, on_sound, 50, 1)
+ add_fingerprint(user)
+
/obj/item/melee/flyswatter
name = "flyswatter"
desc = "Useful for killing pests of all sizes."
diff --git a/code/modules/uplink/uplink_items/uplink_stealth.dm b/code/modules/uplink/uplink_items/uplink_stealth.dm
index 1bd75fa2b1..0ff9180576 100644
--- a/code/modules/uplink/uplink_items/uplink_stealth.dm
+++ b/code/modules/uplink/uplink_items/uplink_stealth.dm
@@ -7,6 +7,12 @@
When adding new entries to the file, please keep them sorted by category.
*/
+/datum/uplink_item/stealthy_weapons/telescopicbat
+ name = "Telescopic Baseball Bat"
+ desc = "A robust telescopic baseball bat that hits like a truck and can be consealed when collapsed."
+ item = /obj/item/melee/baseball_bat/telescopic
+ cost = 2
+
/datum/uplink_item/stealthy_weapons/combatglovesplus
name = "Combat Gloves Plus"
desc = "A pair of gloves that are fireproof and shock resistant, however unlike the regular Combat Gloves this one uses nanotechnology \
diff --git a/icons/mob/inhands/weapons/melee_lefthand.dmi b/icons/mob/inhands/weapons/melee_lefthand.dmi
index bd038883a0..7d91c1e881 100644
Binary files a/icons/mob/inhands/weapons/melee_lefthand.dmi and b/icons/mob/inhands/weapons/melee_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/melee_righthand.dmi b/icons/mob/inhands/weapons/melee_righthand.dmi
index 9c734fbb93..c96bc434af 100644
Binary files a/icons/mob/inhands/weapons/melee_righthand.dmi and b/icons/mob/inhands/weapons/melee_righthand.dmi differ
diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi
index 978ffbda27..239a95ce5e 100644
Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ