diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index c2c01afd5cb..9f0e2a91523 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -2,7 +2,8 @@
name = "flash"
desc = "A powerful and versatile flashbulb device, with applications ranging from disorienting attackers to acting as visual receptors in robot production."
icon_state = "flash"
- item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang)
+ item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
+ icon_override = 'icons/mob/in-hand/tools.dmi'
throwforce = 0
w_class = 1
throw_speed = 3
@@ -75,7 +76,7 @@
/obj/item/device/flash/proc/flash_carbon(var/mob/living/carbon/M, var/mob/user = null, var/power = 5, convert = 1)
- add_logs(M, user, "flashed", object="the flash")
+ add_logs(M, user, "flashed", object="[src.name]")
var/safety = M:eyecheck()
if(safety <= 0)
M.confused += power
@@ -83,11 +84,11 @@
if(user && convert)
terrible_conversion_proc(M, user)
M.Stun(1)
- user.visible_message("[user] blinds [M] with the flash!")
+ user.visible_message("[user] blinds [M] with the [src.name]!")
return 1
else
if(user)
- user.visible_message("[user] fails to blind [M] with the flash!")
+ user.visible_message("[user] fails to blind [M] with the [src.name]!")
return 0
/obj/item/device/flash/attack(mob/living/M, mob/user)
@@ -105,15 +106,16 @@
else if(issilicon(M))
M.Weaken(rand(5,10))
add_logs(M, user, "flashed", object="[src.name]")
- user.visible_message("[user] overloads [M]'s sensors with the flash!")
+ user.visible_message("[user] overloads [M]'s sensors with the [src.name]!", "You overload [M]'s sensors with the [src.name]!")
return 1
- user.visible_message("[user] fails to blind [M] with the flash!")
+ user.visible_message("[user] fails to blind [M] with the [src.name]!", "You fail to blind [M] with the [src.name]!")
/obj/item/device/flash/attack_self(mob/living/carbon/user, flag = 0, emp = 0)
if(!try_use_flash(user))
return 0
+ user.visible_message("[user]'s [src.name] emits a blinding light!", "Your [src.name] emits a blinding light!")
for(var/mob/living/carbon/M in oviewers(3, null))
flash_carbon(M, user, 3, 0)
@@ -129,7 +131,7 @@
/obj/item/device/flash/proc/terrible_conversion_proc(var/mob/M, var/mob/user)
if(ishuman(M) && ishuman(user) && M.stat != DEAD)
- if(user.mind && ((user.mind in ticker.mode.head_revolutionaries)))
+ if(user.mind && (user.mind in ticker.mode.head_revolutionaries))
if(M.client)
if(M.stat == CONSCIOUS)
M.mind_initialize() //give them a mind datum if they don't have one.
@@ -142,7 +144,7 @@
resisted = 1
if(resisted)
- user << "This mind seems resistant to the flash!"
+ user << "This mind seems resistant to the [src.name]!"
else
user << "They must be conscious before you can convert them!"
else
@@ -168,6 +170,12 @@
animation.master = user
flick("blspell", animation)
sleep(5)
- del(animation)
+ qdel(animation)
+
+/obj/item/device/flash/memorizer
+ name = "memorizer"
+ desc = "If you see this, you're not likely to remember it any time soon."
+ icon_state = "memorizer"
+ item_state = "nullrod"
/obj/item/device/flash/synthetic //just a regular flash now
\ No newline at end of file
diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm
index 3d515d6259e..b629fb685c9 100644
--- a/code/game/objects/items/devices/whistle.dm
+++ b/code/game/objects/items/devices/whistle.dm
@@ -2,7 +2,8 @@
name = "hailer"
desc = "Used by obese officers to save their breath for running."
icon_state = "voice0"
- item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang)
+ item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
+ icon_override = 'icons/mob/in-hand/tools.dmi'
w_class = 1.0
flags = CONDUCT
@@ -28,4 +29,4 @@
if(!emagged)
user << "\red You overload \the [src]'s voice synthesizer."
emagged = 1
-
+
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 6dea213ac13..9aac89c55c7 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1224,7 +1224,8 @@ obj/item/toy/cards/deck/syndicate/black
desc = "FOR THE REVOLU- Oh wait, that's just a toy."
icon = 'icons/obj/device.dmi'
icon_state = "flash"
- item_state = "flashbang"
+ item_state = "flashtool"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
w_class = 1
/obj/item/toy/flash/attack(mob/living/M, mob/user)
diff --git a/code/game/objects/items/weapons/grenades/bananade.dm b/code/game/objects/items/weapons/grenades/bananade.dm
index a2947d7791d..c3fd3acf87f 100644
--- a/code/game/objects/items/weapons/grenades/bananade.dm
+++ b/code/game/objects/items/weapons/grenades/bananade.dm
@@ -8,6 +8,7 @@ var/turf/T
icon = 'icons/obj/grenade.dmi'
icon_state = "banana"
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
var/deliveryamt = 8
var/spawner_type = /obj/item/weapon/bananapeel
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 9b5c0324e77..37353662f00 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -7,6 +7,7 @@
desc = "A do it yourself grenade casing!"
icon_state = "chemg"
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
var/bomb_state = "chembomb"
var/payload_name = null // used for spawned grenades
w_class = 2
diff --git a/code/game/objects/items/weapons/grenades/clowngrenade.dm b/code/game/objects/items/weapons/grenades/clowngrenade.dm
index 33f1aa923aa..96ca51179e6 100644
--- a/code/game/objects/items/weapons/grenades/clowngrenade.dm
+++ b/code/game/objects/items/weapons/grenades/clowngrenade.dm
@@ -1,8 +1,9 @@
/obj/item/weapon/grenade/clown_grenade
name = "Banana Grenade"
desc = "HONK! brand Bananas. In a special applicator for rapid slipping of wide areas."
- icon_state = "chemg"
+ icon_state = "banana"
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
w_class = 2.0
force = 2.0
var/stage = 0
diff --git a/code/game/objects/items/weapons/grenades/emgrenade.dm b/code/game/objects/items/weapons/grenades/emgrenade.dm
index 9edf68a60ac..8e66d4b70de 100644
--- a/code/game/objects/items/weapons/grenades/emgrenade.dm
+++ b/code/game/objects/items/weapons/grenades/emgrenade.dm
@@ -2,6 +2,7 @@
name = "classic emp grenade"
icon_state = "emp"
item_state = "emp"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
origin_tech = "materials=2;magnets=3"
prime()
diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm
index feb7e82fca1..dd03d48cec8 100644
--- a/code/game/objects/items/weapons/grenades/flashbang.dm
+++ b/code/game/objects/items/weapons/grenades/flashbang.dm
@@ -2,6 +2,7 @@
name = "flashbang"
icon_state = "flashbang"
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
origin_tech = "materials=2;combat=1"
var/banglet = 0
diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm
index 9bc61244426..707697a9fba 100644
--- a/code/game/objects/items/weapons/grenades/ghettobomb.dm
+++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm
@@ -21,6 +21,7 @@
icon = 'icons/obj/grenade.dmi'
icon_state = "improvised_grenade"
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
throw_speed = 3
throw_range = 7
flags = CONDUCT
@@ -71,6 +72,7 @@
icon = 'icons/obj/grenade.dmi'
icon_state = "improvised_grenade"
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
throw_speed = 3
throw_range = 7
flags = CONDUCT
diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm
index b475e99ad3e..2d5f6ac0d90 100644
--- a/code/game/objects/items/weapons/grenades/grenade.dm
+++ b/code/game/objects/items/weapons/grenades/grenade.dm
@@ -5,6 +5,7 @@
icon = 'icons/obj/grenade.dmi'
icon_state = "grenade"
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
throw_speed = 4
throw_range = 20
flags = CONDUCT
diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm
index afc4ea61176..95a5fbbd387 100644
--- a/code/game/objects/items/weapons/grenades/smokebomb.dm
+++ b/code/game/objects/items/weapons/grenades/smokebomb.dm
@@ -5,6 +5,7 @@
icon_state = "flashbang"
det_time = 20
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
slot_flags = SLOT_BELT
var/datum/effect/effect/system/bad_smoke_spread/smoke
diff --git a/code/game/objects/items/weapons/grenades/spawnergrenade.dm b/code/game/objects/items/weapons/grenades/spawnergrenade.dm
index 189bd93d649..7929896ddcd 100644
--- a/code/game/objects/items/weapons/grenades/spawnergrenade.dm
+++ b/code/game/objects/items/weapons/grenades/spawnergrenade.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/grenade.dmi'
icon_state = "delivery"
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
origin_tech = "materials=3;magnets=4"
var/banglet = 0
var/spawner_type = null // must be an object path
diff --git a/code/game/objects/items/weapons/grenades/syndieminibomb.dm b/code/game/objects/items/weapons/grenades/syndieminibomb.dm
index 7dbb3431e62..acd086c6205 100644
--- a/code/game/objects/items/weapons/grenades/syndieminibomb.dm
+++ b/code/game/objects/items/weapons/grenades/syndieminibomb.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/grenade.dmi'
icon_state = "syndicate"
item_state = "flashbang"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
origin_tech = "materials=3;magnets=4;syndicate=4"
/obj/item/weapon/grenade/syndieminibomb/prime()
diff --git a/icons/mob/in-hand/tools.dmi b/icons/mob/in-hand/tools.dmi
index d2d0661bd1e..58fc6f90a1c 100644
Binary files a/icons/mob/in-hand/tools.dmi and b/icons/mob/in-hand/tools.dmi differ
diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi
index af089164950..64e1b4941be 100644
Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ