diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index ad8fc3bdac..17d7bc4621 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -23,6 +23,26 @@
slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi',
)
+/obj/item/weapon/melee/energy/sword/green/New()
+ colorable = FALSE
+ lcolor = "#008000"
+
+/obj/item/weapon/melee/energy/sword/red/New()
+ colorable = FALSE
+ lcolor = "#FF0000"
+
+/obj/item/weapon/melee/energy/sword/blue/New()
+ colorable = FALSE
+ lcolor = "#0000FF"
+
+/obj/item/weapon/melee/energy/sword/purple/New()
+ colorable = FALSE
+ lcolor = "#800080"
+
+/obj/item/weapon/melee/energy/sword/white/New()
+ colorable = FALSE
+ lcolor = "#FFFFFF"
+
/obj/item/weapon/melee/energy/proc/activate(mob/living/user)
if(active)
return
@@ -147,11 +167,12 @@
/obj/item/weapon/melee/energy/update_icon()
. = ..()
var/mutable_appearance/blade_overlay = mutable_appearance(icon, "[icon_state]_blade")
- if(colorable)
- blade_overlay.color = lcolor
- if(rainbow || !colorable)
+ blade_overlay.color = lcolor
+ color = lcolor
+ if(rainbow)
blade_overlay = mutable_appearance(icon, "[icon_state]_blade_rainbow")
blade_overlay.color = "FFFFFF"
+ color = "FFFFFF"
cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other
if(active)
add_overlay(blade_overlay)
diff --git a/code/game/objects/items/weapons/melee/energy_vr.dm b/code/game/objects/items/weapons/melee/energy_vr.dm
index d377e935cb..34fa761211 100644
--- a/code/game/objects/items/weapons/melee/energy_vr.dm
+++ b/code/game/objects/items/weapons/melee/energy_vr.dm
@@ -7,19 +7,4 @@
/obj/item/weapon/melee/energy/sword/imperial/activate(mob/living/user)
..()
- icon_state = "sword1"
-
-/obj/item/weapon/melee/energy/sword/green/New()
- lcolor = "#008000"
-
-/obj/item/weapon/melee/energy/sword/red/New()
- lcolor = "#FF0000"
-
-/obj/item/weapon/melee/energy/sword/blue/New()
- lcolor = "#0000FF"
-
-/obj/item/weapon/melee/energy/sword/purple/New()
- lcolor = "#800080"
-
-/obj/item/weapon/melee/energy/sword/white/New()
- lcolor = "#FFFFFF"
\ No newline at end of file
+ icon_state = "sword1"
\ No newline at end of file
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
index de2d65a5c5..35012a262d 100644
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ b/code/modules/holodeck/HolodeckObjects.dm
@@ -279,12 +279,10 @@ datum/unarmed_attack/holopugilism/unarmed_override(var/mob/living/carbon/human/u
flags = NOBLOODY
var/active = 0
-/obj/item/weapon/holo/esword/green
- New()
+/obj/item/weapon/holo/esword/green/New()
lcolor = "#008000"
-/obj/item/weapon/holo/esword/red
- New()
+/obj/item/weapon/holo/esword/red/New()
lcolor = "#FF0000"
/obj/item/weapon/holo/esword/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
@@ -339,24 +337,6 @@ datum/unarmed_attack/holopugilism/unarmed_override(var/mob/living/carbon/human/u
H.update_inv_l_hand()
H.update_inv_r_hand()
-/obj/item/weapon/holo/esword/AltClick(mob/living/user)
- if(!in_range(src, user)) //Basic checks to prevent abuse
- return
- if(user.incapacitated() || !istype(user))
- to_chat(user, "You can't do that right now!")
- return
-
- if(alert("Are you sure you want to recolor your blade?", "Confirm Recolor", "Yes", "No") == "Yes")
- var/energy_color_input = input(usr,"","Choose Energy Color",lcolor) as color|null
- if(energy_color_input)
- lcolor = sanitize_hexcolor(energy_color_input)
- update_icon()
-
-
-/obj/item/weapon/holo/esword/examine(mob/user)
- ..()
- to_chat(user, "Alt-click to recolor it.")
-
//BASKETBALL OBJECTS
/obj/item/weapon/beach_ball/holoball