diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm
index 3045033948..421498559e 100644
--- a/code/datums/martial/sleeping_carp.dm
+++ b/code/datums/martial/sleeping_carp.dm
@@ -186,6 +186,8 @@
attack_verb = list("smashed", "slammed", "whacked", "thwacked")
icon = 'icons/obj/weapons.dmi'
icon_state = "bostaff0"
+ lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
block_chance = 50
/obj/item/weapon/twohanded/bostaff/update_icon()
diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm
index c702439e84..e71ac5cbeb 100644
--- a/code/game/gamemodes/changeling/powers/mutations.dm
+++ b/code/game/gamemodes/changeling/powers/mutations.dm
@@ -146,6 +146,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "arm_blade"
item_state = "arm_blade"
+ lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
flags = ABSTRACT | NODROP | DROPDEL
w_class = WEIGHT_CLASS_HUGE
force = 25
@@ -223,6 +225,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "tentacle"
item_state = "tentacle"
+ lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
flags = ABSTRACT | NODROP | DROPDEL | NOBLUDGEON
w_class = WEIGHT_CLASS_HUGE
ammo_type = /obj/item/ammo_casing/magic/tentacle
@@ -394,6 +398,8 @@
flags = ABSTRACT | NODROP | DROPDEL
icon = 'icons/obj/weapons.dmi'
icon_state = "ling_shield"
+ lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
block_chance = 50
var/remaining_uses //Set by the changeling ability.
diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
index 1985ada22e..e28fd8a10d 100644
--- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
@@ -6,6 +6,8 @@
Clockwork slabs will only make components if held or if inside an item held by a human, and when making a component will prevent all other slabs held from making components.\n\
Hitting a slab, a Servant with a slab, or a cache will transfer this slab's components into the target, the target's slab, or the global cache, respectively."
icon_state = "dread_ipad"
+ lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi'
var/inhand_overlay //If applicable, this overlay will be applied to the slab's inhand
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm.rej b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm.rej
new file mode 100644
index 0000000000..f97e3c8c1f
--- /dev/null
+++ b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm.rej
@@ -0,0 +1,10 @@
+diff a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm (rejected hunks)
+@@ -6,6 +6,8 @@
+ icon = 'icons/obj/clockwork_objects.dmi'
+ icon_state = "ratvarian_spear"
+ item_state = "ratvarian_spear"
++ lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi'
++ righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi'
+ force = 15 //Extra damage is dealt to targets in attack()
+ throwforce = 25
+ armour_penetration = 10
diff --git a/code/game/gamemodes/clock_cult/clock_items/replica_fabricator.dm b/code/game/gamemodes/clock_cult/clock_items/replica_fabricator.dm
index a0ab79ba05..af0aeb7005 100644
--- a/code/game/gamemodes/clock_cult/clock_items/replica_fabricator.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/replica_fabricator.dm
@@ -4,6 +4,8 @@
desc = "An odd, L-shaped device that hums with energy."
clockwork_desc = "A device that allows the replacing of mundane objects with Ratvarian variants. It requires power to function."
icon_state = "replica_fabricator"
+ lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi'
w_class = WEIGHT_CLASS_NORMAL
force = 5
flags = NOBLUDGEON
diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm
index f429a4b719..4a1ca367ce 100644
--- a/code/game/gamemodes/clock_cult/clock_scripture.dm
+++ b/code/game/gamemodes/clock_cult/clock_scripture.dm
@@ -274,6 +274,8 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
if(slab_overlay)
slab.add_overlay(slab_overlay)
slab.item_state = "clockwork_slab"
+ slab.lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi'
+ slab.righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi'
slab.inhand_overlay = slab_overlay
slab.slab_ability = new ranged_type(slab)
slab.slab_ability.slab = slab
@@ -299,6 +301,8 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
slab.slab_ability.remove_ranged_ability()
slab.cut_overlays()
slab.item_state = initial(slab.item_state)
+ slab.item_state = initial(slab.lefthand_file)
+ slab.item_state = initial(slab.righthand_file)
slab.inhand_overlay = null
if(invoker)
invoker.update_inv_hands()
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index d7bf5e9b9e..7547c18691 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -3,6 +3,8 @@
desc = "A sword humming with unholy energy. It glows with a dim red light."
icon_state = "cultblade"
item_state = "cultblade"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
flags = CONDUCT
sharpness = IS_SHARP
w_class = WEIGHT_CLASS_BULKY
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
index e84eedf91a..9413de030c 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
@@ -153,6 +153,8 @@
desc = "A dual-mode tool for retrieving specimens and scanning appearances. Scanning can be done through cameras."
icon_state = "gizmo_scan"
item_state = "silencer"
+ lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
origin_tech = "engineering=7;magnets=4;bluespace=4;abductor=3"
var/mode = GIZMO_SCAN
var/mob/living/marked = null
@@ -240,6 +242,8 @@
desc = "A compact device used to shut down communications equipment."
icon_state = "silencer"
item_state = "gizmo"
+ lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
origin_tech = "materials=4;programming=7;abductor=3"
/obj/item/device/abductor/silencer/attack(mob/living/M, mob/user)
@@ -339,6 +343,8 @@ Congratulations! You are now trained for invasive xenobiology research!"}
icon = 'icons/obj/abductor.dmi'
icon_state = "wonderprodStun"
item_state = "wonderprod"
+ lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
slot_flags = SLOT_BELT
origin_tech = "materials=4;combat=4;biotech=7;abductor=4"
force = 7
@@ -485,6 +491,8 @@ Congratulations! You are now trained for invasive xenobiology research!"}
name = "hard-light energy field"
desc = "A hard-light field restraining the hands."
icon_state = "cuff_white" // Needs sprite
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
breakouttime = 450
trashtype = /obj/item/weapon/restraints/handcuffs/energy/used
origin_tech = "materials=4;magnets=5;abductor=2"
diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm
index a118a979b4..21becd3c24 100644
--- a/code/game/gamemodes/miniantags/abduction/gland.dm
+++ b/code/game/gamemodes/miniantags/abduction/gland.dm
@@ -166,6 +166,8 @@
cooldown_high = 400
uses = -1
icon_state = "egg"
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
/obj/item/organ/heart/gland/egg/activate()
to_chat(owner, "You lay an egg!")
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index 3adf7b0896..755f6dd0c9 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -488,6 +488,8 @@ This is here to make the tiles around the station mininuke change when it's arme
icon = 'icons/obj/module.dmi'
w_class = WEIGHT_CLASS_TINY
item_state = "card-id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
icon_state = "datadisk0"
/obj/item/weapon/disk/nuclear
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index c60446b973..d926cf2a9f 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -8,6 +8,8 @@
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
throw_speed = 3
throw_range = 7
materials = list(MAT_METAL = 500, MAT_GLASS = 250)
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index 10766a3499..5f65c2a96d 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -127,6 +127,8 @@
icon = 'icons/obj/wizard.dmi'
icon_state = "necrostone"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
origin_tech = "bluespace=4;materials=4"
w_class = WEIGHT_CLASS_TINY
var/list/spooky_scaries = list()
@@ -203,6 +205,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "multiverse"
item_state = "multiverse"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
hitsound = 'sound/weapons/bladeslice.ogg'
flags = CONDUCT
slot_flags = SLOT_BELT
@@ -450,6 +454,8 @@
icon = 'icons/obj/wizard.dmi'
icon_state = "voodoo"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
var/mob/living/carbon/human/target = null
var/list/mob/living/carbon/human/possible = list()
var/obj/item/link = null
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index d391e70c35..130839a373 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -3,6 +3,8 @@
icon = 'icons/obj/wizard.dmi'
icon_state = "soulstone"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
layer = HIGH_OBJ_LAYER
desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefact's power."
w_class = WEIGHT_CLASS_TINY
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index 158cce1eff..3d16545baf 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -150,6 +150,8 @@
icon = 'icons/obj/module.dmi'
icon_state = "id_mod"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
origin_tech = "programming=2"
materials = list(MAT_GLASS=1000)
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm
index 9bbc509d44..8c3736ddf3 100644
--- a/code/game/machinery/launch_pad.dm
+++ b/code/game/machinery/launch_pad.dm
@@ -209,6 +209,8 @@
desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional."
icon = 'icons/obj/storage.dmi'
icon_state = "briefcase"
+ lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi'
flags = CONDUCT
force = 8
hitsound = "swing_hit"
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 369379dbce..ec0aaf2bcd 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -882,6 +882,8 @@ GLOBAL_LIST_EMPTY(allCasters)
desc = "An issue of The Griffon, the newspaper circulating aboard Nanotrasen Space Stations."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "newspaper"
+ lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("bapped")
var/screen = 0
diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm
index 3dde20ef5a..15ed4281b8 100644
--- a/code/game/machinery/syndicatebeacon.dm
+++ b/code/game/machinery/syndicatebeacon.dm
@@ -105,6 +105,8 @@
name = "suspicious beacon"
icon = 'icons/obj/radio.dmi'
icon_state = "beacon"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
desc = "A label on it reads: Warning: Activating this device will send a special beacon to your location."
origin_tech = "bluespace=6;syndicate=5"
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index cebf2d0504..655483a255 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -275,6 +275,8 @@
icon = 'icons/obj/assemblies.dmi'
icon_state = "bombcore"
item_state = "eshield0"
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "syndicate=5;combat=6"
resistance_flags = FLAMMABLE //Burnable (but the casing isn't)
@@ -525,6 +527,8 @@
icon = 'icons/obj/assemblies.dmi'
icon_state = "bigred"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
origin_tech = "syndicate=3"
var/timer = 0
diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm
index 34e883dfa1..3ca9596c26 100644
--- a/code/game/mecha/mecha_parts.dm
+++ b/code/game/mecha/mecha_parts.dm
@@ -311,6 +311,8 @@
icon = 'icons/obj/module.dmi'
icon_state = "std_mod"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
force = 5
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm
index e3ed4d7245..de8804860d 100644
--- a/code/game/objects/items/apc_frame.dm
+++ b/code/game/objects/items/apc_frame.dm
@@ -4,6 +4,8 @@
flags = CONDUCT
origin_tech = "materials=1;engineering=1"
item_state = "syringe_kit"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
var/result_path
var/inverse = 0 // For inverse dir frames like light fixtures.
@@ -115,6 +117,8 @@
icon = 'icons/obj/module.dmi'
icon_state = "door_electronics"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
w_class = WEIGHT_CLASS_SMALL
origin_tech = "engineering=2;programming=1"
diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm
index ec1441ad53..5db8cae4db 100644
--- a/code/game/objects/items/control_wand.dm
+++ b/code/game/objects/items/control_wand.dm
@@ -5,6 +5,8 @@
/obj/item/weapon/door_remote
icon_state = "gangtool-white"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
icon = 'icons/obj/device.dmi'
name = "control wand"
desc = "Remotely controls airlocks."
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 1823beec4b..3b19f3dcc7 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -553,6 +553,8 @@
paint_color = null
item_state = "spraycan"
+ lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
desc = "A metallic container containing tasty paint.\n Alt-click to toggle the cap."
instant = TRUE
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 9c74638fcc..bca1ccce81 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -10,6 +10,8 @@ GLOBAL_LIST_EMPTY(PDAs)
icon = 'icons/obj/pda.dmi'
icon_state = "pda"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = NOBLUDGEON
w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_ID | SLOT_BELT
diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm
index 879860b7b5..44d9d515b2 100644
--- a/code/game/objects/items/devices/PDA/cart.dm
+++ b/code/game/objects/items/devices/PDA/cart.dm
@@ -21,6 +21,8 @@
icon = 'icons/obj/pda.dmi'
icon_state = "cart"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
var/obj/item/radio/integrated/radio = null
diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm
index f87faa8528..94336116ec 100644
--- a/code/game/objects/items/devices/aicard.dm
+++ b/code/game/objects/items/devices/aicard.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/aicards.dmi'
icon_state = "aicard" // aicard-full
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
flags = NOBLUDGEON
diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm
index 9595d72d72..23101a4000 100644
--- a/code/game/objects/items/devices/chameleonproj.dm
+++ b/code/game/objects/items/devices/chameleonproj.dm
@@ -4,6 +4,8 @@
flags = CONDUCT | NOBLUDGEON
slot_flags = SLOT_BELT
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
throwforce = 5
throw_speed = 3
throw_range = 5
diff --git a/code/game/objects/items/devices/doorCharge.dm b/code/game/objects/items/devices/doorCharge.dm
index 65ce427ba5..16197b85c4 100644
--- a/code/game/objects/items/devices/doorCharge.dm
+++ b/code/game/objects/items/devices/doorCharge.dm
@@ -3,6 +3,8 @@
desc = null //Different examine for traitors
item_state = "electronic"
icon_state = "doorCharge"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
throw_range = 4
throw_speed = 1
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 1a623e2a3d..b3c50f3ffd 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/lighting.dmi'
icon_state = "flashlight"
item_state = "flashlight"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_BELT
@@ -194,6 +196,8 @@
desc = "A robust flashlight used by security."
icon_state = "seclite"
item_state = "seclite"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
force = 9 // Not as good as a stun baton.
brightness_on = 5 // A little better than the standard flashlight.
hitsound = 'sound/weapons/genhit1.ogg'
@@ -322,6 +326,8 @@
name = "lantern"
icon_state = "lantern"
item_state = "lantern"
+ lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
desc = "A mining lantern."
brightness_on = 6 // luminosity when on
diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm
index c1127b2bd6..cafa9e581c 100644
--- a/code/game/objects/items/devices/forcefieldprojector.dm
+++ b/code/game/objects/items/devices/forcefieldprojector.dm
@@ -6,6 +6,8 @@
w_class = WEIGHT_CLASS_SMALL
flags = NOBLUDGEON
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
materials = list(MAT_METAL=250, MAT_GLASS=500)
origin_tech = "magnets=5;engineering=5;powerstorage=4"
var/max_shield_integrity = 250
diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm
index c13df1da15..e5bca7eeac 100644
--- a/code/game/objects/items/devices/geiger_counter.dm
+++ b/code/game/objects/items/devices/geiger_counter.dm
@@ -9,6 +9,8 @@
desc = "A handheld device used for detecting and measuring radiation pulses."
icon_state = "geiger_off"
item_state = "multitool"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
materials = list(MAT_METAL = 150, MAT_GLASS = 150)
diff --git a/code/game/objects/items/devices/instruments.dm b/code/game/objects/items/devices/instruments.dm
index 78465750cd..73fa510bc7 100644
--- a/code/game/objects/items/devices/instruments.dm
+++ b/code/game/objects/items/devices/instruments.dm
@@ -4,6 +4,8 @@
resistance_flags = FLAMMABLE
max_integrity = 100
icon = 'icons/obj/musician.dmi'
+ lefthand_file = 'icons/mob/inhands/equipment/instruments_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/instruments_righthand.dmi'
var/datum/song/handheld/song
var/instrumentId = "generic"
var/instrumentExt = "mid"
@@ -151,6 +153,8 @@
desc = "An exquisitely decorated bike horn, capable of honking in a variety of notes."
icon_state = "bike_horn"
item_state = "bike_horn"
+ lefthand_file = 'icons/mob/inhands/equipment/horns_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/horns_righthand.dmi'
attack_verb = list("beautifully honks")
instrumentId = "bikehorn"
instrumentExt = "ogg"
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index 421767b00c..e61e215058 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -46,6 +46,8 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "lightreplacer0"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm
index f10bd13fd6..607238e2e9 100644
--- a/code/game/objects/items/devices/megaphone.dm
+++ b/code/game/objects/items/devices/megaphone.dm
@@ -3,6 +3,8 @@
desc = "A device used to project your voice. Loudly."
icon_state = "megaphone"
item_state = "radio"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
siemens_coefficient = 1
var/spamcheck = 0
diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm
index e298e0500e..3cbaf7e98d 100644
--- a/code/game/objects/items/devices/multitool.dm
+++ b/code/game/objects/items/devices/multitool.dm
@@ -12,6 +12,8 @@
name = "multitool"
desc = "Used for pulsing wires to test which to cut. Not recommended by doctors."
icon_state = "multitool"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
force = 5
w_class = WEIGHT_CLASS_SMALL
throwforce = 0
diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm
index ec4547126c..a07b30a86d 100644
--- a/code/game/objects/items/devices/paicard.dm
+++ b/code/game/objects/items/devices/paicard.dm
@@ -3,6 +3,8 @@
icon = 'icons/obj/aicards.dmi'
icon_state = "pai"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
origin_tech = "programming=2"
diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm
index d49d3f4d98..9e271222d2 100644
--- a/code/game/objects/items/devices/powersink.dm
+++ b/code/game/objects/items/devices/powersink.dm
@@ -5,6 +5,8 @@
name = "power sink"
icon_state = "powersink0"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
flags = CONDUCT
throwforce = 5
diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm
index d99240aa78..78e8757034 100644
--- a/code/game/objects/items/devices/radio/beacon.dm
+++ b/code/game/objects/items/devices/radio/beacon.dm
@@ -3,6 +3,8 @@
desc = "A beacon used by a teleporter."
icon_state = "beacon"
item_state = "beacon"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
var/code = "electronic"
origin_tech = "bluespace=1"
dog_fashion = null
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index f8313bb079..891a4027a0 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/radio.dmi'
icon_state = "electropack0"
item_state = "electropack"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BACK
w_class = WEIGHT_CLASS_HUGE
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 3c94db8ca4..3d7e575215 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -16,6 +16,8 @@ MASS SPECTROMETER
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
materials = list(MAT_METAL=150)
origin_tech = "magnets=1;engineering=1"
@@ -57,7 +59,9 @@ MASS SPECTROMETER
/obj/item/device/healthanalyzer
name = "health analyzer"
icon_state = "health"
- item_state = "analyzer"
+ item_state = "healthanalyzer"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
flags = CONDUCT | NOBLUDGEON
slot_flags = SLOT_BELT
@@ -253,6 +257,8 @@ MASS SPECTROMETER
name = "analyzer"
icon_state = "atmos"
item_state = "analyzer"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT | NOBLUDGEON
slot_flags = SLOT_BELT
@@ -327,6 +333,8 @@ MASS SPECTROMETER
name = "mass-spectrometer"
icon_state = "spectrometer"
item_state = "analyzer"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_BELT
@@ -388,6 +396,8 @@ MASS SPECTROMETER
desc = "A device that analyzes a slime's internal composition and measures its stats."
icon_state = "adv_spectrometer"
item_state = "analyzer"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
origin_tech = "biotech=2"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index bb59779f81..8e0e7b384e 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -3,6 +3,8 @@
desc = "A device that can record to cassette tapes, and play them. It automatically translates the content in playback."
icon_state = "taperecorder_empty"
item_state = "analyzer"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
flags = HEAR
slot_flags = SLOT_BELT
@@ -238,6 +240,8 @@
desc = "A magnetic tape that can hold up to ten minutes of content."
icon_state = "tape_white"
item_state = "analyzer"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
materials = list(MAT_METAL=20, MAT_GLASS=5)
force = 1
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index 6c0e33a999..c2c37f3d29 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -25,6 +25,8 @@ effective or pretty fucking useless.
throw_range = 7
flags = CONDUCT
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
origin_tech = "magnets=3;combat=3;syndicate=3"
var/times_used = 0 //Number of times it's been used.
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index 27cf8a772f..c21ff386bd 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -3,6 +3,8 @@
name = "tank transfer valve"
icon_state = "valve_1"
item_state = "ttv"
+ lefthand_file = 'icons/mob/inhands/weapons/bombs_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/bombs_righthand.dmi'
desc = "Regulates the transfer of air between two tanks"
var/obj/item/weapon/tank/tank_one
var/obj/item/weapon/tank/tank_two
diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm
index 5900237016..050d221f2d 100644
--- a/code/game/objects/items/religion.dm
+++ b/code/game/objects/items/religion.dm
@@ -3,6 +3,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "banner"
item_state = "banner"
+ lefthand_file = 'icons/mob/inhands/equipment/banners_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/banners_righthand.dmi'
desc = "A banner with Nanotrasen's logo on it."
var/moralecooldown = 0
var/moralewait = 600
@@ -100,6 +102,8 @@
name = "godstaff"
desc = "It's a stick..?"
icon_state = "godstaff-red"
+ lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
var/conversion_color = "#ffffff"
var/staffcooldown = 0
var/staffwait = 30
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index 6634826d6c..945d47ee80 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -107,6 +107,8 @@
singular_name = "bruise pack"
desc = "A theraputic gel pack and bandages designed to treat blunt-force trauma."
icon_state = "brutepack"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
heal_brute = 40
origin_tech = "biotech=2"
self_delay = 20
@@ -138,6 +140,8 @@
gender = PLURAL
singular_name = "ointment"
icon_state = "ointment"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
heal_burn = 40
origin_tech = "biotech=2"
self_delay = 20
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index 64e5647df8..6623653537 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -187,6 +187,8 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \
force = 5
throwforce = 10
item_state = "shard-glass"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT)
attack_verb = list("stabbed", "slashed", "sliced", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm
index 24de1bee5e..315cc94b66 100644
--- a/code/game/objects/items/stacks/sheets/sheets.dm
+++ b/code/game/objects/items/stacks/sheets/sheets.dm
@@ -1,5 +1,7 @@
/obj/item/stack/sheet
name = "sheet"
+ lefthand_file = 'icons/mob/inhands/misc/sheets_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/sheets_righthand.dmi'
full_w_class = WEIGHT_CLASS_NORMAL
force = 5
throwforce = 5
diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm
index 9705dadb1c..bceb4cfac0 100644
--- a/code/game/objects/items/theft_tools.dm
+++ b/code/game/objects/items/theft_tools.dm
@@ -42,6 +42,8 @@
icon = 'icons/obj/nuke_tools.dmi'
icon_state = "core_container_empty"
item_state = "tile"
+ lefthand_file = 'icons/mob/inhands/misc/sheets_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/sheets_righthand.dmi'
var/obj/item/nuke_core/core
/obj/item/nuke_core_container/Destroy()
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index af127e9450..348c6620cd 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -115,6 +115,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "syndballoon"
item_state = "syndballoon"
+ lefthand_file = 'icons/mob/inhands/antag/balloons_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/balloons_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
/*
@@ -135,8 +137,8 @@
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "revolver"
item_state = "gun"
- lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
+ lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_NORMAL
@@ -212,6 +214,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "sword0"
item_state = "sword0"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
var/active = 0
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("attacked", "struck", "hit")
@@ -328,6 +332,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "katana"
item_state = "katana"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT | SLOT_BACK
force = 5
diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm
index 32d60880d1..96c26065d3 100644
--- a/code/game/objects/items/trash.dm
+++ b/code/game/objects/items/trash.dm
@@ -1,6 +1,8 @@
//Added by Jack Rost
/obj/item/trash
icon = 'icons/obj/janitor.dmi'
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
desc = "This is rubbish."
w_class = WEIGHT_CLASS_TINY
resistance_flags = FLAMMABLE
diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm
index b880cf43af..6f2310303b 100644
--- a/code/game/objects/items/weapons/AI_modules.dm
+++ b/code/game/objects/items/weapons/AI_modules.dm
@@ -11,6 +11,8 @@ AI MODULES
icon = 'icons/obj/module.dmi'
icon_state = "std_mod"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
desc = "An AI Module for programming laws to an AI."
flags = CONDUCT
force = 5
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index 01a3e77a19..b40316ff78 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -120,6 +120,8 @@ obj/item/weapon/construction
desc = "A device used to rapidly build and deconstruct walls and floors."
icon = 'icons/obj/tools.dmi'
icon_state = "rcd"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
max_matter = 160
var/mode = 1
var/canRturf = 0
@@ -405,6 +407,8 @@ obj/item/weapon/construction
icon = 'icons/obj/ammo.dmi'
icon_state = "rcd"
item_state = "rcdammo"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
origin_tech = "materials=3"
materials = list(MAT_METAL=12000, MAT_GLASS=8000)
var/ammoamt = 40
@@ -452,6 +456,8 @@ obj/item/weapon/construction
desc = "A device used to rapidly provide lighting sources to an area."
icon = 'icons/obj/tools.dmi'
icon_state = "rld-5"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
matter = 200
max_matter = 200
var/mode = LIGHT_MODE
diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm
index a9f270e101..6bae1adcd9 100644
--- a/code/game/objects/items/weapons/RSF.dm
+++ b/code/game/objects/items/weapons/RSF.dm
@@ -8,6 +8,8 @@ RSF
desc = "A device used to rapidly deploy service items."
icon = 'icons/obj/tools.dmi'
icon_state = "rcd"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
opacity = 0
density = FALSE
anchored = FALSE
@@ -115,6 +117,8 @@ RSF
desc = "A self-recharging device used to rapidly deploy cookies."
icon = 'icons/obj/tools.dmi'
icon_state = "rcd"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
var/matter = 10
var/toxin = 0
var/cooldown = 0
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index 13a420de5e..380a68f16a 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -27,6 +27,8 @@
var/data = "null"
var/special = null
item_state = "card-id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
/obj/item/weapon/card/data/verb/label(t as text)
set name = "Label Disk"
@@ -51,6 +53,8 @@
name = "cryptographic sequencer"
icon_state = "emag"
item_state = "card-id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
origin_tech = "magnets=2;syndicate=2"
flags = NOBLUDGEON
var/prox_check = TRUE //If the emag requires you to be in range
@@ -76,6 +80,8 @@
desc = "A card used to provide ID and determine access across the station."
icon_state = "id"
item_state = "card-id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
slot_flags = SLOT_ID
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 100)
resistance_flags = FIRE_PROOF | ACID_PROOF
@@ -136,12 +142,16 @@ update_label("John Doe", "Clowny")
desc = "A silver card which shows honour and dedication."
icon_state = "silver"
item_state = "silver_id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
/obj/item/weapon/card/id/gold
name = "gold identification card"
desc = "A golden card which shows power and might."
icon_state = "gold"
item_state = "gold_id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
/obj/item/weapon/card/id/syndicate
name = "agent card"
@@ -202,6 +212,8 @@ update_label("John Doe", "Clowny")
desc = "The spare ID of the High Lord himself."
icon_state = "gold"
item_state = "gold_id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
registered_name = "Captain"
assignment = "Captain"
@@ -261,6 +273,8 @@ update_label("John Doe", "Clowny")
desc = "You are a number, you are not a free man."
icon_state = "orange"
item_state = "orange-id"
+ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
assignment = "Prisoner"
registered_name = "Scum"
var/goal = 0 //How far from freedom?
diff --git a/code/game/objects/items/weapons/charter.dm b/code/game/objects/items/weapons/charter.dm
index b17f48937a..c5f3f9c7f2 100644
--- a/code/game/objects/items/weapons/charter.dm
+++ b/code/game/objects/items/weapons/charter.dm
@@ -100,6 +100,8 @@
name_type = "planet"
icon_state = "banner"
item_state = "banner"
+ lefthand_file = 'icons/mob/inhands/equipment/banners_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/banners_righthand.dmi'
desc = "A cunning device used to claim ownership of planets."
w_class = 5
force = 15
diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm
index c3be2659ff..567ac3672a 100644
--- a/code/game/objects/items/weapons/clown_items.dm
+++ b/code/game/objects/items/weapons/clown_items.dm
@@ -100,6 +100,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "bike_horn"
item_state = "bike_horn"
+ lefthand_file = 'icons/mob/inhands/equipment/horns_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/horns_righthand.dmi'
throwforce = 0
hitsound = null //To prevent tap.ogg playing, as the item lacks of force
w_class = WEIGHT_CLASS_TINY
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index 2462b5d19a..e80a8e4350 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -7,6 +7,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "defibunit"
item_state = "defibunit"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
slot_flags = SLOT_BACK
force = 5
throwforce = 6
@@ -571,6 +573,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "defibpaddles0"
item_state = "defibpaddles0"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
req_defib = FALSE
/obj/item/weapon/twohanded/shockpaddles/cyborg/attack(mob/M, mob/user)
@@ -592,6 +596,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "defibpaddles0"
item_state = "defibpaddles0"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
req_defib = FALSE
#undef HALFWAYCRITDEATH
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index e329ae78f8..8957562186 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -3,6 +3,8 @@
desc = "This injects the person with DNA."
icon = 'icons/obj/items.dmi'
icon_state = "dnainjector"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_TINY
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index 8bb4d3eefe..0e6d6cc66f 100755
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/flamethrower.dmi'
icon_state = "flamethrowerbase"
item_state = "flamethrower_0"
+ lefthand_file = 'icons/mob/inhands/weapons/flamethrower_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/flamethrower_righthand.dmi'
flags = CONDUCT
force = 3
throwforce = 10
diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm
index 5ee8296c84..3563c0a439 100644
--- a/code/game/objects/items/weapons/grenades/flashbang.dm
+++ b/code/game/objects/items/weapons/grenades/flashbang.dm
@@ -2,6 +2,8 @@
name = "flashbang"
icon_state = "flashbang"
item_state = "flashbang"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
origin_tech = "materials=2;combat=3"
/obj/item/weapon/grenade/flashbang/prime()
diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm
index afa63a187f..de1c3a6cbd 100644
--- a/code/game/objects/items/weapons/grenades/ghettobomb.dm
+++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm
@@ -7,6 +7,8 @@
icon = 'icons/obj/grenade.dmi'
icon_state = "improvised_grenade"
item_state = "flashbang"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.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 33f3b34c95..08118f6447 100644
--- a/code/game/objects/items/weapons/grenades/grenade.dm
+++ b/code/game/objects/items/weapons/grenades/grenade.dm
@@ -5,6 +5,8 @@
icon = 'icons/obj/grenade.dmi'
icon_state = "grenade"
item_state = "flashbang"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
throw_speed = 3
throw_range = 7
flags = CONDUCT
diff --git a/code/game/objects/items/weapons/grenades/plastic.dm b/code/game/objects/items/weapons/grenades/plastic.dm
index f9ce9465e0..a043f3890c 100644
--- a/code/game/objects/items/weapons/grenades/plastic.dm
+++ b/code/game/objects/items/weapons/grenades/plastic.dm
@@ -162,6 +162,8 @@
icon = 'icons/obj/grenade.dmi'
icon_state = "plastic-explosive0"
item_state = "plasticx"
+ lefthand_file = 'icons/mob/inhands/weapons/bombs_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/bombs_righthand.dmi'
flags = NOBLUDGEON
w_class = WEIGHT_CLASS_SMALL
origin_tech = "syndicate=1"
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 7ee254a8dd..802c2d499a 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -9,6 +9,8 @@
gender = PLURAL
icon = 'icons/obj/items.dmi'
icon_state = "handcuff"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 0
@@ -88,6 +90,8 @@
desc = "Looks like some cables tied together. Could be used to tie something up."
icon_state = "cuff_red"
item_state = "coil_red"
+ lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/items_righthand.dmi'
materials = list(MAT_METAL=150, MAT_GLASS=75)
origin_tech = "engineering=2"
breakouttime = 300 //Deciseconds = 30s
@@ -141,7 +145,9 @@
/obj/item/weapon/restraints/handcuffs/cable/white
icon_state = "cuff_white"
- item_state = "coil_white"
+ item_state = "cuff_white"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
/obj/item/weapon/restraints/handcuffs/alien
icon_state = "handcuffAlien"
@@ -206,7 +212,9 @@
name = "zipties"
desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use."
icon_state = "cuff_white"
- item_state = "coil_white"
+ item_state = "cuff_white"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
materials = list()
breakouttime = 450 //Deciseconds = 45s
trashtype = /obj/item/weapon/restraints/handcuffs/cable/zipties/used
@@ -227,6 +235,8 @@
gender = PLURAL
icon = 'icons/obj/items.dmi'
icon_state = "handcuff"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
flags = CONDUCT
throwforce = 0
w_class = WEIGHT_CLASS_NORMAL
diff --git a/code/game/objects/items/weapons/holosign_creator.dm b/code/game/objects/items/weapons/holosign_creator.dm
index 1923f7e3d3..23b65e01bf 100644
--- a/code/game/objects/items/weapons/holosign_creator.dm
+++ b/code/game/objects/items/weapons/holosign_creator.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/device.dmi'
icon_state = "signmaker"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
force = 0
w_class = WEIGHT_CLASS_SMALL
throwforce = 0
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index e262d6cd00..238022d209 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -3,6 +3,8 @@
desc = "A rod of pure obsidian, its very presence disrupts and dampens the powers of Nar-Sie's followers."
icon_state = "nullrod"
item_state = "nullrod"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
force = 18
throw_speed = 3
throw_range = 4
@@ -60,6 +62,8 @@
/obj/item/weapon/nullrod/staff
icon_state = "godstaff-red"
item_state = "godstaff-red"
+ lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
name = "red holy staff"
desc = "It has a mysterious, protective aura."
w_class = WEIGHT_CLASS_HUGE
@@ -82,6 +86,8 @@
/obj/item/weapon/nullrod/claymore
icon_state = "claymore"
item_state = "claymore"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
name = "holy claymore"
desc = "A weapon fit for a crusade!"
w_class = WEIGHT_CLASS_HUGE
@@ -163,6 +169,8 @@
desc = "This thing is so unspeakably HOLY you are having a hard time even holding it."
icon_state = "sord"
item_state = "sord"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
slot_flags = SLOT_BELT
force = 4.13
throwforce = 1
@@ -172,6 +180,8 @@
/obj/item/weapon/nullrod/scythe
icon_state = "scythe1"
item_state = "scythe1"
+ lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi'
name = "reaper scythe"
desc = "Ask not for whom the bell tolls..."
w_class = WEIGHT_CLASS_BULKY
@@ -183,6 +193,8 @@
/obj/item/weapon/nullrod/scythe/vibro
icon_state = "hfrequency0"
item_state = "hfrequency1"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
name = "high frequency blade"
desc = "Bad references are the DNA of the soul."
attack_verb = list("chopped", "sliced", "cut", "zandatsu'd")
@@ -192,6 +204,8 @@
/obj/item/weapon/nullrod/scythe/spellblade
icon_state = "spellblade"
item_state = "spellblade"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
icon = 'icons/obj/guns/magic.dmi'
name = "dormant spellblade"
desc = "The blade grants the wielder nearly limitless power...if they can figure out how to turn it on, that is."
@@ -200,6 +214,8 @@
/obj/item/weapon/nullrod/scythe/talking
icon_state = "talking_sword"
item_state = "talking_sword"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
name = "possessed blade"
desc = "When the station falls into chaos, it's nice to have a friend by your side."
attack_verb = list("chopped", "sliced", "cut")
@@ -243,6 +259,8 @@
/obj/item/weapon/nullrod/hammmer
icon_state = "hammeron"
item_state = "hammeron"
+ lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi'
name = "relic war hammer"
desc = "This war hammer cost the chaplain forty thousand space dollars."
slot_flags = SLOT_BELT
@@ -254,6 +272,8 @@
desc = "Good? Bad? You're the guy with the chainsaw hand."
icon_state = "chainsaw_on"
item_state = "mounted_chainsaw"
+ lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi'
w_class = WEIGHT_CLASS_HUGE
flags = NODROP | ABSTRACT
sharpness = IS_SHARP
@@ -275,6 +295,8 @@
desc = "What a terrible night to be on Space Station 13."
icon_state = "chain"
item_state = "chain"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
slot_flags = SLOT_BELT
attack_verb = list("whipped", "lashed")
hitsound = 'sound/weapons/chainhit.ogg'
@@ -333,10 +355,14 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "bostaff0"
item_state = "bostaff0"
+ lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
/obj/item/weapon/nullrod/tribal_knife
icon_state = "crysknife"
item_state = "crysknife"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
name = "arrhythmic knife"
w_class = WEIGHT_CLASS_HUGE
desc = "They say fear is the true mind killer, but stabbing them in the head works too. Honour compels you to not sheathe it once drawn."
@@ -363,6 +389,8 @@
/obj/item/weapon/nullrod/pitchfork
icon_state = "pitchfork0"
+ lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi'
name = "unholy pitchfork"
w_class = WEIGHT_CLASS_NORMAL
desc = "Holding this makes you look absolutely devilish."
diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm
index bce0025c04..287f0c29bc 100644
--- a/code/game/objects/items/weapons/implants/implantcase.dm
+++ b/code/game/objects/items/weapons/implants/implantcase.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "implantcase-0"
item_state = "implantcase"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
throw_speed = 2
throw_range = 5
w_class = WEIGHT_CLASS_TINY
diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm
index 9be87aa5d4..708232d910 100644
--- a/code/game/objects/items/weapons/implants/implanter.dm
+++ b/code/game/objects/items/weapons/implants/implanter.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "implanter0"
item_state = "syringe_0"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/game/objects/items/weapons/implants/implantpad.dm b/code/game/objects/items/weapons/implants/implantpad.dm
index 094f46413a..dabd0eeda5 100644
--- a/code/game/objects/items/weapons/implants/implantpad.dm
+++ b/code/game/objects/items/weapons/implants/implantpad.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "implantpad-0"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/game/objects/items/weapons/implants/implantuplink.dm b/code/game/objects/items/weapons/implants/implantuplink.dm
index d0b5971d60..927da73a5b 100644
--- a/code/game/objects/items/weapons/implants/implantuplink.dm
+++ b/code/game/objects/items/weapons/implants/implantuplink.dm
@@ -3,6 +3,8 @@
desc = "Sneeki breeki."
icon = 'icons/obj/radio.dmi'
icon_state = "radio"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
origin_tech = "materials=4;magnets=4;programming=4;biotech=4;syndicate=5;bluespace=5"
var/starting_tc = 0
diff --git a/code/game/objects/items/weapons/inducer.dm b/code/game/objects/items/weapons/inducer.dm
index 193e49989f..0110b69a01 100644
--- a/code/game/objects/items/weapons/inducer.dm
+++ b/code/game/objects/items/weapons/inducer.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/tools.dmi'
icon_state = "inducer-engi"
item_state = "inducer-engi"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
origin_tech = "engineering=4;magnets=4;powerstorage=4"
force = 7
var/powertransfer = 1000
diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm
index de89b3d3a0..a125aaf89c 100644
--- a/code/game/objects/items/weapons/kitchen.dm
+++ b/code/game/objects/items/weapons/kitchen.dm
@@ -11,6 +11,8 @@
/obj/item/weapon/kitchen
icon = 'icons/obj/kitchen.dmi'
origin_tech = "materials=1"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
/obj/item/weapon/kitchen/fork
name = "fork"
@@ -86,6 +88,7 @@
desc = "The unearthly energies that once powered this blade are now dormant."
icon = 'icons/obj/wizard.dmi'
icon_state = "render"
+ item_state = "knife"
w_class = WEIGHT_CLASS_NORMAL
/obj/item/weapon/kitchen/knife/butcher
@@ -113,6 +116,7 @@
/obj/item/weapon/kitchen/knife/combat/survival
name = "survival knife"
icon_state = "survivalknife"
+ item_state = "knife"
desc = "A hunting grade survival knife."
force = 15
throwforce = 15
@@ -122,6 +126,8 @@
name = "bone dagger"
item_state = "bone_dagger"
icon_state = "bone_dagger"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
desc = "A sharpened bone. The bare mimimum in survival."
force = 15
throwforce = 15
@@ -138,6 +144,8 @@
name = "carrot shiv"
icon_state = "carrotshiv"
item_state = "carrotshiv"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
desc = "Unlike other carrots, you should probably keep this far away from your eyes."
force = 8
throwforce = 12//fuck git
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index f366704e50..8bca4d02a1 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -61,6 +61,8 @@
name = "energy axe"
desc = "An energized battle axe."
icon_state = "axe0"
+ lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi'
force = 40
force_on = 150
throwforce = 25
@@ -85,6 +87,8 @@
name = "energy sword"
desc = "May the force be within you."
icon_state = "sword0"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
force = 3
throwforce = 5
hitsound = "swing_hit" //it starts deactivated
@@ -187,6 +191,8 @@
name = "energy cutlass"
desc = "Arrrr matey."
icon_state = "cutlass0"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
icon_state_on = "cutlass1"
light_color = "#ff0000"
@@ -194,6 +200,8 @@
name = "energy blade"
desc = "A concentrated beam of energy in the shape of a blade. Very stylish... and lethal."
icon_state = "blade"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
force = 30 //Normal attacks deal esword damage
hitsound = 'sound/weapons/blade1.ogg'
active = 1
diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm
index bd48650746..2ded74b536 100644
--- a/code/game/objects/items/weapons/melee/misc.dm
+++ b/code/game/objects/items/weapons/melee/misc.dm
@@ -14,6 +14,8 @@
desc = "A tool used by great men to placate the frothing masses."
icon_state = "chain"
item_state = "chain"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
force = 10
@@ -47,6 +49,8 @@
desc = "An elegant weapon, its monomolecular edge is capable of cutting through flesh and bone with ease."
icon_state = "sabre"
item_state = "sabre"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
flags = CONDUCT
unique_rename = 1
force = 15
@@ -83,6 +87,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "baton"
item_state = "classic_baton"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
slot_flags = SLOT_BELT
force = 12 //9 hit crit
w_class = WEIGHT_CLASS_NORMAL
@@ -138,6 +144,8 @@
desc = "A compact yet robust personal defense weapon. Can be concealed when folded."
icon = 'icons/obj/weapons.dmi'
icon_state = "telebaton_0"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
item_state = null
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
@@ -190,6 +198,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "supermatter_sword"
item_state = "supermatter_sword"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
slot_flags = null
w_class = WEIGHT_CLASS_BULKY
force = 0.001
@@ -284,6 +294,8 @@
desc = "Somewhat eccentric and outdated, it still stings like hell to be hit by."
icon_state = "whip"
item_state = "chain"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
slot_flags = SLOT_BELT
force = 15
w_class = WEIGHT_CLASS_NORMAL
diff --git a/code/game/objects/items/weapons/miscellaneous.dm b/code/game/objects/items/weapons/miscellaneous.dm
index 001037a452..8924209463 100644
--- a/code/game/objects/items/weapons/miscellaneous.dm
+++ b/code/game/objects/items/weapons/miscellaneous.dm
@@ -3,6 +3,8 @@
name = "wet floor sign"
icon = 'icons/obj/janitor.dmi'
icon_state = "caution"
+ lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
force = 1
throwforce = 3
throw_speed = 2
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index 9bf5be6e35..57871326d4 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -77,6 +77,8 @@
mopcap = 10
icon_state = "advmop"
item_state = "mop"
+ lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
origin_tech = "materials=3;engineering=3"
force = 6
throwforce = 8
diff --git a/code/game/objects/items/weapons/pneumaticCannon.dm b/code/game/objects/items/weapons/pneumaticCannon.dm
index 7ac70c82f8..d2f5714d5e 100644
--- a/code/game/objects/items/weapons/pneumaticCannon.dm
+++ b/code/game/objects/items/weapons/pneumaticCannon.dm
@@ -11,8 +11,8 @@
icon = 'icons/obj/pneumaticCannon.dmi'
icon_state = "pneumaticCannon"
item_state = "bulldog"
- lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
+ lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi'
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 60, acid = 50)
var/maxWeightClass = 20 //The max weight of items that can fit into the cannon
var/loadedWeightClass = 0 //The weight of items currently in the cannon
diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm
index d3a940090d..256cdc0433 100644
--- a/code/game/objects/items/weapons/powerfist.dm
+++ b/code/game/objects/items/weapons/powerfist.dm
@@ -3,6 +3,8 @@
desc = "A metal gauntlet with a piston-powered ram ontop for that extra 'ompfh' in your punch."
icon_state = "powerfist"
item_state = "powerfist"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
flags = CONDUCT
attack_verb = list("whacked", "fisted", "power-punched")
force = 20
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index b528d52078..bb1a1de8c0 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -8,6 +8,8 @@
desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder."
icon = 'icons/obj/weapons.dmi'
icon_state = "riot"
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
slot_flags = SLOT_BACK
force = 10
throwforce = 5
@@ -41,12 +43,16 @@
desc = "Bears an inscription on the inside: \"Romanes venio domus\"."
icon_state = "roman_shield"
item_state = "roman_shield"
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
/obj/item/weapon/shield/riot/buckler
name = "wooden buckler"
desc = "A medieval wooden buckler."
icon_state = "buckler"
item_state = "buckler"
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
materials = list()
origin_tech = "materials=1;combat=3;biotech=2"
resistance_flags = FLAMMABLE
@@ -57,6 +63,8 @@
desc = "A shield capable of stopping most melee attacks. Protects user from almost all energy projectiles. It can be retracted, expanded, and stored anywhere."
icon = 'icons/obj/weapons.dmi'
icon_state = "eshield0" // eshield1 for expanded
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
force = 3
throwforce = 3
throw_speed = 3
@@ -100,6 +108,8 @@
desc = "An advanced riot shield made of lightweight materials that collapses for easy storage."
icon = 'icons/obj/weapons.dmi'
icon_state = "teleriot0"
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
origin_tech = "materials=3;combat=4;engineering=4"
slot_flags = null
force = 3
diff --git a/code/game/objects/items/weapons/singularityhammer.dm b/code/game/objects/items/weapons/singularityhammer.dm
index 77b3feb81c..a229b82660 100644
--- a/code/game/objects/items/weapons/singularityhammer.dm
+++ b/code/game/objects/items/weapons/singularityhammer.dm
@@ -2,6 +2,8 @@
name = "singularity hammer"
desc = "The pinnacle of close combat technology, the hammer harnesses the power of a miniaturized singularity to deal crushing blows."
icon_state = "mjollnir0"
+ lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BACK
force = 5
@@ -71,6 +73,8 @@
name = "Mjolnir"
desc = "A weapon worthy of a god, able to strike with the force of a lightning bolt. It crackles with barely contained energy."
icon_state = "mjollnir0"
+ lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BACK
force = 5
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index a3b5d0f4bc..cd9d0bee14 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -14,6 +14,8 @@
desc = "You wear this on your back and put items into it."
icon_state = "backpack"
item_state = "backpack"
+ lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_BACK //ERROOOOO
max_w_class = WEIGHT_CLASS_NORMAL
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index 76b4e087fd..dff48b6d41 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -32,6 +32,8 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "trashbag"
item_state = "trashbag"
+ lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_SMALL
diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm
index ed38d02c31..9e8e913f39 100644
--- a/code/game/objects/items/weapons/storage/book.dm
+++ b/code/game/objects/items/weapons/storage/book.dm
@@ -23,6 +23,8 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
icon = 'icons/obj/storage.dmi'
icon_state = "bible"
item_state = "bible"
+ lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi'
var/mob/affecting = null
var/deity_name = "Christ"
force_string = "holy"
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index 75267d731f..94a935498b 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -26,6 +26,8 @@
desc = "It's just an ordinary box."
icon_state = "box"
item_state = "syringe_kit"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
resistance_flags = FLAMMABLE
var/foldable = /obj/item/stack/sheet/cardboard
var/illustration = "writing"
@@ -533,6 +535,8 @@
illustration = "light"
desc = "This box is shaped on the inside so that only light tubes and bulbs fit."
item_state = "syringe_kit"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
storage_slots=21
can_hold = list(/obj/item/weapon/light/tube, /obj/item/weapon/light/bulb)
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index 7434679d10..d7ec67c78a 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -2,6 +2,8 @@
name = "briefcase"
desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional."
icon_state = "briefcase"
+ lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi'
flags = CONDUCT
force = 8
hitsound = "swing_hit"
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index 32d9a75397..f98f9d62b1 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -81,6 +81,8 @@
icon = 'icons/obj/food/containers.dmi'
icon_state = "eggbox"
icon_type = "egg"
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
name = "egg box"
storage_slots = 12
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/egg)
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index fd893afb2d..f3699e20ab 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -12,6 +12,8 @@
name = "first-aid kit"
desc = "It's an emergency medical kit for those serious boo-boos."
icon_state = "firstaid"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
throw_speed = 3
throw_range = 7
var/empty = 0
diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm
index 35a6c64388..ada92e3f91 100644
--- a/code/game/objects/items/weapons/storage/lockbox.dm
+++ b/code/game/objects/items/weapons/storage/lockbox.dm
@@ -3,6 +3,8 @@
desc = "A locked box."
icon_state = "lockbox+l"
item_state = "syringe_kit"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item.
@@ -109,6 +111,8 @@
desc = "A locked box used to store medals of honor."
icon_state = "medalbox+l"
item_state = "syringe_kit"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
w_class = WEIGHT_CLASS_NORMAL
max_w_class = WEIGHT_CLASS_SMALL
storage_slots = 10
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index 56eb477906..501802f68c 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -135,6 +135,8 @@
icon = 'icons/obj/storage.dmi'
icon_state = "secure"
item_state = "sec-case"
+ lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi'
desc = "A large briefcase with a digital locking system."
force = 8
hitsound = "swing_hit"
diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm
index 31f52a42fc..8fa9a0bf00 100644
--- a/code/game/objects/items/weapons/storage/toolbox.dm
+++ b/code/game/objects/items/weapons/storage/toolbox.dm
@@ -3,6 +3,8 @@
desc = "Danger. Very robust."
icon_state = "red"
item_state = "toolbox_red"
+ lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
flags = CONDUCT
force = 12
throwforce = 12
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index bde97b5680..c43b97d9f1 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -3,6 +3,8 @@
desc = "A stun baton for incapacitating people with."
icon_state = "stunbaton"
item_state = "baton"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
slot_flags = SLOT_BELT
force = 10
throwforce = 7
@@ -180,6 +182,8 @@
desc = "An improvised stun baton."
icon_state = "stunprod_nocell"
item_state = "prod"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
force = 3
throwforce = 5
diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm
index 478b966d57..8b61a45d5a 100644
--- a/code/game/objects/items/weapons/tanks/jetpack.dm
+++ b/code/game/objects/items/weapons/tanks/jetpack.dm
@@ -3,6 +3,8 @@
desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution."
icon_state = "jetpack"
item_state = "jetpack"
+ lefthand_file = 'icons/mob/inhands/equipment/jetpacks_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/jetpacks_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
distribute_pressure = ONE_ATMOSPHERE * O2STANDARD
actions_types = list(/datum/action/item_action/set_internals, /datum/action/item_action/toggle_jetpack, /datum/action/item_action/jetpack_stabilization)
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index 0974e60cc0..7a42cdc5f1 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -1,6 +1,8 @@
/obj/item/weapon/tank
name = "tank"
icon = 'icons/obj/tank.dmi'
+ lefthand_file = 'icons/mob/inhands/equipment/tanks_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tanks_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BACK
hitsound = 'sound/weapons/smash.ogg'
diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm
index 807756b29e..9eac23c55c 100644
--- a/code/game/objects/items/weapons/tanks/watertank.dm
+++ b/code/game/objects/items/weapons/tanks/watertank.dm
@@ -103,6 +103,8 @@
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "mister"
item_state = "mister"
+ lefthand_file = 'icons/mob/inhands/equipment/mister_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/mister_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
amount_per_transfer_from_this = 50
possible_transfer_amounts = list(25,50,100)
@@ -164,6 +166,8 @@
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "misterjani"
item_state = "misterjani"
+ lefthand_file = 'icons/mob/inhands/equipment/mister_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/mister_righthand.dmi'
amount_per_transfer_from_this = 5
possible_transfer_amounts = list()
@@ -208,6 +212,8 @@
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "atmos_nozzle"
item_state = "nozzleatmos"
+ lefthand_file = 'icons/mob/inhands/equipment/mister_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/mister_righthand.dmi'
safety = 0
max_water = 200
power = 8
@@ -458,6 +464,8 @@
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "misterjani"
item_state = "misterjani"
+ lefthand_file = 'icons/mob/inhands/equipment/mister_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/mister_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
amount_per_transfer_from_this = 100
possible_transfer_amounts = list(75,100,150)
diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm
index aa624adc58..a53e16233f 100644
--- a/code/game/objects/items/weapons/teleportation.dm
+++ b/code/game/objects/items/weapons/teleportation.dm
@@ -23,6 +23,8 @@
flags = CONDUCT
w_class = WEIGHT_CLASS_SMALL
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
throw_speed = 3
throw_range = 7
materials = list(MAT_METAL=400)
@@ -132,6 +134,8 @@ Frequency:
icon = 'icons/obj/device.dmi'
icon_state = "hand_tele"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 385ff6cbc0..1121100d8c 100755
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -19,6 +19,8 @@
desc = "A wrench with common uses. Can be found in your hand."
icon = 'icons/obj/tools.dmi'
icon_state = "wrench"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
force = 5
@@ -62,6 +64,8 @@
desc = "A simple powered hand drill. It's fitted with a bolt bit."
icon_state = "drill_bolt"
item_state = "drill"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
usesound = 'sound/items/drill_use.ogg'
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get
@@ -129,6 +133,8 @@
icon = 'icons/obj/tools.dmi'
icon_state = "screwdriver"
item_state = "screwdriver"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
force = 5
@@ -224,6 +230,8 @@
desc = "A simple powered hand drill. It's fitted with a screw bit."
icon_state = "drill_screw"
item_state = "drill"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get
force = 8 //might or might not be too high, subject to change
@@ -262,6 +270,8 @@
desc = "This cuts wires."
icon = 'icons/obj/tools.dmi'
icon_state = null
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
force = 6
@@ -357,6 +367,8 @@
icon = 'icons/obj/tools.dmi'
icon_state = "welder"
item_state = "welder"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
force = 3
@@ -692,6 +704,8 @@
desc = "A small crowbar. This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors."
icon = 'icons/obj/tools.dmi'
icon_state = "crowbar"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
usesound = 'sound/items/crowbar.ogg'
flags = CONDUCT
slot_flags = SLOT_BELT
@@ -753,6 +767,8 @@
desc = "A set of jaws of life, compressed through the magic of science. It's fitted with a prying head."
icon_state = "jaws_pry"
item_state = "jawsoflife"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
origin_tech = "materials=2;engineering=2"
usesound = 'sound/items/jaws_pry.ogg'
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 067339d6a3..5cdf679cbe 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -198,6 +198,8 @@
*/
/obj/item/weapon/twohanded/fireaxe // DEM AXES MAN, marker -Agouri
icon_state = "fireaxe0"
+ lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi'
name = "fire axe"
desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?"
force = 5
@@ -238,6 +240,8 @@
*/
/obj/item/weapon/twohanded/dualsaber
icon_state = "dualsaber0"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
name = "double-bladed energy sword"
desc = "Handle with care."
force = 3
@@ -401,6 +405,8 @@
//spears
/obj/item/weapon/twohanded/spear
icon_state = "spearglass0"
+ lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi'
name = "spear"
desc = "A haphazardly-constructed yet still deadly weapon of ancient design."
force = 10
@@ -477,6 +483,8 @@
name = "chainsaw"
desc = "A versatile power tool. Useful for limbing trees and delimbing humans."
icon_state = "chainsaw_off"
+ lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi'
flags = CONDUCT
force = 13
var/force_on = 21
@@ -555,6 +563,8 @@
/obj/item/weapon/twohanded/pitchfork
icon_state = "pitchfork0"
+ lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi'
name = "pitchfork"
desc = "A simple tool used for moving hay."
force = 7
@@ -632,6 +642,8 @@
/obj/item/weapon/twohanded/vibro_weapon
icon_state = "hfrequency0"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
name = "vibro sword"
desc = "A potent weapon capable of cutting through nearly anything. Wielding it in two hands will allow you to deflect gunfire."
force_unwielded = 20
@@ -680,6 +692,8 @@
*/
/obj/item/weapon/twohanded/bonespear //Blatant imitation of spear, but made out of bone. Not valid for explosive modification.
icon_state = "bone_spear0"
+ lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi'
name = "bone spear"
desc = "A haphazardly-constructed yet still deadly weapon. The pinnacle of modern technology."
force = 11
diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm
index 47ddfaed0a..bcb1969382 100644
--- a/code/game/objects/items/weapons/vending_items.dm
+++ b/code/game/objects/items/weapons/vending_items.dm
@@ -5,6 +5,8 @@
icon = 'icons/obj/vending_restock.dmi'
icon_state = "refill_snack"
item_state = "restock_unit"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
force = 7
throwforce = 10
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 51c49e0367..ee6b2ea2c2 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -29,6 +29,8 @@
desc = "This thing is so unspeakably shitty you are having a hard time even holding it."
icon_state = "sord"
item_state = "sord"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
slot_flags = SLOT_BELT
force = 2
throwforce = 1
@@ -46,6 +48,8 @@
desc = "What are you standing around staring at this for? Get to killing!"
icon_state = "claymore"
item_state = "claymore"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
hitsound = 'sound/weapons/bladeslice.ogg'
flags = CONDUCT
slot_flags = SLOT_BELT | SLOT_BACK
@@ -190,6 +194,8 @@
desc = "Woefully underpowered in D20"
icon_state = "katana"
item_state = "katana"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT | SLOT_BACK
force = 40
@@ -253,6 +259,8 @@
desc = "An ancient weapon still used to this day due to it's ease of lodging itself into victim's body parts"
icon_state = "throwingstar"
item_state = "eshield0"
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
force = 2
throwforce = 20 //This is never used on mobs since this has a 100% embed chance.
throw_speed = 4
@@ -268,6 +276,8 @@
/obj/item/weapon/switchblade
name = "switchblade"
icon_state = "switchblade"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
desc = "A sharp, concealable, spring-loaded knife."
flags = CONDUCT
force = 3
@@ -332,6 +342,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "cane"
item_state = "stick"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
force = 5
throwforce = 5
w_class = WEIGHT_CLASS_SMALL
@@ -343,6 +355,8 @@
desc = "Apparently a staff used by the wizard."
icon = 'icons/obj/wizard.dmi'
icon_state = "staff"
+ lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
force = 3
throwforce = 5
throw_speed = 2
@@ -365,6 +379,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "stick"
item_state = "stick"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
force = 3
throwforce = 5
throw_speed = 2
@@ -387,6 +403,8 @@
desc = "A chainsaw that has replaced your arm."
icon_state = "chainsaw_on"
item_state = "mounted_chainsaw"
+ lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi'
flags = NODROP | ABSTRACT | DROPDEL
w_class = WEIGHT_CLASS_HUGE
force = 21
@@ -462,6 +480,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "baseball_bat"
item_state = "baseball_bat"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
force = 10
throwforce = 12
attack_verb = list("beat", "smacked")
@@ -525,6 +545,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "flyswatter"
item_state = "flyswatter"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
force = 1
throwforce = 1
attack_verb = list("swatted", "smacked")
diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm
index 27335719c7..96fb189ba5 100644
--- a/code/game/objects/structures/beds_chairs/chair.dm
+++ b/code/game/objects/structures/beds_chairs/chair.dm
@@ -225,6 +225,8 @@
icon = 'icons/obj/chairs.dmi'
icon_state = "chair_toppled"
item_state = "chair"
+ lefthand_file = 'icons/mob/inhands/misc/chairs_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/chairs_righthand.dmi'
w_class = WEIGHT_CLASS_HUGE
force = 8
throwforce = 10
diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm
index 672f91c11b..2853fefcbf 100644
--- a/code/modules/assembly/bomb.dm
+++ b/code/modules/assembly/bomb.dm
@@ -2,6 +2,8 @@
name = "bomb"
icon = 'icons/obj/tank.dmi'
item_state = "assembly"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
throwforce = 5
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 2
diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm
index 5c4e308770..f356dfd78c 100644
--- a/code/modules/assembly/flash.dm
+++ b/code/modules/assembly/flash.dm
@@ -3,6 +3,8 @@
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 = "flashtool"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
throwforce = 0
w_class = WEIGHT_CLASS_TINY
materials = list(MAT_METAL = 300, MAT_GLASS = 300)
@@ -225,6 +227,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "flashshield"
item_state = "flashshield"
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
slot_flags = SLOT_BACK
force = 10
throwforce = 5
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index 8a434a6f81..d1ac4c782d 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -3,6 +3,8 @@
icon = 'icons/obj/assemblies/new_assemblies.dmi'
icon_state = "holder"
item_state = "assembly"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
throwforce = 5
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm
index c0d4e45ade..d827abb5e1 100644
--- a/code/modules/assembly/signaler.dm
+++ b/code/modules/assembly/signaler.dm
@@ -3,6 +3,8 @@
desc = "Used to remotely activate devices. Allows for syncing when using a secure signaler on another."
icon_state = "signaller"
item_state = "signaler"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
materials = list(MAT_METAL=400, MAT_GLASS=120)
origin_tech = "magnets=1;bluespace=1"
wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE
@@ -183,6 +185,8 @@ Code:
desc = "The neutralized core of an anomaly. It'd probably be valuable for research."
icon_state = "anomaly core"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
/obj/item/device/assembly/signaler/anomaly/receive_signal(datum/signal/signal)
if(!signal)
diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm
index f824bf0c56..22d92b54be 100644
--- a/code/modules/awaymissions/capture_the_flag.dm
+++ b/code/modules/awaymissions/capture_the_flag.dm
@@ -13,6 +13,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "banner"
item_state = "banner"
+ lefthand_file = 'icons/mob/inhands/equipment/banners_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/banners_righthand.dmi'
desc = "A banner with Nanotrasen's logo on it."
slowdown = 2
throw_speed = 0
diff --git a/code/modules/cargo/export_scanner.dm b/code/modules/cargo/export_scanner.dm
index b8e18769db..d1fdf27306 100644
--- a/code/modules/cargo/export_scanner.dm
+++ b/code/modules/cargo/export_scanner.dm
@@ -3,6 +3,8 @@
desc = "A device used to check objects against Nanotrasen exports database."
icon_state = "export_scanner"
item_state = "radio"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = NOBLUDGEON
w_class = WEIGHT_CLASS_SMALL
siemens_coefficient = 1
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 4ae20e1461..01410d4222 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -17,6 +17,8 @@
desc = "High speed, low drag combat boots."
icon_state = "jackboots"
item_state = "jackboots"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
armor = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 50, bio = 10, rad = 0, fire = 70, acid = 50)
strip_delay = 70
resistance_flags = 0
@@ -97,6 +99,8 @@
desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time."
icon_state = "jackboots"
item_state = "jackboots"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
item_color = "hosred"
strip_delay = 50
equip_delay_other = 50
@@ -122,6 +126,8 @@
desc = "Nanotrasen-issue Engineering lace-up work boots for the especially blue-collar."
icon_state = "workboots"
item_state = "jackboots"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
strip_delay = 40
equip_delay_other = 40
pockets = /obj/item/weapon/storage/internal/pocket/shoes
diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm
index c3d58ee67d..d7d9ac93ff 100644
--- a/code/modules/detectivework/scanner.dm
+++ b/code/modules/detectivework/scanner.dm
@@ -8,6 +8,8 @@
icon_state = "forensicnew"
w_class = WEIGHT_CLASS_SMALL
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT | NOBLUDGEON
slot_flags = SLOT_BELT
var/scanning = 0
diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm
index 012bfe588f..46f04a524f 100644
--- a/code/modules/food_and_drinks/drinks/drinks.dm
+++ b/code/modules/food_and_drinks/drinks/drinks.dm
@@ -6,6 +6,8 @@
desc = "yummy"
icon = 'icons/obj/drinks.dmi'
icon_state = null
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
container_type = OPENCONTAINER
var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it.
possible_transfer_amounts = list(5,10,15,20,25,30,50)
@@ -328,6 +330,8 @@
/obj/item/weapon/reagent_containers/food/drinks/soda_cans
name = "soda can"
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
container_type = 0
spillable = FALSE
diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index ce42cf7005..dd9d914f18 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -9,6 +9,8 @@
volume = 100
throwforce = 15
item_state = "broken_beer" //Generic held-item sprite until unique ones are made.
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
var/const/duration = 13 //Directly relates to the 'knockdown' duration. Lowered by armor (i.e. helmets)
var/isGlass = 1 //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it
@@ -304,6 +306,8 @@
desc = "Full of vitamins and deliciousness!"
icon_state = "orangejuice"
item_state = "carton"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
isGlass = 0
list_reagents = list("orangejuice" = 100)
@@ -312,6 +316,8 @@
desc = "It's cream. Made from milk. What else did you think you'd find in there?"
icon_state = "cream"
item_state = "carton"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
isGlass = 0
list_reagents = list("cream" = 100)
@@ -320,6 +326,8 @@
desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness."
icon_state = "tomatojuice"
item_state = "carton"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
isGlass = 0
list_reagents = list("tomatojuice" = 100)
@@ -328,6 +336,8 @@
desc = "Sweet-sour goodness."
icon_state = "limejuice"
item_state = "carton"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
isGlass = 0
list_reagents = list("limejuice" = 100)
diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm
index 1b06edc350..477d4913c8 100644
--- a/code/modules/food_and_drinks/food/condiment.dm
+++ b/code/modules/food_and_drinks/food/condiment.dm
@@ -174,6 +174,8 @@
desc = "It's milk. White and nutritious goodness!"
icon_state = "milk"
item_state = "carton"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
list_reagents = list("milk" = 50)
possible_states = list()
@@ -190,6 +192,8 @@
desc = "It's soy milk. White and nutritious goodness!"
icon_state = "soymilk"
item_state = "carton"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
list_reagents = list("soymilk" = 50)
possible_states = list()
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 25b7b99144..8964e7ebaa 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -3,6 +3,8 @@
desc = "Yummy."
icon = 'icons/obj/food/food.dmi'
icon_state = null
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
unique_rename = 1
var/bitesize = 2
var/bitecount = 0
diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm
index 71c0bf2f1c..cde68b86e2 100644
--- a/code/modules/food_and_drinks/pizzabox.dm
+++ b/code/modules/food_and_drinks/pizzabox.dm
@@ -4,6 +4,8 @@
desc = "Special delivery!"
icon_state = "pizzabomb_inactive"
item_state = "eshield0"
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
origin_tech = "syndicate=3;engineering=3"
/obj/item/pizzabox
@@ -12,6 +14,8 @@
icon = 'icons/obj/food/containers.dmi'
icon_state = "pizzabox"
item_state = "pizzabox"
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
var/open = FALSE
var/boxtag = ""
diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm
index 00d8f3df7a..793266b165 100644
--- a/code/modules/holodeck/items.dm
+++ b/code/modules/holodeck/items.dm
@@ -14,6 +14,8 @@
name = "holographic energy sword"
desc = "May the force be with you. Sorta"
icon_state = "sword0"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
force = 3.0
throw_speed = 2
throw_range = 5
diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm
index 169812042f..eebf578340 100644
--- a/code/modules/hydroponics/grown/nettle.dm
+++ b/code/modules/hydroponics/grown/nettle.dm
@@ -33,6 +33,8 @@
desc = "It's probably not wise to touch it with bare hands..."
icon = 'icons/obj/weapons.dmi'
icon_state = "nettle"
+ lefthand_file = 'icons/mob/inhands/weapons/plants_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/plants_righthand.dmi'
damtype = "fire"
force = 15
hitsound = 'sound/weapons/bladeslice.ogg'
diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm
index bb53c093c3..dc72c1adbe 100644
--- a/code/modules/hydroponics/hydroitemdefines.dm
+++ b/code/modules/hydroponics/hydroitemdefines.dm
@@ -5,6 +5,8 @@
icon = 'icons/obj/device.dmi'
icon_state = "hydro"
item_state = "analyzer"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_BELT
origin_tech = "magnets=2;biotech=2"
@@ -42,6 +44,8 @@
name = "pest spray"
icon_state = "pestspray"
item_state = "plantbgone"
+ lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
volume = 100
container_type = OPENCONTAINER
slot_flags = SLOT_BELT
@@ -64,6 +68,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "cultivator"
item_state = "cultivator"
+ lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
origin_tech = "engineering=2;biotech=2"
flags = CONDUCT
force = 5
@@ -78,6 +84,9 @@
desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood."
icon = 'icons/obj/weapons.dmi'
icon_state = "hatchet"
+ item_state = "hatchet"
+ lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
flags = CONDUCT
force = 12
w_class = WEIGHT_CLASS_TINY
@@ -97,6 +106,8 @@
/obj/item/weapon/scythe
icon_state = "scythe0"
+ lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi'
name = "scythe"
desc = "A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow."
force = 13
diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm
index 4f07bbbc48..90248bce2e 100644
--- a/code/modules/mining/aux_base.dm
+++ b/code/modules/mining/aux_base.dm
@@ -177,6 +177,8 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
name = "Landing Field Designator"
icon_state = "gangtool-purple"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
icon = 'icons/obj/device.dmi'
desc = "Deploy to designate the landing zone of the auxillary base."
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm
index cd600d64fb..a1251381b4 100644
--- a/code/modules/mining/equipment/kinetic_crusher.dm
+++ b/code/modules/mining/equipment/kinetic_crusher.dm
@@ -3,6 +3,8 @@
icon = 'icons/obj/mining.dmi'
icon_state = "mining_hammer1"
item_state = "mining_hammer1"
+ lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi'
name = "proto-kinetic crusher"
desc = "An early design of the proto-kinetic accelerator, it is little more than an combination of various mining tools cobbled together, forming a high-tech club. \
While it is an effective mining tool, it did little to aid any but the most skilled and/or suicidal miners against local fauna."
diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm
index 1ff774bb61..98e621bb2e 100644
--- a/code/modules/mining/equipment/lazarus_injector.dm
+++ b/code/modules/mining/equipment/lazarus_injector.dm
@@ -5,6 +5,8 @@
icon = 'icons/obj/syringe.dmi'
icon_state = "lazarus_hypo"
item_state = "hypo"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
diff --git a/code/modules/mining/equipment/mineral_scanner.dm b/code/modules/mining/equipment/mineral_scanner.dm
index 4f76c98a28..85dc278735 100644
--- a/code/modules/mining/equipment/mineral_scanner.dm
+++ b/code/modules/mining/equipment/mineral_scanner.dm
@@ -4,6 +4,8 @@
name = "manual mining scanner"
icon_state = "mining1"
item_state = "analyzer"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_BELT
@@ -32,6 +34,8 @@
name = "advanced automatic mining scanner"
icon_state = "mining0"
item_state = "analyzer"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_BELT
diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm
index 7c31360a6b..a3ffa82114 100644
--- a/code/modules/mining/equipment/mining_tools.dm
+++ b/code/modules/mining/equipment/mining_tools.dm
@@ -8,6 +8,8 @@
force = 15
throwforce = 10
item_state = "pickaxe"
+ lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
materials = list(MAT_METAL=2000) //one sheet, but where can you make them?
var/digspeed = 40
@@ -89,6 +91,8 @@
desc = "A large tool for digging and moving dirt."
icon = 'icons/obj/mining.dmi'
icon_state = "shovel"
+ lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
force = 8
@@ -106,6 +110,8 @@
desc = "A small tool for digging and moving dirt."
icon_state = "spade"
item_state = "spade"
+ lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
force = 5
throwforce = 7
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm
index 5c110d09bf..7685f6a1f6 100644
--- a/code/modules/mining/equipment/resonator.dm
+++ b/code/modules/mining/equipment/resonator.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/mining.dmi'
icon_state = "resonator"
item_state = "resonator"
+ lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It does increased damage in low pressure."
w_class = WEIGHT_CLASS_NORMAL
force = 15
diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm
index ea64b9181b..00fdbfb561 100644
--- a/code/modules/mining/equipment/wormhole_jaunter.dm
+++ b/code/modules/mining/equipment/wormhole_jaunter.dm
@@ -5,6 +5,8 @@
icon = 'icons/obj/mining.dmi'
icon_state = "Jaunter"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index c1cd1b937e..b2e474957c 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -141,6 +141,9 @@
desc = "This lantern gives off no light, but is home to a friendly wisp."
icon = 'icons/obj/lighting.dmi'
icon_state = "lantern-blue"
+ item_state = "lantern"
+ lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
var/obj/effect/wisp/wisp
/obj/item/device/wisp_lantern/attack_self(mob/user)
@@ -258,6 +261,8 @@
ammo_type = /obj/item/ammo_casing/magic/hook
icon_state = "hook"
item_state = "chain"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
fire_sound = 'sound/weapons/batonextend.ogg'
max_charges = 1
flags = NOBLUDGEON
@@ -683,6 +688,8 @@
desc = "A rusted and dulled blade. It doesn't look like it'd do much damage. It glows weakly."
icon_state = "spectral"
item_state = "spectral"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
flags = CONDUCT
sharpness = IS_SHARP
w_class = WEIGHT_CLASS_BULKY
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 81dd60e3e0..fd7d209604 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -4,6 +4,8 @@
icon_state = "std_module"
w_class = WEIGHT_CLASS_GIGANTIC
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
var/list/basic_modules = list() //a list of paths, converted to a list of instances on New()
diff --git a/code/modules/modular_computers/hardware/network_card.dm b/code/modules/modular_computers/hardware/network_card.dm
index 19e30cd42d..071fe096e4 100644
--- a/code/modules/modular_computers/hardware/network_card.dm
+++ b/code/modules/modular_computers/hardware/network_card.dm
@@ -68,6 +68,8 @@
origin_tech = "programming=4;engineering=2"
power_usage = 100 // Better range but higher power usage.
icon_state = "radio"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
/obj/item/weapon/computer_hardware/network_card/wired
diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm
index 80a077ac33..d82619d348 100644
--- a/code/modules/ninja/energy_katana.dm
+++ b/code/modules/ninja/energy_katana.dm
@@ -59,6 +59,8 @@
desc = "A katana infused with strong energy."
icon_state = "energy_katana"
item_state = "energy_katana"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
force = 40
throwforce = 20
block_chance = 50
diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm
index 9e4b12aace..f1a1ee49e8 100644
--- a/code/modules/paperwork/handlabeler.dm
+++ b/code/modules/paperwork/handlabeler.dm
@@ -112,4 +112,6 @@
desc = "A roll of paper. Use it on a hand labeler to refill it."
icon_state = "labeler_refill"
item_state = "electropack"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index a9dc698fd8..c8112bb3bd 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "paper_bin1"
item_state = "sheet-metal"
+ lefthand_file = 'icons/mob/inhands/misc/sheets_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/sheets_righthand.dmi'
throwforce = 0
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 3
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index fe3f7f3b0f..0f0ccfa4a7 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -223,6 +223,10 @@
if(on)
icon_state = "edagger"
item_state = "edagger"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
else
icon_state = initial(icon_state) //looks like a normal pen when off.
item_state = initial(item_state)
+ lefthand_file = initial(lefthand_file)
+ righthand_file = initial(righthand_file)
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index c66d551ec4..b1896f930a 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -94,6 +94,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "album"
item_state = "briefcase"
+ lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi'
can_hold = list(/obj/item/weapon/photo)
resistance_flags = FLAMMABLE
@@ -106,6 +108,8 @@
desc = "A polaroid camera."
icon_state = "camera"
item_state = "electropack"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_BELT
diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm
index da1e1ed22b..d4a26f61d9 100644
--- a/code/modules/power/antimatter/shielding.dm
+++ b/code/modules/power/antimatter/shielding.dm
@@ -230,6 +230,8 @@
icon = 'icons/obj/machines/antimatter.dmi'
icon_state = "box"
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
flags = CONDUCT
throwforce = 5
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 03852caf46..a60edab51e 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -468,6 +468,8 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
icon = 'icons/obj/power.dmi'
icon_state = "coil_red"
item_state = "coil_red"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
max_amount = MAXCOIL
amount = MAXCOIL
merge_type = /obj/item/stack/cable_coil // This is here to let its children merge between themselves
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index fb3a96162e..557d6fd75a 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/power.dmi'
icon_state = "cell"
item_state = "cell"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
origin_tech = "powerstorage=1"
force = 5
throwforce = 5
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index fc07ff03b0..1eb048c78b 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -184,6 +184,8 @@
icon = 'icons/obj/power.dmi'
icon_state = "sp_base"
item_state = "electropack"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY // Pretty big!
anchored = FALSE
var/tracker = 0
diff --git a/code/modules/projectiles/box_magazine.dm b/code/modules/projectiles/box_magazine.dm
index 028aebe66a..883954b5d2 100644
--- a/code/modules/projectiles/box_magazine.dm
+++ b/code/modules/projectiles/box_magazine.dm
@@ -7,6 +7,8 @@
flags = CONDUCT
slot_flags = SLOT_BELT
item_state = "syringe_kit"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
materials = list(MAT_METAL=30000)
throwforce = 2
w_class = WEIGHT_CLASS_TINY
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 115618f0b9..84f730f833 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -38,8 +38,8 @@
var/spread = 0 //Spread induced by the gun itself.
var/randomspread = 1 //Set to 0 for shotguns. This is used for weapons that don't fire all their bullets at once.
- lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
+ lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi'
var/obj/item/device/firing_pin/pin = /obj/item/device/firing_pin //standard firing pin for most guns
diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm
index 45a1eccd65..4d17d772a3 100644
--- a/code/modules/projectiles/guns/magic/staff.dm
+++ b/code/modules/projectiles/guns/magic/staff.dm
@@ -1,5 +1,7 @@
/obj/item/weapon/gun/magic/staff
slot_flags = SLOT_BACK
+ lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
/obj/item/weapon/gun/magic/staff/change
name = "staff of change"
@@ -74,6 +76,8 @@
ammo_type = /obj/item/ammo_casing/magic/spellblade
icon_state = "spellblade"
item_state = "spellblade"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
hitsound = 'sound/weapons/rapierhit.ogg'
force = 20
armour_penetration = 75
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index 8cbbfc8fb9..a223709f62 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -13,6 +13,8 @@ Borg Hypospray
desc = "An advanced chemical synthesizer and injection system, designed for heavy-duty medical equipment."
icon = 'icons/obj/syringe.dmi'
item_state = "hypo"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
icon_state = "borghypo"
amount_per_transfer_from_this = 5
volume = 30
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 83de0ce3eb..cca23a86c9 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -233,6 +233,8 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "bucket"
item_state = "bucket"
+ lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
materials = list(MAT_METAL=200)
w_class = WEIGHT_CLASS_NORMAL
amount_per_transfer_from_this = 20
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index f0bdffcda8..1b7f4f4eed 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -3,6 +3,8 @@
desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients."
icon = 'icons/obj/syringe.dmi'
item_state = "hypo"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
icon_state = "hypo"
amount_per_transfer_from_this = 5
volume = 30
@@ -70,6 +72,8 @@
desc = "A rapid and safe way to stabilize patients in critical condition for personnel without advanced medical knowledge."
icon_state = "medipen"
item_state = "medipen"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
amount_per_transfer_from_this = 10
volume = 10
ignore_flags = 1 //so you can medipen through hardsuits
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index efd312c8d6..a72ecf1cd4 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "pill"
item_state = "pill"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
possible_transfer_amounts = list()
volume = 50
var/apply_type = INGEST
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 11e901f1cb..a3da3a9e2f 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -4,6 +4,8 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "cleaner"
item_state = "cleaner"
+ lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
flags = NOBLUDGEON
container_type = OPENCONTAINER
slot_flags = SLOT_BELT
@@ -168,6 +170,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "pepperspray"
item_state = "pepperspray"
+ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
volume = 40
stream_range = 4
amount_per_transfer_from_this = 5
@@ -238,5 +242,7 @@
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "plantbgone"
item_state = "plantbgone"
+ lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
volume = 100
list_reagents = list("plantbgone" = 100)
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 68781a5e45..f11965496d 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -6,6 +6,8 @@
desc = "A syringe that can hold up to 15 units."
icon = 'icons/obj/syringe.dmi'
item_state = "syringe_0"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
icon_state = "0"
amount_per_transfer_from_this = 5
possible_transfer_amounts = list()
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 9b366ad9f1..69f4cc148c 100644
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -144,6 +144,8 @@
w_class = WEIGHT_CLASS_TINY
item_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_BELT
diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm
index d7230c737c..a5d3e8fece 100644
--- a/code/modules/research/stock_parts.dm
+++ b/code/modules/research/stock_parts.dm
@@ -6,6 +6,8 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
desc = "Special mechanical module made to store, sort, and apply standard machine parts."
icon_state = "RPED"
item_state = "RPED"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_HUGE
can_hold = list(/obj/item/weapon/stock_parts)
storage_slots = 50
diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm
index e7a529b2a0..d41ea48c5f 100644
--- a/code/modules/station_goals/dna_vault.dm
+++ b/code/modules/station_goals/dna_vault.dm
@@ -64,6 +64,8 @@
desc = "Can be used to take chemical and genetic samples of pretty much anything."
icon = 'icons/obj/syringe.dmi'
item_state = "hypo"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
icon_state = "hypo"
flags = NOBLUDGEON
var/list/animals = list()
diff --git a/code/modules/surgery/organs/autosurgeon.dm b/code/modules/surgery/organs/autosurgeon.dm
index 53b0d5f17f..2217d16c4d 100644
--- a/code/modules/surgery/organs/autosurgeon.dm
+++ b/code/modules/surgery/organs/autosurgeon.dm
@@ -4,7 +4,7 @@
name = "autosurgeon"
desc = "A device that automatically inserts an implant or organ into the user without the hassle of extensive surgery. It has a slot to insert implants/organs and a screwdriver slot for removing accidentally added items."
icon_state = "autoimplanter"
- item_state = "walkietalkie"//left as this so as to intentionally not have inhands
+ item_state = "nothing"
w_class = WEIGHT_CLASS_SMALL
var/obj/item/organ/storedorgan
var/organ_type = /obj/item/organ
diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm
index 887c26038a..3ef91fcef8 100644
--- a/code/modules/surgery/tools.dm
+++ b/code/modules/surgery/tools.dm
@@ -38,6 +38,8 @@
desc = "You can drill using this item. You dig?"
icon = 'icons/obj/surgery.dmi'
icon_state = "drill"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
hitsound = 'sound/weapons/circsawhit.ogg'
materials = list(MAT_METAL=10000, MAT_GLASS=6000)
flags = CONDUCT
@@ -51,6 +53,8 @@
desc = "Cut, cut, and once more cut."
icon = 'icons/obj/surgery.dmi'
icon_state = "scalpel"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
flags = CONDUCT
force = 10
w_class = WEIGHT_CLASS_TINY
@@ -73,6 +77,8 @@
desc = "For heavy duty cutting."
icon = 'icons/obj/surgery.dmi'
icon_state = "saw"
+ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
hitsound = 'sound/weapons/circsawhit.ogg'
throwhitsound = 'sound/weapons/pierce.ogg'
flags = CONDUCT
diff --git a/code/modules/uplink/uplink.dm b/code/modules/uplink/uplink.dm
index 041f503967..0293a3ace4 100644
--- a/code/modules/uplink/uplink.dm
+++ b/code/modules/uplink/uplink.dm
@@ -140,6 +140,8 @@ GLOBAL_LIST_EMPTY(uplinks)
/obj/item/device/radio/uplink/Initialize()
. = ..()
icon_state = "radio"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
hidden_uplink = new(src)
hidden_uplink.active = TRUE
hidden_uplink.lockable = FALSE
diff --git a/icons/mob/inhands/antag/abductor_lefthand.dmi b/icons/mob/inhands/antag/abductor_lefthand.dmi
new file mode 100644
index 0000000000..477e044950
Binary files /dev/null and b/icons/mob/inhands/antag/abductor_lefthand.dmi differ
diff --git a/icons/mob/inhands/antag/abductor_righthand.dmi b/icons/mob/inhands/antag/abductor_righthand.dmi
new file mode 100644
index 0000000000..64404c6a45
Binary files /dev/null and b/icons/mob/inhands/antag/abductor_righthand.dmi differ
diff --git a/icons/mob/inhands/antag/balloons_lefthand.dmi b/icons/mob/inhands/antag/balloons_lefthand.dmi
new file mode 100644
index 0000000000..06f68a1cb1
Binary files /dev/null and b/icons/mob/inhands/antag/balloons_lefthand.dmi differ
diff --git a/icons/mob/inhands/antag/balloons_righthand.dmi b/icons/mob/inhands/antag/balloons_righthand.dmi
new file mode 100644
index 0000000000..e417c1cfed
Binary files /dev/null and b/icons/mob/inhands/antag/balloons_righthand.dmi differ
diff --git a/icons/mob/inhands/antag/changeling_lefthand.dmi b/icons/mob/inhands/antag/changeling_lefthand.dmi
new file mode 100644
index 0000000000..b5a0928fbe
Binary files /dev/null and b/icons/mob/inhands/antag/changeling_lefthand.dmi differ
diff --git a/icons/mob/inhands/antag/changeling_righthand.dmi b/icons/mob/inhands/antag/changeling_righthand.dmi
new file mode 100644
index 0000000000..34e34e4eda
Binary files /dev/null and b/icons/mob/inhands/antag/changeling_righthand.dmi differ
diff --git a/icons/mob/inhands/antag/clockwork_lefthand.dmi b/icons/mob/inhands/antag/clockwork_lefthand.dmi
new file mode 100644
index 0000000000..88bd8ab710
Binary files /dev/null and b/icons/mob/inhands/antag/clockwork_lefthand.dmi differ
diff --git a/icons/mob/inhands/antag/clockwork_righthand.dmi b/icons/mob/inhands/antag/clockwork_righthand.dmi
new file mode 100644
index 0000000000..20190e4add
Binary files /dev/null and b/icons/mob/inhands/antag/clockwork_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/backpack_lefthand.dmi b/icons/mob/inhands/equipment/backpack_lefthand.dmi
new file mode 100644
index 0000000000..c37d12e2c0
Binary files /dev/null and b/icons/mob/inhands/equipment/backpack_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/backpack_righthand.dmi b/icons/mob/inhands/equipment/backpack_righthand.dmi
new file mode 100644
index 0000000000..08e05e055e
Binary files /dev/null and b/icons/mob/inhands/equipment/backpack_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/banners_lefthand.dmi b/icons/mob/inhands/equipment/banners_lefthand.dmi
new file mode 100644
index 0000000000..27eb3bf7c2
Binary files /dev/null and b/icons/mob/inhands/equipment/banners_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/banners_righthand.dmi b/icons/mob/inhands/equipment/banners_righthand.dmi
new file mode 100644
index 0000000000..a9cedf57d2
Binary files /dev/null and b/icons/mob/inhands/equipment/banners_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/briefcase_lefthand.dmi b/icons/mob/inhands/equipment/briefcase_lefthand.dmi
new file mode 100644
index 0000000000..08bc3814b0
Binary files /dev/null and b/icons/mob/inhands/equipment/briefcase_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/briefcase_righthand.dmi b/icons/mob/inhands/equipment/briefcase_righthand.dmi
new file mode 100644
index 0000000000..5cc42559cd
Binary files /dev/null and b/icons/mob/inhands/equipment/briefcase_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/custodial_lefthand.dmi b/icons/mob/inhands/equipment/custodial_lefthand.dmi
new file mode 100644
index 0000000000..80c77cf8df
Binary files /dev/null and b/icons/mob/inhands/equipment/custodial_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/custodial_righthand.dmi b/icons/mob/inhands/equipment/custodial_righthand.dmi
new file mode 100644
index 0000000000..fb64834ce9
Binary files /dev/null and b/icons/mob/inhands/equipment/custodial_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/horns_lefthand.dmi b/icons/mob/inhands/equipment/horns_lefthand.dmi
new file mode 100644
index 0000000000..af8a5e7d22
Binary files /dev/null and b/icons/mob/inhands/equipment/horns_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/horns_righthand.dmi b/icons/mob/inhands/equipment/horns_righthand.dmi
new file mode 100644
index 0000000000..8d0be6d0aa
Binary files /dev/null and b/icons/mob/inhands/equipment/horns_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/hydroponics_lefthand.dmi b/icons/mob/inhands/equipment/hydroponics_lefthand.dmi
new file mode 100644
index 0000000000..e4386234c6
Binary files /dev/null and b/icons/mob/inhands/equipment/hydroponics_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/hydroponics_righthand.dmi b/icons/mob/inhands/equipment/hydroponics_righthand.dmi
new file mode 100644
index 0000000000..bc355962ad
Binary files /dev/null and b/icons/mob/inhands/equipment/hydroponics_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/idcards_lefthand.dmi b/icons/mob/inhands/equipment/idcards_lefthand.dmi
new file mode 100644
index 0000000000..53b40584e7
Binary files /dev/null and b/icons/mob/inhands/equipment/idcards_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/idcards_righthand.dmi b/icons/mob/inhands/equipment/idcards_righthand.dmi
new file mode 100644
index 0000000000..19a6f77c28
Binary files /dev/null and b/icons/mob/inhands/equipment/idcards_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/instruments_lefthand.dmi b/icons/mob/inhands/equipment/instruments_lefthand.dmi
new file mode 100644
index 0000000000..3c168f9d3d
Binary files /dev/null and b/icons/mob/inhands/equipment/instruments_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/instruments_righthand.dmi b/icons/mob/inhands/equipment/instruments_righthand.dmi
new file mode 100644
index 0000000000..bb264c1370
Binary files /dev/null and b/icons/mob/inhands/equipment/instruments_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/jetpacks_lefthand.dmi b/icons/mob/inhands/equipment/jetpacks_lefthand.dmi
new file mode 100644
index 0000000000..d104463db8
Binary files /dev/null and b/icons/mob/inhands/equipment/jetpacks_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/jetpacks_righthand.dmi b/icons/mob/inhands/equipment/jetpacks_righthand.dmi
new file mode 100644
index 0000000000..f8c594fad9
Binary files /dev/null and b/icons/mob/inhands/equipment/jetpacks_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/kitchen_lefthand.dmi b/icons/mob/inhands/equipment/kitchen_lefthand.dmi
new file mode 100644
index 0000000000..277a7d8f05
Binary files /dev/null and b/icons/mob/inhands/equipment/kitchen_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/kitchen_righthand.dmi b/icons/mob/inhands/equipment/kitchen_righthand.dmi
new file mode 100644
index 0000000000..0103bd19b5
Binary files /dev/null and b/icons/mob/inhands/equipment/kitchen_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/medical_lefthand.dmi b/icons/mob/inhands/equipment/medical_lefthand.dmi
new file mode 100644
index 0000000000..d55cf81f92
Binary files /dev/null and b/icons/mob/inhands/equipment/medical_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/medical_righthand.dmi b/icons/mob/inhands/equipment/medical_righthand.dmi
new file mode 100644
index 0000000000..764c5c542a
Binary files /dev/null and b/icons/mob/inhands/equipment/medical_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/mining_lefthand.dmi b/icons/mob/inhands/equipment/mining_lefthand.dmi
new file mode 100644
index 0000000000..e902690c37
Binary files /dev/null and b/icons/mob/inhands/equipment/mining_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/mining_righthand.dmi b/icons/mob/inhands/equipment/mining_righthand.dmi
new file mode 100644
index 0000000000..dacf9be078
Binary files /dev/null and b/icons/mob/inhands/equipment/mining_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/mister_lefthand.dmi b/icons/mob/inhands/equipment/mister_lefthand.dmi
new file mode 100644
index 0000000000..d79c6df279
Binary files /dev/null and b/icons/mob/inhands/equipment/mister_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/mister_righthand.dmi b/icons/mob/inhands/equipment/mister_righthand.dmi
new file mode 100644
index 0000000000..1d6f45aa85
Binary files /dev/null and b/icons/mob/inhands/equipment/mister_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/security_lefthand.dmi b/icons/mob/inhands/equipment/security_lefthand.dmi
new file mode 100644
index 0000000000..a9f3c36ac1
Binary files /dev/null and b/icons/mob/inhands/equipment/security_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/security_righthand.dmi b/icons/mob/inhands/equipment/security_righthand.dmi
new file mode 100644
index 0000000000..201eaa19aa
Binary files /dev/null and b/icons/mob/inhands/equipment/security_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/shields_lefthand.dmi b/icons/mob/inhands/equipment/shields_lefthand.dmi
new file mode 100644
index 0000000000..9748457dc3
Binary files /dev/null and b/icons/mob/inhands/equipment/shields_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/shields_righthand.dmi b/icons/mob/inhands/equipment/shields_righthand.dmi
new file mode 100644
index 0000000000..f67cbc6b9e
Binary files /dev/null and b/icons/mob/inhands/equipment/shields_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/tanks_lefthand.dmi b/icons/mob/inhands/equipment/tanks_lefthand.dmi
new file mode 100644
index 0000000000..a317e1080c
Binary files /dev/null and b/icons/mob/inhands/equipment/tanks_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/tanks_righthand.dmi b/icons/mob/inhands/equipment/tanks_righthand.dmi
new file mode 100644
index 0000000000..c795999441
Binary files /dev/null and b/icons/mob/inhands/equipment/tanks_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/toolbox_lefthand.dmi b/icons/mob/inhands/equipment/toolbox_lefthand.dmi
new file mode 100644
index 0000000000..b2fa42ce5e
Binary files /dev/null and b/icons/mob/inhands/equipment/toolbox_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/toolbox_righthand.dmi b/icons/mob/inhands/equipment/toolbox_righthand.dmi
new file mode 100644
index 0000000000..ccb15982dd
Binary files /dev/null and b/icons/mob/inhands/equipment/toolbox_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/tools_lefthand.dmi b/icons/mob/inhands/equipment/tools_lefthand.dmi
new file mode 100644
index 0000000000..c694968cd1
Binary files /dev/null and b/icons/mob/inhands/equipment/tools_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/tools_righthand.dmi b/icons/mob/inhands/equipment/tools_righthand.dmi
new file mode 100644
index 0000000000..18de0a1d68
Binary files /dev/null and b/icons/mob/inhands/equipment/tools_righthand.dmi differ
diff --git a/icons/mob/inhands/misc/books_lefthand.dmi b/icons/mob/inhands/misc/books_lefthand.dmi
new file mode 100644
index 0000000000..180e1999a4
Binary files /dev/null and b/icons/mob/inhands/misc/books_lefthand.dmi differ
diff --git a/icons/mob/inhands/misc/books_righthand.dmi b/icons/mob/inhands/misc/books_righthand.dmi
new file mode 100644
index 0000000000..ac7ed504d6
Binary files /dev/null and b/icons/mob/inhands/misc/books_righthand.dmi differ
diff --git a/icons/mob/inhands/misc/chairs_lefthand.dmi b/icons/mob/inhands/misc/chairs_lefthand.dmi
new file mode 100644
index 0000000000..7377787a63
Binary files /dev/null and b/icons/mob/inhands/misc/chairs_lefthand.dmi differ
diff --git a/icons/mob/inhands/misc/chairs_righthand.dmi b/icons/mob/inhands/misc/chairs_righthand.dmi
new file mode 100644
index 0000000000..f04962de18
Binary files /dev/null and b/icons/mob/inhands/misc/chairs_righthand.dmi differ
diff --git a/icons/mob/inhands/misc/devices_lefthand.dmi b/icons/mob/inhands/misc/devices_lefthand.dmi
new file mode 100644
index 0000000000..a421b1fbc5
Binary files /dev/null and b/icons/mob/inhands/misc/devices_lefthand.dmi differ
diff --git a/icons/mob/inhands/misc/devices_righthand.dmi b/icons/mob/inhands/misc/devices_righthand.dmi
new file mode 100644
index 0000000000..866a6765ec
Binary files /dev/null and b/icons/mob/inhands/misc/devices_righthand.dmi differ
diff --git a/icons/mob/inhands/misc/food_lefthand.dmi b/icons/mob/inhands/misc/food_lefthand.dmi
new file mode 100644
index 0000000000..770172cb5b
Binary files /dev/null and b/icons/mob/inhands/misc/food_lefthand.dmi differ
diff --git a/icons/mob/inhands/misc/food_righthand.dmi b/icons/mob/inhands/misc/food_righthand.dmi
new file mode 100644
index 0000000000..17d2dde33f
Binary files /dev/null and b/icons/mob/inhands/misc/food_righthand.dmi differ
diff --git a/icons/mob/inhands/misc/sheets_lefthand.dmi b/icons/mob/inhands/misc/sheets_lefthand.dmi
new file mode 100644
index 0000000000..d1d929371f
Binary files /dev/null and b/icons/mob/inhands/misc/sheets_lefthand.dmi differ
diff --git a/icons/mob/inhands/misc/sheets_righthand.dmi b/icons/mob/inhands/misc/sheets_righthand.dmi
new file mode 100644
index 0000000000..3c46b63b94
Binary files /dev/null and b/icons/mob/inhands/misc/sheets_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/axes_lefthand.dmi b/icons/mob/inhands/weapons/axes_lefthand.dmi
new file mode 100644
index 0000000000..6b4041e477
Binary files /dev/null and b/icons/mob/inhands/weapons/axes_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/axes_righthand.dmi b/icons/mob/inhands/weapons/axes_righthand.dmi
new file mode 100644
index 0000000000..30553d6320
Binary files /dev/null and b/icons/mob/inhands/weapons/axes_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/bombs_lefthand.dmi b/icons/mob/inhands/weapons/bombs_lefthand.dmi
new file mode 100644
index 0000000000..a084091414
Binary files /dev/null and b/icons/mob/inhands/weapons/bombs_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/bombs_righthand.dmi b/icons/mob/inhands/weapons/bombs_righthand.dmi
new file mode 100644
index 0000000000..39b50584ce
Binary files /dev/null and b/icons/mob/inhands/weapons/bombs_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/chainsaw_lefthand.dmi b/icons/mob/inhands/weapons/chainsaw_lefthand.dmi
new file mode 100644
index 0000000000..3e0aea0e6b
Binary files /dev/null and b/icons/mob/inhands/weapons/chainsaw_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/chainsaw_righthand.dmi b/icons/mob/inhands/weapons/chainsaw_righthand.dmi
new file mode 100644
index 0000000000..0800a52731
Binary files /dev/null and b/icons/mob/inhands/weapons/chainsaw_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/flamethrower_lefthand.dmi b/icons/mob/inhands/weapons/flamethrower_lefthand.dmi
new file mode 100644
index 0000000000..813211ac13
Binary files /dev/null and b/icons/mob/inhands/weapons/flamethrower_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/flamethrower_righthand.dmi b/icons/mob/inhands/weapons/flamethrower_righthand.dmi
new file mode 100644
index 0000000000..55bcfe8938
Binary files /dev/null and b/icons/mob/inhands/weapons/flamethrower_righthand.dmi differ
diff --git a/icons/mob/inhands/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi
similarity index 100%
rename from icons/mob/inhands/guns_lefthand.dmi
rename to icons/mob/inhands/weapons/guns_lefthand.dmi
diff --git a/icons/mob/inhands/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi
similarity index 100%
rename from icons/mob/inhands/guns_righthand.dmi
rename to icons/mob/inhands/weapons/guns_righthand.dmi
diff --git a/icons/mob/inhands/weapons/hammers_lefthand.dmi b/icons/mob/inhands/weapons/hammers_lefthand.dmi
new file mode 100644
index 0000000000..acdb551174
Binary files /dev/null and b/icons/mob/inhands/weapons/hammers_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/hammers_righthand.dmi b/icons/mob/inhands/weapons/hammers_righthand.dmi
new file mode 100644
index 0000000000..b20dce8d0a
Binary files /dev/null and b/icons/mob/inhands/weapons/hammers_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/melee_lefthand.dmi b/icons/mob/inhands/weapons/melee_lefthand.dmi
new file mode 100644
index 0000000000..d99feefb68
Binary files /dev/null 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
new file mode 100644
index 0000000000..62bc0762b6
Binary files /dev/null and b/icons/mob/inhands/weapons/melee_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/plants_lefthand.dmi b/icons/mob/inhands/weapons/plants_lefthand.dmi
new file mode 100644
index 0000000000..cd98323fe6
Binary files /dev/null and b/icons/mob/inhands/weapons/plants_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/plants_righthand.dmi b/icons/mob/inhands/weapons/plants_righthand.dmi
new file mode 100644
index 0000000000..6dd48d499e
Binary files /dev/null and b/icons/mob/inhands/weapons/plants_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/polearms_lefthand.dmi b/icons/mob/inhands/weapons/polearms_lefthand.dmi
new file mode 100644
index 0000000000..f07dc02a0b
Binary files /dev/null and b/icons/mob/inhands/weapons/polearms_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/polearms_righthand.dmi b/icons/mob/inhands/weapons/polearms_righthand.dmi
new file mode 100644
index 0000000000..510cb3b4da
Binary files /dev/null and b/icons/mob/inhands/weapons/polearms_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/staves_lefthand.dmi b/icons/mob/inhands/weapons/staves_lefthand.dmi
new file mode 100644
index 0000000000..382e8e4848
Binary files /dev/null and b/icons/mob/inhands/weapons/staves_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/staves_righthand.dmi b/icons/mob/inhands/weapons/staves_righthand.dmi
new file mode 100644
index 0000000000..591b5d0a2c
Binary files /dev/null and b/icons/mob/inhands/weapons/staves_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi
new file mode 100644
index 0000000000..802b9b85f1
Binary files /dev/null and b/icons/mob/inhands/weapons/swords_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/swords_righthand.dmi b/icons/mob/inhands/weapons/swords_righthand.dmi
new file mode 100644
index 0000000000..60b2a3fbad
Binary files /dev/null and b/icons/mob/inhands/weapons/swords_righthand.dmi differ