diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 85560bda98..f8ce872378 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -933,8 +933,10 @@
icon_deny = "tool-deny"
//req_access = list(access_maint_tunnels) //Maintenance access
products = list(/obj/item/stack/cable_coil/random = 10,/obj/item/weapon/crowbar = 5,/obj/item/weapon/weldingtool = 3,/obj/item/weapon/wirecutters = 5,
- /obj/item/weapon/wrench = 5,/obj/item/device/analyzer = 5,/obj/item/device/t_scanner = 5,/obj/item/weapon/screwdriver = 5)
- contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/fyellow = 2)
+ /obj/item/weapon/wrench = 5,/obj/item/device/analyzer = 5,/obj/item/device/t_scanner = 5,/obj/item/weapon/screwdriver = 5,
+ /obj/item/device/flashlight/glowstick = 3, /obj/item/device/flashlight/glowstick/red = 3, /obj/item/device/flashlight/glowstick/blue = 3,
+ /obj/item/device/flashlight/glowstick/orange =3, /obj/item/device/flashlight/glowstick/yellow = 3)
+ contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/fyellow = 2, )
premium = list(/obj/item/clothing/gloves/yellow = 1)
/obj/machinery/vending/engivend
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index c7f90e9746..83ac8851dd 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -199,7 +199,7 @@
src.force = on_damage
src.damtype = "fire"
processing_objects += src
-
+
/obj/item/device/flashlight/flare/proc/ignite() //Used for flare launchers.
on = !on
update_icon()
@@ -208,6 +208,76 @@
processing_objects += src
return 1
+//Glowsticks
+
+/obj/item/device/flashlight/glowstick
+ name = "green glowstick"
+ desc = "A green military-grade glowstick."
+ w_class = 2.0
+ brightness_on = 4
+ light_power = 2
+ light_color = "#49F37C"
+ icon_state = "glowstick"
+ item_state = "glowstick"
+ var/fuel = 0
+
+/obj/item/device/flashlight/glowstick/New()
+ fuel = rand(1600, 2000)
+ ..()
+
+/obj/item/device/flashlight/glowstick/process()
+ fuel = max(fuel - 1, 0)
+ if(!fuel || !on)
+ turn_off()
+ if(!fuel)
+ src.icon_state = "[initial(icon_state)]-empty"
+ processing_objects -= src
+
+/obj/item/device/flashlight/glowstick/proc/turn_off()
+ on = 0
+ update_icon()
+
+/obj/item/device/flashlight/glowstick/attack_self(mob/user)
+
+ if(!fuel)
+ user << "The glowstick has already been turned on."
+ return
+ if(on)
+ return
+
+ . = ..()
+ if(.)
+ user.visible_message("[user] cracks and shakes the glowstick.", "You crack and shake the glowstick, turning it on!")
+ processing_objects += src
+
+/obj/item/device/flashlight/glowstick/red
+ name = "red glowstick"
+ desc = "A red military-grade glowstick."
+ light_color = "#FC0F29"
+ icon_state = "glowstick_red"
+ item_state = "glowstick_red"
+
+/obj/item/device/flashlight/glowstick/blue
+ name = "blue glowstick"
+ desc = "A blue military-grade glowstick."
+ light_color = "#599DFF"
+ icon_state = "glowstick_blue"
+ item_state = "glowstick_blue"
+
+/obj/item/device/flashlight/glowstick/orange
+ name = "orange glowstick"
+ desc = "A orange military-grade glowstick."
+ light_color = "#FA7C0B"
+ icon_state = "glowstick_orange"
+ item_state = "glowstick_orange"
+
+/obj/item/device/flashlight/glowstick/yellow
+ name = "yellow glowstick"
+ desc = "A yellow military-grade glowstick."
+ light_color = "#FEF923"
+ icon_state = "glowstick_yellow"
+ item_state = "glowstick_yellow"
+
/obj/item/device/flashlight/slime
gender = PLURAL
name = "glowing slime extract"
diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi
index f8d3c1c23f..b3f56e6ab3 100644
Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ
diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi
index 265df7a2ad..cc0895827a 100644
Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ
diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi
index c5f91d2ab2..5b453fbfb4 100644
Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ