diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 2c23c6ae2b0..4979b94eb92 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -209,6 +209,7 @@
force_wielded = 0
origin_tech = null
attack_verb = list("attacked", "struck", "hit")
+ brightness_on = 0
/obj/item/weapon/twohanded/dualsaber/toy/hit_reaction()
return 0
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index 1c4ff92708a..16b8d302c7f 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -9,7 +9,10 @@
hitsound = 'sound/weapons/blade1.ogg' // Probably more appropriate than the previous hitsound. -- Dave
usesound = 'sound/weapons/blade1.ogg'
toolspeed = 1
-
+ light_power = 2
+ var/brightness_on = 2
+ var/colormap = list(red=LIGHT_COLOR_RED, blue=LIGHT_COLOR_LIGHTBLUE, green=LIGHT_COLOR_GREEN, purple=LIGHT_COLOR_PURPLE, rainbow=LIGHT_COLOR_WHITE)
+
/obj/item/weapon/melee/energy/suicide_act(mob/user)
user.visible_message(pick("[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.", \
"[user] is falling on the [src.name]! It looks like \he's trying to commit suicide."))
@@ -29,8 +32,10 @@
attack_verb = attack_verb_on
if(!item_color)
icon_state = icon_state_on
+ set_light(brightness_on)
else
icon_state = "sword[item_color]"
+ set_light(brightness_on, l_color=colormap[item_color])
w_class = w_class_on
playsound(user, 'sound/weapons/saberon.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
to_chat(user, "[src] is now active.")
@@ -44,6 +49,7 @@
icon_state = initial(icon_state)
w_class = initial(w_class)
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
+ set_light(0)
to_chat(user, "[src] can now be concealed.")
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
@@ -71,6 +77,7 @@
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
attack_verb_on = list()
sharp = 1
+ light_color = LIGHT_COLOR_WHITE
/obj/item/weapon/melee/energy/axe/suicide_act(mob/user)
user.visible_message("[user] swings the [src.name] towards /his head! It looks like \he's trying to commit suicide.")
@@ -92,7 +99,6 @@
block_chance = 50
sharp = 1
var/hacked = 0
- var/blade_color
/obj/item/weapon/melee/energy/sword/New()
if(item_color == null)
@@ -129,6 +135,7 @@
hitcost = 75 //Costs more than a standard cyborg esword
item_color = null
w_class = WEIGHT_CLASS_NORMAL
+ light_color = LIGHT_COLOR_WHITE
/obj/item/weapon/melee/energy/sword/cyborg/saw/New()
..()
@@ -192,6 +199,7 @@
desc = "Arrrr matey."
icon_state = "cutlass0"
icon_state_on = "cutlass1"
+ light_color = LIGHT_COLOR_RED
/obj/item/weapon/melee/energy/sword/pirate/New()
return
@@ -224,4 +232,4 @@
name = "hardlight blade"
desc = "An extremely sharp blade made out of hard light. Packs quite a punch."
icon_state = "lightblade"
- item_state = "lightblade"
\ No newline at end of file
+ item_state = "lightblade"
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 5d1755dc9d3..96628da9a26 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -208,15 +208,21 @@
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
block_chance = 75
sharp = 1
+ light_power = 2
+ var/brightness_on = 2
+ var/colormap = list(red=LIGHT_COLOR_RED, blue=LIGHT_COLOR_LIGHTBLUE, green=LIGHT_COLOR_GREEN, purple=LIGHT_COLOR_PURPLE, rainbow=LIGHT_COLOR_WHITE)
/obj/item/weapon/twohanded/dualsaber/New()
- blade_color = pick("red", "blue", "green", "purple")
+ if(!blade_color)
+ blade_color = pick("red", "blue", "green", "purple")
/obj/item/weapon/twohanded/dualsaber/update_icon()
if(wielded)
icon_state = "dualsaber[blade_color][wielded]"
+ set_light(brightness_on, l_color=colormap[blade_color])
else
icon_state = "dualsaber0"
+ set_light(0)
/obj/item/weapon/twohanded/dualsaber/attack(target as mob, mob/living/user as mob)
if(HULK in user.mutations)
@@ -239,16 +245,16 @@
return ..()
return 0
-/obj/item/weapon/twohanded/dualsaber/green/New()
+/obj/item/weapon/twohanded/dualsaber/green
blade_color = "green"
-/obj/item/weapon/twohanded/dualsaber/red/New()
+/obj/item/weapon/twohanded/dualsaber/red
blade_color = "red"
-/obj/item/weapon/twohanded/dualsaber/purple/New()
+/obj/item/weapon/twohanded/dualsaber/purple
blade_color = "purple"
-/obj/item/weapon/twohanded/dualsaber/blue/New()
+/obj/item/weapon/twohanded/dualsaber/blue
blade_color = "blue"
/obj/item/weapon/twohanded/dualsaber/unwield()
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index d93281f2468..1523f241e69 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -149,6 +149,8 @@
origin_tech = "combat=3;syndicate=1"
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") //these wont show up if the pen is off
var/on = 0
+ var/brightness_on = 2
+ light_color = LIGHT_COLOR_RED
/obj/item/weapon/pen/edagger/attack_self(mob/living/user)
if(on)
@@ -162,6 +164,7 @@
throwforce = initial(throwforce)
playsound(user, 'sound/weapons/saberoff.ogg', 5, 1)
to_chat(user, "[src] can now be concealed.")
+ set_light(0)
else
on = 1
force = 18
@@ -173,6 +176,7 @@
throwforce = 35
playsound(user, 'sound/weapons/saberon.ogg', 5, 1)
to_chat(user, "[src] is now active.")
+ set_light(brightness_on, 1)
update_icon()
/obj/item/weapon/pen/edagger/update_icon()
diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi
index f356242fe67..bc282c185d8 100644
Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ
diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi
index 44e4fa580bd..8b41a0ec07d 100644
Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index 98d2d4bdd27..3e415202e7a 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ