diff --git a/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm b/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm index 0b67401fe01..0c1fc4026d6 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm @@ -2017,8 +2017,8 @@ /obj/effect/mapping_helpers/turfs/damage, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /turf/simulated/floor/plating/airless, /area/ruin/space/moonbase19) @@ -5090,8 +5090,8 @@ /obj/effect/decal/cleanable/blood/splatter, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /turf/simulated/floor/plasteel{ dir = 5; @@ -5236,8 +5236,8 @@ /obj/structure/alien/weeds/node, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /turf/simulated/floor/catwalk, /area/ruin/space/moonbase19) @@ -5683,8 +5683,8 @@ /obj/effect/decal/cleanable/dirt, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /turf/simulated/floor/catwalk, /area/ruin/space/moonbase19) @@ -5720,8 +5720,8 @@ /obj/effect/decal/cleanable/dirt, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /turf/simulated/floor/plasteel{ dir = 5; @@ -7872,13 +7872,13 @@ /obj/effect/decal/cleanable/cobweb2, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 8 @@ -8151,8 +8151,8 @@ /obj/effect/decal/cleanable/greenglow, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /turf/simulated/floor/plating, /area/ruin/space/moonbase19) @@ -9326,8 +9326,8 @@ /obj/structure/closet/crate/freezer, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /turf/simulated/floor/plasteel{ icon_state = "darkbluecorners" @@ -9353,8 +9353,8 @@ }, /obj/item/clothing/mask/facehugger{ icon_state = "facehugger_impregnated"; - item_state = "facehugger_impregnated"; - stat = 2 + stat = 2; + inhand_icon_state = "facehugger_inactive" }, /turf/simulated/floor/plasteel, /area/ruin/space/moonbase19) diff --git a/_maps/map_files/RandomRuins/SpaceRuins/ussp_tele.dmm b/_maps/map_files/RandomRuins/SpaceRuins/ussp_tele.dmm index 0e274dc85a9..90e71069264 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/ussp_tele.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/ussp_tele.dmm @@ -217,8 +217,7 @@ /area/ruin/space/derelict/teleporter) "uD" = ( /obj/item/kirbyplants/large/dead{ - desc = "A dead potted plant. Must have died from lack of EVA equipment."; - item_state = "plant-dead" + desc = "A dead potted plant. Must have died from lack of EVA equipment." }, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm index c09c18020da..79e4b34e24b 100644 --- a/_maps/map_files/generic/centcomm.dmm +++ b/_maps/map_files/generic/centcomm.dmm @@ -1317,8 +1317,7 @@ "eM" = ( /obj/structure/table/holotable, /obj/item/clothing/gloves/boxing/hologlove{ - icon_state = "boxinggreen"; - item_state = "boxinggreen" + icon_state = "boxinggreen" }, /turf/simulated/floor/holofloor{ dir = 6; @@ -5439,18 +5438,6 @@ /obj/structure/chair/comfy/shuttle, /turf/simulated/floor/mineral/plastitanium/red, /area/shuttle/assault_pod) -"sh" = ( -/obj/machinery/door/poddoor/shutters{ - density = 0; - dir = 2; - icon_state = "open"; - id_tag = "trader_privacy"; - name = "Privacy Shutters"; - opacity = 0 - }, -/obj/effect/spawner/window/shuttle, -/turf/simulated/floor/mineral/titanium/blue, -/area/shuttle/trade/sol) "si" = ( /turf/simulated/floor/plasteel{ dir = 4; @@ -7399,8 +7386,7 @@ "zi" = ( /obj/structure/table/holotable, /obj/item/clothing/gloves/boxing/hologlove{ - icon_state = "boxinggreen"; - item_state = "boxinggreen" + icon_state = "boxinggreen" }, /turf/simulated/floor/holofloor{ dir = 10; diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 90ef75e9d92..3a3f9a34e6b 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -69,7 +69,6 @@ icon = 'icons/obj/magic.dmi'//Needs sprites icon_state = "2" flags = NOBLUDGEON | ABSTRACT | DROPDEL - //item_state = null w_class = WEIGHT_CLASS_GIGANTIC layer = ABOVE_HUD_LAYER plane = ABOVE_HUD_PLANE diff --git a/code/controllers/subsystem/SSticker.dm b/code/controllers/subsystem/SSticker.dm index da07d718b4a..3990499f419 100644 --- a/code/controllers/subsystem/SSticker.dm +++ b/code/controllers/subsystem/SSticker.dm @@ -27,12 +27,6 @@ SUBSYSTEM_DEF(ticker) var/login_music /// List of all minds in the game. Used for objective tracking var/list/datum/mind/minds = list() - /// icon_state the chaplain has chosen for his bible - var/Bible_icon_state - /// item_state the chaplain has chosen for his bible - var/Bible_item_state - /// Name of the bible - var/Bible_name /// Name of the bible deity var/Bible_deity_name /// Cult static info, used for things like sprites. Someone should refactor the sprites out of it someday and just use SEPERATE ICONS DEPNDING ON THE TYPE OF CULT... like a sane person diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 99c4cb0be13..638306fa7d7 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -539,36 +539,36 @@ GLOBAL_VAR_INIT(record_id_num, 1001) if("Emergency Response Team Officer") clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "swat_gl"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "security"), ICON_OVERLAY) if("Emergency Response Team Engineer") clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "workboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "swat_gl"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "utility"), ICON_OVERLAY) if("Emergency Response Team Medic") clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "swat_gl"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "medical"), ICON_OVERLAY) if("Emergency Response Team Inquisitor") clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "swat_gl"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "claymore"), ICON_OVERLAY) if("Emergency Response Team Janitor") clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "galoshes"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "swat_gl"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "janibelt"), ICON_OVERLAY) if("Emergency Response Team Leader") clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "wgloves"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "white"), ICON_UNDERLAY) if("Emergency Response Team Member") clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "swat_gl"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_UNDERLAY) if("Naked") clothes_s = null else diff --git a/code/datums/spells/banana_touch.dm b/code/datums/spells/banana_touch.dm index af9dda07ae6..9d3d27ba953 100644 --- a/code/datums/spells/banana_touch.dm +++ b/code/datums/spells/banana_touch.dm @@ -15,7 +15,6 @@ catchphrase = "NWOLC YRGNA" on_use_sound = 'sound/items/AirHorn.ogg' icon_state = "banana_touch" - item_state = "banana_touch" var/is_apprentice_spell = FALSE /datum/spell/touch/banana/apprentice diff --git a/code/datums/spells/infinite_guns.dm b/code/datums/spells/infinite_guns.dm index 133f5e99a11..108cd977291 100644 --- a/code/datums/spells/infinite_guns.dm +++ b/code/datums/spells/infinite_guns.dm @@ -34,9 +34,6 @@ desc = "A small flame, ready to launch from your hand." icon = 'icons/obj/cigarettes.dmi' icon_state = "match_unathi" - item_state = "disintegrate" - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' - righthand_file = 'icons/mob/inhands/items_righthand.dmi' color = "#e1ff00" // red + yellow = orange guns_left = 20 fire_sound = 'sound/magic/Fireball.ogg' diff --git a/code/datums/spells/mime_malaise.dm b/code/datums/spells/mime_malaise.dm index f9130e2e62a..f892435b305 100644 --- a/code/datums/spells/mime_malaise.dm +++ b/code/datums/spells/mime_malaise.dm @@ -15,7 +15,6 @@ catchphrase = null on_use_sound = null icon_state = "fleshtostone" - item_state = "fleshtostone" /obj/item/melee/touch_attack/mime_malaise/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() diff --git a/code/game/gamemodes/cult/blood_magic.dm b/code/game/gamemodes/cult/blood_magic.dm index f33884083f7..de44c2e2b4b 100644 --- a/code/game/gamemodes/cult/blood_magic.dm +++ b/code/game/gamemodes/cult/blood_magic.dm @@ -374,12 +374,11 @@ name = "magical aura" desc = "A sinister looking aura that distorts the flow of reality around it." icon = 'icons/obj/weapons/magical_weapons.dmi' + icon_state = "disintegrate" + inhand_icon_state = "disintegrate" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' - icon_state = "disintegrate" - item_state = "disintegrate" flags = ABSTRACT | DROPDEL - w_class = WEIGHT_CLASS_HUGE throw_range = 0 throw_speed = 0 diff --git a/code/game/gamemodes/cult/cult_datums.dm b/code/game/gamemodes/cult/cult_datums.dm index 827c962e147..33e6f2c59c9 100644 --- a/code/game/gamemodes/cult/cult_datums.dm +++ b/code/game/gamemodes/cult/cult_datums.dm @@ -70,7 +70,6 @@ var/archives_icon_state_off = "archives_off" var/runed_metal_icon_state = "sheet-runed" - var/runed_metal_item_state = "sheet-runed" var/airlock_runed_icon_file = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' var/airlock_runed_overlays_file = 'icons/obj/doors/airlocks/cult/runed/cult-overlays.dmi' @@ -131,7 +130,6 @@ archives_icon_state_off = "hell_archives_off" runed_metal_icon_state = "sheet_runed_hell" - runed_metal_item_state = "sheet_runed_hell" airlock_runed_icon_file = 'icons/obj/doors/airlocks/cult/runed/hell.dmi' airlock_runed_overlays_file = 'icons/obj/doors/airlocks/cult/runed/hell-overlays.dmi' @@ -191,7 +189,6 @@ archives_icon_state_off = "reaper_archives_off" runed_metal_icon_state = "sheet_runed_reaper" - runed_metal_item_state = "sheet_runed_reaper" airlock_runed_icon_file = 'icons/obj/doors/airlocks/cult/runed/reaper.dmi' airlock_runed_overlays_file = 'icons/obj/doors/airlocks/cult/runed/reaper-overlays.dmi' diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 75f6a974a93..39ed1bb5d26 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -14,7 +14,6 @@ desc = "A powerful blade made of darkened metal. An aura of barely-perceptible red light seems to surround it." icon = 'icons/obj/cult.dmi' icon_state = "blood_blade" - item_state = "blood_blade" w_class = WEIGHT_CLASS_BULKY force = 30 throwforce = 10 @@ -27,7 +26,6 @@ /obj/item/melee/cultblade/Initialize(mapload) . = ..() icon_state = GET_CULT_DATA(sword_icon, "blood_blade") - item_state = GET_CULT_DATA(sword_icon, "blood_blade") /obj/item/melee/cultblade/examine(mob/user) . = ..() @@ -75,7 +73,6 @@ name = "runed bola" desc = "A bola, crafted of dark metal and sinuous cords. The inscriptions covering the weights prevent it from striking the Faithful." icon_state = "bola_cult" - item_state = "bola_cult" breakouttime = 45 knockdown_duration = 2 SECONDS @@ -106,14 +103,11 @@ /obj/item/clothing/head/hooded/culthood/alt icon_state = "cult_hoodalt" - item_state = "cult_hoodalt" - /obj/item/clothing/suit/hooded/cultrobes name = "cult robes" desc = "A set of armored robes worn by the followers of a cult." icon_state = "cultrobes" - item_state = "cultrobes" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS hoodtype = /obj/item/clothing/head/hooded/culthood allowed = list(/obj/item/tome, /obj/item/melee/cultblade) @@ -123,14 +117,12 @@ /obj/item/clothing/suit/hooded/cultrobes/alt icon_state = "cultrobesalt" - item_state = "cultrobesalt" hoodtype = /obj/item/clothing/head/hooded/culthood/alt /obj/item/clothing/head/helmet/space/cult name = "cult helmet" desc = "A space worthy helmet used by the followers of a cult." icon_state = "cult_helmet" - item_state = "cult_helmet" armor = list(MELEE = 115, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, RAD = 20, FIRE = 35, ACID = 150) magical = TRUE sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') @@ -138,7 +130,6 @@ /obj/item/clothing/suit/space/cult name = "cult armor" icon_state = "cult_armour" - item_state = "cult_armour" desc = "A bulky suit of armor, bristling with spikes. It looks space proof." w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank/internals) @@ -150,7 +141,6 @@ name = "empowered cultist robes" desc = "An imposing set of armored robes, heavily reinforced with dark metal. Strange sigils and glyphs cover the suit, crackling with unholy power." icon_state = "cult_armour" - item_state = "cult_armour" w_class = WEIGHT_CLASS_BULKY armor = list(MELEE = 50, BULLET = 35, LASER = 50, ENERGY = 20, BOMB = 50, RAD = 20, FIRE = 50, ACID = 75) allowed = list(/obj/item/tome, /obj/item/melee/cultblade) @@ -190,7 +180,6 @@ name = "flagellant's robes" desc = "A set of blood-soaked robes inscribed with unholy sigils. Wearing them greatly increases movement speed, but the cursed fabrics will take an additional tithe when the wearer is hit." icon_state = "flagellantrobe" - item_state = "flagellantrobe" allowed = list(/obj/item/tome, /obj/item/melee/cultblade) armor = list(MELEE = -25, BULLET = -25, LASER = -25, ENERGY = -25, BOMB = -25, RAD = -25, FIRE = 0, ACID = 0) sprite_sheets = list( @@ -221,7 +210,6 @@ name = "flagellant's robes" desc = "A blood-soaked hood inscribed with unholy sigils. The interior is covered in small barbs, reminding you of your duty." icon_state = "flagellanthood" - item_state = "flagellanthood" flags = BLOCKHAIR flags_inv = HIDEFACE flags_cover = HEADCOVERSEYES @@ -261,7 +249,6 @@ name = "zealot's blindfold" desc = "A thick blindfold made of dark cloth. The runes and sigils sewn into the fabric amplify the vision of the faithful." icon_state = "blindfold" - item_state = "blindfold" invis_override = SEE_INVISIBLE_HIDDEN_RUNES flash_protect = FLASH_PROTECTION_FLASH prescription = TRUE @@ -394,7 +381,6 @@ name = "ghostly cult robes" desc = "A set of ethereal armored robes worn by the undead followers of a cult." icon_state = "cultrobesalt" - item_state = "cultrobesalt" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/tome, /obj/item/melee/cultblade) armor = list(MELEE = 50, BULLET = 20, LASER = 50, ENERGY = 10, BOMB = 15, RAD = 0, FIRE = 5, ACID = 5) @@ -424,7 +410,6 @@ lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' icon_state = "mirror_shield" - item_state = "mirror_shield" force = 5 throwforce = 15 throw_speed = 1 @@ -661,10 +646,7 @@ /obj/item/gun/projectile/shotgun/boltaction/enchanted/arcane_barrage/blood name = "blood bolt barrage" desc = "A crackling orb of blood-red energy, straining for the chance to kill. Simply point at the target, and let it loose." - item_state = "disintegrate" - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' - righthand_file = 'icons/mob/inhands/items_righthand.dmi' - color = "#ff0000" + color = COLOR_RED guns_left = 24 mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage/blood fire_sound = 'sound/magic/wand_teleport.ogg' @@ -675,7 +657,6 @@ return ..() - /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage/blood ammo_type = /obj/item/ammo_casing/magic/arcane_barrage/blood @@ -710,7 +691,6 @@ desc = "A solid orb of crystalized blood, likely taken unwillingly. The orb can be used to transfer vitae between the faithful." icon = 'icons/obj/cult.dmi' icon_state = "summoning_orb" - item_state = "summoning_orb" var/blood = 50 /obj/item/portal_amulet diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index b4c5e9465a1..c7d6889c393 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -5,7 +5,6 @@ name = "ritual dagger" desc = "A small, well-balanced dagger that radiates an aura of palpable menace. The blade tapers to a razor-sharp point that is ideal for drawing with." icon_state = "blood_dagger" - item_state = "blood_dagger" w_class = WEIGHT_CLASS_SMALL force = 15 throwforce = 25 @@ -23,7 +22,6 @@ /obj/item/melee/cultblade/dagger/Initialize(mapload) . = ..() icon_state = GET_CULT_DATA(dagger_icon, "blood_dagger") - item_state = GET_CULT_DATA(dagger_icon, "blood_dagger") /obj/item/melee/cultblade/dagger/examine(mob/user) . = ..() diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index f1afd98e864..9713356471b 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -49,7 +49,6 @@ CONTENTS: name = "agent headgear" desc = "Abduct with style - spiky style. Prevents digital tracking." icon_state = "alienhelmet" - item_state = "alienhelmet" blockTracking = 1 origin_tech = "materials=7;magnets=4;abductor=3" flags = BLOCKHAIR @@ -64,7 +63,7 @@ CONTENTS: desc = "A vest outfitted with advanced stealth technology. It has two modes - combat and stealth." icon = 'icons/obj/abductor.dmi' icon_state = "vest_stealth" - item_state = "armor" + inhand_icon_state = "armor" blood_overlay_type = "armor" origin_tech = "magnets=7;biotech=4;powerstorage=4;abductor=4" armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, RAD = 10, FIRE = 115, ACID = 115) @@ -181,7 +180,6 @@ CONTENTS: name = "abductor silencer" desc = "A compact device used to shut down communications equipment." icon_state = "silencer" - item_state = "silencer" origin_tech = "materials=4;programming=7;abductor=3" /obj/item/abductor/silencer/attack__legacy__attackchain(mob/living/M, mob/user) @@ -224,7 +222,7 @@ CONTENTS: ammo_type = list(/obj/item/ammo_casing/energy/declone) restricted_species = list(/datum/species/abductor) icon_state = "alienpistol" - item_state = "alienpistol" + inhand_icon_state = "alienpistol" origin_tech = "combat=4;magnets=7;powerstorage=3;abductor=3" trigger_guard = TRIGGER_GUARD_ALLOW_ALL can_holster = TRUE @@ -232,15 +230,15 @@ CONTENTS: /obj/item/abductor_baton name = "advanced baton" desc = "A quad-mode baton used for incapacitation and restraining of specimens." - var/mode = BATON_STUN icon = 'icons/obj/abductor.dmi' + icon_state = "wonderprodStun" + worn_icon_state = "tele_baton" lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - icon_state = "wonderprodStun" - item_state = "wonderprod" slot_flags = ITEM_SLOT_BELT origin_tech = "materials=4;combat=4;biotech=7;abductor=4" actions_types = list(/datum/action/item_action/toggle_mode) + var/mode = BATON_STUN /obj/item/abductor_baton/proc/toggle(mob/living/user = usr) mode = (mode+1)%BATON_MODES @@ -263,16 +261,12 @@ CONTENTS: switch(mode) if(BATON_STUN) icon_state = "wonderprodStun" - item_state = "wonderprodStun" if(BATON_SLEEP) icon_state = "wonderprodSleep" - item_state = "wonderprodSleep" if(BATON_CUFF) icon_state = "wonderprodCuff" - item_state = "wonderprodCuff" if(BATON_PROBE) icon_state = "wonderprodProbe" - item_state = "wonderprodProbe" /obj/item/abductor_baton/attack__legacy__attackchain(mob/target, mob/living/user) if(!isabductor(user)) @@ -411,11 +405,11 @@ CONTENTS: /obj/item/radio/headset/abductor name = "alien headset" desc = "An advanced alien headset designed to monitor communications of human space stations. Why does it have a microphone? No one knows." - flags = EARBANGPROTECT - origin_tech = "magnets=2;abductor=3" icon = 'icons/obj/abductor.dmi' icon_state = "abductor_headset" - item_state = "abductor_headset" + worn_icon_state = "abductor_headset" + flags = EARBANGPROTECT + origin_tech = "magnets=2;abductor=3" ks2type = /obj/item/encryptionkey/heads/captain /obj/item/radio/headset/abductor/Initialize(mapload) @@ -432,7 +426,7 @@ CONTENTS: name = "science tool" desc = "A dual-mode tool for retrieving specimens and scanning appearances. Scanning can be done through cameras." icon_state = "gizmo_scan" - item_state = "gizmo" + inhand_icon_state = "gizmo" origin_tech = "engineering=7;magnets=4;bluespace=4;abductor=3" var/mode = GIZMO_SCAN var/mob/living/marked = null @@ -517,7 +511,7 @@ CONTENTS: name = "mental interface device" desc = "A dual-mode tool for directly communicating with sentient brains. It can be used to send a direct message to a target, or to send a command to a test subject with a charged gland." icon_state = "mind_device_message" - item_state = "silencer" + inhand_icon_state = "silencer" var/mode = MIND_DEVICE_MESSAGE /obj/item/abductor/mind_device/attack_self__legacy__attackchain(mob/user) @@ -687,7 +681,8 @@ Congratulations! You are now trained for invasive xenobiology research!"} desc = "A belt used by abductor agents." icon = 'icons/obj/abductor.dmi' icon_state = "belt" - item_state = "security" + worn_icon_state = "security" + inhand_icon_state = "security" /obj/item/storage/belt/military/abductor/full/populate_contents() new /obj/item/screwdriver/abductor(src) @@ -793,7 +788,6 @@ Congratulations! You are now trained for invasive xenobiology research!"} desc = "For killing alien insects, obviously." icon = 'icons/obj/abductor.dmi' icon_state = "flyswatter_abductor" - item_state = "flyswatter_abductor" origin_tech = "abductor=1" force = 2 // Twice as powerful thanks to alien technology! throwforce = 2 @@ -803,7 +797,6 @@ Congratulations! You are now trained for invasive xenobiology research!"} desc = "An alien spray bottle contaning alien-brand non-foaming space cleaner! It only accepts space cleaner." icon = 'icons/obj/abductor.dmi' icon_state = "cleaner_abductor" - item_state = "cleaner_abductor" volume = 500 spray_maxrange = 3 spray_currentrange = 3 @@ -814,7 +807,8 @@ Congratulations! You are now trained for invasive xenobiology research!"} desc = "A belt used to hold out-of-this-world cleaning supplies! Used by abductors to keep their ships clean." icon = 'icons/obj/abductor.dmi' icon_state = "janibelt_abductor" - item_state = "security" + worn_icon_state = "security" + inhand_icon_state = "security" storage_slots = 7 can_hold = list( /obj/item/grenade/chem_grenade/cleaner, diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index 920bfc441f9..2d02350f8bf 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -9,10 +9,10 @@ name = "Declaration of War (Challenge Mode)" icon = 'icons/obj/device.dmi' icon_state = "declaration" - item_state = "walkietalkie" + inhand_icon_state = "radio" desc = "Use to send a declaration of hostilities to the target, delaying your shuttle departure for 20 minutes while they prepare for your assault. \ - Such a brazen move will attract the attention of powerful benefactors within the Syndicate, who will supply your team with a massive amount of bonus telecrystals. \ - Must be used within ten minutes, or your benefactors will lose interest." + Such a brazen move will attract the attention of powerful benefactors within the Syndicate, who will supply your team with a massive amount of bonus telecrystals. \ + Must be used within ten minutes, or your benefactors will lose interest." var/declaring_war = FALSE var/total_tc = 0 //Total amount of telecrystals shared between nuke ops diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index a5adadec263..c879cf66cff 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -15,10 +15,11 @@ name = "pinpointer" icon = 'icons/obj/device.dmi' icon_state = "pinoff" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" flags = CONDUCT slot_flags = ITEM_SLOT_PDA | ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL - item_state = "electronic" throw_speed = 4 throw_range = 20 materials = list(MAT_METAL=500) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 7c37aff68ca..89e5ca26cfa 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -77,7 +77,9 @@ desc = "A wicked curved blade of alien origin, recovered from the ruins of a vast city." icon = 'icons/obj/wizard.dmi' icon_state = "render" - item_state = "render" + inhand_icon_state = "knife" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' force = 15 throwforce = 10 hitsound = 'sound/weapons/bladeslice.ogg' @@ -95,7 +97,6 @@ else to_chat(user, "The unearthly energies that powered the blade are now dormant.") - /obj/effect/rend name = "tear in the fabric of reality" desc = "You should run now." @@ -152,7 +153,6 @@ rend_desc = "Gently wafting with the sounds of endless laughter." icon_state = "clownrender" - /obj/item/veilrender/crabrender name = "crab render" desc = "A wicked curved blade of alien origin, recovered from the ruins of a vast aquarium." @@ -253,10 +253,9 @@ GLOBAL_LIST_EMPTY(multiverse) name = "multiverse sword" desc = "A weapon capable of conquering the universe and beyond. Activate it to summon copies of yourself from others dimensions to fight by your side." icon = 'icons/obj/weapons/energy_melee.dmi' + icon_state = "energy_katana" lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - icon_state = "energy_katana" - item_state = "energy_katana" hitsound = 'sound/weapons/bladeslice.ogg' flags = CONDUCT slot_flags = ITEM_SLOT_BELT @@ -641,13 +640,11 @@ GLOBAL_LIST_EMPTY(multiverse) desc = "A fishing pike that appears to be imbued with a peculiar energy." icon = 'icons/obj/weapons/melee.dmi' icon_state = "harpoon" - item_state = "harpoon" cooldown_between_uses = 200 //Half the time probability_evil = 100 duplicate_self = 1 sword_type = /obj/item/multisword/pike - /////////////////////////////////////////Necromantic Stone/////////////////// /obj/item/necromantic_stone @@ -655,7 +652,8 @@ GLOBAL_LIST_EMPTY(multiverse) desc = "A shard capable of resurrecting humans as skeleton thralls." icon = 'icons/obj/wizard.dmi' icon_state = "necrostone" - item_state = "electronic" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" origin_tech = "bluespace=4;materials=4" w_class = WEIGHT_CLASS_TINY ///List of mobs transformed into skeletons by the stone @@ -1010,7 +1008,6 @@ GLOBAL_LIST_EMPTY(multiverse) name = "Oblivion Enforcer's robes" desc = "A set of armored, radiation-proof robes worn by Oblivion Enforcers." icon_state = "oblivionarmor" - item_state = "oblivionarmor" body_parts_covered = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS hoodtype = /obj/item/clothing/head/hooded/oblivion allowed = list(/obj/item/supermatter_halberd, /obj/item/nuke_core/supermatter_sliver) @@ -1037,7 +1034,6 @@ GLOBAL_LIST_EMPTY(multiverse) name = "Oblivion Enforcer's mask" desc = "The mask of an Oblivion Enforcer. Don't forget to turn it on before giving your one-liners!" icon_state = "oblivionmask" - item_state = "oblivionmask" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/mask.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/mask.dmi', diff --git a/code/game/gamemodes/wizard/godhand.dm b/code/game/gamemodes/wizard/godhand.dm index c667380bbad..cd569b8c771 100644 --- a/code/game/gamemodes/wizard/godhand.dm +++ b/code/game/gamemodes/wizard/godhand.dm @@ -1,14 +1,10 @@ /obj/item/melee/touch_attack name = "outstretched hand" desc = "High Five?" - var/catchphrase = "High Five!" - var/on_use_sound = null - var/datum/spell/touch/attached_spell icon = 'icons/obj/weapons/magical_weapons.dmi' icon_state = "disintegrate" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' - item_state = null flags = ABSTRACT | NODROP | DROPDEL w_class = WEIGHT_CLASS_HUGE throw_range = 0 @@ -16,6 +12,9 @@ new_attack_chain = TRUE /// Has it been blocked by antimagic? If so, abort. var/blocked_by_antimagic = FALSE + var/catchphrase = "High Five!" + var/on_use_sound = null + var/datum/spell/touch/attached_spell /obj/item/melee/touch_attack/New(spell) attached_spell = spell @@ -61,8 +60,6 @@ desc = "This hand of mine glows with an awesome power!" catchphrase = "EI NATH!!" on_use_sound = 'sound/magic/disintegrate.ogg' - item_state = "disintegrate" - /obj/item/melee/touch_attack/disintegrate/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() @@ -76,10 +73,9 @@ /obj/item/melee/touch_attack/fleshtostone name = "petrifying touch" desc = "That's the bottom line, because flesh to stone said so!" + icon_state = "fleshtostone" catchphrase = "STAUN EI!!" on_use_sound = 'sound/magic/fleshtostone.ogg' - icon_state = "fleshtostone" - item_state = "fleshtostone" /obj/item/melee/touch_attack/fleshtostone/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() @@ -96,7 +92,6 @@ desc = "The power to sew your foes into a doom cut from the fabric of fate." catchphrase = "MAHR-XET 'ABL" on_use_sound = 'sound/magic/smoke.ogg' - item_state = "disintegrate" color = COLOR_PURPLE /obj/item/melee/touch_attack/plushify/after_attack(atom/target, mob/user, proximity_flag, click_parameters) @@ -108,13 +103,11 @@ L.plushify() handle_delete(user) - /obj/item/melee/touch_attack/fake_disintegrate name = "toy plastic hand" desc = "This hand of mine glows with an awesome power! Ok, maybe just batteries." catchphrase = "EI NATH!!" on_use_sound = 'sound/magic/disintegrate.ogg' - item_state = "disintegrate" needs_permit = FALSE /obj/item/melee/touch_attack/fake_disintegrate/after_attack(atom/target, mob/user, proximity_flag, click_parameters) @@ -129,10 +122,9 @@ /obj/item/melee/touch_attack/cluwne name = "cluwne touch" desc = "It's time to start clowning around." + icon_state = "cluwnecurse" catchphrase = "NWOLC EGNEVER" on_use_sound = 'sound/misc/sadtrombone.ogg' - icon_state = "cluwnecurse" - item_state = "cluwnecurse" /obj/item/melee/touch_attack/cluwne/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 73675382d74..c7736350d75 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -3,7 +3,8 @@ name = "soul stone" icon = 'icons/obj/wizard.dmi' icon_state = "soulstone" - item_state = "electronic" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" belt_icon = "soulstone" var/icon_state_full = "soulstone2" desc = "A weighty shard of dark crystal, flickering with eldritch energy. A soul can be bound within, forced to obey the commands of the owner." diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index e0d045d178b..7548b8875a5 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -328,11 +328,10 @@ /obj/item/holo/claymore name = "claymore" desc = "What are you standing around staring at this for? Get to killing!" - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon = 'icons/obj/weapons/melee.dmi' icon_state = "claymore" - item_state = "claymore" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' hitsound = 'sound/weapons/bladeslice.ogg' force = 40 throwforce = 10 @@ -343,14 +342,11 @@ . = ..() AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS) - /obj/item/holo/claymore/blue icon_state = "claymoreblue" - item_state = "claymoreblue" /obj/item/holo/claymore/red icon_state = "claymorered" - item_state = "claymorered" /obj/item/holo/esword name = "holographic energy sword" diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index f0f58840b73..731e02eaf1a 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -3,7 +3,7 @@ name = "circuit board" icon = 'icons/obj/module.dmi' icon_state = "id_mod" - item_state = "electronic" + inhand_icon_state = "electronic" origin_tech = "programming=2" w_class = WEIGHT_CLASS_SMALL materials = list(MAT_GLASS=200) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 2d033eed56d..2de04ec3ec2 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -179,7 +179,8 @@ name = "barrier grenade" desc = "Instant cover." icon_state = "wallbang" - item_state = "flashbang" + worn_icon_state = "flashbang" + inhand_icon_state = "flashbang" actions_types = list(/datum/action/item_action/toggle_barrier_spread) var/mode = SINGLE @@ -284,10 +285,11 @@ /obj/item/grenade/barrier/dropwall name = "dropwall shield generator" desc = "This generator designed by Shellguard Munitions's spartan division is used to deploy a temporary cover that blocks projectiles and explosions from a direction, while allowing projectiles to pass freely from behind." - actions_types = list(/datum/action/item_action/toggle_barrier_spread) icon = 'icons/obj/dropwall.dmi' icon_state = "dropwall" - item_state = "grenade" + worn_icon_state = "grenade" + inhand_icon_state = "grenade" + actions_types = list(/datum/action/item_action/toggle_barrier_spread) mode = AUTO var/generator_type = /obj/structure/dropwall_generator var/uptime = DROPWALL_UPTIME @@ -413,13 +415,12 @@ if(loops < 12) addtimer(CALLBACK(src, PROC_REF(timer_overlay_proc), loops + 1), DROPWALL_UPTIME / 12) - /obj/item/used_dropwall name = "broken dropwall generator" desc = "This dropwall has ran out of charge, but some materials could possibly be reclaimed." icon = 'icons/obj/dropwall.dmi' icon_state = "dropwall_dead" - item_state = "grenade" + inhand_icon_state = "grenade" materials = list(MAT_METAL = 500, MAT_GLASS = 300) //plasma burned up for power or something, plus not that much to reclaim /obj/item/storage/box/syndie_kit/dropwall @@ -463,7 +464,8 @@ name = "Pop-Up Turret grenade" desc = "Inflates into a Pop-Up turret, shoots everyone on sight who wasn't the primer." icon_state = "wallbang" - item_state = "flashbang" + worn_icon_state = "flashbang" + inhand_icon_state = "flashbang" var/owner_uid /obj/item/grenade/turret/attack_self__legacy__attackchain(mob/user) diff --git a/code/game/machinery/pipe/pipe_construction.dm b/code/game/machinery/pipe/pipe_construction.dm index 40a77898626..d51f865d351 100644 --- a/code/game/machinery/pipe/pipe_construction.dm +++ b/code/game/machinery/pipe/pipe_construction.dm @@ -78,19 +78,19 @@ GLOBAL_LIST_INIT(pipe_path2type, list( /obj/item/pipe name = "pipe" - var/pipe_type = 0 - var/pipename - var/list/connect_types = list(CONNECT_TYPE_NORMAL) //1=regular, 2=supply, 3=scrubber - force = 7 icon = 'icons/obj/pipe-item.dmi' icon_state = "simple" - item_state = "buildpipe" + inhand_icon_state = "buildpipe" + force = 7 /// Will the constructed pipe be flipped var/flipped = FALSE /// The label that will be put on the constructed pipe when this is wrenched down var/label = null /// The type of the pipe that will be created when this is wrenched down var/makes_type = null + var/pipe_type = 0 + var/pipename + var/list/connect_types = list(CONNECT_TYPE_NORMAL) //1=regular, 2=supply, 3=scrubber /obj/item/pipe/Initialize(mapload, new_pipe_type, new_dir, obj/machinery/atmospherics/make_from) . = ..() @@ -380,7 +380,7 @@ GLOBAL_LIST_INIT(pipe_path2type, list( desc = "A meter that can be laid on pipes." icon = 'icons/obj/pipe-item.dmi' icon_state = "meter" - item_state = "buildpipe" + inhand_icon_state = "buildpipe" w_class = WEIGHT_CLASS_BULKY var/label = null @@ -409,7 +409,7 @@ GLOBAL_LIST_INIT(pipe_path2type, list( desc = "A sensor that can be hooked to a computer." icon = 'icons/obj/stationobjs.dmi' icon_state = "gsensor0" - item_state = "buildpipe" + inhand_icon_state = "buildpipe" w_class = WEIGHT_CLASS_BULKY var/label = null diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 787239990c2..d990838727c 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -334,7 +334,9 @@ desc = "A powerful secondary explosive of syndicate design and unknown composition, it should be stable under normal conditions..." icon = 'icons/obj/assemblies.dmi' icon_state = "bombcore" - item_state = "eshield0" + inhand_icon_state = "eshield0" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' origin_tech = "syndicate=5;combat=6" resistance_flags = FLAMMABLE //Burnable (but the casing isn't) var/adminlog = null @@ -669,7 +671,7 @@ desc = "Your standard issue bomb synchronizing button. Five second safety delay to prevent 'accidents'." icon = 'icons/obj/assemblies.dmi' icon_state = "bigred" - item_state = "electronic" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_TINY origin_tech = "syndicate=3" var/timer = 0 diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 72f7c8b6fd6..b6a82bb2f19 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -556,11 +556,10 @@ do_after_cooldown() /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma - equip_cooldown = 1 SECONDS name = "\improper 217-D Heavy Plasma Cutter" desc = "A device that shoots resonant plasma bursts at extreme velocity. The blasts are capable of crushing rock and demolishing solid obstacles." icon_state = "mecha_plasmacutter" - item_state = "plasmacutter" + inhand_icon_state = "plasmacutter" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' energy_drain = 30 @@ -568,6 +567,7 @@ projectile = /obj/item/projectile/plasma/adv/mech fire_sound = 'sound/weapons/laser.ogg' harmful = TRUE + equip_cooldown = 1 SECONDS /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma/can_attach(obj/mecha/M) if(istype(M, /obj/mecha/working)) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index beb3de104b9..68a25248525 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -6,16 +6,38 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons icon = 'icons/obj/items.dmi' blocks_emissive = EMISSIVE_BLOCK_GENERIC mouse_drag_pointer = MOUSE_ACTIVE_POINTER - - // Set in the Initialise depending on the item size. Unless it's overriden by a specific item + max_integrity = 200 + can_be_hit = FALSE + suicidal_hands = TRUE + /// Set in the Initialise depending on the item size. Unless it's overriden by a specific item move_resist = null - /// used in item_attack.dm to make an item not show an attack message to viewers - var/discrete = FALSE - /// The icon state used to display the item in your inventory. If null then the icon_state value itself will be used - var/item_state = null - var/lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' - var/righthand_file = 'icons/mob/inhands/items_righthand.dmi' + /** + * Species-specific sprites, concept stolen from Paradise//vg/. + * + * ex: + * + * sprite_sheets = list("Tajaran" = 'icons/cat/are/bad') + * + * If index term exists, this sprite sheet will be used. + * + * This should never have a "Human" inside - use `worn_icon` instead. + */ + var/list/sprite_sheets + /// Used to override inhand items. Use a single .dmi and suffix the icon states inside with _l and _r for each hand. + var/list/sprite_sheets_inhand + + /// Icon file for mob worn overlays. Can be ignored if sprite_sheets/sprite_sheets_inhand is set + var/icon/worn_icon + /// Icon state for mob worn overlays, if null the `icon_state` value will be used + var/worn_icon_state + + /// Icon state for mob inhand overlays, if null the `icon_state` value will be used + var/inhand_icon_state + /// Icon file for left hand inhand overlays + var/icon/lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + /// Icon file for right inhand overlays + var/icon/righthand_file = 'icons/mob/inhands/items_righthand.dmi' /// Dimension X of the lefthand_file and righthand_file var /// eg: 32x32 sprite, 64x64 sprite, etc. var/inhand_x_dimension = 32 @@ -23,11 +45,8 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons /// eg: 32x32 sprite, 64x64 sprite, etc. var/inhand_y_dimension = 32 - max_integrity = 200 - - can_be_hit = FALSE - suicidal_hands = TRUE - + /// used in item_attack.dm to make an item not show an attack message to viewers + var/discrete = FALSE /// Sound played when you hit something with the item var/hitsound /// Played when the item is used, for example tools @@ -147,21 +166,6 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons /// If this item is a tool, the speed multiplier. Smaller numbers are faster. var/toolspeed = 1 - /* Species-specific sprites, concept stolen from Paradise//vg/. - ex: - sprite_sheets = list( - "Tajaran" = 'icons/cat/are/bad' - ) - If index term exists and icon_override is not set, this sprite sheet will be used. - */ - var/list/sprite_sheets - /// Used to override inhand items. Use a single .dmi and suffix the icon states inside with _l and _r for each hand. - var/list/sprite_sheets_inhand - /// Used to override hardcoded clothing dmis in human clothing proc. - var/icon_override - /// Used to override hardcoded clothing inventory object dmis in human clothing proc. - var/sprite_sheets_obj - //Tooltip vars /// Is this item equipped into an inventory slot or hand of a mob? diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index d83b706a624..a6a62380c23 100755 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -8,10 +8,10 @@ AI MODULES /obj/item/ai_module name = "AI Module" + desc = "An AI Module for transmitting encrypted instructions to the AI." icon = 'icons/obj/module_ai.dmi' icon_state = "standard_low" - item_state = "electronic" - desc = "An AI Module for transmitting encrypted instructions to the AI." + inhand_icon_state = "electronic" flags = CONDUCT force = 5.0 w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 8641548f4df..9297688d192 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -221,7 +221,6 @@ desc = "A device used to rapidly build and deconstruct walls, floors and airlocks." icon = 'icons/obj/tools.dmi' icon_state = "rcd" - item_state = "rcd" flags = CONDUCT | NOBLUDGEON throwforce = 10 throw_speed = 3 @@ -708,7 +707,6 @@ /obj/item/rcd/combat name = "combat RCD" icon_state = "crcd" - item_state = "crcd" max_matter = 500 matter = 500 can_rwall = TRUE @@ -718,7 +716,7 @@ desc = "Highly compressed matter for the RCD." icon = 'icons/obj/ammo.dmi' icon_state = "rcd" - item_state = "rcdammo" + inhand_icon_state = "rcdammo" origin_tech = "materials=3" materials = list(MAT_METAL=16000, MAT_GLASS=8000) new_attack_chain = TRUE diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index a2c87f2c519..6b06d87b7d1 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -3,7 +3,7 @@ desc = "A device used to rapidly deploy cables. It has screws on the side which can be removed to slide off the cables." icon = 'icons/obj/tools.dmi' icon_state = "rcl-0" - item_state = "rcl-0" + inhand_icon_state = "rcl-0" force = 5 //Plastic is soft throwforce = 5 throw_speed = 1 @@ -84,21 +84,18 @@ /obj/item/rcl/update_icon_state() if(!loaded) icon_state = "rcl-0" - item_state = "rcl-0" + inhand_icon_state = "rcl-0" return switch(loaded.amount) if(61 to INFINITY) icon_state = "rcl-30" - item_state = "rcl" if(31 to 60) icon_state = "rcl-20" - item_state = "rcl" if(1 to 30) icon_state = "rcl-10" - item_state = "rcl" else icon_state = "rcl-0" - item_state = "rcl-0" + inhand_icon_state = "rcl[loaded.amount ? "" : "-0"]" /obj/item/rcl/proc/is_empty(mob/user, loud = 1) refresh_icon(user) diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index 0a73abf89b9..1002b1dea0a 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -7,7 +7,6 @@ desc = "A device used to rapidly deploy service items." icon = 'icons/obj/tools.dmi' icon_state = "rsf" - item_state = "rsf" var/atom/currently_dispensing var/power_mode = POWER_NONE diff --git a/code/game/objects/items/bio_chips/bio_chip_case.dm b/code/game/objects/items/bio_chips/bio_chip_case.dm index 06ad1727c00..39c4640a609 100644 --- a/code/game/objects/items/bio_chips/bio_chip_case.dm +++ b/code/game/objects/items/bio_chips/bio_chip_case.dm @@ -3,7 +3,6 @@ desc = "A glass case containing a bio-chip." icon = 'icons/obj/bio_chips.dmi' icon_state = "implantcase" - item_state = "implantcase" throw_range = 5 w_class = WEIGHT_CLASS_TINY origin_tech = "materials=1;biotech=2" diff --git a/code/game/objects/items/bio_chips/bio_chip_pad.dm b/code/game/objects/items/bio_chips/bio_chip_pad.dm index 198d2168f00..a0930a3f101 100644 --- a/code/game/objects/items/bio_chips/bio_chip_pad.dm +++ b/code/game/objects/items/bio_chips/bio_chip_pad.dm @@ -3,7 +3,7 @@ desc = "Used to modify bio-chips." icon = 'icons/obj/bio_chips.dmi' icon_state = "implantpad-off" - item_state = "electronic" + inhand_icon_state = "electronic" throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/bio_chips/bio_chipper.dm b/code/game/objects/items/bio_chips/bio_chipper.dm index c3dae54d18f..8ace66c239b 100644 --- a/code/game/objects/items/bio_chips/bio_chipper.dm +++ b/code/game/objects/items/bio_chips/bio_chipper.dm @@ -3,7 +3,7 @@ desc = "A sterile automatic bio-chip injector." icon = 'icons/obj/bio_chips.dmi' icon_state = "implanter0" - item_state = "syringe_0" + inhand_icon_state = "syringe_0" throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 0292c37eec9..186f4b0fae1 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -7,8 +7,8 @@ desc = "In Greek myth, Prometheus stole fire from the Gods and gave it to humankind. The jewelry he kept for himself." icon = 'icons/obj/candle.dmi' icon_state = "candle1" - item_state = "candle1" w_class = WEIGHT_CLASS_TINY + light_color = "#E09D37" var/wax = 200 /// Index for the icon state var/wax_index = TALL_CANDLE @@ -16,7 +16,6 @@ var/infinite = FALSE var/start_lit = FALSE var/flickering = FALSE - light_color = "#E09D37" /obj/item/candle/New() ..() diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 456fb02cca6..05411b87f3a 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -29,7 +29,7 @@ desc = "It's a card with a magnetic strip attached to some circuitry. It looks too busted to be used for anything but salvage." name = "broken cryptographic sequencer" icon_state = "emag" - item_state = "card-id" + inhand_icon_state = "card-id" origin_tech = "magnets=2;syndicate=2" prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS @@ -37,7 +37,7 @@ desc = "It's a card with a magnetic strip attached to some circuitry." name = "cryptographic sequencer" icon_state = "emag" - item_state = "card-id" + inhand_icon_state = "card-id" origin_tech = "magnets=2;syndicate=2" flags = NOBLUDGEON flags_2 = NO_MAT_REDEMPTION_2 @@ -71,7 +71,7 @@ desc = "It's a card coated in a slurry of electromagnetic bananium." name = "jestographic sequencer" icon_state = "cmag" - item_state = "card-id" + inhand_icon_state = "card-id" origin_tech = "magnets=2;syndicate=2" flags = NOBLUDGEON flags_2 = NO_MAT_REDEMPTION_2 @@ -93,7 +93,7 @@ name = "identification card" desc = "A card used to provide ID and determine access across the station." icon_state = "id" - item_state = "card-id" + inhand_icon_state = "card-id" /// For redeeming at mining equipment lockers var/mining_points = 0 /// Total mining points for the Shift. @@ -285,7 +285,7 @@ name = decal.decal_name desc = decal.decal_desc icon_state = decal.decal_icon_state - item_state = decal.decal_item_state + inhand_icon_state = decal.decal_inhand_icon_state qdel(decal) qdel(used) return ITEM_INTERACT_COMPLETE @@ -380,18 +380,18 @@ /obj/item/card/id/silver desc = "A silver card which shows honour and dedication." icon_state = "silver" - item_state = "silver_id" + inhand_icon_state = "silver_id" /obj/item/card/id/gold desc = "A golden card which shows power and might." icon_state = "gold" - item_state = "gold_id" + inhand_icon_state = "gold_id" /obj/item/card/id/captains_spare name = "captain's spare ID" desc = "The spare ID of the captain. Keep this secured." icon_state = "gold" - item_state = "gold_id" + inhand_icon_state = "gold_id" registered_name = "Captain" assignment = "Captain" @@ -402,7 +402,7 @@ /obj/item/card/id/admin name = "admin ID card" icon_state = "admin" - item_state = "gold_id" + inhand_icon_state = "gold_id" registered_name = "Admin" assignment = "Testing Shit" untrackable = TRUE @@ -427,7 +427,6 @@ name = "prisoner ID card" desc = "You are a number, you are not a free man." icon_state = "prisoner" - item_state = "orange-id" assignment = "Prisoner" registered_name = "Scum" access = list(ACCESS_LIBRARY) @@ -888,7 +887,7 @@ var/decal_name = "identification card" var/decal_desc = "A card used to provide ID and determine access across the station." var/decal_icon_state = "id" - var/decal_item_state = "card-id" + var/decal_inhand_icon_state = "card-id" var/override_name = 0 /obj/item/id_decal/gold @@ -897,7 +896,7 @@ desc = "Make your ID look like the Captain's or a self-centered HOP's. Applies to any ID." decal_desc = "A golden card which shows power and might." decal_icon_state = "gold" - decal_item_state = "gold_id" + decal_inhand_icon_state = "gold_id" /obj/item/id_decal/silver name = "silver ID card decal" @@ -905,7 +904,7 @@ desc = "Make your ID look like HOP's because they wouldn't change it officially. Applies to any ID." decal_desc = "A silver card which shows honour and dedication." decal_icon_state = "silver" - decal_item_state = "silver_id" + decal_inhand_icon_state = "silver_id" /obj/item/id_decal/prisoner name = "prisoner ID card decal" @@ -913,7 +912,6 @@ desc = "All the cool kids have an ID that's this color. Applies to any ID." decal_desc = "You are a number, you are not a free man." decal_icon_state = "prisoner" - decal_item_state = "orange-id" /obj/item/id_decal/centcom name = "centcom ID card decal" diff --git a/code/game/objects/items/cigs.dm b/code/game/objects/items/cigs.dm index eb3d9419942..7bc5e65ecd9 100644 --- a/code/game/objects/items/cigs.dm +++ b/code/game/objects/items/cigs.dm @@ -61,7 +61,6 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/update_icon_state() . = ..() icon_state = "[initial(icon_state)][lit ? "_on" : ""]" - item_state = "[initial(icon_state)][lit ? "_on" : ""]" if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.update_inv_wear_mask() diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 39dd34b2053..9430d0f9469 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -13,8 +13,7 @@ name = "bike horn" desc = "A horn off of a bicycle." icon_state = "bike_horn" - item_state = "bike_horn" - hitsound = null + inhand_icon_state = "bike_horn" throwforce = 3 w_class = WEIGHT_CLASS_TINY var/list/honk_sounds = list('sound/items/bikehorn.ogg' = 1) @@ -37,7 +36,7 @@ name = "golden bike horn" desc = "Golden? Clearly, its made with bananium! Honk!" icon_state = "gold_horn" - item_state = "gold_horn" + inhand_icon_state = "gold_horn" var/cooldown = 0 /obj/item/bikehorn/golden/attack__legacy__attackchain(mob/M, mob/user) @@ -69,7 +68,7 @@ desc = "When you just can't get those laughs coming the natural way!" icon = 'icons/obj/device.dmi' icon_state = "clown_recorder" - item_state = "analyzer" + inhand_icon_state = "analyzer" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL = 180, MAT_GLASS = 90) diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index 74ba3c49c65..45d03b14f08 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -4,18 +4,17 @@ #define WAND_SPEED "Change Closing Speed" /obj/item/door_remote - icon_state = "gangtool-white" - item_state = "electronic" - icon = 'icons/obj/device.dmi' name = "control wand" desc = "Remotely controls airlocks." + icon = 'icons/obj/device.dmi' + icon_state = "gangtool-white" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_TINY flags = NOBLUDGEON var/mode = WAND_OPEN var/region_access = list() var/additional_access = list() var/obj/item/card/id/ID - new_attack_chain = TRUE /obj/item/door_remote/Initialize(mapload) @@ -188,7 +187,7 @@ name = "access tuner" desc = "A device used for illegally interfacing with doors." icon_state = "hacktool" - item_state = "hacktool" + inhand_icon_state = "hacktool" var/hack_speed = 1.5 SECONDS var/busy = FALSE /// How far can we use this. Leave `null` for infinite range @@ -233,7 +232,7 @@ name = "janitor's keyring" desc = "An absolutely unwieldy set of keys attached to a metal ring. The keys on the ring allow you to access most Departmental entries and the Service Department!" icon_state = "keyring" - item_state = "keyring" + inhand_icon_state = null /// Are you already using the keyring? var/busy = FALSE /// This prevents spamming the key-shake. diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index c76d4678e50..8e07f71c7e3 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -5,7 +5,6 @@ desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients." icon = 'icons/obj/defib.dmi' icon_state = "defibunit" - item_state = "defibunit" slot_flags = ITEM_SLOT_BACK force = 5 throwforce = 6 @@ -209,7 +208,6 @@ name = "compact defibrillator" desc = "A belt-mounted defibrillator that can be rapidly deployed." icon_state = "defibcompact" - item_state = "defibcompact" sprite_sheets = null //Because Vox had the belt defibrillator sprites in back.dm w_class = WEIGHT_CLASS_NORMAL slot_flags = ITEM_SLOT_BELT @@ -229,7 +227,6 @@ name = "combat defibrillator" desc = "A belt-mounted blood-red defibrillator that can be rapidly deployed. Does not have the restrictions or safeties of conventional defibrillators and can revive through space suits." icon_state = "defibcombat" - item_state = "defibcombat" paddle_type = /obj/item/shockpaddles/syndicate combat = TRUE safety = FALSE @@ -244,7 +241,6 @@ name = "advanced compact defibrillator" desc = "A belt-mounted state-of-the-art defibrillator that can be rapidly deployed in all environments. The casing is EMP-shielded and heavily reinforced, making it immune to most sources of damage." icon_state = "defibnt" - item_state = "defibnt" paddle_type = /obj/item/shockpaddles/advanced combat = TRUE hardened = TRUE // EMP-proof (on the component), but not emag-proof. @@ -291,7 +287,7 @@ desc = "A pair of plastic-gripped paddles with flat metal surfaces that are used to deliver powerful electric shocks." icon = 'icons/obj/defib.dmi' icon_state = "defibpaddles0" - item_state = "defibpaddles0" + inhand_icon_state = "defibpaddles0" throwforce = 6 w_class = WEIGHT_CLASS_BULKY resistance_flags = INDESTRUCTIBLE @@ -357,7 +353,7 @@ /obj/item/shockpaddles/update_icon_state() var/wielded = HAS_TRAIT(src, TRAIT_WIELDED) icon_state = "[base_icon_state][wielded]" - item_state = "[base_icon_state][wielded]" + inhand_icon_state = "[base_icon_state][wielded]" if(on_cooldown) icon_state = "[base_icon_state][wielded]_cooldown" @@ -420,7 +416,7 @@ desc = "A pair of paddles with flat metal surfaces that are used to deliver powerful electric shocks." icon = 'icons/obj/defib.dmi' icon_state = "defibpaddles0" - item_state = "defibpaddles0" + inhand_icon_state = "defibpaddles0" w_class = WEIGHT_CLASS_BULKY var/revivecost = 1000 var/safety = TRUE @@ -450,12 +446,12 @@ name = "combat defibrillator paddles" desc = "A pair of high-tech paddles with flat plasteel surfaces to revive deceased operatives (unless they exploded). They possess both the ability to penetrate armor and to deliver powerful or disabling shocks offensively." icon_state = "syndiepaddles0" - item_state = "syndiepaddles0" + inhand_icon_state = "syndiepaddles0" base_icon_state = "syndiepaddles" /obj/item/shockpaddles/advanced name = "advanced defibrillator paddles" desc = "A pair of high-tech paddles with flat plasteel surfaces that are used to deliver powerful electric shocks. They possess the ability to penetrate armor to deliver shock." icon_state = "ntpaddles0" - item_state = "ntpaddles0" + inhand_icon_state = "ntpaddles0" base_icon_state = "ntpaddles" diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 6f66fa335ef..255c59a99ea 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -3,7 +3,8 @@ desc = "A handy pocket card used to extract an artificial intelligence for transport." icon = 'icons/obj/aicards.dmi' icon_state = "aicard" // aicard-full - item_state = "electronic" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT flags = NOBLUDGEON diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 11982dbeac5..de5c88e6d3c 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -5,9 +5,8 @@ icon = 'icons/obj/device.dmi' icon_state = "camera_bug" w_class = WEIGHT_CLASS_TINY - item_state = "camera_bug" - throw_speed = 4 - throw_range = 20 + throw_speed = 4 + throw_range = 20 origin_tech = "syndicate=1;engineering=3" /// Integrated camera console to serve UI data var/obj/machinery/computer/security/camera_bug/integrated_console diff --git a/code/game/objects/items/devices/chameleon_counter.dm b/code/game/objects/items/devices/chameleon_counter.dm index e374cbd5eb1..c91ba49fe52 100644 --- a/code/game/objects/items/devices/chameleon_counter.dm +++ b/code/game/objects/items/devices/chameleon_counter.dm @@ -2,9 +2,10 @@ name = "chameleon counterfeiter" icon = 'icons/obj/device.dmi' icon_state = "cham_counter" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" flags = CONDUCT slot_flags = ITEM_SLOT_BELT - item_state = "electronic" w_class = WEIGHT_CLASS_SMALL origin_tech = "syndicate=1;magnets=3" var/can_use = TRUE @@ -12,7 +13,9 @@ var/saved_desc var/saved_icon var/saved_icon_state - var/saved_item_state + var/saved_worn_icon + var/saved_worn_icon_state + var/saved_inhand_icon_state var/saved_overlays var/saved_underlays var/dummy_active = FALSE @@ -33,7 +36,9 @@ saved_desc = target.desc saved_icon = target.icon saved_icon_state = target.icon_state - saved_item_state = target.item_state + saved_worn_icon = target.worn_icon + saved_worn_icon_state = target.worn_icon_state + saved_inhand_icon_state = target.inhand_icon_state saved_overlays = target.overlays saved_underlays = target.underlays @@ -56,7 +61,9 @@ desc = saved_desc icon = saved_icon icon_state = saved_icon_state - item_state = saved_item_state + worn_icon = saved_worn_icon + worn_icon_state = saved_icon_state + inhand_icon_state = saved_inhand_icon_state overlays = saved_overlays underlays = saved_underlays dummy_active = TRUE @@ -66,7 +73,9 @@ desc = initial(desc) icon = initial(icon) icon_state = initial(icon_state) - item_state = initial(item_state) + worn_icon = initial(worn_icon) + worn_icon_state = initial(worn_icon_state) + inhand_icon_state = initial(inhand_icon_state) overlays = initial(overlays) underlays = initial(underlays) dummy_active = FALSE diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index d256f09baf0..17ff46236a9 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -4,7 +4,8 @@ icon_state = "shield0" flags = CONDUCT slot_flags = ITEM_SLOT_BELT - item_state = "electronic" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" throwforce = 5 throw_speed = 3 throw_range = 5 @@ -118,7 +119,7 @@ /obj/effect/dummy/chameleon/attack_by(obj/item/attacking, mob/user, params) if(..()) return FINISH_ATTACK - for(var/mob/M in src) + for(var/mob/M in src) to_chat(M, "Your [src] deactivates.") master.disrupt() @@ -183,7 +184,6 @@ name = "cyborg chameleon projector" icon = 'icons/obj/device.dmi' icon_state = "shield0" - item_state = "electronic" w_class = WEIGHT_CLASS_SMALL var/active = FALSE var/activation_cost = 300 diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index eb5a2b119b9..99be84c936d 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -3,7 +3,7 @@ desc = "A powerful and versatile flashbulb device, with applications ranging from disorienting attackers to acting as visual receptors in robot production." icon = 'icons/obj/device.dmi' icon_state = "flash" - item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang) + inhand_icon_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang) belt_icon = "flash" w_class = WEIGHT_CLASS_TINY throw_speed = 3 @@ -224,9 +224,10 @@ icon = 'icons/obj/items.dmi' desc = "A polaroid camera. 10 photos left." icon_state = "camera" - item_state = "camera" + worn_icon_state = "camera" + inhand_icon_state = "camera" w_class = WEIGHT_CLASS_SMALL - slot_flags = ITEM_SLOT_BELT + slot_flags = ITEM_SLOT_NECK can_overcharge = FALSE var/flash_max_charges = 5 var/flash_cur_charges = 5 @@ -265,7 +266,9 @@ name = "memorizer" desc = "If you see this, you're not likely to remember it any time soon." // Why doesn't this at least delete your notes smh icon_state = "memorizer" - item_state = "nullrod" + inhand_icon_state = "tele_baton" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' /obj/item/flash/armimplant name = "photon projector" diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index d63b51740b8..e8e43afb15c 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -3,7 +3,7 @@ desc = "A hand-held emergency light." icon = 'icons/obj/lighting.dmi' icon_state = "flashlight" - item_state = "flashlight" + inhand_icon_state = "flashlight" w_class = WEIGHT_CLASS_SMALL flags = CONDUCT slot_flags = ITEM_SLOT_BELT @@ -90,7 +90,8 @@ name = "penlight" desc = "A pen, and a light. Used by medical staff." icon_state = "penlight" - item_state = "" + worn_icon_state = "pen" + inhand_icon_state = "pen" w_class = WEIGHT_CLASS_TINY slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BOTH_EARS brightness_on = 2 @@ -100,7 +101,7 @@ name = "seclite" desc = "A robust flashlight used by security." icon_state = "seclite" - item_state = "seclite" + inhand_icon_state = "seclite" force = 9 // Not as good as a stun baton. brightness_on = 5 // A little better than the standard flashlight. hitsound = 'sound/weapons/genhit1.ogg' @@ -109,7 +110,6 @@ name = "low-power flashlight" desc = "A miniature lamp, that might be used by small robots." icon_state = "penlight" - item_state = "" brightness_on = 2 w_class = WEIGHT_CLASS_TINY @@ -118,7 +118,7 @@ name = "desk lamp" desc = "A desk lamp with an adjustable mount." icon_state = "lamp" - item_state = "lamp" + inhand_icon_state = "lamp" brightness_on = 5 w_class = WEIGHT_CLASS_BULKY materials = list() @@ -133,7 +133,7 @@ /obj/item/flashlight/lamp/green desc = "A classic green-shaded desk lamp." icon_state = "lampgreen" - item_state = "lampgreen" + inhand_icon_state = "lampgreen" light_color = "#AAFFAA" /obj/item/flashlight/lamp/green/off @@ -150,7 +150,7 @@ name = "banana lamp" desc = "Only a clown would think to make a ghetto banana-shaped lamp. Even has a goofy pullstring." icon_state = "bananalamp" - item_state = "bananalamp" + inhand_icon_state = "lampgreen" light_color = "#f7ff57" // FLARES @@ -161,7 +161,7 @@ brightness_on = 8 light_color = "#ff0000" icon_state = "flare" - item_state = "flare" + inhand_icon_state = "flare" togglesound = 'sound/goonstation/misc/matchstick_light.ogg' var/fuel = 0 var/on_damage = 7 @@ -174,11 +174,7 @@ ..() /obj/item/flashlight/flare/update_icon_state() - if(on) - item_state = "[initial(item_state)]-on" - else - item_state = "[initial(item_state)]" - + inhand_icon_state = "[initial(inhand_icon_state)][on ? "-on" : ""]" if(!fuel) icon_state = "[initial(icon_state)]-empty" return @@ -260,7 +256,7 @@ brightness_on = 4 color = LIGHT_COLOR_GREEN icon_state = "glowstick" - item_state = "glowstick" + inhand_icon_state = null togglesound = 'sound/effects/bone_break_1.ogg' produce_heat = FALSE fuel_lower = 1600 @@ -319,10 +315,10 @@ /obj/item/flashlight/flare/torch name = "torch" desc = "A torch fashioned from some leaves and a log." + icon_state = "torch" + inhand_icon_state = "torch" w_class = WEIGHT_CLASS_BULKY brightness_on = 7 - icon_state = "torch" - item_state = "torch" light_color = LIGHT_COLOR_ORANGE on_damage = 10 @@ -331,7 +327,7 @@ name = "glowing slime extract" desc = "A glowing ball of what appears to be amber." icon_state = "slime-on" - item_state = "slime" + inhand_icon_state = null w_class = WEIGHT_CLASS_TINY brightness_on = 6 light_color = "#FFBF00" @@ -362,7 +358,6 @@ var/emp_cur_charges = 4 var/charge_tick = 0 - /obj/item/flashlight/emp/New() ..() START_PROCESSING(SSobj, src) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 19e6b6b7c76..713873bce12 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -10,7 +10,7 @@ desc = "A handheld device used for detecting and measuring radiation pulses." icon = 'icons/obj/device.dmi' icon_state = "geiger_off" - item_state = "multitool" + inhand_icon_state = "multitool" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT flags = NOBLUDGEON diff --git a/code/game/objects/items/devices/handheld_defib.dm b/code/game/objects/items/devices/handheld_defib.dm index 743e7b41907..b89d68433a3 100644 --- a/code/game/objects/items/devices/handheld_defib.dm +++ b/code/game/objects/items/devices/handheld_defib.dm @@ -3,7 +3,7 @@ desc = "Used to restart stopped hearts." icon = 'icons/obj/medical.dmi' icon_state = "defib-on" - item_state = "defib" + inhand_icon_state = "defib" belt_icon = "defib" var/icon_base = "defib" diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 8f4329b13cc..2c86f95cae4 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -3,13 +3,14 @@ desc = "Don't shine it in your eyes!" icon = 'icons/obj/device.dmi' icon_state = "pointer" - item_state = "pen" - var/pointer_icon_state + worn_icon_state = "pen" + inhand_icon_state = "pen" flags = CONDUCT slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL=500, MAT_GLASS=500) w_class = WEIGHT_CLASS_SMALL //Increased to 2, because diodes are w_class 2. Conservation of matter. origin_tech = "combat=1;magnets=2" + var/pointer_icon_state var/energy = 5 var/max_energy = 5 var/effectchance = 33 @@ -17,7 +18,6 @@ var/recharge_locked = 0 var/obj/item/stock_parts/micro_laser/diode //used for upgrading! - /obj/item/laser_pointer/red pointer_icon_state = "red_laser" /obj/item/laser_pointer/green diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 924d261f040..c1519dd30a6 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -36,7 +36,8 @@ desc = "A device to automatically replace lights. Refill with broken or working light bulbs, or sheets of glass." icon = 'icons/obj/janitor.dmi' icon_state = "lightreplacer0" - item_state = "electronic" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" belt_icon = "light_replacer" w_class = WEIGHT_CLASS_SMALL flags = CONDUCT diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index 86848b49113..24fcc4093e0 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -3,7 +3,7 @@ desc = "A device used to project your voice. Loudly." icon = 'icons/obj/device.dmi' icon_state = "megaphone" - item_state = "radio" + inhand_icon_state = "radio" w_class = WEIGHT_CLASS_SMALL flags = CONDUCT diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index a329fc7ce7a..4f3b8029d45 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -3,7 +3,8 @@ desc = "A handheld device that allows you to install an artificial intelligence to be your companion." icon = 'icons/obj/aicards.dmi' icon_state = "pai" - item_state = "electronic" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT origin_tech = "programming=2" diff --git a/code/game/objects/items/devices/painter/painter.dm b/code/game/objects/items/devices/painter/painter.dm index 648c8e3d691..4af25d92cd8 100644 --- a/code/game/objects/items/devices/painter/painter.dm +++ b/code/game/objects/items/devices/painter/painter.dm @@ -74,7 +74,7 @@ name = selected_module.module_name desc = selected_module.module_desc icon_state = selected_module.module_state - item_state = selected_module.module_state + inhand_icon_state = selected_module.module_state if(user) user.update_inv_l_hand() user.update_inv_r_hand() diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index ed23a48e85e..5426701f068 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -9,7 +9,7 @@ desc = "A nulling power sink which drains energy from electrical systems." icon = 'icons/goonstation/objects/powersink.dmi' icon_state = "powersink0" - item_state = "electronic" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_BULKY flags = CONDUCT throwforce = 5 @@ -22,7 +22,6 @@ var/max_power = 6e8 // maximum power that can be drained before exploding var/mode = 0 // 0 = off, 1=clamped (off), 2=operating var/admins_warned = FALSE // stop spam, only warn the admins once that we are about to boom - var/obj/structure/cable/attached // the attached cable /obj/item/powersink/Destroy() diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm index 0144a025aca..97d7012b69c 100644 --- a/code/game/objects/items/devices/radio/beacon.dm +++ b/code/game/objects/items/devices/radio/beacon.dm @@ -3,7 +3,7 @@ desc = "A beacon used by a teleporter." icon = 'icons/obj/radio.dmi' icon_state = "beacon" - item_state = "signaler" + inhand_icon_state = "signaler" origin_tech = "bluespace=1" flags = CONDUCT slot_flags = ITEM_SLOT_BELT diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 201800e75b4..39c73493dd8 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -2,8 +2,7 @@ name = "electropack" desc = "Dance my monkeys! DANCE!!!" icon = 'icons/obj/radio.dmi' - icon_state = "electropack0" - item_state = "electropack" + icon_state = "electropack" flags = CONDUCT slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_HUGE @@ -138,7 +137,6 @@ frequency = AIRLOCK_FREQ code = 2 receiving = TRUE - var/obj/item/electropack/owning_pack /obj/item/assembly/signaler/electropack/Initialize(mapload, holding_electropack) diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index b313b289e70..190b63c83e4 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -1,10 +1,8 @@ - /obj/item/encryptionkey name = "Standard Encryption Key" desc = "An encyption key for a radio headset. Contains cypherkeys." icon = 'icons/obj/radio.dmi' icon_state = "cypherkey" - item_state = "" w_class = WEIGHT_CLASS_TINY origin_tech = "engineering=2;bluespace=1" var/translate_binary = FALSE diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index fcddd192d17..46dc2428770 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -1,17 +1,18 @@ /obj/item/radio/headset name = "radio headset" desc = "An updated, modular intercom that fits over the head. Takes encryption keys." - var/radio_desc = "" icon_state = "headset" - item_state = "headset" + worn_icon_state = "headset" + inhand_icon_state = "headset" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/ears.dmi', //We read you loud and skree-er. "Kidan" = 'icons/mob/clothing/species/kidan/ears.dmi' - ) + ) materials = list(MAT_METAL = 200) canhear_range = 0 // can't hear headsets from very far away slot_flags = ITEM_SLOT_BOTH_EARS + var/radio_desc = "" var/translate_binary = FALSE var/translate_hive = FALSE var/obj/item/encryptionkey/keyslot1 = null @@ -81,7 +82,7 @@ desc = "An updated, modular intercom that fits over the head. Takes encryption keys. Protects ears from flashbangs." flags = EARBANGPROTECT icon_state = "com_headset_alt" - item_state = "com_headset_alt" + worn_icon_state = "com_headset_alt" /obj/item/radio/headset/alt/deathsquad name = "Deathsquad headset" @@ -107,13 +108,13 @@ desc = "A syndicate headset that can be used to hear all radio frequencies. Protects ears from flashbangs." flags = EARBANGPROTECT icon_state = "syndie_headset" - item_state = "syndie_headset" + worn_icon_state = "syndie_headset" /obj/item/radio/headset/syndicate_fake name = "syndicate headset" desc = "A syndicate headset to set on your head." icon_state = "syndie_headset" - item_state = "syndie_headset" + worn_icon_state = "syndie_headset" /obj/item/radio/headset/syndicate/syndteam ks1type = /obj/item/encryptionkey/syndteam @@ -134,7 +135,7 @@ flags = EARBANGPROTECT origin_tech = "syndicate=3" icon_state = "soviet_headset" - item_state = "soviet_headset" + worn_icon_state = "soviet_headset" ks1type = /obj/item/encryptionkey/soviet requires_tcomms = FALSE @@ -153,13 +154,12 @@ desc = "This is used by your elite security force. Protects ears from flashbangs." flags = EARBANGPROTECT icon_state = "sec_headset_alt" - item_state = "sec_headset_alt" + worn_icon_state = "sec_headset_alt" /obj/item/radio/headset/headset_iaa name = "internal affairs radio headset" desc = "This is used by your elite legal team." icon_state = "sec_headset" - item_state = "sec_headset" ks2type = /obj/item/encryptionkey/headset_iaa /obj/item/radio/headset/headset_iaa/alt @@ -167,7 +167,6 @@ desc = "This is used by your elite legal team. Protects ears from flashbangs." flags = EARBANGPROTECT icon_state = "sec_headset_alt" - item_state = "sec_headset_alt" /obj/item/radio/headset/headset_eng name = "engineering radio headset" @@ -222,7 +221,7 @@ desc = "The headset of the boss. Protects ears from flashbangs." flags = EARBANGPROTECT icon_state = "com_headset_alt" - item_state = "com_headset_alt" + worn_icon_state = "com_headset_alt" /obj/item/radio/headset/heads/rd name = "research director's headset" @@ -241,7 +240,6 @@ desc = "The headset of the man in charge of keeping order and protecting the station. Protects ears from flashbangs." flags = EARBANGPROTECT icon_state = "com_headset_alt" - item_state = "com_headset_alt" /obj/item/radio/headset/heads/ce name = "chief engineer's headset" @@ -312,7 +310,7 @@ desc = "The headset of the Magistrate. Protects ears from flashbangs." flags = EARBANGPROTECT icon_state = "com_headset_alt" - item_state = "com_headset_alt" + worn_icon_state = "com_headset_alt" /obj/item/radio/headset/heads/blueshield name = "blueshield's headset" @@ -325,7 +323,7 @@ desc = "The headset of the Blueshield. Protects ears from flashbangs." flags = EARBANGPROTECT icon_state = "com_headset_alt" - item_state = "com_headset_alt" + worn_icon_state = "com_headset_alt" /obj/item/radio/headset/ert name = "emergency response team headset" @@ -339,7 +337,7 @@ desc = "An ergonomic tactical headset used by Nanotrasen-affiliated PMCs. Protects against loud noises." flags = EARBANGPROTECT icon_state = "com_headset_alt" - item_state = "com_headset_alt" + worn_icon_state = "com_headset_alt" /obj/item/radio/headset/ert/alt/solgov name = "\improper Trans-Solar Marine Corps bowman headset" @@ -364,7 +362,7 @@ desc = "The headset of final authority. Protects ears from flashbangs. Can transmit even if telecomms are down." flags = EARBANGPROTECT icon_state = "com_headset_alt" - item_state = "com_headset_alt" + worn_icon_state = "com_headset_alt" ks2type = /obj/item/encryptionkey/centcom requires_tcomms = FALSE instant = TRUE diff --git a/code/game/objects/items/devices/radio/radio_objects.dm b/code/game/objects/items/devices/radio/radio_objects.dm index 4daf2bf4661..278453c3f00 100644 --- a/code/game/objects/items/devices/radio/radio_objects.dm +++ b/code/game/objects/items/devices/radio/radio_objects.dm @@ -23,12 +23,12 @@ GLOBAL_LIST_INIT(default_medbay_channels, list( GLOBAL_LIST_EMPTY(deadsay_radio_systems) /obj/item/radio - icon = 'icons/obj/radio.dmi' name = "station bounced radio" + icon = 'icons/obj/radio.dmi' + icon_state = "walkietalkie" + inhand_icon_state = "radio" dog_fashion = /datum/dog_fashion/back suffix = "\[3\]" - icon_state = "walkietalkie" - item_state = "walkietalkie" /// boolean for radio enabled or not var/on = TRUE var/last_transmission diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 7129716d184..03abe25bd0c 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -17,12 +17,13 @@ SLIME SCANNER desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." icon = 'icons/obj/device.dmi' icon_state = "t-ray0" - var/on = FALSE + worn_icon_state = "electronic" + inhand_icon_state = "electronic" slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL - item_state = "electronic" materials = list(MAT_METAL = 300) origin_tech = "magnets=1;engineering=1" + var/on = FALSE /obj/item/t_scanner/Destroy() if(on) @@ -71,7 +72,7 @@ SLIME SCANNER flick_overlay(t_ray_images, list(viewer.client), flick_time) //////////////////////////////////////// -// MARK: Health analyser +// MARK: Health analyzer //////////////////////////////////////// #define SIMPLE_HEALTH_SCAN 0 #define DETAILED_HEALTH_SCAN 1 @@ -139,7 +140,8 @@ SLIME SCANNER desc = "A hand-held body scanner able to distinguish vital signs of the subject." icon = 'icons/obj/device.dmi' icon_state = "health" - item_state = "healthanalyzer" + worn_icon_state = "healthanalyzer" + inhand_icon_state = "healthanalyzer" belt_icon = "health_analyzer" flags = CONDUCT | NOBLUDGEON slot_flags = ITEM_SLOT_BELT @@ -454,7 +456,7 @@ SLIME SCANNER desc = "A hand-held scanner able to diagnose robotic injuries and the condition of machinery." icon = 'icons/obj/device.dmi' icon_state = "robotanalyzer" - item_state = "analyzer" + inhand_icon_state = "analyzer" flags = CONDUCT slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL @@ -601,7 +603,7 @@ SLIME SCANNER desc = "A hand-held environmental scanner which reports current gas levels." icon = 'icons/obj/device.dmi' icon_state = "atmos" - item_state = "analyzer" + inhand_icon_state = "analyzer" slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL flags = CONDUCT @@ -849,7 +851,7 @@ SLIME SCANNER desc = "A hand-held reagent scanner which identifies chemical agents and blood types." icon = 'icons/obj/device.dmi' icon_state = "spectrometer" - item_state = "analyzer" + inhand_icon_state = "analyzer" w_class = WEIGHT_CLASS_SMALL flags = CONDUCT slot_flags = ITEM_SLOT_BELT @@ -927,7 +929,7 @@ SLIME SCANNER name = "slime scanner" icon = 'icons/obj/device.dmi' icon_state = "adv_spectrometer_s" - item_state = "analyzer" + inhand_icon_state = "analyzer" origin_tech = "biotech=2" slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL @@ -983,7 +985,8 @@ SLIME SCANNER desc = "A handheld scanner capable of deep-scanning an entire body." icon = 'icons/obj/device.dmi' icon_state = "bodyanalyzer_0" - item_state = "healthanalyser" + worn_icon_state = "healthanalyzer" + inhand_icon_state = "healthanalyzer" slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL throw_speed = 5 diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index e7c33db163e..efa53d4250b 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -3,7 +3,7 @@ desc = "A device that can record to cassette tapes, and play them. It automatically translates the content in playback." icon = 'icons/obj/device.dmi' icon_state = "taperecorder_empty" - item_state = "analyzer" + inhand_icon_state = "analyzer" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL = 180, MAT_GLASS = 90) @@ -268,7 +268,7 @@ desc = "A magnetic tape that can hold up to ten minutes of content." icon = 'icons/obj/device.dmi' icon_state = "tape_white" - item_state = "analyzer" + inhand_icon_state = "analyzer" w_class = WEIGHT_CLASS_TINY materials = list(MAT_METAL = 40, MAT_GLASS = 10) force = 1 diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 628ec44e49e..05f13898342 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -3,7 +3,7 @@ desc = "Fog of war that fits your pocket. Flicking the switch and extending the antenna will scramble nearby radio comms, making outgoing messages hard to understand." icon = 'icons/obj/device.dmi' icon_state = "jammer" - item_state = "jammer" + inhand_icon_state = "jammer" w_class = WEIGHT_CLASS_TINY actions_types = list(/datum/action/item_action/toggle_radio_jammer) new_attack_chain = TRUE @@ -37,12 +37,12 @@ desc = "A strange syndicate version of a cult veil shifter. Warranty voided if exposed to EMP." icon = 'icons/obj/device.dmi' icon_state = "syndi-tele-4" + inhand_icon_state = "electronic" throwforce = 5 w_class = WEIGHT_CLASS_SMALL throw_speed = 4 throw_range = 10 flags = CONDUCT - item_state = "electronic" origin_tech = "magnets=3;combat=3;syndicate=3" new_attack_chain = TRUE var/list/icons_charges = list( @@ -342,12 +342,12 @@ desc = "A dangerous syndicate device focused on crowd control and escapes. Causes brain damage, confusion, and other nasty effects to those surrounding the user." icon = 'icons/obj/device.dmi' icon_state = "batterer" + inhand_icon_state = "electronic" throwforce = 5 w_class = WEIGHT_CLASS_TINY throw_speed = 4 throw_range = 10 flags = CONDUCT - item_state = "electronic" origin_tech = "magnets=3;combat=3;syndicate=3" new_attack_chain = TRUE @@ -494,12 +494,12 @@ desc = "The Syndicate seem to have modified this T-ray scanner for a more nefarious purpose, allowing it to detect all loyal Nanotrasen crew." icon = 'icons/obj/device.dmi' icon_state = "syndi-scanner" + inhand_icon_state = "electronic" throwforce = 5 w_class = WEIGHT_CLASS_SMALL throw_speed = 4 throw_range = 10 flags = CONDUCT - item_state = "electronic" new_attack_chain = TRUE /// Split points for range_messages. var/list/ranges = list(5, 15, 30) diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index f7212311663..021bfcb7d81 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -2,11 +2,11 @@ #define TTV_TANK_ICON_STATES list("anesthetic", "emergency", "emergency_double", "emergency_engi", "emergency_sleep", "jetpack", "jetpack_black", "jetpack_void", "oxygen", "oxygen_f", "oxygen_fr", "plasma") /obj/item/transfer_valve - icon = 'icons/obj/assemblies.dmi' name = "tank transfer valve" - icon_state = "valve_1" - item_state = "ttv" desc = "Regulates the transfer of air between two tanks." + icon = 'icons/obj/assemblies.dmi' + icon_state = "valve_1" + inhand_icon_state = "ttv" var/obj/item/tank/tank_one = null var/obj/item/tank/tank_two = null var/obj/item/assembly/attached_device = null diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index 92c81ecbbcb..5da8059191a 100644 --- a/code/game/objects/items/devices/whistle.dm +++ b/code/game/objects/items/devices/whistle.dm @@ -6,7 +6,7 @@ desc = "Used by obese officers to save their breath for running." icon = 'icons/obj/device.dmi' icon_state = "voice0" - item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang) + inhand_icon_state = "flashtool" w_class = WEIGHT_CLASS_TINY flags = CONDUCT var/next_use_time @@ -37,7 +37,6 @@ name = "whistle" desc = "A metal pea-whistle. Can be blown while held, or worn in the mouth." icon_state = "whistle" - item_state = "whistle" w_class = WEIGHT_CLASS_TINY flags = CONDUCT body_parts_covered = null diff --git a/code/game/objects/items/disks.dm b/code/game/objects/items/disks.dm index c4687b75f79..ace9e2bdc6b 100644 --- a/code/game/objects/items/disks.dm +++ b/code/game/objects/items/disks.dm @@ -1,10 +1,10 @@ /obj/item/disk icon = 'icons/obj/module.dmi' - w_class = WEIGHT_CLASS_TINY - item_state = "card-id" icon_state = "datadisk0" + inhand_icon_state = "card-id" drop_sound = 'sound/items/handling/disk_drop.ogg' pickup_sound = 'sound/items/handling/disk_pickup.ogg' + w_class = WEIGHT_CLASS_TINY /obj/item/disk/data name = "Cloning Data Disk" diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index af06d3a46f4..5dc67bb24e1 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -3,7 +3,7 @@ desc = "This injects the person with DNA." icon = 'icons/obj/medical.dmi' icon_state = "dnainjector" - item_state = "dnainjector" + inhand_icon_state = "dnainjector" belt_icon = "syringe" var/block = 0 var/datum/dna2_record/buf = null diff --git a/code/game/objects/items/dnascrambler.dm b/code/game/objects/items/dnascrambler.dm index ba362a3a4a2..cb34973361b 100644 --- a/code/game/objects/items/dnascrambler.dm +++ b/code/game/objects/items/dnascrambler.dm @@ -2,8 +2,8 @@ name = "dna scrambler" desc = "An illegal genetic serum designed to randomize the user's identity." icon = 'icons/obj/hypo.dmi' - item_state = "syringe_0" icon_state = "lepopen" + inhand_icon_state = "syringe_0" var/used = FALSE /obj/item/dnascrambler/update_icon_state() diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index 6d4f0c85af4..2a7c719d2e1 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -3,7 +3,7 @@ desc = "Documents printed on special copy-protected paper." icon = 'icons/obj/bureaucracy.dmi' icon_state = "docs_generic" - item_state = "paper" + inhand_icon_state = "paper" w_class = WEIGHT_CLASS_TINY throw_range = 1 throw_speed = 1 @@ -77,7 +77,7 @@ name = "\improper D.V.O.R.A.K Blackbox Disk" desc = "This disk contains a full record of all information that passed through D.V.O.R.A.K's systems during its uptime, not to mention what may have gone wrong. NT might be interested in this." icon = 'icons/obj/module.dmi' - item_state = "card-id" icon_state = "holodisk" + inhand_icon_state = "card-id" drop_sound = 'sound/items/handling/disk_drop.ogg' pickup_sound = 'sound/items/handling/disk_pickup.ogg' diff --git a/code/game/objects/items/dyeing.dm b/code/game/objects/items/dyeing.dm index 722826491d0..fb05191e0ab 100644 --- a/code/game/objects/items/dyeing.dm +++ b/code/game/objects/items/dyeing.dm @@ -26,7 +26,9 @@ // update icons icon = initial(target_obj.icon) icon_state = initial(target_obj.icon_state) - item_state = initial(target_obj.item_state) + worn_icon = initial(target_obj.worn_icon) + worn_icon_state = initial(target_obj.worn_icon_state) + inhand_icon_state = initial(target_obj.inhand_icon_state) sprite_sheets = target_obj.sprite_sheets item_color = target_obj.item_color desc = target_obj.desc diff --git a/code/game/objects/items/flag.dm b/code/game/objects/items/flag.dm index 0525e12fc90..9d5fcba3ce5 100644 --- a/code/game/objects/items/flag.dm +++ b/code/game/objects/items/flag.dm @@ -31,22 +31,16 @@ update_icon() /obj/item/flag/update_icon_state() - updateFlagIcon() - item_state = icon_state - if(rolled) - icon_state = "[icon_state]_rolled" - custom_fire_overlay = "fire_rolled" - else - custom_fire_overlay = initial(custom_fire_overlay) - if(resistance_flags & ON_FIRE) - item_state = "[item_state]_fire" + icon_state = "[get_flag_icon()][rolled ? "_rolled" : ""]" + inhand_icon_state = "[get_flag_icon()][resistance_flags & ON_FIRE ? "_fire" : ""]" + custom_fire_overlay = "[initial(custom_fire_overlay)][rolled ? "_rolled" : ""]" if(ismob(loc)) - var/mob/M = loc - M.update_inv_r_hand() - M.update_inv_l_hand() + var/mob/mob = loc + mob.update_inv_r_hand() + mob.update_inv_l_hand() -/obj/item/flag/proc/updateFlagIcon() - icon_state = initial(icon_state) +/obj/item/flag/proc/get_flag_icon() + return initial(icon_state) /obj/item/flag/nt name = "\improper Nanotrasen flag" @@ -291,8 +285,8 @@ boobytrap = null burn() -/obj/item/flag/chameleon/updateFlagIcon() - icon_state = updated_icon_state +/obj/item/flag/chameleon/get_flag_icon() + return updated_icon_state /obj/item/flag/chameleon/depot/New() ..() diff --git a/code/game/objects/items/hand_item.dm b/code/game/objects/items/hand_item.dm index 25495b85106..a7faf81336b 100644 --- a/code/game/objects/items/hand_item.dm +++ b/code/game/objects/items/hand_item.dm @@ -2,7 +2,7 @@ name = "slapper" desc = "This is how real men fight." icon_state = "latexballon" - item_state = "nothing" + inhand_icon_state = "nothing" flags = DROPDEL | ABSTRACT attack_verb = list("slapped") hitsound = 'sound/weapons/slap.ogg' diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index 1b6ec5fce8f..b613609836f 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -10,7 +10,7 @@ desc = "A toolbox painted bright green. Looking at it makes you feel uneasy." icon = 'icons/obj/storage.dmi' icon_state = "green" - item_state = "artistic_toolbox" + inhand_icon_state = "artistic_toolbox" lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' w_class = WEIGHT_CLASS_GIGANTIC @@ -52,7 +52,7 @@ /obj/item/his_grace/update_icon_state() icon_state = ascended ? "gold" : "green" - item_state = ascended ? "toolbox_gold" : "artistic_toolbox" + inhand_icon_state = ascended ? "toolbox_gold" : "artistic_toolbox" /obj/item/his_grace/update_overlays() . = ..() @@ -297,8 +297,6 @@ if(ascended) return desc = "A legendary toolbox and a distant artifact from The Age of Three Powers. On its three latches engraved are the words \"The Sun\", \"The Moon\", and \"The Stars\". The entire toolbox has the words \"The World\" engraved into its sides." - icon_state = "his_grace_ascended" - item_state = "toolbox_gold" ascended = TRUE SSblackbox.record_feedback("amount", "his_grace_ascended", 1) update_icon() diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index 3a898b1eed3..e081b8c9477 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -2,7 +2,9 @@ name = "latex glove" desc = "You wanted a fiery fist o' pain, but all you got was this dumb balloon." icon_state = "latexballon" - item_state = "lgloves" + inhand_icon_state = "lgloves" + lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing_righthand.dmi' w_class = WEIGHT_CLASS_TINY throw_speed = 1 cares_about_temperature = TRUE @@ -17,7 +19,9 @@ if(icon_state == "latexballon_bursted") return icon_state = "latexballon_blow" - item_state = "latexballon" + inhand_icon_state = "latexballon" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' user.update_inv_r_hand() user.update_inv_l_hand() to_chat(user, "You blow up [src] with [tank].") @@ -28,7 +32,7 @@ return playsound(src, 'sound/weapons/gunshots/gunshot.ogg', 100, 1) icon_state = "latexballon_bursted" - item_state = "lgloves" + inhand_icon_state = null if(isliving(loc)) var/mob/living/user = loc user.update_inv_r_hand() diff --git a/code/game/objects/items/lighters.dm b/code/game/objects/items/lighters.dm index b1e856fd9de..d19afd48df1 100644 --- a/code/game/objects/items/lighters.dm +++ b/code/game/objects/items/lighters.dm @@ -6,7 +6,6 @@ lefthand_file = 'icons/mob/inhands/lighter_lefthand.dmi' righthand_file = 'icons/mob/inhands/lighter_righthand.dmi' icon_state = "lighter-g" - item_state = "lighter-g" w_class = WEIGHT_CLASS_TINY flags = CONDUCT slot_flags = ITEM_SLOT_BELT @@ -141,7 +140,7 @@ icon_state = "[base_icon_state ? "[base_icon_state]" : initial(icon_state)][lighter_color ? "-[lighter_color]" : ""][lit ? "-on" : ""]" /obj/item/lighter/update_overlays() - item_state = "[base_icon_state ? "[base_icon_state]" : initial(item_state)][lighter_color ? "-[lighter_color]" : ""][lit ? "-on" : ""]" + inhand_icon_state = "[base_icon_state ? "[base_icon_state]" : initial(inhand_icon_state)][lighter_color ? "-[lighter_color]" : ""][lit ? "-on" : ""]" /obj/item/lighter/get_heat() return lit * 1500 @@ -152,7 +151,7 @@ name = "zippo lighter" desc = "A premium cigarette lighter, for cool and distinguished individuals." icon_state = "zippo" - item_state = "zippo" + inhand_icon_state = "zippo" is_a_zippo = TRUE throwforce = 4 @@ -217,19 +216,19 @@ name = "gold engraved zippo" desc = "An engraved golden Zippo lighter with the letters \"NT\" engraved on the sides." icon_state = "zippo-nt" - item_state = "zippo-gold" + inhand_icon_state = "zippo-gold" /obj/item/lighter/zippo/blue name = "blue zippo lighter" desc = "A zippo lighter made of some blue metal." icon_state = "zippo-blue" - item_state = "zippo-blue" + inhand_icon_state = "zippo-blue" /obj/item/lighter/zippo/black name = "black zippo lighter" desc = "A black zippo lighter." icon_state = "zippo-black" - item_state = "zippo-black" + inhand_icon_state = "zippo-black" /obj/item/lighter/zippo/engraved name = "engraved zippo lighter" @@ -240,7 +239,7 @@ name = "Gonzo Fist zippo" desc = "A Zippo lighter with the iconic Gonzo Fist on a matte black finish." icon_state = "zippo-gonzo" - item_state = "zippo-red" + inhand_icon_state = "zippo-red" // MARK: MATCHES @@ -283,7 +282,7 @@ damtype = "fire" force = 3 hitsound = 'sound/items/welder.ogg' - item_state = "cig_on" + inhand_icon_state = "cig_on" name = "lit match" desc = "A match. This one is lit." attack_verb = list("burnt","singed") @@ -298,7 +297,7 @@ damtype = "brute" force = initial(force) icon_state = "match_burnt" - item_state = "cig_off" + inhand_icon_state = "cig_off" name = "burnt match" desc = "A match. This one has seen better days." attack_verb = list("flicked") diff --git a/code/game/objects/items/mountable_frames/newscaster_frame.dm b/code/game/objects/items/mountable_frames/newscaster_frame.dm index 4cbefd7d2e6..49eaa595546 100644 --- a/code/game/objects/items/mountable_frames/newscaster_frame.dm +++ b/code/game/objects/items/mountable_frames/newscaster_frame.dm @@ -1,7 +1,7 @@ /obj/item/mounted/frame/display icon = 'icons/obj/status_display.dmi' icon_state = "frame" - item_state = "syringe_kit" + inhand_icon_state = "syringe_kit" materials = list(MAT_METAL=6000, MAT_GLASS=2000) mount_requirements = MOUNTED_FRAME_SIMFLOOR | MOUNTED_FRAME_NOSPACE metal_sheets_refunded = 3 diff --git a/code/game/objects/items/paint_bucket.dm b/code/game/objects/items/paint_bucket.dm index a7b49df476a..256d1c6e45a 100644 --- a/code/game/objects/items/paint_bucket.dm +++ b/code/game/objects/items/paint_bucket.dm @@ -5,7 +5,7 @@ name = "paint bucket" icon = 'icons/obj/paint.dmi' icon_state = "paint_neutral" - item_state = "paintcan" + inhand_icon_state = "paintcan" materials = list(MAT_METAL = 400) w_class = WEIGHT_CLASS_NORMAL resistance_flags = FLAMMABLE diff --git a/code/game/objects/items/picket_signs.dm b/code/game/objects/items/picket_signs.dm index 93217cd3425..7f6517172c7 100644 --- a/code/game/objects/items/picket_signs.dm +++ b/code/game/objects/items/picket_signs.dm @@ -2,7 +2,6 @@ name = "blank picket sign" desc = "It's blank." icon_state = "picket" - item_state = "picket" force = 5 w_class = WEIGHT_CLASS_BULKY attack_verb = list("bashed","smacked") diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index eaeb81449e0..ca486f85c65 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -1,7 +1,7 @@ /obj/item/robot_parts name = "robot parts" icon = 'icons/obj/robot_parts.dmi' - item_state = "buildpipe" + inhand_icon_state = "buildpipe" flags = CONDUCT slot_flags = ITEM_SLOT_BELT var/list/part = null diff --git a/code/game/objects/items/scrolls.dm b/code/game/objects/items/scrolls.dm index 966db08c0e7..ab819ea7024 100644 --- a/code/game/objects/items/scrolls.dm +++ b/code/game/objects/items/scrolls.dm @@ -3,13 +3,13 @@ desc = "A scroll for moving around." icon = 'icons/obj/wizard.dmi' icon_state = "scroll" - var/uses = 4 + inhand_icon_state = "paper" w_class = WEIGHT_CLASS_SMALL - item_state = "paper" throw_speed = 4 throw_range = 20 origin_tech = "bluespace=6" resistance_flags = FLAMMABLE + var/uses = 4 /obj/item/teleportation_scroll/apprentice name = "lesser scroll of teleportation" diff --git a/code/game/objects/items/sport.dm b/code/game/objects/items/sport.dm index b2e40a4f635..31fb89fb4d5 100644 --- a/code/game/objects/items/sport.dm +++ b/code/game/objects/items/sport.dm @@ -3,7 +3,7 @@ icon = 'icons/misc/beach.dmi' desc = "An inflatable ball of fun, enjoyed on many beaches." icon_state = "ball" - item_state = "beachball" + inhand_icon_state = "beachball" throw_speed = 1 throw_range = 20 flags = CONDUCT @@ -28,7 +28,7 @@ desc = "Take me out to the ball game." icon = 'icons/obj/basketball.dmi' icon_state = "baseball" - item_state = "baseball" + inhand_icon_state = null // no icon state w_class = WEIGHT_CLASS_SMALL /obj/item/beach_ball/dodgeball @@ -36,7 +36,7 @@ desc = "Used for playing the most violent and degrading of childhood games. This one is connected to the laser tag armour system." icon = 'icons/obj/basketball.dmi' icon_state = "dodgeball" - item_state = "dodgeball" + inhand_icon_state = "dodgeball" dribbleable = TRUE var/list/suit_types = list(/obj/item/clothing/suit/redtag, /obj/item/clothing/suit/bluetag) @@ -54,7 +54,7 @@ desc = "Here's your chance, do your dance at the Space Jam." icon = 'icons/obj/basketball.dmi' icon_state = "basketball" - item_state = "basketball" + inhand_icon_state = "basketball" dribbleable = TRUE w_class = WEIGHT_CLASS_BULKY //Stops people from hiding it in their bags/pockets diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 18ef2a39e71..31d77700f11 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -25,7 +25,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( singular_name = "metal rod" icon = 'icons/obj/stacks/minerals.dmi' icon_state = "rods-5" - item_state = "rods" + inhand_icon_state = "rods" flags = CONDUCT force = 9.0 throwforce = 10.0 diff --git a/code/game/objects/items/stacks/seaweed.dm b/code/game/objects/items/stacks/seaweed.dm index 6d277dfb23f..45b3c02a608 100644 --- a/code/game/objects/items/stacks/seaweed.dm +++ b/code/game/objects/items/stacks/seaweed.dm @@ -4,7 +4,6 @@ singular_name = "seaweed sheet" icon = 'icons/obj/stacks/organic.dmi' icon_state = "seaweed" - item_state = "seaweed" w_class = WEIGHT_CLASS_TINY attack_verb = list("slapped") hitsound = 'sound/weapons/grenadelaunch.ogg' diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index dbffc34196d..ce7efae501c 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -27,9 +27,8 @@ GLOBAL_LIST_INIT(glass_recipes, list ( /obj/item/stack/sheet/glass name = "glass" desc = "HOLY SHEET! That is a lot of glass." - singular_name = "glass sheet" icon_state = "sheet-glass" - item_state = "sheet-glass" + singular_name = "glass sheet" materials = list(MAT_GLASS = MINERAL_MATERIAL_AMOUNT) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 100) resistance_flags = ACID_PROOF @@ -159,7 +158,6 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( desc = "A very strong and very resistant sheet of a plasma-glass mixture." singular_name = "glass sheet" icon_state = "sheet-plasmaglass" - item_state = "sheet-plasmaglass" materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 75, ACID = 100) resistance_flags = ACID_PROOF @@ -217,7 +215,6 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( desc = "Plasma glass which seems to have rods or something stuck in them." singular_name = "reinforced plasma glass sheet" icon_state = "sheet-plasmarglass" - item_state = "sheet-plasmarglass" materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT / 2, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) armor = list(MELEE = 20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 80, ACID = 100) resistance_flags = ACID_PROOF @@ -256,7 +253,6 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( desc = "A glass sheet made out of titanium silicate." singular_name = "titanium glass sheet" icon_state = "sheet-titaniumglass" - item_state = "sheet-titaniumglass" materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 80, ACID = 100) resistance_flags = ACID_PROOF @@ -291,7 +287,6 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( desc = "A glass sheet made out of a plasma-titanium-silica mixture." singular_name = "plastitanium glass sheet" icon_state = "sheet-plastitaniumglass" - item_state = "sheet-plastitaniumglass" materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 80, ACID = 100) resistance_flags = ACID_PROOF diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 100ff35c44a..5a6c2864dc7 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -8,9 +8,9 @@ /obj/item/stack/sheet/animalhide/human name = "human skin" desc = "The by-product of human farming." - singular_name = "human skin piece" icon_state = "sheet-hide" - item_state = "sheet-leather" + inhand_icon_state = "sheet-leather" + singular_name = "human skin piece" GLOBAL_LIST_INIT(human_recipes, list( new /datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/bloated_human, 5, on_floor = TRUE), @@ -24,33 +24,33 @@ GLOBAL_LIST_INIT(human_recipes, list( /obj/item/stack/sheet/animalhide/generic name = "generic skin" desc = "A piece of generic skin." - singular_name = "generic skin piece" icon_state = "sheet-hide" - item_state = "sheet-leather" + inhand_icon_state = "sheet-leather" + singular_name = "generic skin piece" /obj/item/stack/sheet/animalhide/corgi name = "corgi hide" desc = "The by-product of corgi farming." - singular_name = "corgi hide piece" icon_state = "sheet-corgi" + singular_name = "corgi hide piece" /obj/item/stack/sheet/animalhide/cat name = "cat hide" desc = "The by-product of cat farming." - singular_name = "cat hide piece" icon_state = "sheet-cat" + singular_name = "cat hide piece" /obj/item/stack/sheet/animalhide/monkey name = "monkey hide" desc = "The by-product of monkey farming." - singular_name = "monkey hide piece" icon_state = "sheet-monkey" + singular_name = "monkey hide piece" /obj/item/stack/sheet/animalhide/lizard name = "lizard skin" desc = "Sssssss..." - singular_name = "lizard skin piece" icon_state = "sheet-lizard" + singular_name = "lizard skin piece" GLOBAL_LIST_INIT(lizard_recipes, list( new /datum/stack_recipe("lizard skin handbag", /obj/item/storage/backpack/satchel/lizard, 5, on_floor = TRUE), @@ -64,16 +64,16 @@ GLOBAL_LIST_INIT(lizard_recipes, list( /obj/item/stack/sheet/fur name = "pile of fur" desc = "Vulp remains." - singular_name = "fur piece" icon = 'icons/obj/stacks/organic.dmi' icon_state = "sheet-hide" + singular_name = "fur piece" origin_tech = "materials=2" /obj/item/stack/sheet/animalhide/xeno name = "alien hide" desc = "The skin of a terrible creature." - singular_name = "alien hide piece" icon_state = "sheet-xeno" + singular_name = "alien hide piece" GLOBAL_LIST_INIT(xeno_recipes, list ( new /datum/stack_recipe("alien helmet", /obj/item/clothing/head/xenos, 1), @@ -87,9 +87,9 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( /obj/item/stack/sheet/xenochitin name = "alien chitin" desc = "A piece of the hide of a terrible creature." - singular_name = "alien hide piece" icon = 'icons/mob/alien.dmi' icon_state = "chitin" + singular_name = "alien hide piece" origin_tech = "" dynamic_icon_state = FALSE @@ -110,19 +110,19 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( /obj/item/stack/sheet/hairlesshide name = "hairless hide" desc = "This hide was stripped of it's hair, but still needs tanning." - singular_name = "hairless hide piece" icon = 'icons/obj/stacks/organic.dmi' icon_state = "sheet-hairlesshide" - item_state = "sheet-leather" + inhand_icon_state = "sheet-leather" + singular_name = "hairless hide piece" origin_tech = "" /obj/item/stack/sheet/wetleather name = "wet leather" desc = "This leather has been cleaned but still needs to be dried." - singular_name = "wet leather piece" icon = 'icons/obj/stacks/organic.dmi' icon_state = "sheet-wetleather" - item_state = "sheet-leather" + inhand_icon_state = "sheet-leather" + singular_name = "wet leather piece" origin_tech = "" cares_about_temperature = TRUE var/wetness = 30 //Reduced when exposed to high temperautres @@ -131,10 +131,9 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( /obj/item/stack/sheet/leather name = "leather" desc = "The by-product of mob grinding." - singular_name = "leather piece" icon = 'icons/obj/stacks/organic.dmi' icon_state = "sheet-leather" - item_state = "sheet-leather" + singular_name = "leather piece" origin_tech = "materials=2" GLOBAL_LIST_INIT(leather_recipes, list ( @@ -162,9 +161,7 @@ GLOBAL_LIST_INIT(leather_recipes, list ( name = "watcher sinew" icon = 'icons/obj/stacks/organic.dmi' desc = "Long stringy filaments which presumably came from a watcher's wings." - singular_name = "watcher sinew" icon_state = "sinew" - item_state = "sinew" origin_tech = "biotech=4" dynamic_icon_state = FALSE @@ -180,7 +177,6 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( name = "goliath hide plates" desc = "Pieces of a goliath's rocky hide, these might be able to make your miner equipment such as suits, plasmaman helmets, borgs and Ripley class exosuits a bit more durable to attack from the local fauna." icon_state = "goliath_hide" - item_state = "goliath_hide" singular_name = "hide plate" flags = NOBLUDGEON layer = MOB_LAYER @@ -238,7 +234,6 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( desc = "This piece of metal can be attached to the mech itself, enhancing its protective characteristics. Unfortunately, only working class exosuits have notches for such armor." icon = 'icons/mecha/mecha_equipment.dmi' icon_state = "armor_plate" - item_state = "armor_plate" singular_name = "armor plate" flags = NOBLUDGEON layer = MOB_LAYER @@ -268,7 +263,6 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( name = "ash drake hide" desc = "The strong, scaled hide of an ash drake. Can be attached to the mech itself, greatly enhancing its protective characteristics. Unfortunately, only working class exosuits have notches for such armor." icon_state = "dragon_hide" - item_state = "dragon_hide" singular_name = "drake plate" flags = NOBLUDGEON layer = MOB_LAYER diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index b75f13a0b30..255b752f5e7 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -159,7 +159,6 @@ GLOBAL_LIST_INIT(snow_recipes, list( desc = "This appears to be a combination of both sand and stone." singular_name = "sandstone brick" icon_state = "sheet-sandstone" - item_state = "sheet-sandstone" throw_range = 5 sheettype = "sandstone" materials = list(MAT_GLASS = MINERAL_MATERIAL_AMOUNT) @@ -215,7 +214,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "diamond" desc = "Sparkles like a twinkling star." icon_state = "sheet-diamond" - item_state = "sheet-diamond" singular_name = "diamond" origin_tech = "materials=6" sheettype = "diamond" @@ -244,7 +242,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "uranium" desc = "Don't keep this stuff in your pocket for too long. Hell, don't keep it anywhere near your person for too long." icon_state = "sheet-uranium" - item_state = "sheet-uranium" singular_name = "uranium sheet" origin_tech = "materials=5" sheettype = "uranium" @@ -275,7 +272,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "solid plasma" desc = "Beautiful pure purple crystals, ready to ignite if a naked flame touches them..." icon_state = "sheet-plasma" - item_state = "sheet-plasma" singular_name = "plasma sheet" origin_tech = "plasmatech=2;materials=2" sheettype = "plasma" @@ -338,7 +334,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "gold" desc = "GOLD!" icon_state = "sheet-gold" - item_state = "sheet-gold" singular_name = "gold bar" origin_tech = "materials=4" sheettype = "gold" @@ -367,7 +362,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "silver" desc = "Shiny as a mirror. Allegedly repels werewolves and other mythical creatures." icon_state = "sheet-silver" - item_state = "sheet-silver" singular_name = "silver bar" origin_tech = "materials=4" sheettype = "silver" @@ -396,7 +390,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "bananium" desc = "It looks, smells, and tastes like real bananas. You'll break your teeth if you try to bite down on it, though." icon_state = "sheet-bananium" - item_state = "sheet-clown" singular_name = "bananium sheet" origin_tech = "materials=4" sheettype = "bananium" @@ -428,7 +421,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "tranquillite" desc = "..." icon_state = "sheet-tranquillite" - item_state = "sheet-mime" singular_name = "beret" origin_tech = "materials=4" sheettype = "tranquillite" @@ -462,7 +454,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "platinum" desc = "Shiny and valuable." icon_state = "sheet-platinum" - item_state = "sheet-platinum" singular_name = "platinum" origin_tech = "materials=5" sheettype = "platinum" @@ -474,7 +465,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "palladium" desc = "A valuable space mineral." icon_state = "sheet-palladium" - item_state = "sheet-palladium" singular_name = "palladium" origin_tech = "materials=5" sheettype = "palladium" @@ -486,7 +476,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "iridium" desc = "A dense mineral found in abundance in space and extremely rare on planets." icon_state = "sheet-iridium" - item_state = "sheet-iridium" singular_name = "iridium" origin_tech = "materials=5" sheettype = "iridium" @@ -501,7 +490,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( name = "titanium" desc = "It feels much lighter than it looks." icon_state = "sheet-titanium" - item_state = "sheet-titanium" singular_name = "titanium sheet" throw_speed = 1 sheettype = "titanium" @@ -539,7 +527,6 @@ GLOBAL_LIST_INIT(titanium_recipes, list( name = "plastitanium" desc = "Just as light as normal titanium, but you can feel an aura of extra robustness about it." icon_state = "sheet-plastitanium" - item_state = "sheet-plastitanium" singular_name = "plastitanium sheet" throw_speed = 1 sheettype = "plastitanium" @@ -574,7 +561,6 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list( desc = "The dizzying colours change constantly depending on how the light hits it." icon = 'icons/obj/abductor.dmi' icon_state = "sheet-abductor" - item_state = "sheet-abductor" dynamic_icon_state = FALSE singular_name = "alien alloy sheet" throw_speed = 1 @@ -598,7 +584,6 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list( name = "adamantine" desc = "A strange mineral used in the construction of sentient golems." icon_state = "sheet-adamantine" - item_state = "sheet-adamantine" singular_name = "adamantine sheet" origin_tech = "materials=5" merge_type = /obj/item/stack/sheet/mineral/adamantine @@ -618,7 +603,6 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list( /obj/item/stack/sheet/mineral/snow name = "snow" icon_state = "sheet-snow" - item_state = "sheet-snow" singular_name = "snow block" force = 1 throwforce = 2 diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index e5d1be2e49b..753b200f1e5 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -133,8 +133,8 @@ GLOBAL_LIST_INIT(metal_recipes, list( /obj/item/stack/sheet/metal name = "metal" desc = "Sheets made out of steel." - singular_name = "metal sheet" icon_state = "sheet-metal" + singular_name = "metal sheet" materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT) throwforce = 10.0 flags = CONDUCT @@ -202,10 +202,9 @@ GLOBAL_LIST_INIT(plasteel_recipes, list( /obj/item/stack/sheet/plasteel name = "plasteel" - singular_name = "plasteel sheet" desc = "This sheet is an alloy of iron and plasma." icon_state = "sheet-plasteel" - item_state = "sheet-plasteel" + singular_name = "plasteel sheet" materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 100, ACID = 80) resistance_flags = FIRE_PROOF @@ -292,11 +291,10 @@ GLOBAL_LIST_INIT(wood_recipes, list( /obj/item/stack/sheet/wood name = "wooden planks" desc = "One can only guess that this is a bunch of wood." - gender = PLURAL - singular_name = "wood plank" icon = 'icons/obj/stacks/organic.dmi' icon_state = "sheet-wood" - item_state = "sheet-wood" + gender = PLURAL + singular_name = "wood plank" origin_tech = "materials=1;biotech=1" resistance_flags = FLAMMABLE armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 0) @@ -335,10 +333,9 @@ GLOBAL_LIST_INIT(bamboo_recipes, list( /obj/item/stack/sheet/bamboo name = "bamboo cuttings" desc = "Finely cut bamboo sticks." - singular_name = "cut bamboo stick" icon = 'icons/obj/stacks/organic.dmi' icon_state = "sheet-bamboo" - item_state = "sheet-bamboo" + singular_name = "cut bamboo stick" resistance_flags = FLAMMABLE sheettype = "bamboo" merge_type = /obj/item/stack/sheet/bamboo @@ -397,10 +394,9 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( /obj/item/stack/sheet/cloth name = "cloth" desc = "Is it cotton? Linen? Denim? Burlap? Canvas? You can't tell." - singular_name = "cloth roll" icon = 'icons/obj/stacks/organic.dmi' icon_state = "sheet-cloth" - item_state = "sheet-cloth" + singular_name = "cloth roll" origin_tech = "materials=2" resistance_flags = FLAMMABLE force = 0 @@ -431,10 +427,9 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( /obj/item/stack/sheet/durathread name = "durathread" desc = "A fabric sown from incredibly durable threads, known for its usefulness in armor production." - singular_name = "durathread roll" - icon_state = "sheet-durathread" - item_state = "sheet-durathread" icon = 'icons/obj/stacks/organic.dmi' + icon_state = "sheet-durathread" + singular_name = "durathread roll" resistance_flags = FLAMMABLE force = 0 throwforce = 0 @@ -517,10 +512,9 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( /obj/item/stack/sheet/cardboard name = "cardboard" desc = "Large sheets of card, like boxes folded flat." - singular_name = "cardboard sheet" icon = 'icons/obj/stacks/miscellaneous.dmi' icon_state = "sheet-card" - item_state = "sheet-card" + singular_name = "cardboard sheet" resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/cardboard @@ -537,11 +531,10 @@ GLOBAL_LIST_INIT(soil_recipes, list ( /obj/item/stack/sheet/soil name = "soil" - desc = "A clump of fertile soil which can be used to make a plot." singular_name = "soil clump" + desc = "A clump of fertile soil which can be used to make a plot." icon = 'icons/obj/stacks/organic.dmi' icon_state = "sheet-soil" - item_state = "sheet-soil" resistance_flags = FIRE_PROOF merge_type = /obj/item/stack/sheet/soil @@ -565,9 +558,8 @@ GLOBAL_LIST_INIT(cult_recipes, list ( /obj/item/stack/sheet/runed_metal name = "runed metal" desc = "Sheets of cold metal with shifting inscriptions writ upon them." - singular_name = "runed metal sheet" icon_state = "sheet-runed" - item_state = "sheet-runed" + singular_name = "runed metal sheet" sheettype = "runed" merge_type = /obj/item/stack/sheet/runed_metal @@ -580,7 +572,6 @@ GLOBAL_LIST_INIT(cult_recipes, list ( /obj/item/stack/sheet/runed_metal/Initialize(mapload, new_amount, merge) . = ..() icon_state = GET_CULT_DATA(runed_metal_icon_state, initial(icon_state)) - item_state = GET_CULT_DATA(runed_metal_item_state, initial(item_state)) recipes = GLOB.cult_recipes /obj/item/stack/sheet/runed_metal/attack_self__legacy__attackchain(mob/living/user) @@ -639,10 +630,9 @@ GLOBAL_LIST_INIT(brass_recipes, list ( /obj/item/stack/tile/brass name = "brass" desc = "Sheets made out of brass." - singular_name = "brass sheet" - icon_state = "sheet-brass" - item_state = "sheet-brass" icon = 'icons/obj/stacks/minerals.dmi' + icon_state = "sheet-brass" + singular_name = "brass sheet" resistance_flags = FIRE_PROOF | ACID_PROOF throwforce = 10 max_amount = 50 @@ -680,11 +670,10 @@ GLOBAL_LIST_INIT(brass_recipes, list ( ////////////////////////////// /obj/item/stack/sheet/bone name = "bones" + desc = "Someone's been drinking their milk." icon = 'icons/obj/stacks/organic.dmi' icon_state = "bone" - item_state = "bone" singular_name = "bone" - desc = "Someone's been drinking their milk." force = 7 origin_tech = "materials=2;biotech=2" @@ -738,9 +727,8 @@ GLOBAL_LIST_INIT(plastic_recipes, list( /obj/item/stack/sheet/plastic name = "plastic" desc = "Compress dinosaur over millions of years, then refine, split and mold, and voila! You have plastic." - singular_name = "plastic sheet" icon_state = "sheet-plastic" - item_state = "sheet-plastic" + singular_name = "plastic sheet" throwforce = 7 origin_tech = "materials=1;biotech=1" materials = list(MAT_PLASTIC = MINERAL_MATERIAL_AMOUNT) @@ -772,8 +760,7 @@ GLOBAL_LIST_INIT(plastic_recipes, list( /obj/item/stack/sheet/saltpetre_crystal name = "saltpetre crystal" desc = "A bunch of saltpetre crystals. Can be ground to get liquid saltpetre that can be used to dope hydroponics trays and soil plots." - singular_name = "saltpetre crystal" icon = 'icons/obj/stacks/organic.dmi' icon_state = "sheet-saltpetre" - item_state = "sheet-saltpetre" + singular_name = "saltpetre crystal" origin_tech = "materials=1;biotech=1" diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index c65afc2bfba..6f616ecf07a 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -37,8 +37,8 @@ var/parent_stack = FALSE /obj/item/stack/Initialize(mapload, new_amount, merge = TRUE) - if(dynamic_icon_state) //If we have a dynamic icon state, we don't want item states to follow the same pattern. - item_state = initial(icon_state) + if(dynamic_icon_state && isnull(inhand_icon_state)) //If we have a dynamic icon state, we don't want inhand icon states to follow the same pattern. + inhand_icon_state = initial(icon_state) if(new_amount != null) amount = new_amount diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm index 8b05fb164e9..a7085531c88 100644 --- a/code/game/objects/items/stacks/telecrystal.dm +++ b/code/game/objects/items/stacks/telecrystal.dm @@ -4,7 +4,6 @@ singular_name = "telecrystal" icon = 'icons/obj/stacks/minerals.dmi' icon_state = "telecrystal" - item_state = "telecrystal" w_class = WEIGHT_CLASS_TINY max_amount = 100 flags = NOBLUDGEON diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index bcfa197b9f6..9cc44fa6462 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -1,10 +1,10 @@ /obj/item/stack/tile name = "broken tile" - singular_name = "broken tile" desc = "A broken tile. This should not exist." icon = 'icons/obj/tiles.dmi' icon_state = "tile" - item_state = "tile" + inhand_icon_state = "tile" + singular_name = "broken tile" force = 1 throwforce = 1 throw_speed = 5 diff --git a/code/game/objects/items/staff.dm b/code/game/objects/items/staff.dm index 17ac1baed1b..4f231bda998 100644 --- a/code/game/objects/items/staff.dm +++ b/code/game/objects/items/staff.dm @@ -22,7 +22,6 @@ name = "broom" desc = "Used for sweeping, and flying into the night while cackling. Black cat not included." icon_state = "broom" - item_state = "broom0" /obj/item/staff/broom/Initialize(mapload) . = ..() @@ -65,9 +64,3 @@ name = "broomstick horse" desc = "Saddle up!" icon_state = "horsebroom" - item_state = "horsebroom0" - -/obj/item/staff/broom/horsebroom/attack_self__legacy__attackchain(mob/user as mob) - ..() - item_state = "horsebroom[HAS_TRAIT(src, TRAIT_WIELDED) ? 1 : 0]" - diff --git a/code/game/objects/items/stock_parts.dm b/code/game/objects/items/stock_parts.dm index 1bb0c65590c..e25c9b845e6 100644 --- a/code/game/objects/items/stock_parts.dm +++ b/code/game/objects/items/stock_parts.dm @@ -5,7 +5,6 @@ name = "Rapid Part Exchange Device" desc = "Special mechanical module made to store, sort, and apply standard machine parts." icon_state = "RPED" - item_state = "RPED" w_class = WEIGHT_CLASS_HUGE can_hold = list( /obj/item/stock_parts, @@ -76,7 +75,6 @@ name = "bluespace rapid part exchange device" desc = "A version of the RPED that allows for replacement of parts and scanning from a distance, along with higher capacity for parts." icon_state = "BS_RPED" - item_state = "BS_RPED" w_class = WEIGHT_CLASS_NORMAL storage_slots = 400 max_combined_w_class = 800 @@ -109,8 +107,8 @@ /obj/item/stock_parts name = "stock part" desc = "What?" - gender = PLURAL icon = 'icons/obj/stock_parts.dmi' + gender = PLURAL w_class = WEIGHT_CLASS_SMALL var/rating = 1 usesound = 'sound/items/deconstruct.ogg' @@ -121,7 +119,6 @@ name = "capacitor" desc = "A basic capacitor used in the construction of a variety of devices." icon_state = "capacitor" - item_state = "capacitor" origin_tech = "powerstorage=1" materials = list(MAT_METAL=50, MAT_GLASS=50) @@ -129,7 +126,6 @@ name = "scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "scan_module" - item_state = "scan_module" origin_tech = "magnets=1" materials = list(MAT_METAL=50, MAT_GLASS=20) @@ -137,7 +133,6 @@ name = "micro-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "micro_mani" - item_state = "micro_mani" origin_tech = "materials=1;programming=1" materials = list(MAT_METAL=30) @@ -145,7 +140,6 @@ name = "micro-laser" desc = "A tiny laser used in certain devices." icon_state = "micro_laser" - item_state = "micro_laser" origin_tech = "magnets=1" materials = list(MAT_METAL=10, MAT_GLASS=20) @@ -162,7 +156,6 @@ name = "advanced capacitor" desc = "An advanced capacitor used in the construction of a variety of devices." icon_state = "adv_capacitor" - item_state = "adv_capacitor" origin_tech = "powerstorage=3" rating = 2 materials = list(MAT_METAL=50, MAT_GLASS=50) @@ -170,7 +163,6 @@ /obj/item/stock_parts/scanning_module/adv name = "advanced scanning module" icon_state = "adv_scan_module" - item_state = "adv_scan_module" origin_tech = "magnets=3" rating = 2 materials = list(MAT_METAL=50, MAT_GLASS=20) @@ -178,7 +170,6 @@ /obj/item/stock_parts/manipulator/nano name = "nano-manipulator" icon_state = "nano_mani" - item_state = "nano_mani" origin_tech = "materials=3;programming=2" rating = 2 materials = list(MAT_METAL=30) @@ -186,7 +177,6 @@ /obj/item/stock_parts/micro_laser/high name = "high-power micro-laser" icon_state = "high_micro_laser" - item_state = "high_micro_laser" origin_tech = "magnets=3" rating = 2 materials = list(MAT_METAL=10, MAT_GLASS=20) @@ -194,7 +184,6 @@ /obj/item/stock_parts/matter_bin/adv name = "advanced matter bin" icon_state = "advanced_matter_bin" - item_state = "advanced_matter_bin" origin_tech = "materials=3" rating = 2 materials = list(MAT_METAL=80) @@ -205,7 +194,6 @@ name = "super capacitor" desc = "A super-high capacity capacitor used in the construction of a variety of devices." icon_state = "super_capacitor" - item_state = "super_capacitor" origin_tech = "powerstorage=4;engineering=4" rating = 3 materials = list(MAT_METAL=50, MAT_GLASS=50) @@ -214,7 +202,6 @@ name = "phasic scanning module" desc = "A compact, high resolution phasic scanning module used in the construction of certain devices." icon_state = "super_scan_module" - item_state = "super_scan_module" origin_tech = "magnets=4;engineering=4" rating = 3 materials = list(MAT_METAL=50, MAT_GLASS=20) @@ -222,7 +209,6 @@ /obj/item/stock_parts/manipulator/pico name = "pico-manipulator" icon_state = "pico_mani" - item_state = "pico_mani" origin_tech = "materials=4;programming=4;engineering=4" rating = 3 materials = list(MAT_METAL=30) @@ -230,7 +216,6 @@ /obj/item/stock_parts/micro_laser/ultra name = "ultra-high-power micro-laser" icon_state = "ultra_high_micro_laser" - item_state = "ultra_high_micro_laser" origin_tech = "magnets=4;engineering=4" rating = 3 materials = list(MAT_METAL=10, MAT_GLASS=20) @@ -238,7 +223,6 @@ /obj/item/stock_parts/matter_bin/super name = "super matter bin" icon_state = "super_matter_bin" - item_state = "super_matter_bin" origin_tech = "materials=4;engineering=4" rating = 3 materials = list(MAT_METAL=80) @@ -249,7 +233,6 @@ name = "quadratic capacitor" desc = "An ultra-high capacity capacitor used in the construction of a variety of devices." icon_state = "quadratic_capacitor" - item_state = "quadratic_capacitor" origin_tech = "powerstorage=5;materials=4;engineering=4" rating = 4 materials = list(MAT_METAL=50, MAT_GLASS=50) @@ -258,7 +241,6 @@ name = "triphasic scanning module" desc = "A compact, ultra resolution triphasic scanning module used in the construction of certain devices." icon_state = "triphasic_scan_module" - item_state = "triphasic_scan_module" origin_tech = "magnets=5;materials=4;engineering=4" rating = 4 materials = list(MAT_METAL=50, MAT_GLASS=20) @@ -266,7 +248,6 @@ /obj/item/stock_parts/manipulator/femto name = "femto-manipulator" icon_state = "femto_mani" - item_state = "femto_mani" origin_tech = "materials=6;programming=4;engineering=4" rating = 4 materials = list(MAT_METAL=30) @@ -274,7 +255,6 @@ /obj/item/stock_parts/micro_laser/quadultra name = "quad-ultra micro-laser" icon_state = "quadultra_micro_laser" - item_state = "quadultra_micro_laser" origin_tech = "magnets=5;materials=4;engineering=4" rating = 4 materials = list(MAT_METAL=10, MAT_GLASS=20) @@ -282,7 +262,6 @@ /obj/item/stock_parts/matter_bin/bluespace name = "bluespace matter bin" icon_state = "bluespace_matter_bin" - item_state = "bluespace_matter_bin" origin_tech = "materials=6;programming=4;engineering=4" rating = 4 materials = list(MAT_METAL=80) diff --git a/code/game/objects/items/storage/bible.dm b/code/game/objects/items/storage/bible.dm index c43af97986d..cacdea1704d 100644 --- a/code/game/objects/items/storage/bible.dm +++ b/code/game/objects/items/storage/bible.dm @@ -147,7 +147,7 @@ var/choice_icons = bible_variants[choice] icon_state = choice_icons["state"] - item_state = choice_icons["inhand"] + inhand_icon_state = choice_icons["inhand"] customisable = FALSE // Carpet symbol icons are currently broken, so commented out until it's fixed @@ -167,11 +167,6 @@ SSblackbox.record_feedback("text", "religion_book", 1, "[choice]", 1) - if(SSticker) - SSticker.Bible_name = name - SSticker.Bible_icon_state = icon_state - SSticker.Bible_item_state = item_state - /obj/item/storage/bible/proc/radial_check(mob/user) if(!HAS_MIND_TRAIT(user, TRAIT_HOLY) || !ishuman(user)) return FALSE diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index c2cc121a194..a22ea026bb3 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -86,10 +86,10 @@ /obj/item/storage/fancy/egg_box + name = "egg box" icon_state = "eggbox" icon_type = "egg" - item_state = "eggbox" - name = "egg box" + inhand_icon_state = "eggbox" storage_slots = 12 can_hold = list(/obj/item/food/egg) @@ -104,7 +104,7 @@ icon = 'icons/obj/candle.dmi' icon_state = "candlebox0" icon_type = "candle" - item_state = "candlebox5" + inhand_icon_state = "syringe_kit" storage_slots = 5 throwforce = 2 slot_flags = ITEM_SLOT_BELT @@ -177,7 +177,7 @@ desc = "A small box of Almost But Not Quite Plasma Premium Matches." icon = 'icons/obj/cigarettes.dmi' icon_state = "matchbox" - item_state = "matchbox" + inhand_icon_state = "matchbox" base_icon_state = "matchbox" storage_slots = 10 w_class = WEIGHT_CLASS_TINY @@ -215,7 +215,7 @@ desc = "An abstract brand of cigarette that should not exist. Make a GitHub report if you see this." icon = 'icons/obj/cigarettes.dmi' icon_state = "robust_packet" - item_state = "robust_packet" + inhand_icon_state = "robust_packet" belt_icon = "patch_pack" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT @@ -297,7 +297,7 @@ desc = "Smoked mainly by spacers. The somewhat fishy notes are an acquired taste. \ Has a light, low-tar smoke specifically designed to reduce stress on scrubber systems." icon_state = "carp_packet" - item_state = "carp_packet" + inhand_icon_state = "carp_packet" cigarette_slogan = "Carp smokers would rather bite you than switch, since 2313." /obj/item/storage/fancy/cigarettes/dromedaryco @@ -305,7 +305,7 @@ desc = "An infamous brand, DromedaryCo cigarettes are unfiltered, tarry, and have a very harsh flavour. \ Not for beginner smokers. Enjoyed mainly by gruff types with equally gruff voices." icon_state = "D_packet" - item_state = "D_packet" + inhand_icon_state = "D_packet" cigarette_slogan = "Wouldn't a slow death make a change?" /obj/item/storage/fancy/cigarettes/cigpack_random @@ -313,7 +313,7 @@ desc = "True to the name, Enigmas are impossible to pin down. \ No two cigarettes are alike as each one is infused with unique flavours and substances, so every time is just like your first time." icon_state = "enigma_packet" - item_state = "enigma_packet" + inhand_icon_state = "enigma_packet" cigarette_slogan = "For the true connoisseur of exotic flavors." cigarette_type = /obj/item/clothing/mask/cigarette/random @@ -326,7 +326,7 @@ name = "\improper Midori Tabako packet" desc = "Whilst you cannot decipher what the strange runes on the packet say, it bears the unmistakable scent of cannabis." icon_state = "midori_packet" - item_state = "midori_packet" + inhand_icon_state = "midori_packet" cigarette_slogan = "" cigarette_type = /obj/item/clothing/mask/cigarette/rollie @@ -336,7 +336,6 @@ Exported across the known Orion Spur by members of the USSP's trading bloc and vendors affiliated with the Nian Merchant Guild. \ The flavour is acrid, the smoke is thin and wispy, yet harsh on the throat. The only redeeming features are the high nicotine content and the low price." icon_state = "our_brand_packet" - item_state = "our_brand_packet" cigarette_slogan = "Smoke, for the Union!" /obj/item/storage/fancy/cigarettes/cigpack_robust @@ -348,7 +347,7 @@ name = "\improper Robust Gold packet" desc = "Nanotrasen's premium cigarette offering. Has a smooth, drawn-out flavour and a dense smoke. Contains real gold." icon_state = "robust_g_packet" - item_state = "robust_g_packet" + inhand_icon_state = "robust_g_packet" cigarette_slogan = "Smoked by the truly robust." cigarette_type = /obj/item/clothing/mask/cigarette/robustgold @@ -366,7 +365,7 @@ name ="\improper Shady Jim's Super Slims packet" desc = "Despite the doubious appearance, these cigarettes do exactly what they say on the box. The smoke tastes like cheap berry juice and battery acid, with a bitter chemical aftertaste." icon_state = "shady_jim_packet" - item_state = "shady_jim_packet" + inhand_icon_state = "shady_jim_packet" cigarette_slogan = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? \ Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!" cigarette_type = /obj/item/clothing/mask/cigarette/shadyjims @@ -376,14 +375,13 @@ desc = "A popular brand within the Trans-Solar Federation, they have a smooth, slightly cinnamon flavour. \ Whilst not actually state-owned, these cigarettes lean heavily into patriotic marketing, and are included in federal ration packs as a morale booster." icon_state = "solar_packet" - item_state = "solar_packet" cigarette_slogan = "Smoked by true patriots." /obj/item/storage/fancy/cigarettes/cigpack_uplift name = "\improper Uplift Smooth packet" desc = "One of the most popular brands in the Orion Sector, flavoured with menthol to give a smooth cooling sensation with every puff." icon_state = "uplift_packet" - item_state = "uplift_packet" + inhand_icon_state = "uplift_packet" cigarette_slogan = "Sit back and relax with the soft cooling embrace that only an Uplift can provide." cigarette_type = /obj/item/clothing/mask/cigarette/menthol @@ -392,7 +390,7 @@ desc = "A prescription packet containing six fully legal medical marijuana cigarettes. \ Made using a strain of cannabis engineered to maximise CBD content and eliminate THC, much to the chagrin of stoners everywhere." icon_state = "med_packet" - item_state = "med_packet" + inhand_icon_state = "med_packet" cigarette_slogan = "All the medical benefits, with none of the high!" cigarette_type = /obj/item/clothing/mask/cigarette/medical_marijuana @@ -400,17 +398,17 @@ name = "suspicious cigarette packet" desc = "An obscure brand of evil-looking cigarettes. Smells like Donk pockets." icon_state = "syndie_packet" - item_state = "syndie_packet" + inhand_icon_state = "syndie_packet" cigarette_slogan = "Strong flavour, dense smoke, infused with omnizine." cigarette_type = /obj/item/clothing/mask/cigarette/syndicate /obj/item/storage/fancy/rollingpapers name = "rolling paper pack" desc = "A pack of Nanotrasen brand rolling papers." - w_class = WEIGHT_CLASS_TINY icon = 'icons/obj/cigarettes.dmi' icon_state = "cig_paper_pack" - item_state = "cig_paper_pack" + inhand_icon_state = "cig_paper_pack" + w_class = WEIGHT_CLASS_TINY storage_slots = 10 icon_type = "rolling paper" can_hold = list(/obj/item/rollingpaper) @@ -430,14 +428,14 @@ // MARK: Vial Box /obj/item/storage/fancy/vials + name = "vial storage box" icon = 'icons/obj/vialbox.dmi' icon_state = "vialbox6" + inhand_icon_state = "syringe_kit" icon_type = "vial" - name = "vial storage box" storage_slots = 6 can_hold = list(/obj/item/reagent_containers/glass/beaker/vial) - /obj/item/storage/fancy/vials/populate_contents() for(var/I in 1 to storage_slots) new /obj/item/reagent_containers/glass/beaker/vial(src) diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index c3b78583239..47dafb5c2be 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -57,7 +57,7 @@ name = "fire first-aid kit" desc = "A medical kit that contains several medical patches and pills for treating burns. Contains one epinephrine syringe for emergency use and a health analyzer." icon_state = "ointment" - item_state = "firstaid-ointment" + inhand_icon_state = "firstaid-ointment" med_bot_skin = "ointment" /obj/item/storage/firstaid/fire/Initialize(mapload) @@ -79,7 +79,7 @@ name = "toxin first aid kit" desc = "A medical kit designed to counter poisoning by common toxins. Contains three pills and syringes, and a health analyzer to determine the health of the patient." icon_state = "antitoxin" - item_state = "firstaid-toxin" + inhand_icon_state = "firstaid-toxin" med_bot_skin = "tox" /obj/item/storage/firstaid/toxin/Initialize(mapload) @@ -99,7 +99,7 @@ name = "oxygen deprivation first aid kit" desc = "A first aid kit that contains four pills of salbutamol, which is able to counter injuries caused by suffocation. Also contains a health analyzer to determine the health of the patient." icon_state = "o2" - item_state = "firstaid-o2" + inhand_icon_state = "firstaid-o2" med_bot_skin = "o2" /obj/item/storage/firstaid/o2/populate_contents() @@ -116,7 +116,7 @@ name = "brute trauma treatment kit" desc = "A medical kit that contains several medical patches and pills for treating brute injuries. Contains one epinephrine syringe for emergency use and a health analyzer." icon_state = "brute" - item_state = "firstaid-brute" + inhand_icon_state = "firstaid-brute" med_bot_skin = "brute" /obj/item/storage/firstaid/brute/Initialize(mapload) @@ -138,7 +138,7 @@ name = "advanced first-aid kit" desc = "Contains advanced medical treatments." icon_state = "advfirstaid" - item_state = "firstaid-advanced" + inhand_icon_state = "firstaid-advanced" med_bot_skin = "adv" /obj/item/storage/firstaid/adv/populate_contents() @@ -157,7 +157,7 @@ name = "machine repair kit" desc = "A kit that contains supplies to repair IPCs on the go." icon_state = "machinefirstaid" - item_state = "firstaid-machine" + inhand_icon_state = "firstaid-machine" med_bot_skin = "machine" /obj/item/storage/firstaid/machine/populate_contents() @@ -265,7 +265,7 @@ desc = "It's an airtight container for storing medication." icon_state = "pill_canister" icon = 'icons/obj/chemical.dmi' - item_state = "contsolid" + inhand_icon_state = "contsolid" belt_icon = "pill_bottle" use_sound = "pillbottle" w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index 50d7cd50a8e..7bee5dfce90 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -2,10 +2,10 @@ name = "Jetpack (Empty)" desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution." icon_state = "jetpack" - w_class = WEIGHT_CLASS_BULKY - item_state = "jetpack" + inhand_icon_state = "jetpack" lefthand_file = 'icons/mob/inhands/jetpack_lefthand.dmi' righthand_file = 'icons/mob/inhands/jetpack_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) var/gas_type = "oxygen" @@ -120,7 +120,7 @@ name = "improvised jetpack" desc = "A jetpack made from two air tanks, a fire extinguisher and some atmospherics equipment. It doesn't look like it can hold much." icon_state = "jetpack-improvised" - item_state = "jetpack-improvised" + inhand_icon_state = "jetpack-improvised" volume = 20 //normal jetpacks have 70 volume gas_type = null //it starts empty @@ -135,16 +135,16 @@ name = "Void Jetpack (Oxygen)" desc = "It works well in a void." icon_state = "jetpack-void" - item_state = "jetpack-void" + inhand_icon_state = "jetpack-void" /obj/item/tank/jetpack/void/grey icon_state = "jetpack-void-grey" - item_state = "jetpack-void-grey" + inhand_icon_state = "jetpack-void-grey" /obj/item/tank/jetpack/void/gold name = "Retro Jetpack (Oxygen)" icon_state = "jetpack-void-gold" - item_state = "jetpack-void-gold" + inhand_icon_state = "jetpack-void-gold" /obj/item/tank/jetpack/oxygen name = "Jetpack (Oxygen)" @@ -154,7 +154,6 @@ name = "jet harness (oxygen)" desc = "A lightweight tactical harness, used by those who don't want to be weighed down by traditional jetpacks." icon_state = "jetpack-mini" - item_state = "jetpack-mini" volume = 40 throw_range = 7 w_class = WEIGHT_CLASS_NORMAL @@ -163,7 +162,7 @@ name = "Captain's jetpack" desc = "A compact, lightweight jetpack containing a high amount of compressed oxygen." icon_state = "jetpack-captain" - item_state = "jetpack-captain" + inhand_icon_state = "jetpack-captain" volume = 90 w_class = WEIGHT_CLASS_NORMAL @@ -171,21 +170,21 @@ name = "security jetpack (oxygen)" desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas by security forces." icon_state = "jetpack-sec" - item_state = "jetpack-sec" + inhand_icon_state = "jetpack-sec" /obj/item/tank/jetpack/carbondioxide name = "Jetpack (Carbon Dioxide)" desc = "A tank of compressed carbon dioxide for use as propulsion in zero-gravity areas. Painted black to indicate that it should not be used as a source for internals." - distribute_pressure = 0 icon_state = "jetpack-black" - item_state = "jetpack-black" + inhand_icon_state = "jetpack-black" + distribute_pressure = 0 gas_type = "carbon dioxide" /obj/item/tank/jetpack/suit name = "hardsuit jetpack upgrade" desc = "A modular, compact set of thrusters designed to integrate with a hardsuit. It is fueled by a tank inserted into the suit's storage compartment." icon_state = "jetpack-mining" - item_state = "jetpack-black" + inhand_icon_state = "jetpack-mining" origin_tech = "materials=4;magnets=4;engineering=5" w_class = WEIGHT_CLASS_NORMAL actions_types = list(/datum/action/item_action/toggle_jetpack, /datum/action/item_action/jetpack_stabilization) diff --git a/code/game/objects/items/tanks/tank_types.dm b/code/game/objects/items/tanks/tank_types.dm index 8f1657a1e89..2011ec7db75 100644 --- a/code/game/objects/items/tanks/tank_types.dm +++ b/code/game/objects/items/tanks/tank_types.dm @@ -45,7 +45,8 @@ name = "anesthetic tank" desc = "A tank with an N2O/O2 gas mix." icon_state = "anesthetic" - item_state = "an_tank" + worn_icon_state = "an_tank" + inhand_icon_state = "an_tank" distribute_pressure = ONE_ATMOSPHERE /obj/item/tank/internals/anesthetic/populate_gas() @@ -90,7 +91,6 @@ name = "plasma internals tank" desc = "A tank of plasma gas designed specifically for use as internals, particularly for plasma-based lifeforms. If you're not a Plasmaman, you probably shouldn't use this." icon_state = "plasma_fr" - item_state = "plasma_fr" /obj/item/tank/internals/plasmaman/populate_gas() air_contents.set_toxins((3 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)) @@ -101,7 +101,6 @@ /obj/item/tank/internals/plasmaman/belt icon_state = "plasmaman_tank_belt" - item_state = "plasmaman_tank_belt" slot_flags = ITEM_SLOT_BELT flags_2 = ALLOW_BELT_NO_JUMPSUIT_2 force = 5 @@ -198,7 +197,6 @@ name = "air tank" desc = "Mixed anyone?" icon_state = "air" - item_state = "air" distribute_pressure = ONE_ATMOSPHERE /obj/item/tank/internals/air/populate_gas() @@ -211,7 +209,6 @@ /obj/item/tank/internals/generic name = "gas tank" desc = "A generic tank used for storing and transporting gasses. Can be used for internals." - item_state = "generic" /obj/item/tank/internals/generic/populate_gas() return diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index f451b07fb56..d967f50bd51 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -4,7 +4,8 @@ desc = "A S.U.N.S.H.I.N.E. brand watertank backpack with nozzle to water plants." icon = 'icons/obj/watertank.dmi' icon_state = "waterbackpack" - item_state = "waterbackpack" + lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing_righthand.dmi' w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK slowdown = 1 @@ -109,12 +110,10 @@ desc = "A mister nozzle attached to a water tank." icon = 'icons/obj/watertank.dmi' icon_state = "mister" - item_state = "mister" w_class = WEIGHT_CLASS_BULKY amount_per_transfer_from_this = 50 possible_transfer_amounts = list(25,50,100) volume = 500 - var/obj/item/watertank/tank /obj/item/reagent_containers/spray/mister/Initialize(mapload) @@ -156,7 +155,6 @@ /obj/item/watertank/janitor desc = "A janitorial watertank backpack with nozzle to clean dirt and graffiti." icon_state = "waterbackpackjani" - item_state = "waterbackpackjani" /obj/item/watertank/janitor/New() ..() @@ -166,7 +164,6 @@ name = "janitor spray nozzle" desc = "A janitorial spray nozzle attached to a watertank, designed to clean up large messes." icon_state = "misterjani" - item_state = "misterjani" spray_maxrange = 4 spray_currentrange = 4 spray_minrange = 2 @@ -186,7 +183,8 @@ name = "backpack firefighter tank" desc = "A refridgerated and pressurized backpack tank with extinguisher nozzle, intended to fight fires. Swaps between extinguisher, nanofrost launcher, and metal foam dispenser for breaches. Nanofrost converts plasma in the air to nitrogen, but only if it is combusting at the time." icon_state = "waterbackpackatmos" - item_state = "waterbackpackatmos" + worn_icon_state = "waterbackpackatmos" + inhand_icon_state = "waterbackpackatmos" /obj/item/watertank/atmos/New() ..() @@ -207,7 +205,7 @@ desc = "A heavy duty nozzle attached to a firefighter's backpack tank." icon = 'icons/obj/watertank.dmi' icon_state = "atmos_nozzle_1" - item_state = "nozzleatmos" + inhand_icon_state = "nozzleatmos" has_safety = FALSE safety_active = FALSE reagent_capacity = 500 diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index a7c45caf4ae..559fd00b7d7 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -11,7 +11,8 @@ desc = "An experimental portable teleportation station developed by Nanotrasen, small enough to be carried in a pocket." icon = 'icons/obj/device.dmi' icon_state = "hand_tele" - item_state = "electronic" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 diff --git a/code/game/objects/items/theft_items.dm b/code/game/objects/items/theft_items.dm index d10bf942e66..768458f1087 100644 --- a/code/game/objects/items/theft_items.dm +++ b/code/game/objects/items/theft_items.dm @@ -9,7 +9,7 @@ desc = "Extremely radioactive. Wear goggles." icon = 'icons/obj/nuke_tools.dmi' icon_state = "plutonium_core" - item_state = "plutoniumcore" + inhand_icon_state = "plutoniumcore" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF flags_2 = RAD_NO_CONTAMINATE_2 //This is made from radioactive material so cannot really be contaminated var/cooldown = 0 @@ -49,7 +49,7 @@ desc = "A lead-lined secure container produced by the Syndicate for the express purpose of extracting the valuable radioactive cores of nuclear weapons." icon = 'icons/obj/nuke_tools.dmi' icon_state = "core_container_empty" - item_state = "metal" + inhand_icon_state = "syringe_kit" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //Don't want people trying to break it open with acid, then destroying the core. var/obj/item/nuke_core/plutonium/core var/dented = FALSE @@ -196,8 +196,7 @@ return FALSE forceMove(tongs) tongs.sliver = src - tongs.icon_state = "supermatter_tongs_loaded" - tongs.item_state = "supermatter_tongs_loaded" + tongs.update_icon(UPDATE_ICON_STATE) to_chat(user, "You carefully pick up [src] with [tongs].") else if(istype(I, /obj/item/scalpel/supermatter) || istype(I, /obj/item/nuke_core_container/supermatter) || HAS_TRAIT(I, TRAIT_SUPERMATTER_IMMUNE)) // we don't want it to dust return @@ -266,8 +265,7 @@ I.sliver.forceMove(src) sliver = I.sliver I.sliver = null - I.icon_state = "supermatter_tongs" - I.item_state = "supermatter_tongs" + I.update_icon(UPDATE_ICON_STATE) icon_state = "supermatter_container_loaded" to_chat(user, "Container is sealing...") addtimer(CALLBACK(src, PROC_REF(seal)), 10 SECONDS) @@ -290,8 +288,7 @@ sliver.forceMove(I) I.sliver = sliver sliver = null - I.icon_state = "supermatter_tongs_loaded" - I.item_state = "supermatter_tongs_loaded" + I.update_icon(UPDATE_ICON_STATE) icon_state = "core_container_cracked_empty" to_chat(user, "You carefully pick up [I.sliver] with [I].") @@ -355,7 +352,6 @@ icon_state = "supermatter_tongs" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' - item_state = "supermatter_tongs" toolspeed = 0.75 damtype = BURN var/obj/item/nuke_core/supermatter_sliver/sliver @@ -364,6 +360,9 @@ QDEL_NULL(sliver) return ..() +/obj/item/retractor/supermatter/update_icon_state() + icon_state = "[initial(icon_state)][sliver ? "_loaded" : ""]" + /obj/item/retractor/supermatter/afterattack__legacy__attackchain(atom/O, mob/user, proximity) . = ..() if(!sliver) @@ -376,8 +375,7 @@ sliver.forceMove(loc) visible_message("[sliver] falls out of [src] as it hits the ground.") sliver = null - icon_state = "supermatter_tongs" - item_state = "supermatter_tongs" + update_icon(UPDATE_ICON_STATE) return ..() /obj/item/retractor/supermatter/proc/Consume(atom/movable/AM, mob/living/user) @@ -406,8 +404,7 @@ "You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust, and soon as you can register this, you do as well.", "Everything suddenly goes silent.") user.dust() - icon_state = "supermatter_tongs" - item_state = "supermatter_tongs" radiation_pulse(src, 2000, GAMMA_RAD) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) QDEL_NULL(sliver) + update_icon(UPDATE_ICON_STATE) diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 991af6c4950..c0f67e2b35d 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -3,7 +3,6 @@ desc = "A basic crowbar made of forged steel. Handy for opening unpowered airlocks, prying out objects, and being an improvised melee weapon." icon = 'icons/obj/tools.dmi' icon_state = "crowbar" - item_state = "crowbar" belt_icon = "crowbar" usesound = 'sound/items/crowbar.ogg' flags = CONDUCT @@ -27,7 +26,6 @@ /obj/item/crowbar/red desc = "A hefty steel crowbar with red stripes. It'll hit a bit harder than a normal crowbar." icon_state = "crowbar_red" - item_state = "crowbar_red" belt_icon = "crowbar_red" force = 8 @@ -35,7 +33,6 @@ name = "brass crowbar" desc = "A brass crowbar. It feels faintly warm to the touch." icon_state = "crowbar_brass" - item_state = "crowbar_brass" belt_icon = "crowbar_brass" toolspeed = 0.5 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -48,7 +45,6 @@ throwforce = 3 materials = list(MAT_TITANIUM = 250) icon_state = "crowbar_titanium" - item_state = "crowbar_titanium" origin_tech = "materials=2" toolspeed = 1.25 @@ -61,7 +57,6 @@ throw_range = 3 materials = list(MAT_METAL = 400) icon_state = "crowbar_large" - item_state = "crowbar_large" toolspeed = 0.5 /obj/item/crowbar/engineering @@ -73,7 +68,6 @@ throw_range = 3 materials = list(MAT_METAL = 400) icon_state = "crowbar_eng" - item_state = "crowbar_eng" belt_icon = "crowbar_eng" toolspeed = 0.5 @@ -116,7 +110,7 @@ name = "jaws of life" desc = "A compact and powerful industrial tool with a modular head. This one has a set of prying jaws attached, which are strong enough to pry open powered airlocks." icon_state = "jaws_pry" - item_state = "jawsoflife" + inhand_icon_state = "jawsoflife" belt_icon = "jaws" materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) origin_tech = "materials=2;engineering=2" diff --git a/code/game/objects/items/tools/hammer.dm b/code/game/objects/items/tools/hammer.dm index 6475ca99b39..9a6f92db0f2 100644 --- a/code/game/objects/items/tools/hammer.dm +++ b/code/game/objects/items/tools/hammer.dm @@ -3,7 +3,6 @@ desc = "A useful tool to many throughout history. Slightly better than a weighted rock." icon = 'icons/obj/tools.dmi' icon_state = "hammer" - item_state = "hammer" belt_icon = "hammer" usesound = 'sound/magic/fellowship_armory.ogg' flags = CONDUCT diff --git a/code/game/objects/items/tools/multitool.dm b/code/game/objects/items/tools/multitool.dm index 005b80db5af..4b30631607e 100644 --- a/code/game/objects/items/tools/multitool.dm +++ b/code/game/objects/items/tools/multitool.dm @@ -69,13 +69,14 @@ // Syndicate device disguised as a multitool; it will turn red when an AI camera is nearby. /obj/item/multitool/ai_detect + origin_tech = "magnets=1;engineering=2;syndicate=1" + w_class = WEIGHT_CLASS_SMALL + inhand_icon_state = "multitool" var/track_cooldown = 0 var/track_delay = 10 //How often it checks for proximity var/detect_state = PROXIMITY_NONE var/rangealert = 8 //Glows red when inside var/rangewarning = 20 //Glows yellow when inside - origin_tech = "magnets=1;engineering=2;syndicate=1" - w_class = WEIGHT_CLASS_SMALL /obj/item/multitool/ai_detect/Initialize(mapload) . = ..() @@ -124,7 +125,6 @@ name = "suspicious multitool" desc = "A slick black & red multitool used for testing and interfacing with electrical equipment in style." icon_state = "multitool_syndi" - item_state = "multitool_syndi" belt_icon = "multitool_syndi" toolspeed = 0.95 // dangerously fast... not like multitools use speed anyways w_class = WEIGHT_CLASS_SMALL @@ -134,7 +134,6 @@ name = "command multitool" desc = "A majestic blue multiool used for testing and interfacing with electrical equipment with class." icon_state = "multitool_command" - item_state = "multitool_command" belt_icon = "multitool_command" toolspeed = 0.95 //command those wires / that fireaxe cabinet! var/list/victims = list() diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index f2dd18947e6..327521a2d71 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -99,7 +99,7 @@ name = "hand drill" desc = "A powerful, hand-held drill fitted with a long-lasting battery. It has a screwdriver head attached." icon_state = "drill_screw" - item_state = "drill" + inhand_icon_state = "drill" belt_icon = "hand_drill" 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 diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm index 4877c061ae0..1a594061b72 100644 --- a/code/game/objects/items/tools/welder.dm +++ b/code/game/objects/items/tools/welder.dm @@ -5,7 +5,7 @@ desc = "A basic, handheld welding tool. Useful for welding bits together, and cutting them apart." icon = 'icons/obj/tools.dmi' icon_state = "welder" - item_state = "welder" + inhand_icon_state = "welder" belt_icon = "welder" flags = CONDUCT slot_flags = ITEM_SLOT_BELT @@ -234,10 +234,7 @@ icon_state = initial(icon_state) else icon_state = "[initial(icon_state)][ratio]" - if(tool_enabled) - item_state = "[initial(item_state)]1" - else - item_state = "[initial(item_state)]" + inhand_icon_state = "[initial(inhand_icon_state)][tool_enabled || ""]" /obj/item/weldingtool/update_overlays() . = ..() @@ -275,7 +272,7 @@ name = "research welding tool" desc = "A scratched-up welding tool that's been the subject of numerous aftermarket enhancements. It has a larger fuel tank, and a more focused torch than a standard welder. A label on the side reads, \"Property of Theseus\"." icon_state = "welder_research" - item_state = "welder_research" + inhand_icon_state = "welder_research" belt_icon = "welder_research" maximum_fuel = 40 toolspeed = 0.75 @@ -315,7 +312,7 @@ name = "upgraded welding tool" desc = "A large industrial welding tool with an even further upgraded fuel reservoir." icon_state = "upindwelder" - item_state = "upindwelder" + inhand_icon_state = "upindwelder" belt_icon = "welder_upg" maximum_fuel = 80 materials = list(MAT_METAL=70, MAT_GLASS=120) @@ -328,7 +325,7 @@ name = "experimental welding tool" desc = "A prototype welding tool which uses an experimental fuel breeder to create a near-infinite reserve of fuel. The unusual fuel mixture also means that the flame is less intense on the eyes." icon_state = "exwelder" - item_state = "exwelder" + inhand_icon_state = "exwelder" belt_icon = "welder_exp" maximum_fuel = 40 materials = list(MAT_METAL=70, MAT_GLASS=120) @@ -342,7 +339,7 @@ name = "brass welding tool" desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." icon_state = "brasswelder" - item_state = "brasswelder" + inhand_icon_state = "brasswelder" belt_icon = "welder_brass" resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index 172e6259d0d..df8142d2d23 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -68,7 +68,7 @@ desc = "A pair of tacticool wirecutters fitted with contoured grips and a picatinny rail. The blades are also sharper than normal." icon_state = "cutters_sec" belt_icon = "wirecutters_sec" - item_state = "cutters_red" //shh + inhand_icon_state = "cutters_red" //shh attack_verb = list("reformed", "robusted", "102'd") //102: battery in space law force = 9 //same as seclites toolspeed = 0.75 @@ -118,7 +118,7 @@ name = "jaws of life" desc = "A compact and powerful industrial tool with a modular head. This one has a set of large cutting blades attached." icon_state = "jaws_cutter" - item_state = "jawsoflife" + inhand_icon_state = "jawsoflife" belt_icon = "jaws" origin_tech = "materials=2;engineering=2" materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 2095d60df1e..7e090ec24cd 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -65,7 +65,7 @@ name = "hand drill" desc = "A powerful, hand-held drill fitted with a long-lasting battery. It has a bolt driver head attached." icon_state = "drill_bolt" - item_state = "drill" + inhand_icon_state = "drill" belt_icon = "hand_drill" usesound = 'sound/items/impactwrench.ogg' // Sourced from freesfx.co.uk materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 8c735182734..da8a5820772 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -33,7 +33,6 @@ desc = "A translucent balloon. There's nothing in it." icon = 'icons/obj/toy.dmi' icon_state = "waterballoon-e" - item_state = "waterballoon-e" /obj/item/toy/balloon/New() ..() @@ -101,16 +100,13 @@ /obj/item/toy/balloon/update_icon_state() if(src.reagents.total_volume >= 1) icon_state = "waterballoon" - item_state = "waterballoon" else icon_state = "waterballoon-e" - item_state = "waterballoon-e" /obj/item/toy/syndicateballoon name = "syndicate balloon" desc = "There is a tag on the back that reads \"FUK NT!11!\"." icon_state = "syndballoon" - item_state = "syndballoon" w_class = WEIGHT_CLASS_BULKY var/lastused = null @@ -157,7 +153,7 @@ desc = "Blink. Blink. Blink. Ages 8 and up." icon = 'icons/obj/radio.dmi' icon_state = "beacon" - item_state = "signaler" + inhand_icon_state = "signaler" /* * Fake singularity @@ -175,10 +171,9 @@ name = "toy sword" desc = "A cheap, plastic replica of an energy sword. Realistic sounds! Ages 8 and up." icon = 'icons/obj/weapons/energy_melee.dmi' + icon_state = "sword0" lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - icon_state = "sword0" - item_state = "sword0" var/active = FALSE w_class = WEIGHT_CLASS_SMALL attack_verb = list("attacked", "struck", "hit") @@ -191,13 +186,11 @@ to_chat(user, "You extend the plastic blade with a quick flick of your wrist.") playsound(user, 'sound/weapons/saberon.ogg', 20, 1) icon_state = "swordblue" - item_state = "swordblue" w_class = WEIGHT_CLASS_BULKY else to_chat(user, "You push the plastic blade back down into the handle.") playsound(user, 'sound/weapons/saberoff.ogg', 20, 1) icon_state = "sword0" - item_state = "sword0" w_class = WEIGHT_CLASS_SMALL if(ishuman(user)) @@ -321,7 +314,6 @@ righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon = 'icons/obj/weapons/melee.dmi' icon_state = "katana" - item_state = "katana" flags = CONDUCT slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK flags_2 = ALLOW_BELT_NO_JUMPSUIT_2 //Look, you can strap it to your back. You can strap it to your waist too. @@ -448,7 +440,7 @@ desc = "A toy for therapeutic and recreational purposes." icon = 'icons/obj/toy.dmi' icon_state = "therapyred" - item_state = "egg4" + inhand_icon_state = "egg4" w_class = WEIGHT_CLASS_TINY var/cooldown = 0 resistance_flags = FLAMMABLE @@ -471,22 +463,22 @@ item_color = "red" /obj/item/toy/therapy/purple - item_state = "egg1" // It's the magenta egg in items_left/righthand + inhand_icon_state = "egg1" // It's the magenta egg in items_left/righthand item_color = "purple" /obj/item/toy/therapy/blue - item_state = "egg2" // It's the blue egg in items_left/righthand + inhand_icon_state = "egg2" // It's the blue egg in items_left/righthand item_color = "blue" /obj/item/toy/therapy/yellow - item_state = "egg5" // It's the yellow egg in items_left/righthand + inhand_icon_state = "egg5" // It's the yellow egg in items_left/righthand item_color = "yellow" /obj/item/toy/therapy/orange item_color = "orange" /obj/item/toy/therapy/green - item_state = "egg3" // It's the green egg in items_left/righthand + inhand_icon_state = "egg3" // It's the green egg in items_left/righthand item_color = "green" /* @@ -766,7 +758,6 @@ name = "grey plushie" desc = "A plushie of a grey wearing a sweatshirt. As a part of the 'The Alien' series, the doll features a sweater, an oversized head, and cartoonish eyes." icon_state = "plushie_grey" - item_state = "plushie_grey" var/hug_cooldown = FALSE //Defaults the plushie to being off coolodown. Sets the hug_cooldown var. var/scream_cooldown = FALSE //Defaults the plushie to being off cooldown. Sets the scream_cooldown var. var/singed = FALSE @@ -783,7 +774,6 @@ return singed = TRUE icon_state = "grey_singed" - item_state = "grey_singed"//If the plushie gets wet the sprite changes to a singed version. desc = "A ruined plushie of a grey. It looks like someone ran it under some water." /obj/item/toy/plushie/greyplushie/proc/reset_screamdown() @@ -806,7 +796,6 @@ name = "vox plushie" desc = "A stitched-together vox, fresh from the skipjack. Press its belly to hear it skree!" icon_state = "plushie_vox" - item_state = "plushie_vox" rare_hug_sound = 'sound/voice/shriek1.ogg' rare_hug_word = "Skreee!" @@ -814,7 +803,6 @@ name = "IPC plushie" desc = "An adorable IPC plushie, straight from New Canaan. Arguably more durable than the real deal. Toaster functionality included." icon_state = "plushie_ipc" - item_state = "plushie_ipc" /obj/item/toy/plushie/ipcplushie/attack_by(obj/item/attacking, mob/user, params) if(..()) @@ -832,31 +820,26 @@ name = "lizard plushie" desc = "An adorable stuffed toy that resembles a lizardperson." icon_state = "plushie_lizard" - item_state = "plushie_lizard" /obj/item/toy/plushie/snakeplushie name = "snake plushie" desc = "An adorable stuffed toy that resembles a snake. Not to be mistaken for the real thing." icon_state = "plushie_snake" - item_state = "plushie_snake" /obj/item/toy/plushie/nukeplushie name = "operative plushie" desc = "An stuffed toy that resembles a syndicate nuclear operative. The tag claims operatives to be purely fictitious." icon_state = "plushie_nuke" - item_state = "plushie_nuke" /obj/item/toy/plushie/slimeplushie name = "slime plushie" desc = "An adorable stuffed toy that resembles a slime. It is practically just a hacky sack." icon_state = "plushie_slime" - item_state = "plushie_slime" /obj/item/toy/plushie/nianplushie name = "nian plushie" desc = "A silky nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian" - item_state = "plushie_nian" rare_hug_sound = 'sound/voice/scream_moth.ogg' rare_hug_word = "Buzzzz!" @@ -864,109 +847,91 @@ name = "monarch nian plushie" desc = "A monarch nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_monarch" - item_state = "plushie_nian_monarch" /obj/item/toy/plushie/nianplushie/luna name = "luna nian plushie" desc = "A luna nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_luna" - item_state = "plushie_nian_luna" /obj/item/toy/plushie/nianplushie/atlas name = "atlas nian plushie" desc = "An atlas nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_atlas" - item_state = "plushie_nian_atlas" /obj/item/toy/plushie/nianplushie/reddish name = "reddish nian plushie" desc = "A reddish nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_reddish" - item_state = "plushie_nian_reddish" /obj/item/toy/plushie/nianplushie/royal name = "royal nian plushie" desc = "A royal nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_royal" - item_state = "plushie_nian_royal" /obj/item/toy/plushie/nianplushie/gothic name = "gothic nian plushie" desc = "A gothic nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_gothic" - item_state = "plushie_nian_gothic" /obj/item/toy/plushie/nianplushie/lovers name = "lovers nian plushie" desc = "A lovers nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_lovers" - item_state = "plushie_nian_lovers" /obj/item/toy/plushie/nianplushie/whitefly name = "whitefly nian plushie" desc = "A whitefly nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_whitefly" - item_state = "plushie_nian_whitefly" /obj/item/toy/plushie/nianplushie/punished name = "punished nian plushie" desc = "A punnished nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_punished" - item_state = "plushie_nian_punished" /obj/item/toy/plushie/nianplushie/firewatch name = "firewatch nian plushie" desc = "A firewtach nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_firewatch" - item_state = "plushie_nian_firewatch" /obj/item/toy/plushie/nianplushie/deadhead name = "deathshead nian plushie" desc = "A deathshead nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_deadhead" - item_state = "plushie_nian_deadhead" /obj/item/toy/plushie/nianplushie/poison name = "poison nian plushie" desc = "A poison nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_poison" - item_state = "plushie_nian_poison" /obj/item/toy/plushie/nianplushie/ragged name = "ragged nian plushie" desc = "A ragged nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_ragged" - item_state = "plushie_nian_ragged" /obj/item/toy/plushie/nianplushie/snow name = "snow nian plushie" desc = "A snow nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_snow" - item_state = "plushie_nian_snow" /obj/item/toy/plushie/nianplushie/clockwork name = "clockwork nian plushie" desc = "A clockwork nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_clockwork" - item_state = "plushie_nian_clockwork" /obj/item/toy/plushie/nianplushie/moonfly name = "moonfly nian plushie" desc = "A moonfly nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_moonfly" - item_state = "plushie_nian_moonfly" /obj/item/toy/plushie/nianplushie/rainbow name = "rainbow nian plushie" desc = "A rainbow nian plushie, straight from the nebula. Pull its antenna to hear it buzz!" icon_state = "plushie_nian_rainbow" - item_state = "plushie_nian_rainbow" /obj/item/toy/plushie/shark name = "shark plushie" desc = "A plushie depicting a somewhat cartoonish shark. The tag calls it a 'hákarl', noting that it was made by an obscure furniture manufacturer in old Scandinavia." icon_state = "blahaj" - item_state = "blahaj" attack_verb = list("gnawed", "gnashed", "chewed") /obj/item/toy/plushie/abductor @@ -1273,9 +1238,9 @@ desc = "it says \"Sternside Changs #1 fan\" on it. " icon = 'icons/obj/toy.dmi' icon_state = "foamblade" + inhand_icon_state = "arm_blade" lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - item_state = "arm_blade" attack_verb = list("pricked", "absorbed", "gored") w_class = WEIGHT_CLASS_SMALL resistance_flags = FLAMMABLE @@ -1285,7 +1250,7 @@ desc = "A replica toolbox that rumbles when you turn the key." icon = 'icons/obj/storage.dmi' icon_state = "green" - item_state = "artistic_toolbox" + inhand_icon_state = "artistic_toolbox" lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' hitsound = 'sound/weapons/smash.ogg' @@ -1333,7 +1298,7 @@ desc = "FOR THE REVOLU- Oh wait, that's just a toy." icon = 'icons/obj/device.dmi' icon_state = "flash" - item_state = "flashtool" + inhand_icon_state = "flashtool" w_class = WEIGHT_CLASS_TINY /obj/item/toy/flash/attack(mob/living/target, mob/living/carbon/human/user) @@ -1523,7 +1488,8 @@ desc = "For fun and games!" icon = 'icons/obj/guns/projectile.dmi' icon_state = "russian_revolver" - item_state = "gun" + worn_icon_state = "gun" + inhand_icon_state = "gun" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' hitsound = "swing_hit" diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 573623995ae..5888c478184 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -73,7 +73,6 @@ /obj/item/trash/fried_vox name = "Kentucky Fried Vox" icon_state = "fried_vox_empty" - item_state = "fried_vox_empty" slot_flags = ITEM_SLOT_HEAD dog_fashion = /datum/dog_fashion/head/fried_vox_empty sprite_sheets = list( diff --git a/code/game/objects/items/vending_items.dm b/code/game/objects/items/vending_items.dm index dd78addbca0..5c65a755fe6 100644 --- a/code/game/objects/items/vending_items.dm +++ b/code/game/objects/items/vending_items.dm @@ -1,10 +1,8 @@ /obj/item/vending_refill name = "resupply canister" - var/machine_name = "Generic" - icon = 'icons/obj/vending_restock.dmi' icon_state = "refill_snack" - item_state = "restock_unit" + inhand_icon_state = "restock_unit" desc = "A vending machine restock cart." usesound = 'sound/items/deconstruct.ogg' flags = CONDUCT @@ -12,7 +10,7 @@ throwforce = 10 throw_speed = 1 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 70, ACID = 30) - + var/machine_name = "Generic" // Built automatically from the corresponding vending machine. // If null, considered to be full upon being restocked. var/list/products diff --git a/code/game/objects/items/weapons/batons.dm b/code/game/objects/items/weapons/batons.dm index 55e4a895453..42008f9dfec 100644 --- a/code/game/objects/items/weapons/batons.dm +++ b/code/game/objects/items/weapons/batons.dm @@ -10,7 +10,8 @@ desc = "A wooden truncheon for beating criminal scum." icon = 'icons/obj/weapons/baton.dmi' icon_state = "baton" - item_state = "classic_baton" + worn_icon_state = "classic_baton" + inhand_icon_state = "classic_baton" slot_flags = ITEM_SLOT_BELT force = 12 //9 hit crit // Settings @@ -140,7 +141,8 @@ name = "fancy cane" desc = "A cane with special engraving on it. It seems well suited for fending off assailants..." icon_state = "cane_nt" - item_state = "cane_nt" + worn_icon_state = null + inhand_icon_state = null /obj/item/melee/classic_baton/ntcane/get_crutch_efficiency() return 2 @@ -152,15 +154,18 @@ name = "telescopic baton" desc = "A compact yet robust personal defense weapon. Can be concealed when folded." icon_state = "telebaton_0" // For telling what it is when mapping - item_state = null + worn_icon_state = null + inhand_icon_state = null w_class = WEIGHT_CLASS_SMALL on = FALSE /// Force when concealed var/force_off = 0 /// Force when extended var/force_on = 10 - /// Item state when extended - var/item_state_on = "tele_baton" + /// Worn icon state when extended + var/worn_icon_state_on = "tele_baton" + /// Inhand icon state when extended + var/inhand_icon_state_on = "tele_baton" /// Icon state when concealed var/icon_state_off = "telebaton_0" /// Icon state when extended @@ -186,14 +191,15 @@ icon_state = on ? icon_state_on : icon_state_off if(on) to_chat(user, "You extend [src].") - item_state = item_state_on + worn_icon_state = worn_icon_state_on + inhand_icon_state = inhand_icon_state_on w_class = WEIGHT_CLASS_BULKY //doesnt fit in backpack when its on for balance force = force_on //stunbaton damage attack_verb = attack_verb_on else to_chat(user, "You collapse [src].") - item_state = null //no sprite for concealment even when in hand - slot_flags = ITEM_SLOT_BELT + worn_icon_state = null + inhand_icon_state = null //no sprite for concealment even when in hand w_class = WEIGHT_CLASS_SMALL force = force_off //not so robust now attack_verb = attack_verb_off diff --git a/code/game/objects/items/weapons/bee_briefcase.dm b/code/game/objects/items/weapons/bee_briefcase.dm index 6f34ff42983..e81bd33ee98 100644 --- a/code/game/objects/items/weapons/bee_briefcase.dm +++ b/code/game/objects/items/weapons/bee_briefcase.dm @@ -3,7 +3,6 @@ desc = "This briefcase has easy-release clasps and smells vaguely of honey and blood..." icon = 'icons/obj/storage.dmi' icon_state = "briefcase" - item_state = "briefcase" flags = CONDUCT hitsound = "swing_hit" force = 10 @@ -29,7 +28,6 @@ if(isAntag(user)) . += "A briefcase filled with deadly bees, you should inject this with a syringe of your own blood before opening it. Exotic blood cannot be used." - /obj/item/bee_briefcase/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/reagent_containers/syringe)) var/obj/item/reagent_containers/syringe/S = I diff --git a/code/game/objects/items/weapons/c_foam_launcher.dm b/code/game/objects/items/weapons/c_foam_launcher.dm index 0bcdfd74038..1c9ae12fcad 100644 --- a/code/game/objects/items/weapons/c_foam_launcher.dm +++ b/code/game/objects/items/weapons/c_foam_launcher.dm @@ -10,10 +10,9 @@ name = "\improper C-Foam launcher" desc = "The C-Foam launcher. Shoots blobs of quickly hardening and growing foam. Can be used to slow down humanoids or block airlocks" icon_state = "c_foam_launcher" - item_state = "c_foam_launcher" + inhand_icon_state = "c_foam_launcher" origin_tech = "combat=4;syndicate=1;materials=3" needs_permit = FALSE - fire_sound = 'sound/effects/bamf.ogg' fire_sound_text = "thunk" mag_type = /obj/item/ammo_box/magazine/c_foam diff --git a/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm b/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm index 86b639c8a86..5ba5930c553 100644 --- a/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm +++ b/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm @@ -48,7 +48,6 @@ /obj/item/chemical_flamethrower/update_icon_state() icon_state = "chem_flame[max_canisters == 2 ? "_2" : ""][syndicate ? "_s" : ""]" - item_state = icon_state /obj/item/chemical_flamethrower/update_overlays() . = ..() diff --git a/code/game/objects/items/weapons/chrono_eraser.dm b/code/game/objects/items/weapons/chrono_eraser.dm index 876cf29f5f3..518ad8a757c 100644 --- a/code/game/objects/items/weapons/chrono_eraser.dm +++ b/code/game/objects/items/weapons/chrono_eraser.dm @@ -5,7 +5,7 @@ desc = "The result of outlawed time-bluespace research, this device is capable of wiping a being from the timestream. They never are, they never were, they never will be." icon = 'icons/obj/chronos.dmi' icon_state = "chronobackpack" - item_state = "backpack" + worn_icon_state = "backpack" w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK slowdown = 1 @@ -45,7 +45,7 @@ desc = "It's as if they never existed in the first place." icon = 'icons/obj/chronos.dmi' icon_state = "chronogun" - item_state = "chronogun" + inhand_icon_state = "chronogun" flags = NODROP | DROPDEL ammo_type = list(/obj/item/ammo_casing/energy/chrono_beam) can_charge = FALSE diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index a8e8a812a1a..f4e54954290 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -2,7 +2,8 @@ name = "plastic explosive" desc = "Used to put holes in specific areas without too much extra hole." icon_state = "plastic-explosive0" - item_state = "plastic-explosive" + base_icon_state = "plastic-explosive" + inhand_icon_state = "plastic-explosive" flags = NOBLUDGEON det_time = 10 display_timer = FALSE @@ -19,7 +20,7 @@ /obj/item/grenade/plastic/Initialize(mapload) . = ..() - plastic_overlay = mutable_appearance(icon, "[item_state]2", HIGH_OBJ_LAYER) + plastic_overlay = mutable_appearance(icon, "[base_icon_state]2", HIGH_OBJ_LAYER) var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_atom_entered) ) @@ -157,9 +158,9 @@ /obj/item/grenade/plastic/update_icon_state() if(nadeassembly) - icon_state = "[item_state]1" + icon_state = "[base_icon_state]1" else - icon_state = "[item_state]0" + icon_state = "[base_icon_state]0" ////////////////////////// ///// The Explosives ///// @@ -214,7 +215,7 @@ name = "X4" desc = "A specialized shaped high explosive breaching charge. Designed to be safer for the user, and less so, for the wall." icon_state = "plasticx40" - item_state = "plasticx4" + base_icon_state = "plasticx4" shaped = TRUE ex_heavy = 2 ex_breach = TRUE @@ -250,7 +251,7 @@ desc = "A wall breaching charge, containing fuel, metal oxide and metal powder mixed in just the right way. One hell of a combination. Effective against walls, ineffective against airlocks..." det_time = 2 icon_state = "t4breach0" - item_state = "t4breach" + base_icon_state = "t4breach" /obj/item/grenade/plastic/c4/thermite/prime() var/turf/location diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 643d26022e4..82cc1449524 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -2,8 +2,8 @@ name = "fire extinguisher" desc = "A traditional red fire extinguisher." icon_state = "fire_extinguisher0" - item_state = "fire_extinguisher" base_icon_state = "fire_extinguisher" + inhand_icon_state = "fire_extinguisher" hitsound = 'sound/weapons/smash.ogg' flags = CONDUCT throwforce = 10 @@ -35,8 +35,8 @@ name = "atmospheric fire extinguisher" desc = "An extinguisher coated in yellow paint that is pre-filled with firefighting foam." icon_state = "atmoFE0" - item_state = "atmoFE" base_icon_state = "atmoFE" + inhand_icon_state = "atmoFE" materials = list(MAT_TITANIUM = 200) dog_fashion = null reagent_id = "firefighting_foam" @@ -49,8 +49,8 @@ name = "pocket fire extinguisher" desc = "A light and compact fibreglass-framed model fire extinguisher." icon_state = "miniFE0" - item_state = "miniFE" base_icon_state = "miniFE" + inhand_icon_state = "miniFE" hitsound = null // It is much lighter, after all. flags = null // Non-conductive, not made of metal. throwforce = 2 @@ -67,7 +67,6 @@ name = "integrated fire extinguisher" desc = "A miniature fire extinguisher designed to store firefighting foam." icon_state = "cyborgFE0" - item_state = "cyborgFE" base_icon_state = "cyborgFE" reagent_id = "firefighting_foam" diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 338b1b03363..8fb177ff5d2 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -3,7 +3,7 @@ desc = "You are a firestarter!" icon = 'icons/obj/flamethrower.dmi' icon_state = "flamethrowerbase" - item_state = "flamethrower_0" + inhand_icon_state = "flamethrower_0" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' flags = CONDUCT @@ -26,14 +26,12 @@ var/create_with_tank = FALSE var/igniter_type = /obj/item/assembly/igniter - /obj/item/flamethrower/Destroy() QDEL_NULL(weldtool) QDEL_NULL(igniter) QDEL_NULL(ptank) return ..() - /obj/item/flamethrower/process() if(!lit || !igniter) STOP_PROCESSING(SSobj, src) @@ -46,12 +44,8 @@ if(isturf(location)) //start a fire if possible igniter.flamethrower_process(location) - /obj/item/flamethrower/update_icon_state() - if(lit) - item_state = "flamethrower_1" - else - item_state = "flamethrower_0" + inhand_icon_state = "flamethrower_[lit]" if(ismob(loc)) var/mob/M = loc M.update_inv_l_hand() @@ -272,14 +266,12 @@ if(M.client && M.machine == src) attack_self__legacy__attackchain(M) - /obj/item/flamethrower/proc/default_ignite(turf/target, release_amount = 0.05) //Transfer 5% of current tank air contents to turf var/datum/gas_mixture/air_transfer = ptank.air_contents.remove_ratio(release_amount) target.blind_release_air(air_transfer) target.hotspot_expose(PLASMA_UPPER_TEMPERATURE, min(CELL_VOLUME, CELL_VOLUME * air_transfer.total_moles())) - /obj/item/flamethrower/Initialize(mapload) . = ..() if(create_full) diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 9d6b036d5a4..5eb7875fe1d 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -11,7 +11,7 @@ name = "gift" desc = "PRESENTS!!!! eek!" icon_state = "gift1" - item_state = "gift1" + inhand_icon_state = "gift" resistance_flags = FLAMMABLE scatter_distance = 10 diff --git a/code/game/objects/items/weapons/grenades/atmosgrenade.dm b/code/game/objects/items/weapons/grenades/atmosgrenade.dm index d5a4fb4890c..d0275dac8bd 100644 --- a/code/game/objects/items/weapons/grenades/atmosgrenade.dm +++ b/code/game/objects/items/weapons/grenades/atmosgrenade.dm @@ -1,8 +1,8 @@ /obj/item/grenade/gas name = "plasma fire grenade" desc = "A compressed plasma grenade, used to start horrific plasma fires." - origin_tech = "materials=3;magnets=4;syndicate=3" icon_state = "syndicate" + origin_tech = "materials=3;magnets=4;syndicate=3" var/spawn_contents = LINDA_SPAWN_HEAT | LINDA_SPAWN_TOXINS var/spawn_amount = 100 diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index a1375f07b47..e8d5d406c68 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -141,7 +141,7 @@ return 1 else if(stage == WIRED && is_type_in_list(I, allowed_containers)) - if(length(beakers) == 0) + if(length(beakers) == 0) container_type = TRANSPARENT // Allows to see reagents in player's made bombs if(length(beakers) == 2) to_chat(user, "[src] can not hold more containers.") diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm index f189f9edfd9..706fb58cfb5 100644 --- a/code/game/objects/items/weapons/grenades/clusterbuster.dm +++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm @@ -5,7 +5,8 @@ name = "clusterbang" desc = "Use of this weapon may constitute a war crime in your area, consult your local captain." icon_state = "clusterbang" - item_state = "flashbang" + worn_icon_state = "flashbang" + inhand_icon_state = "flashbang" var/payload = /obj/item/grenade/flashbang/cluster /obj/item/grenade/clusterbuster/examine(mob/user) diff --git a/code/game/objects/items/weapons/grenades/emgrenade.dm b/code/game/objects/items/weapons/grenades/emgrenade.dm index d89f07c5b71..f7d181fdd1f 100644 --- a/code/game/objects/items/weapons/grenades/emgrenade.dm +++ b/code/game/objects/items/weapons/grenades/emgrenade.dm @@ -2,7 +2,7 @@ name = "classic EMP grenade" desc = "Upon detonation, releases a powerful EMP that will wreak havoc on electronic systems." icon_state = "emp" - item_state = "emp" + inhand_icon_state = "emp" origin_tech = "magnets=3;combat=2" /obj/item/grenade/empgrenade/prime() diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 23d3a1e5fba..47fc06064a5 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -2,7 +2,7 @@ name = "flashbang" desc = "A less-than-lethal grenade designed for crowd control. Blinds all unprotected targets in range and disrupts their balance, sending them falling to the floor." icon_state = "flashbang" - item_state = "flashbang" + inhand_icon_state = "flashbang" belt_icon = "flashbang" origin_tech = "materials=2;combat=3" light_power = 10 diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index 137c51bb545..084183c9170 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -1,10 +1,11 @@ /obj/item/grenade name = "grenade" desc = "A hand held grenade with an adjustable timer." - w_class = WEIGHT_CLASS_SMALL icon = 'icons/obj/grenade.dmi' icon_state = "grenade" - item_state = "grenade" + worn_icon_state = "grenade" + inhand_icon_state = "grenade" + w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 20 flags = CONDUCT diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index 3a2fdb08663..34a411a7f45 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -2,9 +2,9 @@ name = "smoke bomb" desc = "A grenade filled with chemical agents that will turn into a dense smoke when detonated, making it impossible to see through without specialised optics." icon_state = "smoke" + inhand_icon_state = "smoke" det_time = 2 SECONDS modifiable_timer = FALSE - item_state = "smoke" var/datum/effect_system/smoke_spread/bad/smoke /obj/item/grenade/smokebomb/Initialize(mapload) diff --git a/code/game/objects/items/weapons/grenades/syndieminibomb.dm b/code/game/objects/items/weapons/grenades/syndieminibomb.dm index bc4dc74c91b..13c3111fac5 100644 --- a/code/game/objects/items/weapons/grenades/syndieminibomb.dm +++ b/code/game/objects/items/weapons/grenades/syndieminibomb.dm @@ -31,7 +31,8 @@ desc = "It's a normal black ink pen." icon = 'icons/obj/bureaucracy.dmi' icon_state = "pen" - item_state = "pen" + worn_icon_state = "pen" + inhand_icon_state = "pen" explosion_cause = "Syndicate minibomb (disguised as a black pen)" /obj/item/grenade/syndieminibomb/pen/attack_self__legacy__attackchain(mob/user) diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 3be0a3fde49..70f87d862ec 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -142,7 +142,6 @@ desc = "A pair of restraints fashioned from long strands of flesh." icon = 'icons/obj/mining.dmi' icon_state = "sinewcuff" - item_state = "sinewcuff" belt_icon = null breakouttime = 30 SECONDS cuffsound = 'sound/weapons/cablecuff.ogg' @@ -154,7 +153,6 @@ name = "cable restraints" desc = "Looks like some cables tied together. Could be used to tie something up." icon_state = "cablecuff" - item_state = "cablecuff" cuffed_state = "cablecuff" belt_icon = "cablecuff" origin_tech = "engineering=2" @@ -235,7 +233,6 @@ name = "twimsts cuffs" desc = "Liquorice twist candy made into cable cuffs, tasty but it can't actually hold anyone." icon_state = "cablecuff" - item_state = "cablecuff" cuffed_state = "cablecuff" belt_icon = "cablecuff" color = "#E31818" diff --git a/code/game/objects/items/weapons/holosign_projector.dm b/code/game/objects/items/weapons/holosign_projector.dm index f3e496062b7..b82a233ce49 100644 --- a/code/game/objects/items/weapons/holosign_projector.dm +++ b/code/game/objects/items/weapons/holosign_projector.dm @@ -3,7 +3,7 @@ desc = "This shouldnt exist, if it does, tell a coder." icon = 'icons/obj/device.dmi' icon_state = "signmaker" - item_state = "electronic" + inhand_icon_state = "electronic" belt_icon = "holosign_creator" w_class = WEIGHT_CLASS_SMALL throw_speed = 3 diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index aa58c27e693..05cafd8697b 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -3,7 +3,10 @@ desc = "A rod of pure obsidian, its very presence disrupts and dampens the powers of dark magic." icon = 'icons/obj/weapons/magical_weapons.dmi' icon_state = "nullrod" - item_state = "tele_baton" + worn_icon_state = "tele_baton" + inhand_icon_state = "tele_baton" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' force = 15 throw_speed = 3 throw_range = 4 @@ -111,9 +114,11 @@ /obj/item/nullrod/godhand name = "god hand" - icon_state = "disintegrate" - item_state = "disintegrate" desc = "This hand of yours glows with an awesome power!" + icon_state = "disintegrate" + inhand_icon_state = "disintegrate" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' flags = ABSTRACT | NODROP | DROPDEL w_class = WEIGHT_CLASS_HUGE hitsound = 'sound/weapons/sear.ogg' @@ -127,9 +132,10 @@ name = "red holy staff" desc = "It has a mysterious, protective aura." icon_state = "godstaff-red" + worn_icon_state = null + inhand_icon_state = null lefthand_file = 'icons/mob/inhands/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/staves_righthand.dmi' - item_state = "godstaff-red" w_class = WEIGHT_CLASS_HUGE force = 5 slot_flags = ITEM_SLOT_BACK @@ -141,16 +147,14 @@ /obj/item/nullrod/staff/blue name = "blue holy staff" icon_state = "godstaff-blue" - item_state = "godstaff-blue" /obj/item/nullrod/claymore name = "holy claymore" - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' + desc = "A weapon fit for a crusade!" icon = 'icons/obj/weapons/melee.dmi' icon_state = "claymore" - item_state = "claymore" - desc = "A weapon fit for a crusade!" + worn_icon_state = null + inhand_icon_state = null w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT sharp = TRUE @@ -168,43 +172,38 @@ /obj/item/nullrod/claymore/darkblade name = "dark blade" - icon = 'icons/obj/weapons/magical_weapons.dmi' - icon_state = "cultblade" - item_state = "darkbalde" desc = "Spread the glory of the dark gods!" + icon = 'icons/obj/weapons/magical_weapons.dmi' + icon_state = "darkblade" slot_flags = ITEM_SLOT_BELT hitsound = 'sound/hallucinations/growl1.ogg' /obj/item/nullrod/claymore/chainsaw_sword name = "sacred chainsaw sword" + desc = "Suffer not a heretic to live." icon = 'icons/obj/weapons/magical_weapons.dmi' icon_state = "chainswordon" - item_state = "chainswordon" - desc = "Suffer not a heretic to live." slot_flags = ITEM_SLOT_BELT attack_verb = list("sawed", "torn", "cut", "chopped", "diced") hitsound = 'sound/weapons/chainsaw.ogg' /obj/item/nullrod/claymore/glowing name = "force blade" + desc = "The blade glows with the power of faith. Or possibly a battery." icon = 'icons/obj/weapons/magical_weapons.dmi' icon_state = "swordon" - item_state = "swordon" - desc = "The blade glows with the power of faith. Or possibly a battery." slot_flags = ITEM_SLOT_BELT /obj/item/nullrod/claymore/katana name = "hanzo steel" desc = "Capable of cutting clean through a holy claymore." icon_state = "katana" - item_state = "katana" /obj/item/nullrod/claymore/multiverse name = "extradimensional blade" desc = "Once the harbringer of a interdimensional war, now a dormant souvenir. Still sharp though." icon = 'icons/obj/weapons/magical_weapons.dmi' icon_state = "multiverse" - item_state = "multiverse" slot_flags = ITEM_SLOT_BELT /obj/item/nullrod/claymore/saber @@ -212,29 +211,23 @@ hitsound = 'sound/weapons/blade1.ogg' icon = 'icons/obj/weapons/energy_melee.dmi' icon_state = "swordblue" - item_state = "swordblue" desc = "If you strike me down, I shall become more robust than you can possibly imagine." slot_flags = ITEM_SLOT_BELT /obj/item/nullrod/claymore/saber/red name = "dark energy blade" icon_state = "swordred" - item_state = "swordred" desc = "Woefully ineffective when used on steep terrain." /obj/item/nullrod/claymore/saber/pirate name = "nautical energy cutlass" icon_state = "cutlass1" - item_state = "cutlass1" desc = "Convincing HR that your religion involved piracy was no mean feat." /obj/item/nullrod/sord name = "\improper UNREAL SORD" desc = "This thing is so unspeakably HOLY you are having a hard time even holding it." - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon_state = "sord" - item_state = "sord" slot_flags = ITEM_SLOT_BELT force = 4.13 throwforce = 1 @@ -243,10 +236,11 @@ /obj/item/nullrod/scythe name = "reaper scythe" - icon = 'icons/obj/weapons/melee.dmi' - icon_state = "scythe0" - item_state = "scythe0" desc = "Ask not for whom the bell tolls..." + icon = 'icons/obj/weapons/melee.dmi' + icon_state = "scythe" + worn_icon_state = null + inhand_icon_state = null w_class = WEIGHT_CLASS_BULKY armor_penetration_flat = 30 slot_flags = ITEM_SLOT_BACK @@ -256,31 +250,22 @@ /obj/item/nullrod/scythe/vibro name = "high frequency blade" - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' + desc = "Bad references are the DNA of the soul." icon = 'icons/obj/weapons/magical_weapons.dmi' icon_state = "hfrequency1" - item_state = "hfrequency1" - desc = "Bad references are the DNA of the soul." attack_verb = list("chopped", "sliced", "cut", "zandatsu'd") /obj/item/nullrod/scythe/spellblade - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - icon_state = "spellblade" - item_state = "spellblade" - 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." + icon = 'icons/obj/guns/magic.dmi' + icon_state = "spellblade" /obj/item/nullrod/scythe/talking name = "possessed blade" - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' + desc = "When the station falls into chaos, it's nice to have a friend by your side." icon = 'icons/obj/weapons/magical_weapons.dmi' icon_state = "talking_sword" - item_state = "talking_sword" - desc = "When the station falls into chaos, it's nice to have a friend by your side." attack_verb = list("chopped", "sliced", "cut") force = 12 can_be_hit = TRUE // be a shit and you can get your ass beat @@ -380,11 +365,10 @@ /obj/item/nullrod/hammmer name = "relic war hammer" - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - icon_state = "hammeron" - item_state = "hammeron" desc = "This war hammer cost the chaplain fourty thousand space dollars." + icon_state = "hammeron" + worn_icon_state = null + inhand_icon_state = null slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_HUGE attack_verb = list("smashed", "bashed", "hammered", "crunched") @@ -392,11 +376,9 @@ /obj/item/nullrod/chainsaw name = "chainsaw hand" desc = "Good? Bad? You're the guy with the chainsaw hand." - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon = 'icons/obj/weapons/melee.dmi' icon_state = "chainsaw_on" - item_state = "mounted_chainsaw" + inhand_icon_state = "mounted_chainsaw" w_class = WEIGHT_CLASS_HUGE flags = NODROP | ABSTRACT sharp = TRUE @@ -405,21 +387,24 @@ /obj/item/nullrod/clown name = "clown dagger" + desc = "Used for absolutely hilarious sacrifices." icon = 'icons/obj/wizard.dmi' icon_state = "clownrender" - item_state = "gold_horn" - desc = "Used for absolutely hilarious sacrifices." + worn_icon_state = null + inhand_icon_state = "gold_horn" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' hitsound = 'sound/items/bikehorn.ogg' sharp = TRUE attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut", "honked") - /obj/item/nullrod/fedora name = "binary fedora" desc = "The brim of the hat is as sharp as the division between 0 and 1. It makes a mighty throwing weapon." icon = 'icons/obj/clothing/hats.dmi' icon_state = "fedora" - item_state = "fedora" + worn_icon_state = null + inhand_icon_state = null slot_flags = ITEM_SLOT_HEAD force = 0 throw_speed = 4 @@ -433,11 +418,9 @@ /obj/item/nullrod/armblade name = "dark blessing" desc = "Particularly twisted deities grant gifts of dubious value." - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon = 'icons/obj/weapons/melee.dmi' icon_state = "arm_blade" - item_state = "arm_blade" + inhand_icon_state = null flags = ABSTRACT | NODROP w_class = WEIGHT_CLASS_HUGE sharp = TRUE @@ -462,7 +445,8 @@ desc = "An adorable stuffed toy that resembles the god of all carp. The teeth look pretty sharp. Activate it to receive the blessing of Carp-Sie." icon = 'icons/obj/toy.dmi' icon_state = "carpplushie" - item_state = "carp_plushie" + worn_icon_state = null + inhand_icon_state = null force = 13 attack_verb = list("bitten", "eaten", "fin slapped") hitsound = 'sound/weapons/bite.ogg' @@ -484,7 +468,6 @@ icon_state = "bostaff0" lefthand_file = 'icons/mob/inhands/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/staves_righthand.dmi' - item_state = "bostaff0" force = 13 slot_flags = ITEM_SLOT_BACK sharp = FALSE @@ -497,10 +480,10 @@ /obj/item/nullrod/tribal_knife name = "arrhythmic knife" - icon_state = "crysknife" - item_state = "crysknife" - 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." + icon_state = "crysknife" + inhand_icon_state = null // no icon state + w_class = WEIGHT_CLASS_HUGE sharp = TRUE slot_flags = null flags = HANDSLOW @@ -520,21 +503,21 @@ /obj/item/nullrod/pitchfork name = "unholy pitchfork" - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - icon_state = "pitchfork0" - item_state = "pitchfork0" - w_class = WEIGHT_CLASS_NORMAL desc = "Holding this makes you look absolutely devilish." + icon_state = "pitchfork0" + worn_icon_state = null + inhand_icon_state = null + w_class = WEIGHT_CLASS_NORMAL attack_verb = list("poked", "impaled", "pierced", "jabbed") hitsound = 'sound/weapons/bladeslice.ogg' sharp = TRUE /obj/item/nullrod/rosary name = "prayer beads" - icon_state = "rosary" - item_state = null desc = "A set of prayer beads used by many of the more traditional religions in space.
Vampires and other unholy abominations have learned to fear these." + icon_state = "rosary" + worn_icon_state = null + inhand_icon_state = null force = 0 throwforce = 0 var/praying = FALSE @@ -586,26 +569,27 @@ to_chat(user, "Your prayer to [SSticker.Bible_deity_name] was interrupted.") praying = FALSE - /obj/item/nullrod/nazar name = "nazar" - icon_state = "nazar" - item_state = null desc = "A set of glass beads and amulet, which has been forged to provide powerful magic protection to the wielder." + icon_state = "nazar" + worn_icon_state = null + inhand_icon_state = null force = 0 throwforce = 0 antimagic_type = ALL /obj/item/nullrod/salt name = "Holy Salt" + desc = "While commonly used to repel some ghosts, it appears others are downright attracted to it." icon = 'icons/obj/food/containers.dmi' icon_state = "saltshakersmall" - desc = "While commonly used to repel some ghosts, it appears others are downright attracted to it." + worn_icon_state = null + inhand_icon_state = null force = 0 throwforce = 0 var/ghostcall_CD = 0 - /obj/item/nullrod/salt/attack_self__legacy__attackchain(mob/user) if(!user.mind || !HAS_MIND_TRAIT(user, TRAIT_HOLY)) @@ -619,14 +603,14 @@ notify_ghosts("The Chaplain is calling ghosts to [get_area(src)] with [name]!", source = src) else to_chat(user, "You need to wait before using [src] again.") - return - /obj/item/nullrod/rosary/bread name = "prayer bread" + desc = "a staple of worshipers of the Silentfather, this holy mime artifact has an odd effect on clowns." icon = 'icons/obj/food/bakedgoods.dmi' icon_state = "baguette" - desc = "a staple of worshipers of the Silentfather, this holy mime artifact has an odd effect on clowns." + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' var/list/smited_clowns /obj/item/nullrod/rosary/bread/equipped(mob/user, slot, initial = FALSE) @@ -669,16 +653,16 @@ /obj/item/nullrod/missionary_staff name = "holy staff" desc = "It has a mysterious, protective aura." - reskinned = TRUE - reskin_selectable = FALSE icon_state = "godstaff-red" + worn_icon_state = null + inhand_icon_state = null lefthand_file = 'icons/mob/inhands/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/staves_righthand.dmi' - item_state = "godstaff-red" w_class = WEIGHT_CLASS_HUGE force = 5 slot_flags = ITEM_SLOT_BACK - + reskinned = TRUE + reskin_selectable = FALSE var/team_color = "red" var/obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe/robes = null //the robes linked with this staff var/faith = 99 //a conversion requires 100 faith to attempt. faith recharges over time while you are wearing missionary robes that have been linked to the staff. @@ -689,12 +673,10 @@ . += "This seemingly standard holy staff is actually a disguised neurotransmitter capable of inducing blind zealotry in its victims. It must be allowed to recharge in the presence of a linked set of missionary robes. \ Use the staff in hand while wearing robes to link them both, then aim the staff at your victim to try and convert them." - /obj/item/nullrod/missionary_staff/New() ..() team_color = pick("red", "blue") icon_state = "godstaff-[team_color]" - item_state = "godstaff-[team_color]" name = "[team_color] holy staff" AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = ALL_ATTACK_TYPES) diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index ce55eaf8679..fcf08c8221e 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -102,8 +102,10 @@ */ /obj/item/kitchen/knife name = "kitchen knife" - icon_state = "knife" desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." + icon_state = "knife" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' flags = CONDUCT force = 10 w_class = WEIGHT_CLASS_SMALL @@ -115,8 +117,6 @@ attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharp = TRUE armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' var/bayonet = FALSE //Can this be attached to a gun? /obj/item/kitchen/knife/Initialize(mapload) @@ -146,7 +146,6 @@ name = "glass shiv" desc = "A haphazard sharp object wrapped in cloth, just like great-great-great-great grandma used to make." icon = 'icons/obj/weapons/melee.dmi' - item_state = "glass_shiv" icon_state = "glass_shiv" /obj/item/kitchen/knife/shiv/carrot @@ -154,7 +153,6 @@ desc = "Unlike other carrots, you should probably keep this far away from your eyes." icon = 'icons/obj/kitchen.dmi' icon_state = "carrotshiv" - item_state = "carrotshiv" force = 8 throwforce = 12 //fuck git materials = list() @@ -164,8 +162,8 @@ /obj/item/kitchen/knife/butcher name = "butcher's cleaver" - icon_state = "butch" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." + icon_state = "butch" force = 15 throwforce = 8 attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") @@ -174,7 +172,7 @@ /obj/item/kitchen/knife/butcher/meatcleaver name = "meat cleaver" icon_state = "mcleaver" - item_state = "butch" + inhand_icon_state = "butch" force = 25 throwforce = 15 @@ -184,9 +182,10 @@ /obj/item/kitchen/knife/combat name = "combat knife" - icon_state = "combatknife" - item_state = "knife" desc = "A military combat utility survival knife." + icon_state = "combatknife" + worn_icon_state = "knife" + inhand_icon_state = "knife" force = 20 throwforce = 20 origin_tech = "materials=3;combat=4" @@ -195,25 +194,23 @@ /obj/item/kitchen/knife/combat/survival name = "survival knife" - icon_state = "survivalknife" desc = "A hunting grade survival knife." + icon_state = "survivalknife" force = 15 throwforce = 15 /obj/item/kitchen/knife/combat/survival/bone name = "bone dagger" - item_state = "bone_dagger" - icon_state = "bone_dagger" - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' - righthand_file = 'icons/mob/inhands/items_righthand.dmi' desc = "A sharpened bone. The bare minimum in survival." + icon_state = "bone_dagger" + inhand_icon_state = "bone_dagger" materials = list() /obj/item/kitchen/knife/combat/cyborg name = "cyborg knife" + desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable." icon = 'icons/obj/items_cyborg.dmi' icon_state = "knife" - desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable." origin_tech = null /obj/item/kitchen/knife/cheese diff --git a/code/game/objects/items/weapons/legcuffs.dm b/code/game/objects/items/weapons/legcuffs.dm index 02e221cd6f7..20aef7243f5 100644 --- a/code/game/objects/items/weapons/legcuffs.dm +++ b/code/game/objects/items/weapons/legcuffs.dm @@ -182,7 +182,6 @@ lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon_state = "bola" - item_state = "bola" breakouttime = 3.5 SECONDS gender = NEUTER origin_tech = "engineering=3;combat=1" @@ -217,7 +216,7 @@ var/range_increment = round(max_range / max_spins) var/speed_increment = round(max_speed / max_spins) RegisterSignal(L, COMSIG_CARBON_SWAP_HANDS, PROC_REF(reset_values), override = TRUE) - item_state = "[initial(item_state)]_spin" + inhand_icon_state = "[initial(icon_state)]_spin" L.update_inv_r_hand() L.update_inv_l_hand() spinning = TRUE @@ -238,7 +237,7 @@ /obj/item/restraints/legcuffs/bola/proc/reset_values(mob/living/user) throw_range = initial(throw_range) throw_speed = initial(throw_speed) - item_state = initial(item_state) + inhand_icon_state = initial(inhand_icon_state) spinning = FALSE if(user) user.update_inv_r_hand() @@ -252,8 +251,6 @@ return TRUE return FALSE - - /obj/item/restraints/legcuffs/bola/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) playsound(loc,'sound/weapons/bolathrow.ogg', 50, TRUE) if(!..()) @@ -281,7 +278,6 @@ name = "reinforced bola" desc = "A strong bola, made with a long steel chain. It looks heavy, enough so that it could trip somebody." icon_state = "bola_r" - item_state = "bola_r" breakouttime = 7 SECONDS origin_tech = "engineering=4;combat=3" knockdown_duration = 2 SECONDS @@ -291,7 +287,6 @@ name = "energy bola" desc = "A specialized hard-light bola designed to ensnare fleeing criminals and aid in arrests." icon_state = "ebola" - item_state = "ebola" hitsound = 'sound/weapons/tase.ogg' w_class = WEIGHT_CLASS_SMALL breakouttime = 4 SECONDS diff --git a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm index e10788f5d1f..b649e39f319 100644 --- a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm +++ b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm @@ -378,7 +378,6 @@ name = "hardlight blade" desc = "An extremely sharp blade made out of hard light. Packs quite a punch." icon_state = "lightblade" - item_state = "lightblade" /obj/item/melee/energy/proc/nemesis_effects(mob/living/user, mob/living/target) return diff --git a/code/game/objects/items/weapons/melee/melee.dm b/code/game/objects/items/weapons/melee/melee.dm index cf9fba49d11..f6436de9c54 100644 --- a/code/game/objects/items/weapons/melee/melee.dm +++ b/code/game/objects/items/weapons/melee/melee.dm @@ -9,7 +9,6 @@ name = "captain's saber" desc = "An elegant weapon, for a more civilized age." icon_state = "saber" - item_state = "saber" flags = CONDUCT force = 15 throwforce = 10 @@ -76,7 +75,6 @@ name = "snakesfang" desc = "A uniquely curved, black and red sword. Extra-edgy and cutting-edge." icon_state = "snakesfang" - item_state = "snakesfang" flags = CONDUCT force = 25 throwforce = 10 diff --git a/code/game/objects/items/weapons/melee/melee_misc.dm b/code/game/objects/items/weapons/melee/melee_misc.dm index b81fb4d0977..4e641d61386 100644 --- a/code/game/objects/items/weapons/melee/melee_misc.dm +++ b/code/game/objects/items/weapons/melee/melee_misc.dm @@ -3,7 +3,6 @@ name = "chain of command" desc = "A tool used by great men to placate the frothing masses." icon_state = "chain" - item_state = "chain" flags = CONDUCT slot_flags = ITEM_SLOT_BELT force = 10 @@ -21,7 +20,6 @@ name = "ice pick" desc = "Used for chopping ice. Also excellent for mafia esque murders." icon_state = "icepick" - item_state = "icepick" force = 15 throwforce = 10 w_class = WEIGHT_CLASS_SMALL @@ -32,7 +30,6 @@ name = "candy cane sword" desc = "A large candy cane with a sharpened point. Definitely too dangerous for schoolchildren." icon_state = "candy_sword" - item_state = "candy_sword" force = 10 throwforce = 7 attack_verb = list("slashed", "stabbed", "sliced", "caned") @@ -42,7 +39,6 @@ name = "flyswatter" desc = "Useful for killing insects of all sizes." icon_state = "flyswatter" - item_state = "flyswatter" force = 1 throwforce = 1 attack_verb = list("swatted", "smacked") diff --git a/code/game/objects/items/weapons/melee/spellblade.dm b/code/game/objects/items/weapons/melee/spellblade.dm index 083b5e1fcdf..83c451448e2 100644 --- a/code/game/objects/items/weapons/melee/spellblade.dm +++ b/code/game/objects/items/weapons/melee/spellblade.dm @@ -4,7 +4,6 @@ desc = "An enchanted blade with a series of runes along the side." icon = 'icons/obj/guns/magic.dmi' icon_state = "spellblade" - item_state = "spellblade" hitsound = 'sound/weapons/rapierhit.ogg' resistance_flags = LAVA_PROOF | FIRE_PROOF w_class = WEIGHT_CLASS_BULKY diff --git a/code/game/objects/items/weapons/misc_items.dm b/code/game/objects/items/weapons/misc_items.dm index 218de4a8393..fccf75455f7 100644 --- a/code/game/objects/items/weapons/misc_items.dm +++ b/code/game/objects/items/weapons/misc_items.dm @@ -27,7 +27,7 @@ name = "cane" desc = "A cane used by a true gentlemen. Or a clown." icon_state = "cane" - item_state = "stick" + inhand_icon_state = "stick" flags = CONDUCT force = 5.0 throwforce = 7.0 @@ -137,10 +137,10 @@ name = "gift" desc = "A wrapped item." icon_state = "gift3" + inhand_icon_state = "gift" + w_class = WEIGHT_CLASS_BULKY var/size = 3.0 var/obj/item/gift = null - item_state = "gift" - w_class = WEIGHT_CLASS_BULKY /obj/item/gift/emp_act(severity) ..() diff --git a/code/game/objects/items/weapons/pneumaticCannon.dm b/code/game/objects/items/weapons/pneumaticCannon.dm index 5ecd0b2f7c6..a0be0113dcb 100644 --- a/code/game/objects/items/weapons/pneumaticCannon.dm +++ b/code/game/objects/items/weapons/pneumaticCannon.dm @@ -1,15 +1,15 @@ /obj/item/pneumatic_cannon name = "pneumatic cannon" desc = "A gas-powered cannon that can fire any object loaded into it." - w_class = WEIGHT_CLASS_BULKY - force = 8 //Very heavy - attack_verb = list("bludgeoned", "smashed", "beaten") icon = 'icons/obj/pneumaticCannon.dmi' icon_state = "pneumaticCannon" - item_state = "bulldog" + inhand_icon_state = "bulldog" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 60, ACID = 50) + w_class = WEIGHT_CLASS_BULKY + force = 8 //Very heavy + attack_verb = list("bludgeoned", "smashed", "beaten") new_attack_chain = TRUE ///The max weight of items that can fit into the cannon var/max_weight_class = 20 diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm index 5cc14bf0b93..0c30c93f707 100644 --- a/code/game/objects/items/weapons/powerfist.dm +++ b/code/game/objects/items/weapons/powerfist.dm @@ -2,7 +2,6 @@ name = "power-fist" desc = "A metal gauntlet with a piston-powered ram ontop for that extra 'ompfh' in your punch." icon_state = "powerfist" - item_state = "powerfist" flags = CONDUCT attack_verb = list("whacked", "fisted", "power-punched") force = 12 @@ -14,7 +13,6 @@ var/fisto_setting = 1 /// Base pressure in kpa used by the powerfist per hit var/gasperfist = 17.5 - var/obj/item/tank/internals/tank = null //Tank used for the gauntlet's piston-ram. /obj/item/melee/powerfist/Destroy() diff --git a/code/game/objects/items/weapons/scissors.dm b/code/game/objects/items/weapons/scissors.dm index 6c1e9d252ae..dc4217225fc 100644 --- a/code/game/objects/items/weapons/scissors.dm +++ b/code/game/objects/items/weapons/scissors.dm @@ -2,7 +2,7 @@ name = "Scissors" desc = "Those are scissors. Don't run with them!" icon_state = "scissor" - item_state = "scissor" + inhand_icon_state = "scissor" force = 5 sharp = TRUE w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm index 548e80fc985..82bfc83a486 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/shards.dm @@ -5,10 +5,10 @@ desc = "A nasty looking shard of glass." icon = 'icons/obj/shards.dmi' icon_state = "large" + inhand_icon_state = "shard-glass" w_class = WEIGHT_CLASS_TINY force = 5 throwforce = 10 - item_state = "shard-glass" 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/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 7c1f6f4bb42..37508130d80 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -45,7 +45,6 @@ name = "roman shield" desc = "Bears an inscription on the inside: \"Romanes venio domus\"." icon_state = "roman_shield" - item_state = "roman_shield" materials = list(MAT_METAL=8500) /obj/item/shield/riot/roman/fake @@ -59,7 +58,6 @@ name = "wooden buckler" desc = "A medieval wooden buckler." icon_state = "buckler" - item_state = "buckler" materials = list() origin_tech = "materials=1;combat=3;biotech=2" resistance_flags = FLAMMABLE @@ -67,7 +65,6 @@ /obj/item/shield/riot/buckler/add_parry_component() AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.7, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (10 / 3) SECONDS) // 2.3333 seconds of cooldown for 30% uptime - /obj/item/shield/energy name = "energy combat shield" desc = "A shield that reflects almost all energy projectiles, but is useless against physical attacks. It can be retracted, expanded, and stored anywhere." diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 833216d15e9..58a50a5e76c 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -7,7 +7,6 @@ name = "backpack" desc = "You wear this on your back and put items into it." icon_state = "backpack" - item_state = "backpack" lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi' righthand_file = 'icons/mob/inhands/clothing_righthand.dmi' w_class = WEIGHT_CLASS_BULKY @@ -52,7 +51,6 @@ desc = "A bleeding-edge backpack that uses bluespace technology to create a localized dimensional pocket for storage." origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5" icon_state = "holdingpack" - item_state = "holdingpack" max_w_class = WEIGHT_CLASS_BULKY max_combined_w_class = 28 resistance_flags = FIRE_PROOF @@ -96,22 +94,18 @@ name = "Santa's Gift Bag" desc = "Space Santa uses this to deliver toys to all the nice children in space on Christmas! Wow, it's pretty big!" icon_state = "giftbag0" - item_state = "giftbag0" max_combined_w_class = 400 // can store a ton of shit! /obj/item/storage/backpack/cultpack name = "trophy rack" desc = "It's useful for both carrying extra gear and proudly declaring your insanity." icon_state = "cultpack" - item_state = "cultpack" + inhand_icon_state = "backpack" /obj/item/storage/backpack/clown name = "Giggles Von Honkerton" desc = "It's a backpack made by Honk! Co." icon_state = "clownpack" - item_state = "clownpack" - -/obj/item/storage/backpack/clown/syndie /obj/item/storage/backpack/clown/syndie/populate_contents() new /obj/item/clothing/under/rank/civilian/clown(src) @@ -139,88 +133,76 @@ name = "Pierre the Panda" desc = "A backpack modelled after Pierre the Panda - the official mascot for the Université du Mime." icon_state = "mimepack" - item_state = "mimepack" /obj/item/storage/backpack/medic name = "medical backpack" desc = "It's a backpack especially designed for use in a sterile environment." icon_state = "medicalpack" - item_state = "medicalpack" /obj/item/storage/backpack/security name = "security backpack" desc = "It's a very robust backpack." icon_state = "securitypack" - item_state = "securitypack" /obj/item/storage/backpack/captain name = "captain's backpack" desc = "It's a special backpack made exclusively for Nanotrasen officers." icon_state = "captainpack" - item_state = "captainpack" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/industrial name = "industrial backpack" desc = "It's a tough backpack for the daily grind of station life." icon_state = "engiepack" - item_state = "engiepack" + inhand_icon_state = "backpack" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/industrial/atmos name = "atmospherics backpack" desc = "It's a fireproof backpack for Atmospherics Staff." icon_state = "atmospack" - item_state = "atmospack" /obj/item/storage/backpack/explorer name = "explorer bag" desc = "A robust backpack for stashing your loot." icon_state = "explorerpack" - item_state = "explorerpack" /obj/item/storage/backpack/botany name = "botany backpack" desc = "It's a backpack made of all-natural fibers." icon_state = "botpack" - item_state = "botpack" /obj/item/storage/backpack/chemistry name = "chemistry backpack" desc = "A backpack specially designed to repel stains and hazardous liquids." icon_state = "chempack" - item_state = "chempack" /obj/item/storage/backpack/genetics name = "genetics backpack" desc = "A bag designed to be super tough, just in case someone hulks out on you." icon_state = "genepack" - item_state = "genepack" /obj/item/storage/backpack/science name = "science backpack" desc = "A specially designed backpack. It's fire resistant and smells vaguely of plasma." icon_state = "toxpack" - item_state = "toxpack" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/virology name = "virology backpack" desc = "A backpack made of hypo-allergenic fibers. It's designed to help prevent the spread of disease. Smells like monkey." icon_state = "viropack" - item_state = "viropack" /obj/item/storage/backpack/blueshield name = "blueshield backpack" desc = "A robust backpack issued to Nanotrasen's finest." icon_state = "blueshieldpack" - item_state = "blueshieldpack" /obj/item/storage/backpack/robotics name = "robotics backpack" desc = "A specially designed backpack. It's fire resistant and smells vaguely of welding fuel." icon_state = "robopack" - item_state = "robopack" + inhand_icon_state = "backpack" resistance_flags = FIRE_PROOF /* @@ -231,139 +213,125 @@ name = "leather satchel" desc = "It's a very fancy satchel made with fine leather." icon_state = "satchel" - item_state = "satchel" + inhand_icon_state = "satchel" resistance_flags = FIRE_PROOF var/strap_side_straight = FALSE /obj/item/storage/backpack/satchel/examine(mob/user) . = ..() - . += "You can Alt-Shift-Click [src] to flip it's strap side." + . += "You can Alt-Shift-Click [src] to flip its strap side." /obj/item/storage/backpack/satchel/AltShiftClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) return strap_side_straight = !strap_side_straight - item_state = strap_side_straight ? "satchel-flipped" : "satchel" - if(ishuman(loc)) - var/mob/living/carbon/human/H = loc - H.update_inv_back() + worn_icon_state = "satchel[strap_side_straight ? "-flipped" : ""]" + if(user.back == src) + user.update_inv_back() + +/obj/item/storage/backpack/satchel/withwallet/populate_contents() + new /obj/item/storage/wallet/random(src) /obj/item/storage/backpack/satcheldeluxe name = "leather satchel" desc = "An NT Deluxe satchel, with the finest quality leather and the company logo in a thin gold stitch." icon_state = "nt_deluxe" - item_state = "satchel" + worn_icon_state = "satchel" + inhand_icon_state = "satchel" /obj/item/storage/backpack/satchel/lizard name = "lizard skin handbag" desc = "A handbag made out of what appears to be supple green Unathi skin. A face can be vaguely seen on the front." icon_state = "satchel-lizard" - item_state = null - -/obj/item/storage/backpack/satchel/withwallet/populate_contents() - new /obj/item/storage/wallet/random(src) /obj/item/storage/backpack/satchel_norm name = "satchel" desc = "A deluxe NT Satchel, made of the highest quality leather." icon_state = "satchel-norm" - item_state = "satchel-norm" /obj/item/storage/backpack/satchel/clown name = "Tickles Von Squeakerton" desc = "A satchel with extra pockets for all your banana storing needs!" icon_state = "satchel-clown" - item_state = "satchel-clown" /obj/item/storage/backpack/satchel_eng name = "industrial satchel" desc = "A tough satchel with extra pockets." icon_state = "satchel-eng" - item_state = "satchel-eng" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/satchel_atmos name = "atmospherics satchel" desc = "A fireproof satchel for keeping gear safe." icon_state = "satchel-atmos" - item_state = "satchel-atmos" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/satchel/explorer name = "explorer satchel" desc = "A robust satchel for stashing your loot." icon_state = "satchel-explorer" - item_state = "satchel-explorer" /obj/item/storage/backpack/satchel_med name = "medical satchel" desc = "A sterile satchel used in medical departments." icon_state = "satchel-med" - item_state = "satchel-med" /obj/item/storage/backpack/satchel_vir name = "virologist satchel" desc = "A sterile satchel with virologist colours." icon_state = "satchel-vir" - item_state = "satchel-vir" + worn_icon_state = null + inhand_icon_state = null /obj/item/storage/backpack/satchel_chem name = "chemist satchel" desc = "A sterile satchel with chemist colours." icon_state = "satchel-chem" - item_state = "satchel-chem" /obj/item/storage/backpack/satchel_gen name = "geneticist satchel" desc = "A sterile satchel with geneticist colours." icon_state = "satchel-gen" - item_state = "satchel-gen" /obj/item/storage/backpack/satchel_tox name = "scientist satchel" desc = "Useful for holding research materials." icon_state = "satchel-tox" - item_state = "satchel-tox" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/satchel_sec name = "security satchel" desc = "A robust satchel for security related needs." icon_state = "satchel-sec" - item_state = "satchel-sec" /obj/item/storage/backpack/satchel_hyd name = "hydroponics satchel" desc = "A green satchel for plant related work." icon_state = "satchel-hyd" - item_state = "satchel-hyd" /obj/item/storage/backpack/satchel_cap name = "captain's satchel" desc = "An exclusive satchel for Nanotrasen officers." icon_state = "satchel-cap" - item_state = "satchel-cap" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/satchel_blueshield name = "blueshield satchel" desc = "A robust satchel issued to Nanotrasen's finest." icon_state = "satchel-blueshield" - item_state = "satchel-blueshield" /obj/item/storage/backpack/satchel_robo name = "bioengineer satchel" desc = "A black satchel designed for holding repair equipment." icon_state = "satchel-robo" - item_state = "satchel-robo" + inhand_icon_state = "satchel-norm" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/satchel_flat name = "smuggler's satchel" desc = "A very slim satchel that can easily fit into tight spaces." icon_state = "satchel-flat" - item_state = "satchel-flat" w_class = WEIGHT_CLASS_NORMAL //Can fit in backpacks itself. max_combined_w_class = 15 level = 1 @@ -391,7 +359,6 @@ name = "duffelbag" desc = "A large grey duffelbag designed to hold more items than a regular bag. It slows you down when unzipped." icon_state = "duffel" - item_state = "duffel" max_combined_w_class = 30 /// Is the bag zipped up? var/zipped = TRUE @@ -399,8 +366,6 @@ var/zip_time = 0.7 SECONDS /// This variable is used to change the icon state to the variable when opened var/open_icon_sprite - /// This variable is used to change the item state to the variable when opened - var/open_item_sprite /// Do we want the bag to be antidropped when zipped up? var/antidrop_on_zip = FALSE @@ -443,17 +408,9 @@ if(!zipped) if(open_icon_sprite) icon_state = open_icon_sprite - if(open_item_sprite) - item_state = open_item_sprite else if(open_icon_sprite) icon_state = initial(icon_state) - item_state = initial(item_state) - if(ishuman(loc)) - var/mob/living/carbon/human/H = loc - H.update_inv_r_hand() - H.update_inv_l_hand() - // The following three procs handle refusing access to contents if the duffel is zipped @@ -495,7 +452,6 @@ name = "suspicious looking duffelbag" desc = "A large duffelbag for holding extra tactical supplies." icon_state = "duffel-syndiammo" - item_state = "duffel-syndiammo" origin_tech = "syndicate=1" silent = TRUE zip_time = 0 @@ -505,7 +461,6 @@ name = "suspicious duffelbag" desc = "A black and red duffelbag with a red and white cross sewn onto it." icon_state = "duffel-syndimed" - item_state = "duffel-syndimed" /obj/item/storage/backpack/duffel/syndie/shotgun desc = "A large duffelbag, packed to the brim with Bulldog shotgun ammo." @@ -527,7 +482,7 @@ new /obj/item/ammo_box/magazine/m12g/xtr_lrg/buckshot(src) new /obj/item/ammo_box/magazine/m12g/xtr_lrg/dragon(src) -/obj/item/storage/backpack/duffel/mining_conscript/ +/obj/item/storage/backpack/duffel/mining_conscript name = "mining conscription kit" desc = "A kit containing everything a crewmember needs to support a shaft miner in the field." @@ -544,7 +499,6 @@ new /obj/item/flashlight/seclite(src) new /obj/item/clothing/suit/hooded/explorer(src) - /obj/item/storage/backpack/duffel/syndie/smg desc = "A large duffel bag, packed to the brim with C-20r magazines." @@ -631,7 +585,8 @@ name = "magic nanny bag" desc = "Not to be confused with a magic granny bag. Zip it up to make it unable to be dropped while closed." icon_state = "magic_nanny_bag" - item_state = "magic_nanny_bag" + worn_icon_state = "magic_nanny_bag" + inhand_icon_state = "magic_nanny_bag" max_w_class = WEIGHT_CLASS_HUGE slot_flags = 0 storage_slots = 98 //Most that fits on your screen. Good luck getting that much in there. @@ -642,7 +597,6 @@ open_icon_sprite = "magic_nanny_bag_open" antidrop_on_zip = TRUE - /obj/item/storage/backpack/duffel/magic_nanny_bag/populate_contents(attempts = 0) var/value = 0 //Melee Weapon @@ -809,89 +763,77 @@ name = "captain's duffelbag" desc = "A duffelbag designed to hold large quantities of condoms." icon_state = "duffel-captain" - item_state = "duffel-captain" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/duffel/security name = "security duffelbag" desc = "A duffelbag built with robust fabric!" icon_state = "duffel-security" - item_state = "duffel-security" /obj/item/storage/backpack/duffel/virology name = "virology duffelbag" desc = "A white duffelbag designed to contain biohazards." icon_state = "duffel-viro" - item_state = "duffel-viro" /obj/item/storage/backpack/duffel/science name = "scientist duffelbag" desc = "A duffelbag designed to hold the secrets of space." icon_state = "duffel-toxins" - item_state = "duffel-toxins" /obj/item/storage/backpack/duffel/genetics name = "geneticist duffelbag" desc = "A duffelbag designed to hold gibbering monkies." icon_state = "duffel-gene" - item_state = "duffel-gene" /obj/item/storage/backpack/duffel/chemistry name = "chemist duffelbag" desc = "A duffelbag designed to hold corrosive substances." icon_state = "duffel-chemistry" - item_state = "duffel-chemistry" /obj/item/storage/backpack/duffel/medical name = "medical duffelbag" desc = "A duffelbag designed to hold medicine." icon_state = "duffel-med" - item_state = "duffel-med" /obj/item/storage/backpack/duffel/engineering name = "industrial duffelbag" desc = "A duffelbag designed to hold tools." icon_state = "duffel-eng" - item_state = "duffel-eng" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/duffel/atmos name = "atmospherics duffelbag" desc = "A duffelbag designed to hold tools. This one is specially designed for atmospherics." icon_state = "duffel-atmos" - item_state = "duffel-atmos" resistance_flags = FIRE_PROOF /obj/item/storage/backpack/duffel/hydro name = "hydroponics duffelbag" desc = "A duffelbag designed to hold seeds and fauna." icon_state = "duffel-hydro" - item_state = "duffel-hydro" /obj/item/storage/backpack/duffel/clown name = "smiles von wiggleton" desc = "A duffelbag designed to hold bananas and bike horns." icon_state = "duffel-clown" - item_state = "duffel-clown" /obj/item/storage/backpack/duffel/blueshield name = "blueshield duffelbag" desc = "A robust duffelbag issued to Nanotrasen's finest." icon_state = "duffel-blueshield" - item_state = "duffel-blueshield" /obj/item/storage/backpack/duffel/robotics name = "roboticist duffelbag" desc = "A duffelbag designed to hold tools." icon_state = "duffel-robo" - item_state = "duffel-robo" + inhand_icon_state = "duffel" //ERT backpacks. /obj/item/storage/backpack/ert name = "emergency response team backpack" desc = "A spacious backpack with lots of pockets, used by members of the Nanotrasen Emergency Response Team." icon_state = "ert_commander" - item_state = null + inhand_icon_state = "backpack" max_combined_w_class = 30 resistance_flags = FIRE_PROOF @@ -934,4 +876,4 @@ name = "Deathsquad backpack" desc = "A spacious red & black combat rucksack made of lightweight nanomesh. Likely the most intimidating backpack one will ever see." icon_state = "ert_security" - + inhand_icon_state = null diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 7e09e5c9d3f..d75a14921eb 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -115,7 +115,6 @@ desc = "It's a very flimsy, very noisy alternative to a bag." icon = 'icons/obj/trash.dmi' icon_state = "plasticbag" - item_state = "plasticbag" slot_flags = ITEM_SLOT_HEAD|ITEM_SLOT_BELT w_class = WEIGHT_CLASS_BULKY display_contents_with_number = 0 //or else this will lead to stupid behavior. @@ -128,7 +127,6 @@ return FALSE return ..() - /obj/item/storage/bag/plasticbag/equipped(mob/user, slot) if(slot==ITEM_SLOT_HEAD) storage_slots = 0 @@ -508,7 +506,6 @@ desc = "A bag for envelopes, stamps, pens, and papers." icon = 'icons/obj/bureaucracy.dmi' icon_state = "mailbag" - item_state = "mailbag" storage_slots = 14 max_combined_w_class = 28 prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS @@ -524,7 +521,6 @@ desc = "A bag for storing various small scale construction supplies, such as wiring and circuit boards." icon = 'icons/obj/tools.dmi' icon_state = "construction_bag" - item_state = "construction_bag" storage_slots = 30 max_combined_w_class = 60 prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS @@ -540,7 +536,6 @@ desc = "A fireproof bag for storing modifications, casts, and modification components." icon = 'icons/obj/tools.dmi' icon_state = "smith_bag" - item_state = "smith_bag" storage_slots = 30 max_combined_w_class = 60 prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 38bb7a8a6ec..1b311fe0763 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -2,8 +2,7 @@ name = "belt" desc = "Can hold various things." icon = 'icons/obj/clothing/belts.dmi' - icon_state = "utilitybelt" - item_state = "utility" + icon_state = "utility" lefthand_file = 'icons/mob/inhands/equipment/belt_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/belt_righthand.dmi' slot_flags = ITEM_SLOT_BELT @@ -133,8 +132,7 @@ /obj/item/storage/belt/utility/chief name = "advanced toolbelt" desc = "Holds tools, looks snazzy, and fits nicely into a bag." - icon_state = "utilitybelt_ce" - item_state = "utility_ce" + icon_state = "utility_ce" storable = TRUE /obj/item/storage/belt/utility/chief/full/populate_contents() @@ -151,8 +149,8 @@ /// A cool looking belt thats essentially a syndicate toolbox /obj/item/storage/belt/utility/syndi_researcher desc = "A belt for holding tools, but with style." - icon_state = "assaultbelt" - item_state = "assault" + icon_state = "assault" + inhand_icon_state = "utility" /obj/item/storage/belt/utility/syndi_researcher/populate_contents() new /obj/item/screwdriver(src, "red") @@ -166,8 +164,8 @@ /obj/item/storage/belt/utility/expedition desc = "A belt for holding tools, but with style." - icon_state = "assaultbelt" - item_state = "assault" + icon_state = "assault" + inhand_icon_state = "utility" /obj/item/storage/belt/utility/expedition/populate_contents() new /obj/item/screwdriver(src, "blue") @@ -187,8 +185,7 @@ /obj/item/storage/belt/medical name = "medical belt" desc = "Can hold various medical equipment." - icon_state = "medicalbelt" - item_state = "medical" + icon_state = "medical" use_to_pickup = TRUE //Allow medical belt to pick up medicine use_item_overlays = TRUE max_w_class = WEIGHT_CLASS_NORMAL @@ -261,8 +258,7 @@ /obj/item/storage/belt/botany name = "botanist belt" desc = "Can hold various botanical supplies." - icon_state = "botanybelt" - item_state = "botany" + icon_state = "botany" use_item_overlays = TRUE can_hold = list( /obj/item/plant_analyzer, @@ -296,8 +292,7 @@ /obj/item/storage/belt/security name = "security belt" desc = "Can hold security gear like handcuffs and flashes." - icon_state = "securitybelt" - item_state = "security"//Could likely use a better one. + icon_state = "security" storage_slots = 5 max_w_class = WEIGHT_CLASS_NORMAL use_item_overlays = TRUE @@ -357,7 +352,7 @@ name = "security webbing" desc = "Unique and versatile chest rig, can hold security gear." icon_state = "securitywebbing" - item_state = "securitywebbing" + inhand_icon_state = "webbing" storage_slots = 6 max_combined_w_class = 15 use_item_overlays = FALSE @@ -367,7 +362,7 @@ name = "\improper Federation combat webbing" desc = "A tactical chest rig used by soldiers and marines of the Trans-Solar Federation. It's covered in pouches and attachment points." icon_state = "federationwebbing" - item_state = "federationwebbing" + inhand_icon_state = "webbing" storage_slots = 15 max_combined_w_class = 25 layer_over_suit = TRUE @@ -390,7 +385,6 @@ name = "soul stone belt" desc = "Designed for ease of access to the shards during a fight, as to not let a single enemy spirit slip away." icon_state = "soulstonebelt" - item_state = "soulstonebelt" storage_slots = 6 use_item_overlays = TRUE can_hold = list( @@ -406,8 +400,7 @@ /obj/item/storage/belt/champion name = "championship belt" desc = "Proves to the world that you are the strongest!" - icon_state = "championbelt" - item_state = "champion" + icon_state = "champion" materials = list(MAT_GOLD=400) storage_slots = TRUE can_hold = list( @@ -417,8 +410,7 @@ /obj/item/storage/belt/military name = "military belt" desc = "A syndicate belt designed to be used by boarding parties. Its style is modelled after the hardsuits they wear." - icon_state = "militarybelt" - item_state = "military" + icon_state = "military" max_combined_w_class = 18 resistance_flags = FIRE_PROOF use_item_overlays = TRUE // Will show the tools on the sprite @@ -433,14 +425,13 @@ ) /obj/item/storage/belt/military/sst - icon_state = "assaultbelt" - item_state = "assault" + icon_state = "assault" + inhand_icon_state = "utility" /obj/item/storage/belt/military/traitor name = "tool-belt" desc = "Can hold various tools. This model seems to have additional compartments and folds up rather nicely into a bag." - icon_state = "utilitybelt" - item_state = "utility" + icon_state = "utility" storable = TRUE /obj/item/storage/belt/military/traitor/hacker/populate_contents() @@ -456,8 +447,8 @@ /obj/item/storage/belt/grenade name = "grenadier belt" desc = "A belt for holding grenades." - icon_state = "assaultbelt" - item_state = "assault" + icon_state = "assault" + inhand_icon_state = "utility" storage_slots = 30 max_combined_w_class = 60 display_contents_with_number = TRUE @@ -465,7 +456,7 @@ /obj/item/grenade, /obj/item/lighter, /obj/item/reagent_containers/drinks/bottle/molotov - ) + ) /obj/item/storage/belt/grenade/full/populate_contents() for(var/I in 1 to 4) @@ -499,8 +490,8 @@ /obj/item/storage/belt/military/assault name = "assault belt" desc = "A tactical assault belt." - icon_state = "assaultbelt" - item_state = "assault" + icon_state = "assault" + inhand_icon_state = "utility" storage_slots = 6 w_class_override = list( /obj/item/crowbar, @@ -550,8 +541,7 @@ /obj/item/storage/belt/viper name = "utility belt" desc = "Holds smokebombs, bolas, and knives. Excellent for sneaking around." - icon_state = "securitybelt" - item_state = "security" + icon_state = "security" max_w_class = WEIGHT_CLASS_NORMAL max_combined_w_class = 18 can_hold = list( @@ -570,7 +560,6 @@ name = "janibelt" desc = "A belt used to hold most janitorial supplies." icon_state = "janibelt" - item_state = "janibelt" storage_slots = 6 max_w_class = WEIGHT_CLASS_BULKY // Set to this so the light replacer can fit. use_item_overlays = TRUE @@ -601,7 +590,8 @@ desc = "For the mining master, holds your lazarus capsules." icon_state = "lazarusbelt_0" base_icon_state = "lazarusbelt" - item_state = "lazbelt" + worn_icon_state = "lazbelt" + inhand_icon_state = "utility" w_class = WEIGHT_CLASS_BULKY max_w_class = WEIGHT_CLASS_TINY max_combined_w_class = 6 @@ -626,12 +616,12 @@ ..() update_icon() - /obj/item/storage/belt/bandolier name = "bandolier" desc = "A bandolier for holding shotgun ammunition." icon_state = "bandolier_0" - item_state = "bandolier" + worn_icon_state = "bandolier" + inhand_icon_state = "bandolier" storage_slots = 16 max_combined_w_class = 16 layer_over_suit = TRUE @@ -660,7 +650,6 @@ name = "shoulder holster" desc = "A holster to conceal a carried handgun. WARNING: Badasses only." icon_state = "holster" - item_state = "holster" storage_slots = 1 max_w_class = WEIGHT_CLASS_NORMAL can_hold = list( @@ -672,7 +661,6 @@ name = "wand belt" desc = "A belt designed to hold various rods of power. A veritable fanny pack of exotic magic." icon_state = "soulstonebelt" - item_state = "soulstonebelt" storage_slots = 6 use_item_overlays = TRUE can_hold = list( @@ -695,8 +683,7 @@ /obj/item/storage/belt/wands/fireballs name = "infernal belt" desc = "\"Use Fireball and only Fireball. Nothing but fireball. Just Fireball. Just Fireball.\"" - icon_state = "militarybelt" - item_state = "military" + icon_state = "military" can_hold = list(/obj/item/gun/magic/wand/fireball) /obj/item/storage/belt/wands/fireballs/populate_contents() @@ -710,7 +697,6 @@ name = "\improper Runic Belt" desc = "A belt designed to hold safely contain Plague Talismans. Better hope it doesn't start dripping..." icon_state = "soulstonebelt" - item_state = "soulstonebelt" storage_slots = 5 use_item_overlays = TRUE can_hold = list( @@ -726,64 +712,52 @@ name = "fannypack" desc = "A dorky fannypack for keeping small items in." icon_state = "fannypack_leather" - item_state = "fannypack_leather" storage_slots = 3 /obj/item/storage/belt/fannypack/black name = "black fannypack" icon_state = "fannypack_black" - item_state = "fannypack_black" /obj/item/storage/belt/fannypack/red name = "red fannypack" icon_state = "fannypack_red" - item_state = "fannypack_red" /obj/item/storage/belt/fannypack/purple name = "purple fannypack" icon_state = "fannypack_purple" - item_state = "fannypack_purple" /obj/item/storage/belt/fannypack/blue name = "blue fannypack" icon_state = "fannypack_blue" - item_state = "fannypack_blue" /obj/item/storage/belt/fannypack/orange name = "orange fannypack" icon_state = "fannypack_orange" - item_state = "fannypack_orange" /obj/item/storage/belt/fannypack/white name = "white fannypack" icon_state = "fannypack_white" - item_state = "fannypack_white" /obj/item/storage/belt/fannypack/green name = "green fannypack" icon_state = "fannypack_green" - item_state = "fannypack_green" /obj/item/storage/belt/fannypack/pink name = "pink fannypack" icon_state = "fannypack_pink" - item_state = "fannypack_pink" /obj/item/storage/belt/fannypack/cyan name = "cyan fannypack" icon_state = "fannypack_cyan" - item_state = "fannypack_cyan" /obj/item/storage/belt/fannypack/yellow name = "yellow fannypack" icon_state = "fannypack_yellow" - item_state = "fannypack_yellow" /obj/item/storage/belt/sheath name = "sword sheath" desc = "Can hold swords. If you see this, it is a bug. Please report this on GitHub." icon_state = "sheath" - item_state = "sheath" storage_slots = 1 w_class = WEIGHT_CLASS_BULKY max_w_class = WEIGHT_CLASS_BULKY @@ -823,13 +797,8 @@ /obj/item/storage/belt/sheath/update_icon_state() if(length(contents)) icon_state = "[base_icon_state]-sword" - item_state = "[base_icon_state]-sword" else icon_state = base_icon_state - item_state = base_icon_state - if(isliving(loc)) - var/mob/living/L = loc - L.update_inv_belt() /obj/item/storage/belt/sheath/saber name = "saber sheath" @@ -869,7 +838,7 @@ name = "Belt of Holding" desc = "A bleeding-edge storage medium that incorporates principles developed for the Bag of Holding into belt form." icon_state = "holdingbelt" - item_state = "holdingbelt" + inhand_icon_state = "utility" storage_slots = 14 w_class = WEIGHT_CLASS_BULKY max_combined_w_class = 21 // = 14 * 1.5, not 14 * 2. This is deliberate @@ -889,8 +858,7 @@ /obj/item/storage/belt/bluespace/owlman name = "Owlman's utility belt" desc = "Sometimes people choose justice. Sometimes, justice chooses you..." - icon_state = "securitybelt" - item_state = "security" + icon_state = "security" storage_slots = 6 max_w_class = WEIGHT_CLASS_NORMAL max_combined_w_class = 18 @@ -953,7 +921,6 @@ name = "Admin's Tool-belt" desc = "Holds everything for those that run everything." icon_state = "soulstonebelt" - item_state = "soulstonebelt" w_class = 10 // permit holding other storage items storage_slots = 28 max_w_class = 10 @@ -968,15 +935,10 @@ new /obj/item/wrench(src) new /obj/item/multitool(src) new /obj/item/stack/cable_coil(src) - new /obj/item/restraints/handcuffs(src) new /obj/item/dnainjector/firemut(src) new /obj/item/dnainjector/telemut(src) new /obj/item/dnainjector/hulkmut(src) -// new /obj/item/spellbook(src) // for smoke effects, door openings, etc -// new /obj/item/magic/spellbook(src) - -// new/obj/item/reagent_containers/hypospray/admin(src) /obj/item/storage/belt/bluespace/sandbox name = "Sandbox Mode Toolbelt" @@ -995,7 +957,6 @@ new /obj/item/wrench(src) new /obj/item/multitool(src) new /obj/item/stack/cable_coil(src) - new /obj/item/analyzer(src) new /obj/item/healthanalyzer(src) @@ -1003,7 +964,6 @@ name = "explorer's webbing" desc = "A versatile chest rig, cherished by miners and hunters alike." icon_state = "explorer1" - item_state = "explorer1" storage_slots = 6 max_w_class = WEIGHT_CLASS_BULKY max_combined_w_class = 20 @@ -1054,20 +1014,17 @@ /obj/item/storage/belt/mining/alt icon_state = "explorer2" - item_state = "explorer2" /obj/item/storage/belt/mining/primitive name = "hunter's belt" desc = "A versatile belt, woven from sinew." icon_state = "ebelt" - item_state = "ebelt" storage_slots = 5 /obj/item/storage/belt/chef name = "culinary tool apron" desc = "An apron with various pockets for holding all your cooking tools and equipment." icon_state = "chefbelt" - item_state = "chefbelt" storage_slots = 10 max_w_class = WEIGHT_CLASS_NORMAL max_combined_w_class = 25 diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 27a2a819aa6..2e59dfc41a0 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -24,7 +24,7 @@ desc = "It's just an ordinary box." icon = 'icons/obj/boxes.dmi' icon_state = "box" - item_state = "syringe_kit" + inhand_icon_state = "syringe_kit" resistance_flags = FLAMMABLE drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' @@ -1067,7 +1067,6 @@ desc = "A sack neatly crafted out of paper." icon = 'icons/obj/storage.dmi' icon_state = "paperbag_None" - item_state = "paperbag_None" foldable = null var/design = NODESIGN @@ -1086,11 +1085,7 @@ desc = "A paper sack with a crude smile etched onto the side." /obj/item/storage/box/papersack/update_icon_state() - item_state = "paperbag_[design]" - if(!length(contents)) - icon_state = "[item_state]" - else - icon_state = "[item_state]_closed" + icon_state = "paperbag_[design][length(contents) ? "_closed" : ""]" /obj/item/storage/box/papersack/attackby__legacy__attackchain(obj/item/W, mob/user, params) if(is_pen(W)) @@ -1113,12 +1108,12 @@ return else if(W.sharp) if(!length(contents)) - if(item_state == "paperbag_None") + if(icon_state == "paperbag_None") to_chat(user, "You cut eyeholes into [src].") new /obj/item/clothing/head/papersack(user.loc) qdel(src) return - else if(item_state == "paperbag_SmileyFace") + else if(icon_state == "paperbag_SmileyFace") to_chat(user, "You cut eyeholes into [src] and modify the design.") new /obj/item/clothing/head/papersack/smiley(user.loc) qdel(src) diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index 7b8524fe66d..d1ed97e4a46 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -2,7 +2,6 @@ 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" - item_state = "briefcase" flags = CONDUCT hitsound = "swing_hit" use_sound = 'sound/effects/briefcase.ogg' diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index a867e00c74c..3b101ab6dce 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -2,7 +2,7 @@ name = "lockbox" desc = "A locked box." icon_state = "lockbox+l" - item_state = "syringe_kit" + inhand_icon_state = "syringe_kit" w_class = WEIGHT_CLASS_BULKY max_w_class = WEIGHT_CLASS_NORMAL storage_slots = 4 diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index 2e60afda794..fff28d5e001 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -201,7 +201,7 @@ name = "secure briefcase" desc = "A large briefcase with a digital locking system." icon_state = "secure" - item_state = "sec-case" + inhand_icon_state = "sec-case" flags = CONDUCT hitsound = "swing_hit" use_sound = 'sound/effects/briefcase.ogg' diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index a0b093cb822..2dae2588d70 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -2,7 +2,7 @@ name = "toolbox" desc = "Danger. Very robust." icon_state = "toolbox_default" - item_state = "toolbox_default" + inhand_icon_state = "toolbox_default" lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' flags = CONDUCT @@ -39,7 +39,7 @@ /obj/item/storage/toolbox/emergency name = "emergency toolbox" icon_state = "red" - item_state = "toolbox_red" + inhand_icon_state = "toolbox_red" /obj/item/storage/toolbox/emergency/populate_contents() new /obj/item/crowbar/small(src) @@ -59,7 +59,7 @@ /obj/item/storage/toolbox/mechanical name = "mechanical toolbox" icon_state = "blue" - item_state = "toolbox_blue" + inhand_icon_state = "toolbox_blue" /obj/item/storage/toolbox/mechanical/populate_contents() new /obj/item/screwdriver(src) @@ -80,7 +80,7 @@ /obj/item/storage/toolbox/electrical name = "electrical toolbox" icon_state = "yellow" - item_state = "toolbox_yellow" + inhand_icon_state = "toolbox_yellow" /obj/item/storage/toolbox/electrical/populate_contents() var/pickedcolor = pick(COLOR_RED, COLOR_YELLOW, COLOR_GREEN, COLOR_BLUE, COLOR_PINK, COLOR_ORANGE, COLOR_CYAN, COLOR_WHITE) @@ -98,7 +98,7 @@ /obj/item/storage/toolbox/syndicate name = "suspicious looking toolbox" icon_state = "syndicate" - item_state = "toolbox_syndi" + inhand_icon_state = "toolbox_syndi" origin_tech = "combat=2;syndicate=1;engineering=2" silent = TRUE force = 15 @@ -116,16 +116,16 @@ /obj/item/storage/toolbox/fakesyndi name = "suspicous looking toolbox" icon_state = "syndicate" - item_state = "toolbox_syndi" + inhand_icon_state = "toolbox_syndi" desc = "Danger. Very Robust. The paint is still wet." /obj/item/storage/toolbox/drone name = "mechanical toolbox" icon_state = "blue" - item_state = "toolbox_blue" + inhand_icon_state = "toolbox_blue" /obj/item/storage/toolbox/drone/populate_contents() - var/pickedcolor = pick(pick(COLOR_RED, COLOR_YELLOW, COLOR_GREEN, COLOR_BLUE, COLOR_PINK, COLOR_ORANGE, COLOR_CYAN, COLOR_WHITE)) + var/pickedcolor = pick(COLOR_RED, COLOR_YELLOW, COLOR_GREEN, COLOR_BLUE, COLOR_PINK, COLOR_ORANGE, COLOR_CYAN, COLOR_WHITE) new /obj/item/screwdriver(src) new /obj/item/wrench(src) new /obj/item/weldingtool(src) @@ -138,7 +138,7 @@ name = "artistic toolbox" desc = "A toolbox painted bright green. Why anyone would store art supplies in a toolbox is beyond you, but it has plenty of extra space." icon_state = "green" - item_state = "artistic_toolbox" + inhand_icon_state = "artistic_toolbox" w_class = WEIGHT_CLASS_GIGANTIC //Holds more than a regular toolbox! max_combined_w_class = 20 storage_slots = 10 diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 470907bf41b..5d146dbb05f 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -437,8 +437,7 @@ if(prob(25)) //an omen of success to come? B.deity_name = "Success" B.icon_state = "greentext" - B.item_state = "greentext" - + B.inhand_icon_state = "greentext" /obj/item/storage/box/syndie_kit/cutouts name = "Fortified Artistic Box" diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 1b5235edf9f..83b752dbd2d 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -3,8 +3,6 @@ desc = "A stun baton for incapacitating people with." icon = 'icons/obj/weapons/baton.dmi' icon_state = "stunbaton" - var/base_icon = "stunbaton" - item_state = null belt_icon = "stunbaton" slot_flags = ITEM_SLOT_BELT force = 10 @@ -13,6 +11,7 @@ attack_verb = list("beaten") armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, RAD = 0, FIRE = 80, ACID = 80) new_attack_chain = TRUE + var/base_icon = "stunbaton" /// How many seconds does the knockdown last for? var/knockdown_duration = 10 SECONDS /// how much stamina damage does this baton do? @@ -388,7 +387,7 @@ desc = "A mechanical mass which you can use to incapacitate someone with." icon_state = "swarmprod" base_icon = "swarmprod" - item_state = "swarmprod" + inhand_icon_state = "swarmprod" throwforce = 0 // Just in case knockdown_duration = 6 SECONDS knockdown_delay = 0 SECONDS diff --git a/code/game/objects/items/weapons/thurible.dm b/code/game/objects/items/weapons/thurible.dm index 8bc8270323a..dd62e04b1ab 100644 --- a/code/game/objects/items/weapons/thurible.dm +++ b/code/game/objects/items/weapons/thurible.dm @@ -2,10 +2,9 @@ name = "thurible" desc = "A religious artifact used to burn and spread incense when swung from the attached chain." icon = 'icons/obj/weapons/magical_weapons.dmi' + icon_state = "thurible" lefthand_file = 'icons/mob/inhands/religion_lefthand.dmi' righthand_file = 'icons/mob/inhands/religion_righthand.dmi' - icon_state = "thurible" - item_state = "thurible" force = 10 throwforce = 7 flags = CONDUCT @@ -45,10 +44,8 @@ /obj/item/thurible/update_appearance() if(lit) icon_state = "thurible-lit" - item_state = "thurible-lit" else icon_state = "thurible" - item_state = "thurible" if(ishuman(loc)) var/mob/living/carbon/human/H = loc if(H.r_hand == src || H.l_hand == src) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index a9eb7e5fce6..0737eb15e6c 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -688,13 +688,13 @@ /obj/item/clothing/gloves/color/black/pyro_claws name = "Fusion gauntlets" desc = "A pair of heavy combat gauntlets that project lethal energy claws via the power of a captive pyroclastic anomaly core." - item_state = "pyro" - item_color = "pyro" // I will kill washing machines one day icon_state = "pyro" + inhand_icon_state = null + worn_icon_state = null + item_color = "pyro" // I will kill washing machines one day can_be_cut = FALSE actions_types = list(/datum/action/item_action/toggle) dyeable = FALSE - var/on_cooldown = FALSE var/obj/item/assembly/signaler/anomaly/pyro/core var/next_spark_time diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 0e1faacf962..ee1fc82fccd 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -51,11 +51,10 @@ /obj/item/claymore name = "claymore" desc = "What are you standing around staring at this for? Get to killing!" - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon = 'icons/obj/weapons/melee.dmi' icon_state = "claymore" - item_state = "claymore" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' flags = CONDUCT hitsound = 'sound/weapons/bladeslice.ogg' slot_flags = ITEM_SLOT_BELT @@ -82,11 +81,10 @@ /obj/item/katana name = "katana" desc = "Woefully underpowered in D20." - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon = 'icons/obj/weapons/melee.dmi' icon_state = "katana" - item_state = "katana" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' flags = CONDUCT slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK flags_2 = ALLOW_BELT_NO_JUMPSUIT_2 //Look, you can strap it to your back. You can strap it to your waist too. @@ -104,20 +102,18 @@ . = ..() AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = ALL_ATTACK_TYPES) - /obj/item/katana/suicide_act(mob/user) user.visible_message("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!") return BRUTELOSS /obj/item/harpoon name = "harpoon" - sharp = TRUE desc = "Tharr she blows!" - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon = 'icons/obj/weapons/melee.dmi' icon_state = "harpoon" - item_state = "harpoon" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' + sharp = TRUE force = 20 throwforce = 15 attack_verb = list("jabbed","stabbed","ripped") @@ -126,7 +122,7 @@ name = "wired rod" desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit." icon_state = "wiredrod" - item_state = "rods" + inhand_icon_state = "rods" flags = CONDUCT force = 9 throwforce = 10 @@ -166,7 +162,9 @@ desc = "An ancient weapon still used to this day due to it's ease of lodging itself into victim's body parts." icon = 'icons/obj/weapons/melee.dmi' icon_state = "throwingstar" - item_state = "eshield0" + inhand_icon_state = "eshield0" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' force = 2 throwforce = 20 //This is never used on mobs since this has a 100% embed chance. throw_speed = 4 @@ -182,21 +180,19 @@ name = "\improper Kidan spear" desc = "A one-handed spear brought over from the Kidan homeworld." icon_state = "kidanspear" - item_state = "kidanspear" throwforce = 15 /obj/item/melee/baseball_bat name = "baseball bat" desc = "There ain't a skull in the league that can withstand a swatter." - flags_2 = RANDOM_BLOCKER_2 icon_state = "baseball_bat" - item_state = "baseball_bat" - var/deflectmode = FALSE // deflect small/medium thrown objects - var/lastdeflect + flags_2 = RANDOM_BLOCKER_2 force = 10 throwforce = 12 attack_verb = list("beat", "smacked") w_class = WEIGHT_CLASS_HUGE + var/deflectmode = FALSE // deflect small/medium thrown objects + var/lastdeflect var/next_throw_time = 0 var/homerun_ready = 0 var/homerun_able = 0 @@ -307,7 +303,6 @@ name = "metal baseball bat" desc = "This bat is made of highly reflective, highly armored material." icon_state = "baseball_bat_metal" - item_state = "baseball_bat_metal" force = 12 throwforce = 15 diff --git a/code/game/objects/mail.dm b/code/game/objects/mail.dm index decd1dd6dbd..46625acee8d 100644 --- a/code/game/objects/mail.dm +++ b/code/game/objects/mail.dm @@ -1,10 +1,10 @@ /obj/item/envelope name = "broken letter" desc = "We just got a letter, we just got a letter, we just got a letter -- I wonder who it's from?" - w_class = WEIGHT_CLASS_SMALL icon = 'icons/obj/bureaucracy.dmi' icon_state = "mail_misc" - item_state = "paper" + inhand_icon_state = "paper" + w_class = WEIGHT_CLASS_SMALL drop_sound = 'sound/items/handling/paper_drop.ogg' pickup_sound = 'sound/items/handling/paper_pickup.ogg' @@ -231,7 +231,6 @@ desc = "A portable mail scanner, this device allows you to log mail deliveries in exchange for financial compensation." icon = 'icons/obj/device.dmi' icon_state = "mail_scanner" - item_state = "mail_scanner" lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi' flags = CONDUCT diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 3c106a53ab8..dacefab579a 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -60,28 +60,24 @@ LINEN BINS /obj/item/bedsheet/blue icon_state = "sheetblue" - item_state = "bedsheetblue" item_color = "blue" dream_messages = list("blue") nightmare_messages = list("vox blood") /obj/item/bedsheet/green icon_state = "sheetgreen" - item_state = "bedsheetgreen" item_color = "green" dream_messages = list("green") nightmare_messages = list("unathi flesh") /obj/item/bedsheet/orange icon_state = "sheetorange" - item_state = "bedsheetorange" item_color = "orange" dream_messages = list("orange") nightmare_messages = list("exploding fruit") /obj/item/bedsheet/purple icon_state = "sheetpurple" - item_state = "bedsheetpurple" item_color = "purple" dream_messages = list("purple") nightmare_messages = list("Grey blood") @@ -90,7 +86,6 @@ LINEN BINS name = "patriotic bedsheet" desc = "You've never felt more free than when sleeping on this." icon_state = "sheetUSA" - item_state = "bedsheetUSA" item_color = "sheetUSA" dream_messages = list("America", "freedom", "fireworks", "bald eagles") nightmare_messages = list("communism") @@ -99,28 +94,24 @@ LINEN BINS name = "rainbow bedsheet" desc = "A multi_colored blanket. It's actually several different sheets cut up and sewn together." icon_state = "sheetrainbow" - item_state = "bedsheetrainbow" item_color = "rainbow" dream_messages = list("red", "orange", "yellow", "green", "blue", "purple", "a rainbow") nightmare_messages = list("green", "a cluwne", "fLoOr ClUwNe") /obj/item/bedsheet/red icon_state = "sheetred" - item_state = "bedsheetred" item_color = "red" dream_messages = list("red") nightmare_messages = list("gibs") /obj/item/bedsheet/yellow icon_state = "sheetyellow" - item_state = "bedsheetyellow" item_color = "yellow" dream_messages = list("yellow") nightmare_messages = list("locker full of banana peels") /obj/item/bedsheet/black icon_state = "sheetblack" - item_state = "bedsheetblack" item_color = "black" dream_messages = list("black") nightmare_messages = list("the void of space") @@ -129,7 +120,6 @@ LINEN BINS name = "mime's blanket" desc = "A very soothing striped blanket. All the noise just seems to fade out when you're under the covers in this." icon_state = "sheetmime" - item_state = "bedsheetmime" item_color = "mime" dream_messages = list("silence", "gestures", "a pale face", "a gaping mouth", "the mime") nightmare_messages = list("honk", "laughter", "a prank", "a joke", "a smiling face", "the clown") @@ -138,7 +128,6 @@ LINEN BINS name = "clown's blanket" desc = "A rainbow blanket with a clown mask woven in. It smells faintly of bananas." icon_state = "sheetclown" - item_state = "bedsheetclown" item_color = "clown" dream_messages = list("honk", "laughter", "a prank", "a joke", "a smiling face", "the clown") nightmare_messages = list("silence", "gestures", "a pale face", "a gaping mouth", "the mime") @@ -147,7 +136,6 @@ LINEN BINS name = "captain's bedsheet." desc = "It has a Nanotrasen symbol on it, and was woven with a revolutionary new kind of thread guaranteed to have 0.01% permeability for most non-chemical substances, popular among most modern captains." icon_state = "sheetcaptain" - item_state = "bedsheetcaptain" item_color = "captain" dream_messages = list("authority", "a golden ID", "sunglasses", "a green disc", "an antique gun", "the captain") nightmare_messages = list("comdom", "clown with all access", "the syndicate") @@ -156,7 +144,6 @@ LINEN BINS name = "research director's bedsheet" desc = "It appears to have a beaker emblem, and is made out of fire-resistant material, although it probably won't protect you in the event of fires you're familiar with every day." icon_state = "sheetrd" - item_state = "bedsheetrd" item_color = "director" dream_messages = list("authority", "a silvery ID", "a bomb", "a mech", "a facehugger", "maniacal laughter", "the research director") nightmare_messages = list("toxins full of plasma", "UPGRADE THE SLEEPERS", "rogue ai") @@ -170,7 +157,6 @@ LINEN BINS name = "medical blanket" desc = "It's a sterilized* blanket commonly used in the Medbay. *Sterilization is voided if a virologist is present onboard the station." icon_state = "sheetmedical" - item_state = "bedsheetmedical" item_color = "medical" dream_messages = list("healing", "life", "surgery", "a doctor") nightmare_messages = list("death", "no cryox", "cryo is off") @@ -179,7 +165,6 @@ LINEN BINS name = "chief medical officer's bedsheet" desc = "It's a sterilized blanket that has a cross emblem. There's some cat fur on it, likely from Runtime." icon_state = "sheetcmo" - item_state = "bedsheetcmo" item_color = "cmo" dream_messages = list("authority", "a silvery ID", "healing", "life", "surgery", "a cat", "the chief medical officer") nightmare_messages = list("chemists making meth", "cryo it off", "where is the defib", "no biomass") @@ -188,7 +173,6 @@ LINEN BINS name = "head of security's bedsheet" desc = "It is decorated with a shield emblem. While crime doesn't sleep, you do, but you are still THE LAW!" icon_state = "sheethos" - item_state = "bedsheethos" item_color = "hosred" dream_messages = list("authority", "a silvery ID", "handcuffs", "a baton", "a flashbang", "sunglasses", "the head of security") nightmare_messages = list("the clown", "a toolbox", "sHiTcUrItY", "why did you put them in for 50 minutes") @@ -197,7 +181,6 @@ LINEN BINS name = "head of personnel's bedsheet" desc = "It is decorated with a key emblem. For those rare moments when you can rest and cuddle with Ian without someone screaming for you over the radio." icon_state = "sheethop" - item_state = "bedsheethop" item_color = "hop" dream_messages = list("authority", "a silvery ID", "obligation", "a computer", "an ID", "a corgi", "the head of personnel") nightmare_messages = list("improper paperwork", "all access clown", "50 open clown slots", "dead ian") @@ -206,7 +189,6 @@ LINEN BINS name = "chief engineer's bedsheet" desc = "It is decorated with a wrench emblem. It's highly reflective and stain resistant, so you don't need to worry about ruining it with oil." icon_state = "sheetce" - item_state = "bedsheetce" item_color = "chief" dream_messages = list("authority", "a silvery ID", "the engine", "power tools", "an APC", "a parrot", "the chief engineer") nightmare_messages = list("forced airlock", "syndicate bomb", "explosion in research chem", "iT's LoOsE") @@ -215,14 +197,12 @@ LINEN BINS name = "quartermaster's bedsheet" desc = "It is decorated with a crate emblem in silver lining. It's rather tough, and just the thing to lie on after a hard day of pushing paper." icon_state = "sheetqm" - item_state = "bedsheetqm" item_color = "qm" dream_messages = list("a grey ID", "a shuttle", "a crate", "a sloth", "the quartermaster") nightmare_messages = list("a bald person", "no points", "wheres the ore", "space carp") /obj/item/bedsheet/brown icon_state = "sheetbrown" - item_state = "bedsheetbrown" item_color = "cargo" dream_messages = list("brown") nightmare_messages = list("dead monkey") @@ -231,7 +211,6 @@ LINEN BINS name = "centcom bedsheet" desc = "Woven with advanced nanothread for warmth as well as being very decorated, essential for all officials." icon_state = "sheetcentcom" - item_state = "bedsheetcentcom" item_color = "centcom" dream_messages = list("a unique ID", "authority", "artillery", "an ending") nightmare_messages = list("a butt fax") @@ -240,7 +219,6 @@ LINEN BINS name = "syndicate bedsheet" desc = "It has a syndicate emblem and it has an aura of evil." icon_state = "sheetsyndie" - item_state = "bedsheetsyndie" item_color = "syndie" dream_messages = list("a green disc", "a red crystal", "a glowing blade", "a wire-covered ID") nightmare_messages = list("stunbaton", "taser", "lasers", "a toolbox") @@ -249,7 +227,6 @@ LINEN BINS name = "cultist's bedsheet" desc = "You might dream of Nar'Sie if you sleep with this. It seems rather tattered and glows of an eldritch presence." icon_state = "sheetcult" - item_state = "bedsheetcult" item_color = "cult" dream_messages = list("a tome", "a floating red crystal", "a glowing sword", "a bloody symbol", "a massive humanoid figure") nightmare_messages = list("a tome", "a floating red crystal", "a glowing sword", "a bloody symbol", "a massive humanoid figure") @@ -258,7 +235,6 @@ LINEN BINS name = "Ratvarian bedsheet" desc = "You might dream of Ratvar if you sleep with this. The fabric has threads of brass sewn into it which eminate a pleasent warmth." icon_state = "sheetclockwork" - item_state = "bedsheetclockwork" item_color = "brass" dream_messages = list("tick, tock, tick, tock, tick, tock, tick, tock", "a great shining city of brass", "men in radiant suits of brass", "a perfect blueprint of the world", "a glowing cogwheel", "a massive humanoid figure") nightmare_messages = list("\"the Nar'Sian dogs shall be CRUSHED!\"", "the unenlightened, ready to hear His word", "a half-buried brass titan", "two massive humanoid figures attacking each other") @@ -267,7 +243,6 @@ LINEN BINS name = "wizard's bedsheet" desc = "A special fabric enchanted with magic so you can have an enchanted night. It even glows!" icon_state = "sheetwiz" - item_state = "bedsheetwiz" item_color = "wiz" dream_messages = list("a book", "an explosion", "lightning", "a staff", "a skeleton", "a robe", "magic") nightmare_messages = list("a toolbox", "solars") diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index 6cef4067128..3f9b36a6b38 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -238,7 +238,7 @@ name = "inflatable barrier box" desc = "Contains inflatable walls and doors." icon_state = "inf_box" - item_state = "syringe_kit" + inhand_icon_state = "syringe_kit" w_class = WEIGHT_CLASS_NORMAL can_hold = list(/obj/item/inflatable) diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 80c7f24d376..be7597fe0c0 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -508,7 +508,7 @@ desc = "Bar brawl essential." icon = 'icons/obj/chairs.dmi' icon_state = "chair_toppled" - item_state = "chair" + inhand_icon_state = "chair" lefthand_file = 'icons/mob/inhands/chairs_lefthand.dmi' righthand_file = 'icons/mob/inhands/chairs_righthand.dmi' w_class = WEIGHT_CLASS_HUGE @@ -548,7 +548,7 @@ /obj/item/chair/stool name = "stool" icon_state = "stool_toppled" - item_state = "stool" + inhand_icon_state = "stool" force = 8 throwforce = 8 origin_type = /obj/structure/chair/stool @@ -559,21 +559,21 @@ /obj/item/chair/stool/bar name = "bar stool" icon_state = "bar_toppled" - item_state = "stool_bar" + inhand_icon_state = "stool_bar" origin_type = /obj/structure/chair/stool/bar /obj/item/chair/stool/bamboo name = "bamboo stool" desc = "Not the most comfortable, but vegan!" icon_state = "bamboo_stool_toppled" - item_state = "stool_bamboo" + inhand_icon_state = "stool_bamboo" origin_type = /obj/structure/chair/stool/bamboo /obj/item/chair/stool/wood name = "wood stool" desc = "The barfighter's choice of stool." icon_state = "wooden_stool_toppled" - item_state = "stool_wood" + inhand_icon_state = "stool_wood" origin_type = /obj/structure/chair/stool/wood /obj/item/chair/AltClick(mob/user) @@ -646,7 +646,7 @@ /obj/item/chair/wood name = "wooden chair" icon_state = "wooden_chair_toppled" - item_state = "woodenchair" + inhand_icon_state = "woodenchair" resistance_flags = FLAMMABLE max_integrity = 70 hitsound = 'sound/weapons/genhit1.ogg' diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 69d9ad92e20..8d24c2bb9fb 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -501,7 +501,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0) desc = "Rubber ducky you're so fine, you make bathtime lots of fuuun. Rubber ducky I'm awfully fooooond of yooooouuuu~" //thanks doohl icon = 'icons/obj/watercloset.dmi' icon_state = "rubberducky" - item_state = "rubberducky" + inhand_icon_state = "rubberducky" honk_sounds = list('sound/items/squeaktoy.ogg') attack_verb = list("quacked", "squeaked") @@ -685,7 +685,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink/kitchen/old, 18, -4, 0, 0 desc = "A self-adhering shower fixture. Simply stick to a wall, no plumber needed!" icon = 'icons/obj/watercloset.dmi' icon_state = "shower" - item_state = "buildpipe" + inhand_icon_state = "buildpipe" /obj/item/mounted/shower/try_build(turf/on_wall, mob/user, proximity_flag) //overriding this because we don't care about other items on the wall, but still need to do adjacent checks diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 1c1199d26dd..95b5762cc36 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -3253,16 +3253,22 @@ continue W.icon = 'icons/obj/guns/projectile.dmi' W.icon_state = "revolver" - W.item_state = "gun" + W.worn_icon_state = "gun" + W.inhand_icon_state = "gun" + W.lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' + W.righthand_file = 'icons/mob/inhands/guns_righthand.dmi' message_admins("[key_name_admin(usr)] made every item look like a gun") if("schoolgirl") // nyaa~ How much are you paying attention in reviews? if(alert(usr, "Are you sure you want to do this?", "Confirmation", "Yes", "No") != "Yes") return SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Chinese Cartoons") for(var/obj/item/clothing/under/W in world) - W.icon_state = "schoolgirl" - W.item_state = "w_suit" - W.item_color = "schoolgirl" + W.icon_state = /obj/item/clothing/under/dress/schoolgirl::icon_state + W.worn_icon = /obj/item/clothing/under/dress/schoolgirl::worn_icon + W.sprite_sheets = /obj/item/clothing/under/dress/schoolgirl::sprite_sheets + W.worn_icon_state = /obj/item/clothing/under/dress/schoolgirl::worn_icon_state + W.inhand_icon_state = /obj/item/clothing/under/dress/schoolgirl::inhand_icon_state + W.item_color = /obj/item/clothing/under/dress/schoolgirl::item_color message_admins("[key_name_admin(usr)] activated Japanese Animes mode") SEND_SOUND(world, sound('sound/AI/animes.ogg')) if("eagles")//SCRAW diff --git a/code/modules/admin/verbs/BrokenInhands.dm b/code/modules/admin/verbs/BrokenInhands.dm index 75e051b1ff0..6928482de95 100644 --- a/code/modules/admin/verbs/BrokenInhands.dm +++ b/code/modules/admin/verbs/BrokenInhands.dm @@ -12,10 +12,10 @@ var/list/Rstates = IR.IconStates() var/icon/J = new(O.icon) var/list/istates = J.IconStates() - if(!Lstates.Find(O.icon_state) && !Lstates.Find(O.item_state)) + if(!Lstates.Find(O.icon_state) && !Lstates.Find(O.inhand_icon_state)) if(O.icon_state) text += "[O.type] is missing left hand icon called \"[O.icon_state]\".\n" - if(!Rstates.Find(O.icon_state) && !Rstates.Find(O.item_state)) + if(!Rstates.Find(O.icon_state) && !Rstates.Find(O.inhand_icon_state)) if(O.icon_state) text += "[O.type] is missing right hand icon called \"[O.icon_state]\".\n" @@ -23,9 +23,9 @@ if(O.icon_state) if(!istates.Find(O.icon_state)) text += "[O.type] is missing normal icon called \"[O.icon_state]\" in \"[O.icon]\".\n" - //if(O.item_state) - // if(!istates.Find(O.item_state)) - // text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.item_state]\" IN \"[O.icon]\"\n" + //if(O.inhand_icon_state) + // if(!istates.Find(O.inhand_icon_state)) + // text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.inhand_icon_state]\" IN \"[O.icon]\"\n" //text+="\n" qdel(O) if(text) diff --git a/code/modules/admin/verbs/onlyoneteam.dm b/code/modules/admin/verbs/onlyoneteam.dm index 6301cfb1477..ce2f0c77b44 100644 --- a/code/modules/admin/verbs/onlyoneteam.dm +++ b/code/modules/admin/verbs/onlyoneteam.dm @@ -66,7 +66,7 @@ desc = "Used for playing the most violent and degrading of childhood games." icon = 'icons/obj/basketball.dmi' icon_state = "dodgeball" - item_state = "dodgeball" + inhand_icon_state = "dodgeball" dribbleable = TRUE /obj/item/beach_ball/dodgeball_team/throw_impact(atom/hit_atom) diff --git a/code/modules/antagonists/_common/antag_exfiltration.dm b/code/modules/antagonists/_common/antag_exfiltration.dm index 815494ba935..d057c71162c 100644 --- a/code/modules/antagonists/_common/antag_exfiltration.dm +++ b/code/modules/antagonists/_common/antag_exfiltration.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/lighting.dmi' desc = "A single-use extraction flare that will let you escape the station. One way trip." icon_state = "flare-contractor" - item_state = "flare" + inhand_icon_state = "flare" /// What areas can be extracted from? var/list/extractable_areas = list() /// Is there a roundstart delay? diff --git a/code/modules/antagonists/changeling/powers/biodegrade.dm b/code/modules/antagonists/changeling/powers/biodegrade.dm index e4b9b67e9bd..1fe37716810 100644 --- a/code/modules/antagonists/changeling/powers/biodegrade.dm +++ b/code/modules/antagonists/changeling/powers/biodegrade.dm @@ -124,7 +124,6 @@ desc = "A fistfull of death." icon = 'icons/obj/weapons/magical_weapons.dmi' icon_state = "alien_acid" - item_state = null flags = ABSTRACT | NODROP | DROPDEL w_class = WEIGHT_CLASS_HUGE throw_range = 0 diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index b857a311e1e..0fb06849d78 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -134,7 +134,6 @@ desc = "A grotesque blade made of bone and flesh that cleaves through people like a hot knife through butter." hitsound = 'sound/weapons/armblade.ogg' icon_state = "arm_blade" - item_state = "arm_blade" flags = ABSTRACT | NODROP | DROPDEL w_class = WEIGHT_CLASS_HUGE sharp = TRUE @@ -196,10 +195,9 @@ /obj/item/gun/magic/tentacle name = "tentacle" desc = "A fleshy tentacle that can stretch out and grab things or people." + icon_state = "tentacle" lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - icon_state = "tentacle" - item_state = "tentacle" flags = ABSTRACT | NODROP | NOBLUDGEON | DROPDEL ammo_type = /obj/item/ammo_casing/magic/tentacle fire_sound = 'sound/effects/splat.ogg' diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm b/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm index d1927f51bca..247319282c1 100644 --- a/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm +++ b/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm @@ -178,10 +178,9 @@ name = "Nanite Mass" desc = "Will attempt to convert any cyborg you touch into a loyal member of the hive after a 7 second delay." icon = 'icons/obj/weapons/magical_weapons.dmi' + icon_state = "disintegrate" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' - icon_state = "disintegrate" - item_state = "disintegrate" color = COLOR_BLACK flags = ABSTRACT | DROPDEL w_class = WEIGHT_CLASS_HUGE diff --git a/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm index ddc4ceae919..dd975ce5411 100644 --- a/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm +++ b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm @@ -62,7 +62,6 @@ name = "contractor balloon" desc = "A black and gold balloon carried only by legendary Syndicate agents." icon_state = "contractorballoon" - item_state = "contractorballoon" /datum/rep_purchase/item/zippo name = "Contractor Zippo Lighter" @@ -75,7 +74,7 @@ name = "contractor zippo lighter" desc = "An unique black and gold zippo commonly carried by elite Syndicate agents." icon_state = "zippo-contractor" - item_state = "zippo-black" + inhand_icon_state = "zippo-black" /** * # Rep Purchase MARK: Actions diff --git a/code/modules/antagonists/traitor/contractor/items/contractor_baton.dm b/code/modules/antagonists/traitor/contractor/items/contractor_baton.dm index e349ee149cd..8915faceea5 100644 --- a/code/modules/antagonists/traitor/contractor/items/contractor_baton.dm +++ b/code/modules/antagonists/traitor/contractor/items/contractor_baton.dm @@ -10,7 +10,8 @@ stamina_armor_pen = 100 force_off = 5 force_on = 15 - item_state_on = "contractor_baton" + worn_icon_state_on = "contractor_baton" + inhand_icon_state_on = "contractor_baton" icon_state_off = "contractor_baton_0" icon_state_on = "contractor_baton_1" stun_sound = 'sound/weapons/contractorbatonhit.ogg' diff --git a/code/modules/assembly/assembly_holder.dm b/code/modules/assembly/assembly_holder.dm index 2c1ec70d84b..739588957b1 100644 --- a/code/modules/assembly/assembly_holder.dm +++ b/code/modules/assembly/assembly_holder.dm @@ -2,7 +2,7 @@ name = "Assembly" icon = 'icons/obj/assemblies/new_assemblies.dmi' icon_state = "holder" - item_state = "assembly" + inhand_icon_state = "assembly" flags = CONDUCT throwforce = 5 w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index 4c03b9c1a3d..959692c14ee 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -1,7 +1,7 @@ /obj/item/onetankbomb name = "bomb" icon = 'icons/obj/tank.dmi' - item_state = "assembly" + inhand_icon_state = "assembly" throwforce = 5 throw_range = 4 flags = CONDUCT //Copied this from old code, so this may or may not be necessary diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index a1d997d7879..9f53b74059b 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -2,7 +2,7 @@ name = "mousetrap" desc = "A handy little spring-loaded trap for catching pesty rodents." icon_state = "mousetrap" - item_state = "mousetrap" + inhand_icon_state = "mousetrap" materials = list(MAT_METAL=100) origin_tech = "combat=1;materials=2;engineering=1" var/armed = FALSE diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index c4dc03c869a..df6ce7e673d 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -3,8 +3,7 @@ GLOBAL_LIST_EMPTY(remote_signalers) /obj/item/assembly/signaler name = "remote signaling device" desc = "Used to remotely activate devices. Allows for syncing when using a signaler on another." - icon_state = "signaller" - item_state = "signaler" + icon_state = "signaler" materials = list(MAT_METAL = 400, MAT_GLASS = 120) origin_tech = "magnets=1;bluespace=1" wires = ASSEMBLY_WIRE_RECEIVE | ASSEMBLY_WIRE_PULSE | ASSEMBLY_WIRE_RADIO_PULSE | ASSEMBLY_WIRE_RADIO_RECEIVE diff --git a/code/modules/awaymissions/mission_code/ruins/oldstation.dm b/code/modules/awaymissions/mission_code/ruins/oldstation.dm index a7e5cc64519..897fb06cfef 100644 --- a/code/modules/awaymissions/mission_code/ruins/oldstation.dm +++ b/code/modules/awaymissions/mission_code/ruins/oldstation.dm @@ -167,7 +167,6 @@ name = "prototype RIG hardsuit helmet" desc = "Early prototype RIG hardsuit helmet, designed to quickly shift over a user's head. Design constraints of the helmet mean it has no inbuilt cameras, thus it restricts the users visability." icon_state = "hardsuit0-ancient" - item_state = "anc_helm" armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 50, RAD = INFINITY, FIRE = INFINITY, ACID = 75) item_color = "ancient" resistance_flags = FIRE_PROOF @@ -178,7 +177,6 @@ name = "prototype RIG hardsuit" desc = "Prototype powered RIG hardsuit. Provides excellent protection from the elements of space while being comfortable to move around in, thanks to the powered locomotives. Remains very bulky however." icon_state = "hardsuit-ancient" - item_state = "anc_hardsuit" armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 50, RAD = INFINITY, FIRE = INFINITY, ACID = 75) slowdown = 3 resistance_flags = FIRE_PROOF diff --git a/code/modules/awaymissions/mission_code/ruins/sieged_lab.dm b/code/modules/awaymissions/mission_code/ruins/sieged_lab.dm index 289e095e831..8bc2689482f 100644 --- a/code/modules/awaymissions/mission_code/ruins/sieged_lab.dm +++ b/code/modules/awaymissions/mission_code/ruins/sieged_lab.dm @@ -61,7 +61,6 @@ /obj/item/melee/razorwire/harbinger/Initialize(mapload) . = ..() icon_state = "razorwire" - item_state = "razorwire" update_icon() /obj/item/organ/internal/cyberimp/arm/razorwire/harbinger diff --git a/code/modules/awaymissions/mission_code/ruins/telecomns.dm b/code/modules/awaymissions/mission_code/ruins/telecomns.dm index 4397baf5ae9..027333914b2 100644 --- a/code/modules/awaymissions/mission_code/ruins/telecomns.dm +++ b/code/modules/awaymissions/mission_code/ruins/telecomns.dm @@ -399,8 +399,8 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank) desc = "A mobile AI upload. The transmitter is extremely powerful, but will burn out after one use. Make it count." icon = 'icons/obj/device.dmi' icon_state = "dvorak_upload" + inhand_icon_state = "camera_bug" w_class = WEIGHT_CLASS_TINY - item_state = "camera_bug" origin_tech = "syndicate=4;programming=6" /// Integrated AI upload var/obj/machinery/computer/aiupload/dvorak/integrated_console diff --git a/code/modules/client/preference/character.dm b/code/modules/client/preference/character.dm index 8c81e23dc4b..b5b78cc3220 100644 --- a/code/modules/client/preference/character.dm +++ b/code/modules/client/preference/character.dm @@ -1069,7 +1069,7 @@ if(JOB_BOTANIST) clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "hydroponics_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "ggloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "leather"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "apron"), ICON_OVERLAY) has_gloves = TRUE if(prob(1)) @@ -1121,7 +1121,7 @@ if(JOB_QUARTERMASTER) clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "qm_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY) has_gloves = TRUE if(prob(1)) clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "qmcoat"), ICON_OVERLAY) @@ -1135,7 +1135,7 @@ if(JOB_CARGOTECH) clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "cargo_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY) has_gloves = TRUE if(prob(1)) clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "flat_cap"), ICON_OVERLAY) @@ -1163,7 +1163,7 @@ if(JOB_MINER) clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "explorer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "explorer"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY) has_gloves = TRUE if(prob(1)) clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "bearpelt"), ICON_OVERLAY) @@ -1207,7 +1207,7 @@ if(JOB_MIME) clothes_s = new /icon('icons/mob/clothing/under/civilian.dmi', "mime_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "lgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "white"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "mime"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/head/beret.dmi', "beret"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "suspenders"), ICON_OVERLAY) @@ -1222,7 +1222,7 @@ if(JOB_EXPLORER) clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "expedition_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY) has_gloves = TRUE if(prob(1)) clothes_s.Blend(new /icon('icons/mob/clothing/under/syndicate.dmi', "tactifool_s"), ICON_OVERLAY) @@ -1385,7 +1385,7 @@ if(JOB_ROBOTICIST) clothes_s = new /icon('icons/mob/clothing/under/rnd.dmi', "robotics_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/suits/labcoat.dmi', "labcoat_robowhite_open"), ICON_OVERLAY) has_gloves = TRUE if(prob(1)) @@ -1417,7 +1417,7 @@ if(JOB_HOS) clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "hos_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY) has_gloves = TRUE if(prob(1)) clothes_s.Blend(new /icon('icons/mob/clothing/head/beret.dmi', "beret_hos"), ICON_OVERLAY) @@ -1434,7 +1434,7 @@ clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "slippers_worn"), ICON_OVERLAY) else clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY) has_gloves = TRUE switch(backbag) if(2) @@ -1446,7 +1446,7 @@ if(JOB_DETECTIVE) clothes_s = new /icon('icons/mob/clothing/under/security.dmi', "detective_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY) if(prob(1)) clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "cigar_on"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "detective"), ICON_OVERLAY) @@ -1474,7 +1474,7 @@ if(JOB_CHIEF) clothes_s = new /icon('icons/mob/clothing/under/engineering.dmi', "ce_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "black"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/belt.dmi', "utility"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "hardhat0_white"), ICON_OVERLAY) has_gloves = TRUE @@ -1557,7 +1557,7 @@ if(JOB_BLUESHIELD) clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "blueshield_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "swat_gl"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "combat"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "blueshield"), ICON_OVERLAY) has_gloves = TRUE switch(backbag) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index a6661fff68e..73e091c02a2 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -189,11 +189,12 @@ if(isitem(target)) var/obj/item/I = target - I.item_state = initial(picked_item.item_state) + I.worn_icon_state = initial(picked_item.worn_icon_state) + I.inhand_icon_state = initial(picked_item.inhand_icon_state) I.item_color = initial(picked_item.item_color) I.color = initial(picked_item.color) - I.icon_override = initial(picked_item.icon_override) + I.worn_icon = initial(picked_item.worn_icon) if(initial(picked_item.sprite_sheets)) // Species-related variables are lists, which can not be retrieved using initial(). As such, we need to instantiate the picked item. var/obj/item/P = new picked_item(null) @@ -233,23 +234,20 @@ /obj/item/clothing/under/chameleon name = "black jumpsuit" - icon_state = "black" - item_state = "bl_suit" - item_color = "black" desc = "It's a plain jumpsuit. It has a small dial on the wrist." + icon = 'icons/obj/clothing/under/color.dmi' + icon_state = "black" + worn_icon = 'icons/mob/clothing/under/color.dmi' + inhand_icon_state = "bl_suit" + item_color = "black" random_sensor = FALSE resistance_flags = NONE armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) - - icon = 'icons/obj/clothing/under/color.dmi' - sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/color.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/color.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/color.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/color.dmi' - ) - + ) var/datum/action/item_action/chameleon_change/chameleon_action /obj/item/clothing/under/chameleon/Initialize(mapload) @@ -293,7 +291,6 @@ name = "armor" desc = "A slim armored vest that protects against most types of damage." icon_state = "armor" - item_state = "armor" blood_overlay_type = "armor" resistance_flags = NONE armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) @@ -328,16 +325,13 @@ name = "optical meson scanner" desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition." icon_state = "meson" - item_state = "meson" prescription_upgradable = TRUE armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi' ) - var/datum/action/item_action/chameleon_change/chameleon_action /obj/item/clothing/glasses/chameleon/Initialize(mapload) @@ -425,7 +419,6 @@ siemens_coefficient = 0 permeability_coefficient = 0.05 icon_state = "yellow" - item_state = "ygloves" resistance_flags = NONE armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) @@ -455,7 +448,7 @@ name = "grey cap" desc = "It's a baseball hat in a tasteful grey colour." icon = 'icons/obj/clothing/head/softcap.dmi' - icon_override = 'icons/mob/clothing/head/softcap.dmi' + worn_icon = 'icons/mob/clothing/head/softcap.dmi' icon_state = "greysoft" item_color = "grey" @@ -492,7 +485,6 @@ name = "gas mask" desc = "A face-covering mask that can be connected to an air supply. While good for concealing your identity, it isn't good for blocking gas flow." //More accurate icon_state = "gas_alt" - item_state = "gas_alt" resistance_flags = NONE armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) flags = AIRTIGHT | BLOCK_GAS_SMOKE_EFFECT @@ -535,7 +527,6 @@ /obj/item/clothing/mask/chameleon/voice_change icon_state = "swat" - item_state = "swat" var/obj/item/voice_changer/voice_changer @@ -741,7 +732,7 @@ return . = ..() C.current_disguise = TRUE - C.item_state = initial(picked_item.item_state) + C.inhand_icon_state = initial(picked_item.inhand_icon_state) for(var/obj/item/mod/module/chameleon/tosignal in C.contents) tosignal.RegisterSignal(C, COMSIG_MOD_ACTIVATE, TYPE_PROC_REF(/obj/item/mod/module/chameleon, return_look), TRUE) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index f00c8b8c3c8..377ad96adce 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -1,5 +1,8 @@ /obj/item/clothing name = "clothing" + lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing_righthand.dmi' + w_class = WEIGHT_CLASS_SMALL integrity_failure = 80 resistance_flags = FLAMMABLE permeability_coefficient = 0.8 @@ -9,21 +12,10 @@ var/scan_reagents = FALSE /// Can the wearer see reagents inside any container and identify blood types while it's equipped? var/scan_reagents_advanced = FALSE - - /* - Sprites used when the clothing item is refit. This is done by setting icon_override. - For best results, if this is set then sprite_sheets should be null and vice versa, but that is by no means necessary. - Ideally, sprite_sheets_refit should be used for "hard" clothing items that can't change shape very well to fit the wearer (e.g. helmets, hardsuits), - while sprite_sheets should be used for "flexible" clothing items that do not need to be refitted (e.g. vox wearing jumpsuits). - */ - var/list/sprite_sheets_refit = null - lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi' - righthand_file = 'icons/mob/inhands/clothing_righthand.dmi' var/alt_desc = null var/flash_protect = FLASH_PROTECTION_NONE //What level of bright light protection item has. 1 = Flashers, Flashes, & Flashbangs | 2 = Welding | -1 = OH GOD WELDING BURNT OUT MY RETINAS var/tint = FLASH_PROTECTION_NONE //Sets the item's level of visual impairment tint, normally set to the same as flash_protect var/up = FALSE //but seperated to allow items to protect but not impair vision, like space helmets - var/visor_flags = NONE //flags that are added/removed when an item is adjusted up/down var/visor_flags_inv = NONE //same as visor_flags, but for flags_inv var/visor_flags_cover = NONE //for cover flags @@ -39,8 +31,6 @@ var/magical = FALSE /// Do we block AI tracking? var/blockTracking - w_class = WEIGHT_CLASS_SMALL - /// Detective Work, used for allowing a given atom to leave its fibers on stuff. Allowed by default var/can_leave_fibers = TRUE /// Detective Work, firing a ballistic weapon will add a signature to this var @@ -118,18 +108,6 @@ return TRUE -/obj/item/clothing/proc/refit_for_species(target_species) - //Set icon - if(sprite_sheets && (target_species in sprite_sheets)) - icon_override = sprite_sheets[target_species] - else - icon_override = initial(icon_override) - - if(sprite_sheets_obj && (target_species in sprite_sheets_obj)) - icon = sprite_sheets_obj[target_species] - else - icon = initial(icon) - /** * Used for any clothing interactions when the user is on fire. (e.g. Cigarettes getting lit.) */ @@ -193,9 +171,19 @@ /obj/item/clothing/glasses name = "glasses" icon = 'icons/obj/clothing/glasses.dmi' + inhand_icon_state = "glasses" flags_cover = GLASSESCOVERSEYES slot_flags = ITEM_SLOT_EYES materials = list(MAT_GLASS = 250) + strip_delay = 2 SECONDS + put_on_delay = 2.5 SECONDS + resistance_flags = NONE + sprite_sheets = list( + "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', + "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', + "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', + "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' + ) var/vision_flags = 0 var/see_in_dark = 0 //Base human is 2 var/invis_view = SEE_INVISIBLE_LIVING @@ -211,10 +199,6 @@ /// If TRUE, will hide the wearer's examines from other players. var/hide_examine = FALSE - strip_delay = 20 // but seperated to allow items to protect but not impair vision, like space helmets - put_on_delay = 25 - resistance_flags = NONE - /* * SEE_SELF // can see self, no matter what * SEE_MOBS // can see all mobs, no matter what @@ -377,7 +361,6 @@ /obj/item/clothing/head name = "head" icon = 'icons/obj/clothing/hats.dmi' - icon_override = 'icons/mob/clothing/head.dmi' body_parts_covered = HEAD slot_flags = ITEM_SLOT_HEAD var/HUDType = null @@ -396,7 +379,7 @@ /obj/item/clothing/head/update_icon_state() if(..()) - item_state = "[replacetext("[item_state]", "_up", "")][up ? "_up" : ""]" + worn_icon_state = "[replacetext("[worn_icon_state]", "_up", "")][up ? "_up" : ""]" /obj/item/clothing/head/AltShiftClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) @@ -445,7 +428,7 @@ return has_under = H forceMove(has_under) - has_under.overlays += item_state + has_under.overlays += worn_icon_state has_under.actions += actions for(var/datum/action/A in actions) @@ -724,7 +707,6 @@ if(!cut_open) return icon_state = "[icon_state]_opentoe" - item_state = "[item_state]_opentoe" /obj/item/clothing/shoes/AltClick(mob/user) if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user) || !knife_slot) @@ -851,7 +833,6 @@ if(suit_adjusted) var/flavour = "close" icon_state = copytext(icon_state, 1, findtext(icon_state, "_open")) /*Trims the '_open' off the end of the icon state, thus avoiding a case where jackets that start open will end up with a suffix of _open_open if adjusted twice, since their initial state is _open. */ - item_state = copytext(item_state, 1, findtext(item_state, "_open")) if(adjust_flavour) flavour = "[copytext(adjust_flavour, 3, length(adjust_flavour) + 1)] up" //Trims off the 'un' at the beginning of the word. unzip -> zip, unbutton->button. to_chat(user, "You [flavour] \the [src].") @@ -859,7 +840,6 @@ else var/flavour = "open" icon_state += "_open" - item_state += "_open" if(adjust_flavour) flavour = "[adjust_flavour]" to_chat(user, "You [flavour] \the [src].") @@ -887,9 +867,6 @@ else ..() //This is required in order to ensure that the UI buttons for items that have alternate functions tied to UI buttons still work. -/obj/item/clothing/suit/proc/special_overlays() // Does it have special overlays when worn? - return FALSE - /obj/item/clothing/suit/attackby__legacy__attackchain(obj/item/I, mob/living/user, params) ..() if(istype(I, /obj/item/smithed_item/insert)) @@ -962,11 +939,11 @@ // Meaning the the suit is defined directly after the corrisponding helmet. Just like below! /obj/item/clothing/head/helmet/space name = "space helmet" - icon_state = "space" desc = "A special helmet designed for work in a hazardous, low-pressure environment." + icon_state = "space" + inhand_icon_state = "s_helmet" flags = BLOCKHAIR | STOPSPRESSUREDMAGE | THICKMATERIAL flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - item_state = "s_helmet" permeability_coefficient = 0.01 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 50, FIRE = 200, ACID = 115) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE @@ -982,7 +959,7 @@ name = "space suit" desc = "A suit that protects against low pressure environments. Has a big 13 on the back." icon_state = "space" - item_state = "s_suit" + inhand_icon_state = "s_suit" w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 @@ -1009,8 +986,8 @@ // MARK: UNDER CLOTHES ////////////////////////////// /obj/item/clothing/under - icon = 'icons/obj/clothing/under/misc.dmi' name = "under" + icon = 'icons/obj/clothing/under/misc.dmi' body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS slot_flags = ITEM_SLOT_JUMPSUIT equip_sound = 'sound/items/equip/jumpsuit_equip.ogg' @@ -1040,6 +1017,9 @@ var/rolled_down = FALSE var/basecolor +/obj/item/clothing/under/rank + inhand_icon_state = "bl_suit" + /obj/item/clothing/under/rank/Initialize(mapload) . = ..() if(random_sensor) @@ -1182,7 +1162,7 @@ user.update_inv_w_uniform() else - if(user.w_uniform.sprite_sheets["Human"] && icon_exists(user.w_uniform.sprite_sheets["Human"], "[basecolor]_d_s")) + if(icon_exists(user.w_uniform.worn_icon, "[basecolor]_d_s") || icon_exists('icons/mob/clothing/under/misc.dmi', "[basecolor]_d_s")) item_color = item_color == "[basecolor]" ? "[basecolor]_d" : "[basecolor]" user.update_inv_w_uniform() else diff --git a/code/modules/clothing/ears/earmuffs.dm b/code/modules/clothing/ears/earmuffs.dm index 55df72c904c..e679738f981 100644 --- a/code/modules/clothing/ears/earmuffs.dm +++ b/code/modules/clothing/ears/earmuffs.dm @@ -2,7 +2,6 @@ name = "earmuffs" desc = "Protects your hearing from loud noises, and quiet ones as well." icon_state = "earmuffs" - item_state = "earmuffs" flags = EARBANGPROTECT strip_delay = 15 put_on_delay = 25 diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 6270916c142..eed11f61b1c 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -10,7 +10,7 @@ name = "engineering scanner goggles" desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, the T-ray Scanner mode lets you see underfloor objects such as cables and pipes, the Radiation Scanner mode lets you see objects contaminated by radiation, and the Pressure Scanner mode lets you visualize air pressure." icon_state = "trayson-meson" - item_state = "trayson-meson" + inhand_icon_state = null actions_types = list(/datum/action/item_action/toggle_mode) origin_tech = "materials=3;magnets=3;engineering=3;plasmatech=3" active_on_equip = FALSE @@ -102,7 +102,6 @@ update_mob() /obj/item/clothing/glasses/meson/engine/proc/update_mob() - item_state = icon_state if(isliving(loc)) var/mob/living/user = loc if(user.get_item_by_slot(ITEM_SLOT_EYES) == src) @@ -115,7 +114,6 @@ /obj/item/clothing/glasses/meson/engine/atmos name = "atmospherics scanner goggles" icon_state = "trayson-pressure" - item_state = "trayson-pressure" desc = "Used by atmospherics techs to visualize pressure, see station structure, and see underfloor objects such as cables and pipes." range = 2 origin_tech = "materials=3;magnets=2;engineering=2" diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index cf5d59154c4..51c09143be3 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -54,10 +54,6 @@ remove_prescription(user) return TRUE -/obj/item/clothing/glasses/update_icon_state() - if(..()) - item_state = "[replacetext("[item_state]", "_up", "")][up ? "_up" : ""]" - /obj/item/clothing/glasses/visor_toggling() ..() if(visor_vars_to_toggle & VISOR_VISIONFLAGS) @@ -90,18 +86,9 @@ name = "optical meson scanner" desc = "Used for seeing walls, floors, and stuff through anything." icon_state = "meson" - item_state = "meson" + inhand_icon_state = "meson" origin_tech = "magnets=1;engineering=2" prescription_upgradable = TRUE - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - var/active_on_equip = TRUE /obj/item/clothing/glasses/meson/equipped(mob/user, slot, initial) @@ -126,6 +113,7 @@ name = "meson HUD sunglasses" desc = "Sunglasses with an inbuilt scanner that can see through both walls and flooring." icon_state = "sunhudmeson" + inhand_icon_state = "sunglasses" flash_protect = FLASH_PROTECTION_FLASH tint = FLASH_PROTECTION_FLASH hide_examine = TRUE @@ -135,9 +123,8 @@ /obj/item/clothing/glasses/meson/gar name = "gar mesons" - icon_state = "garm" - item_state = "garm" desc = "Do the impossible, see the invisible!" + icon_state = "garm" force = 10 throwforce = 10 throw_speed = 4 @@ -149,7 +136,6 @@ name = "eye replacement implant" desc = "An implanted replacement for a left eye with meson vision capabilities." icon_state = "cybereye-green" - item_state = "eyepatch" flags = NODROP flags_cover = null prescription_upgradable = FALSE @@ -158,18 +144,11 @@ name = "science goggles" desc = "A pair of snazzy goggles used to protect against chemical spills. Fitted with an analyzer for scanning items and reagents." icon_state = "purple" - item_state = "glasses" origin_tech = "magnets=2;engineering=1" prescription_upgradable = TRUE scan_reagents = TRUE // You can see reagents while wearing science goggles resistance_flags = ACID_PROOF armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 200, ACID = INFINITY) - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) actions_types = list(/datum/action/item_action/toggle_research_scanner) /obj/item/clothing/glasses/science/item_action_slot_check(slot) @@ -187,29 +166,16 @@ name = "janitorial goggles" desc = "These'll keep the soap out of your eyes." icon_state = "purple" - item_state = "glasses" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi' - ) /obj/item/clothing/glasses/night name = "night vision goggles" desc = "You can totally see in the dark now!" icon_state = "night" - item_state = "glasses" origin_tech = "materials=4;magnets=4;plasmatech=4;engineering=4" see_in_dark = 8 prescription_upgradable = TRUE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/night/syndicate_fake name = "suspicious night vision goggles" desc = "A dark red tacticool goggles anyone would go operate with." @@ -220,50 +186,29 @@ name = "eyepatch" desc = "Yarr." icon_state = "eyepatch" - item_state = "eyepatch" + inhand_icon_state = "blindfold" prescription_upgradable = TRUE - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/monocle name = "monocle" desc = "Such a dapper eyepiece!" icon_state = "monocle" - item_state = "headset" // lol + inhand_icon_state = "headset" // lol + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' prescription_upgradable = TRUE - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/material name = "optical material scanner" desc = "Very confusing glasses." icon_state = "material" - item_state = "glasses" origin_tech = "magnets=3;engineering=3" vision_flags = SEE_OBJS | SEE_TURFS - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/material/cyber name = "eye replacement implant" desc = "An implanted replacement for a left eye with material vision capabilities." icon_state = "cybereye-blue" - item_state = "eyepatch" flags = NODROP flags_cover = null @@ -272,7 +217,6 @@ desc = "These odd glasses use a form of neutron-based imaging to completely negate the effects of light and darkness." origin_tech = null vision_flags = 0 - flags = NODROP lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE @@ -280,87 +224,39 @@ name = "prescription glasses" desc = "Made by Nerd. Co." icon_state = "glasses" - item_state = "glasses" prescription = TRUE - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/regular/hipster desc = "Made by Uncool. Co." icon_state = "hipster_glasses" - item_state = "hipster_glasses" /obj/item/clothing/glasses/goggles name = "goggles" desc = "Just some basic goggles, rather fashionable." icon_state = "goggles" - item_state = "goggles" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) /obj/item/clothing/glasses/threedglasses name = "\improper 3D glasses" desc = "A long time ago, people used these glasses to makes images from screens threedimensional." icon_state = "3d" - item_state = "3d" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) /obj/item/clothing/glasses/gglasses name = "green glasses" desc = "Forest green glasses, like the kind you'd wear when hatching a nasty scheme." icon_state = "gglasses" - item_state = "gglasses" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) prescription_upgradable = TRUE /obj/item/clothing/glasses/syndie name = "suspicious glasses" desc = "Suspicious-looking, stylish glasses. They don't look like they could protect you from a flash, however they have a slot around their lenses where something could easily be inserted." icon_state = "syndieglasses" - item_state = "syndieglasses" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) prescription_upgradable = TRUE /obj/item/clothing/glasses/syndie_sun name = "suspicious shaded glasses" desc = "Suspicious-looking, dark red, stylish glasses. They appear to have an additional eye-shielding layer over the lenses." icon_state = "syndieglasses_sun" - item_state = "syndieglasses_sun" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) + inhand_icon_state = "sunglasses" see_in_dark = 1 flash_protect = FLASH_PROTECTION_FLASH tint = FLASH_PROTECTION_FLASH @@ -370,34 +266,21 @@ name = "sunglasses" desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks many flashes." icon_state = "sun" - item_state = "sunglasses" + inhand_icon_state = "sunglasses" see_in_dark = 1 flash_protect = FLASH_PROTECTION_FLASH tint = FLASH_PROTECTION_FLASH prescription_upgradable = TRUE dog_fashion = /datum/dog_fashion/head - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) hide_examine = TRUE /obj/item/clothing/glasses/sunglasses_fake name = "cheap sunglasses" desc = "Cheap, plastic sunglasses. They don't even have UV protection." icon_state = "sun" - item_state = "sunglasses" + inhand_icon_state = "sunglasses" prescription_upgradable = TRUE - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/sunglasses/noir name = "noir sunglasses" desc = "Somehow these seem even more out-of-date than normal sunglasses." @@ -448,18 +331,11 @@ name = "sunglasses" desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks many flashes." icon_state = "sun" - item_state = "sunglasses" + inhand_icon_state = "sunglasses" see_in_dark = 1 flash_protect = FLASH_PROTECTION_FLASH tint = FLASH_PROTECTION_FLASH - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/sunglasses/lasers name = "high-tech sunglasses" desc = "A peculiar set of sunglasses; they have various chips and other panels attached to the sides of the frames." @@ -475,18 +351,12 @@ name = "welding goggles" desc = "Protects the eyes from welders, approved by the mad scientist association." icon_state = "welding-g" - item_state = "welding-g" + inhand_icon_state = "blindfold" actions_types = list(/datum/action/item_action/toggle) flash_protect = FLASH_PROTECTION_WELDER tint = FLASH_PROTECTION_WELDER can_toggle = TRUE visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) /obj/item/clothing/glasses/welding/attack_self__legacy__attackchain(mob/user) weldingvisortoggle(user) @@ -495,14 +365,14 @@ name = "superior welding goggles" desc = "Welding goggles made from more expensive materials, strangely smells like potatoes." icon_state = "rwelding-g" - item_state = "rwelding-g" + inhand_icon_state = "glasses" tint = FLASH_PROTECTION_NONE /obj/item/clothing/glasses/sunglasses/blindfold name = "blindfold" desc = "Covers the eyes, preventing sight." icon_state = "blindfold" - item_state = "blindfold" + inhand_icon_state = "blindfold" flash_protect = FLASH_PROTECTION_WELDER tint = 3 //to make them blind prescription_upgradable = FALSE @@ -519,25 +389,16 @@ /obj/item/clothing/glasses/sunglasses/big desc = "Strangely ancient technology used to help provide rudimentary eye cover. Larger than average enhanced shielding blocks many flashes." icon_state = "bigsunglasses" - item_state = "bigsunglasses" /obj/item/clothing/glasses/thermal name = "optical thermal scanner" desc = "Thermals in the shape of glasses." icon_state = "thermal" - item_state = "glasses" origin_tech = "magnets=3" vision_flags = SEE_MOBS lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE flash_protect = FLASH_PROTECTION_SENSITIVE - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/thermal/emp_act(severity) thermal_overload() ..() @@ -552,17 +413,14 @@ name = "optical thermal eyepatch" desc = "An eyepatch with built-in thermal optics." icon_state = "eyepatch" - item_state = "eyepatch" /obj/item/clothing/glasses/thermal/jensen name = "optical thermal implant" desc = "A set of implantable lenses designed to augment your vision." icon_state = "thermalimplants" - item_state = "syringe_kit" /obj/item/clothing/glasses/thermal/cyber name = "eye replacement implant" desc = "An implanted replacement for a left eye with thermal vision capabilities." icon_state = "cybereye-red" - item_state = "eyepatch" flags = NODROP diff --git a/code/modules/clothing/glasses/hudglasses.dm b/code/modules/clothing/glasses/hudglasses.dm index d40de2e8954..1e04625007e 100644 --- a/code/modules/clothing/glasses/hudglasses.dm +++ b/code/modules/clothing/glasses/hudglasses.dm @@ -43,18 +43,10 @@ icon_state = "healthhud" hud_types = DATA_HUD_MEDICAL_ADVANCED - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/hud/health/night name = "night vision health scanner HUD" desc = "An advanced medical head-up display that allows doctors to find patients in complete darkness." icon_state = "healthhudnight" - item_state = "glasses" origin_tech = "magnets=4;biotech=4;plasmatech=4;engineering=5" see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE @@ -63,6 +55,7 @@ name = "medical HUDSunglasses" desc = "Sunglasses with a medical HUD." icon_state = "sunhudmed" + inhand_icon_state = "sunglasses" see_in_dark = 1 flash_protect = FLASH_PROTECTION_FLASH tint = FLASH_PROTECTION_FLASH @@ -75,18 +68,10 @@ origin_tech = "magnets=2;engineering=2" hud_types = DATA_HUD_DIAGNOSTIC_BASIC - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/hud/diagnostic/night name = "night vision diagnostic HUD" desc = "A robotics diagnostic HUD fitted with a light amplifier." icon_state = "diagnostichudnight" - item_state = "glasses" origin_tech = "magnets=4;powerstorage=4;plasmatech=4;engineering=5" see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE @@ -95,7 +80,7 @@ name = "diagnostic sunglasses" desc = "Sunglasses with a diagnostic HUD." icon_state = "sunhuddiag" - item_state = "glasses" + inhand_icon_state = "sunglasses" flash_protect = FLASH_PROTECTION_FLASH tint = FLASH_PROTECTION_FLASH @@ -107,22 +92,6 @@ var/global/list/jobs[0] hud_types = DATA_HUD_SECURITY_ADVANCED - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - - -/obj/item/clothing/glasses/hud/security/sunglasses/jensenshades - name = "augmented shades" - desc = "Polarized bioneural eyewear, designed to augment your vision." - icon_state = "jensenshades" - item_state = "jensenshades" - vision_flags = SEE_MOBS - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE - /obj/item/clothing/glasses/hud/security/night name = "night vision security HUD" desc = "An advanced heads-up display which provides id data and vision in complete darkness." @@ -135,20 +104,20 @@ name = "HUDSunglasses" desc = "Sunglasses with a HUD." icon_state = "sunhud" + inhand_icon_state = "sunglasses" origin_tech = "magnets=3;combat=3;engineering=3" see_in_dark = 1 flash_protect = FLASH_PROTECTION_FLASH tint = FLASH_PROTECTION_FLASH - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - hide_examine = TRUE +/obj/item/clothing/glasses/hud/security/sunglasses/jensenshades + name = "augmented shades" + desc = "Polarized bioneural eyewear, designed to augment your vision." + icon_state = "jensenshades" + vision_flags = SEE_MOBS + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + /obj/item/clothing/glasses/hud/security/sunglasses/prescription prescription = TRUE @@ -158,18 +127,10 @@ icon_state = "hydroponichud" hud_types = DATA_HUD_HYDROPONIC - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/hud/hydroponic/night name = "night vision hydroponic HUD" desc = "A hydroponic HUD fitted with a light amplifier." icon_state = "hydroponichudnight" - item_state = "glasses" see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE @@ -177,28 +138,16 @@ name = "skills HUD" desc = "A heads-up display capable of showing the employment history records of NT crew members." icon_state = "skill" - item_state = "glasses" hud_types = DATA_HUD_SECURITY_BASIC - sprite_sheets = list( - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) /obj/item/clothing/glasses/hud/skills/sunglasses name = "skills HUD sunglasses" desc = "Sunglasses with a build-in skills HUD, showing the employment history of nearby NT crew members." icon_state = "sunhudskill" + inhand_icon_state = "sunglasses" see_in_dark = 1 // None of these three can be converted to booleans. Do not try it. flash_protect = FLASH_PROTECTION_FLASH tint = FLASH_PROTECTION_FLASH - sprite_sheets = list( - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) /obj/item/clothing/glasses/hud/janitor name = "janitor HUD" @@ -206,17 +155,11 @@ icon_state = "janihud" hud_types = DATA_HUD_JANITOR - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - /obj/item/clothing/glasses/hud/janitor/sunglasses name = "janitor HUD sunglasses" desc = "Sunglasses with a build-in filth scanner, scans for messes and alerts the user." icon_state = "sunhudjani" + inhand_icon_state = "sunglasses" see_in_dark = 1 flash_protect = FLASH_PROTECTION_FLASH tint = FLASH_PROTECTION_FLASH diff --git a/code/modules/clothing/glasses/tajblind.dm b/code/modules/clothing/glasses/tajblind.dm index 403bbce6bee..5507bf63295 100644 --- a/code/modules/clothing/glasses/tajblind.dm +++ b/code/modules/clothing/glasses/tajblind.dm @@ -7,13 +7,12 @@ desc = "A sleek, high-tech Tajaran veil, adapted from ancient designs and important to their culture and spirituality.
\ Can switch between three modes: Sight-blocking veiled mode, transparent natural sight mode and colorblindness correction mode." icon_state = "tajblind" - item_state = "tajblind" + inhand_icon_state = "blindfold" actions_types = list(/datum/action/item_action/toggle) color_view = MATRIX_STANDARD correct_wires = TRUE var/list/modes = list(MODE_OFF = MODE_NATURAL, MODE_NATURAL = MODE_CORRECTION, MODE_CORRECTION = MODE_OFF) var/selected_mode = MODE_CORRECTION - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi' @@ -58,7 +57,6 @@ /obj/item/clothing/glasses/hud/tajblind/meson name = "\improper Tajaran engineering meson veil" icon_state = "tajblind_engi" - item_state = "tajblind_engi" /obj/item/clothing/glasses/hud/tajblind/meson/Initialize(mapload) . = ..() @@ -77,12 +75,10 @@ /obj/item/clothing/glasses/hud/tajblind/meson/cargo name = "\improper Tajaran mining meson veil" icon_state = "tajblind_cargo" - item_state = "tajblind_cargo" /obj/item/clothing/glasses/hud/tajblind/sci name = "\improper Tajaran scientific veil" icon_state = "tajblind_sci" - item_state = "tajblind_sci" scan_reagents = 1 actions_types = list(/datum/action/item_action/toggle, /datum/action/item_action/toggle_research_scanner) @@ -97,7 +93,6 @@ /obj/item/clothing/glasses/hud/tajblind/med name = "\improper Tajaran medical veil" icon_state = "tajblind_med" - item_state = "tajblind_med" hud_types = DATA_HUD_MEDICAL_ADVANCED /obj/item/clothing/glasses/hud/tajblind/med/Initialize(mapload) @@ -107,7 +102,6 @@ /obj/item/clothing/glasses/hud/tajblind/sec name = "\improper Tajaran security veil" icon_state = "tajblind_sec" - item_state = "tajblind_sec" hud_types = DATA_HUD_SECURITY_ADVANCED /obj/item/clothing/glasses/hud/tajblind/sec/Initialize(mapload) @@ -126,7 +120,6 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/meson name = "shaded Tajaran engineering meson veil" icon_state = "tajblind_engi" - item_state = "tajblind_engi" /obj/item/clothing/glasses/hud/tajblind/shaded/meson/Initialize(mapload) . = ..() @@ -142,16 +135,13 @@ if(user) REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]") - /obj/item/clothing/glasses/hud/tajblind/shaded/meson/cargo name = "shaded Tajaran mining meson veil" icon_state = "tajblind_cargo" - item_state = "tajblind_cargo" /obj/item/clothing/glasses/hud/tajblind/shaded/sci name = "shaded Tajaran scientific veil" icon_state = "tajblind_sci" - item_state = "tajblind_sci" scan_reagents = 1 actions_types = list(/datum/action/item_action/toggle, /datum/action/item_action/toggle_research_scanner) @@ -166,7 +156,6 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/med name = "shaded Tajaran medical veil" icon_state = "tajblind_med" - item_state = "tajblind_med" hud_types = DATA_HUD_MEDICAL_ADVANCED /obj/item/clothing/glasses/hud/tajblind/shaded/med/Initialize(mapload) @@ -176,7 +165,6 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/sec name = "shaded Tajaran security veil" icon_state = "tajblind_sec" - item_state = "tajblind_sec" see_in_dark = 1 hud_types = DATA_HUD_SECURITY_ADVANCED diff --git a/code/modules/clothing/gloves/boxing_gloves.dm b/code/modules/clothing/gloves/boxing_gloves.dm index e26b5310c6f..4ba9c99c9cb 100644 --- a/code/modules/clothing/gloves/boxing_gloves.dm +++ b/code/modules/clothing/gloves/boxing_gloves.dm @@ -2,7 +2,6 @@ name = "boxing gloves" desc = "Because you really needed another excuse to punch your crewmates." icon_state = "boxing" - item_state = "boxing" put_on_delay = 60 species_exception = list(/datum/species/golem) // now you too can be a golem boxing champion var/datum/martial_art/boxing/style @@ -30,12 +29,9 @@ /obj/item/clothing/gloves/boxing/green icon_state = "boxinggreen" - item_state = "boxinggreen" /obj/item/clothing/gloves/boxing/blue icon_state = "boxingblue" - item_state = "boxingblue" /obj/item/clothing/gloves/boxing/yellow icon_state = "boxingyellow" - item_state = "boxingyellow" diff --git a/code/modules/clothing/gloves/colored_gloves.dm b/code/modules/clothing/gloves/colored_gloves.dm index 9f4db0cc59c..96fafb0ef2f 100644 --- a/code/modules/clothing/gloves/colored_gloves.dm +++ b/code/modules/clothing/gloves/colored_gloves.dm @@ -5,7 +5,6 @@ name = "insulated gloves" desc = "A pair of rubber-lined industrial gloves. They'll protect the wearer from electrical shocks." icon_state = "yellow" - item_state = "ygloves" siemens_coefficient = 0 permeability_coefficient = 0.01 item_color = "yellow" @@ -19,15 +18,14 @@ name = "budget insulated gloves" desc = "A pair of knock-off insulated gloves. They might stop a shock, but it'll be a gamble." icon_state = "yellow" - item_state = "ygloves" siemens_coefficient = 1 //Set to a default of 1, gets overridden in New() permeability_coefficient = 0.01 - item_color="yellow" + item_color = "yellow" resistance_flags = NONE /obj/item/clothing/gloves/color/fyellow/Initialize(mapload) . = ..() - siemens_coefficient = pick(0,0.5,0.5,0.5,0.5,0.75,1.5) + siemens_coefficient = pick(0, 0.5, 0.5, 0.5, 0.5, 0.75, 1.5) /obj/item/clothing/gloves/color/fyellow/old name = "worn out insulated gloves" @@ -35,14 +33,14 @@ /obj/item/clothing/gloves/color/fyellow/old/Initialize(mapload) . = ..() - siemens_coefficient = pick(0,0,0,0.5,0.5,0.5,0.75) + siemens_coefficient = pick(0, 0, 0, 0.5, 0.5, 0.5, 0.75) /obj/item/clothing/gloves/color/black name = "black gloves" desc = "A pair of black gloves made of fire-resistant fabric." icon_state = "black" - item_state = "bgloves" - item_color="black" + inhand_icon_state = "bgloves" + item_color = "black" cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS @@ -85,14 +83,12 @@ name = "orange gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "orange" - item_state = "orangegloves" - item_color="orange" + item_color = "orange" /obj/item/clothing/gloves/color/red name = "red gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "red" - item_state = "redgloves" item_color = "red" /obj/item/clothing/gloves/color/red/insulated @@ -106,7 +102,6 @@ name = "rainbow gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "rainbow" - item_state = "rainbowgloves" item_color = "rainbow" /obj/item/clothing/gloves/color/rainbow/clown @@ -116,49 +111,44 @@ name = "blue gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "blue" - item_state = "bluegloves" - item_color="blue" + item_color = "blue" /obj/item/clothing/gloves/color/purple name = "purple gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "purple" - item_state = "purplegloves" - item_color="purple" + item_color = "purple" /obj/item/clothing/gloves/color/green name = "green gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "green" - item_state = "greengloves" - item_color="green" + item_color = "green" /obj/item/clothing/gloves/color/grey name = "grey gloves" desc = "A pair of gloves, they don't look special in any way." - icon_state = "gray" - item_state = "graygloves" - item_color = "grey" + icon_state = "gray" // <----- + inhand_icon_state = "bgloves" + item_color = "grey" // <----- /obj/item/clothing/gloves/color/light_brown name = "light brown gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "lightbrown" - item_state = "lightbrowngloves" - item_color="light brown" + item_color = "light brown" /obj/item/clothing/gloves/color/brown name = "brown gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "brown" - item_state = "browngloves" - item_color="brown" + item_color = "brown" /obj/item/clothing/gloves/color/latex name = "latex gloves" desc = "A pair of thin sterile gloves made from latex. The material's thin enough that fingerprints can still be transferred to objects you touch." icon_state = "latex" - item_state = "lgloves" + inhand_icon_state = "lgloves" siemens_coefficient = 0.30 permeability_coefficient = 0.01 item_color = "white" @@ -169,7 +159,6 @@ name = "nitrile gloves" desc = "A pair of high-quality sterile gloves made from thick nitrile material. " icon_state = "nitrile" - item_state = "nitrilegloves" transfer_prints = FALSE item_color = "medical" @@ -177,8 +166,8 @@ name = "white gloves" desc = "A pair of white silk gloves for individuals of class and discerning taste." icon_state = "white" - item_state = "wgloves" - item_color="mime" + inhand_icon_state = "lgloves" + item_color = "mime" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/gloves.dmi', "Drask" = 'icons/mob/clothing/species/drask/gloves.dmi', @@ -186,12 +175,10 @@ "Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi', ) - /obj/item/clothing/gloves/color/captain name = "captain's gloves" desc = "A pair of very expensive gloves made of reinforced blue & gold fabric. They're insulated against both electrical shocks and extreme temperatures." icon_state = "captain" - item_state = "captain" item_color = "captain" siemens_coefficient = 0 permeability_coefficient = 0.01 @@ -212,5 +199,4 @@ desc = "These gloves are warm and furry." name = "fur gloves" icon_state = "furglovesico" - item_state = "furgloves" transfer_prints = TRUE diff --git a/code/modules/clothing/gloves/misc_gloves.dm b/code/modules/clothing/gloves/misc_gloves.dm index f798e84ea43..2ff8d6bb290 100644 --- a/code/modules/clothing/gloves/misc_gloves.dm +++ b/code/modules/clothing/gloves/misc_gloves.dm @@ -2,8 +2,7 @@ name = "fingerless gloves" desc = "Plain black gloves without fingertips for the hard working." icon_state = "fingerless" - item_state = "fingerless" - item_color = null //So they don't wash. + inhand_icon_state = "bgloves" transfer_prints = TRUE cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT @@ -22,21 +21,18 @@ name = "cyborg gloves" desc = "beep boop borp." icon_state = "black" - item_state = "r_hands" - /obj/item/clothing/gloves/color/black/forensics name = "forensics gloves" desc = "These high-tech gloves don't leave any material traces on objects they touch. Perfect for leaving crime scenes undisturbed...both before and after the crime." icon_state = "forensics" - item_state = "forensics" can_leave_fibers = FALSE /obj/item/clothing/gloves/combat name = "combat gloves" desc = "A tough pair of military gloves reinforced with light armor that doesn't restrict movement. A Nomex underlayer provides near complete protection from extreme temperatures." icon_state = "combat" - item_state = "swat_gl" + inhand_icon_state = "swat_gl" siemens_coefficient = 0 permeability_coefficient = 0.05 strip_delay = 80 @@ -57,8 +53,6 @@ name = "bone bracers" desc = "For when you're expecting to get slapped on the wrist. Offers modest protection to your arms." icon_state = "bracers" - item_state = "bracers" - item_color = null //So they don't wash. transfer_prints = TRUE strip_delay = 40 body_parts_covered = ARMS @@ -73,7 +67,6 @@ name = "botanist's leather gloves" desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin." icon_state = "leather" - item_state = "ggloves" permeability_coefficient = 0.9 cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT @@ -86,30 +79,26 @@ name = "janitorial gloves" desc = "Gloves designed to offer minor protection against messes. The rubber doesn't feel thick enough to protect you from shocks." icon_state = "janitorial" - item_state = "janitorial" cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT sprite_sheets = list( - "Human" = 'icons/mob/clothing/hands.dmi', "Vox" = 'icons/mob/clothing/species/vox/gloves.dmi', "Drask" = 'icons/mob/clothing/species/drask/gloves.dmi', "Grey" = 'icons/mob/clothing/species/grey/gloves.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi' - ) + ) /obj/item/clothing/gloves/smithing name = "smithing gloves" desc = "Heatproof gloves designed for safely handling hot tools and even hotter metal." icon_state = "smithing" - item_state = "smithing" cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT sprite_sheets = list( - "Human" = 'icons/mob/clothing/hands.dmi', "Vox" = 'icons/mob/clothing/species/vox/gloves.dmi', "Drask" = 'icons/mob/clothing/species/drask/gloves.dmi', "Grey" = 'icons/mob/clothing/species/grey/gloves.dmi', @@ -120,7 +109,6 @@ name = "cloth handwraps" desc = "A roll of treated canvas used for wrapping claws or paws." icon_state = "clothwrap" - item_state = "clothwrap" transfer_prints = TRUE clipped = TRUE @@ -128,7 +116,7 @@ name = "cursed white gloves" desc = "These things smell terrible, and they're all lumpy. Gross." icon_state = "latex" - item_state = "lgloves" + inhand_icon_state = "lgloves" flags = NODROP /obj/item/clothing/gloves/color/yellow/stun @@ -245,9 +233,8 @@ /obj/item/clothing/gloves/color/white/supermatter_immune name = "hypernobilium weave gloves" desc = "Sleek, white gloves woven from fabric doused in hypernobilium using a process known only to the Oblivion Order." - siemens_coefficient = 0 icon_state = "obliviongauntlets" - item_state = "obliviongauntlets" + siemens_coefficient = 0 sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/gloves.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi', diff --git a/code/modules/clothing/gloves/rings.dm b/code/modules/clothing/gloves/rings.dm index b754eb65f66..f6e5af64cf4 100644 --- a/code/modules/clothing/gloves/rings.dm +++ b/code/modules/clothing/gloves/rings.dm @@ -1,11 +1,10 @@ /obj/item/clothing/gloves/ring name = "iron ring" desc = "A band that goes around your finger. It's considered gauche to wear more than one." - gender = "neuter" // not plural anymore - transfer_prints = TRUE - icon_state = "ironring" - item_state = "" icon = 'icons/obj/clothing/rings.dmi' + icon_state = "ironring" + gender = NEUTER // not plural anymore + transfer_prints = TRUE var/fluff_material = FALSE //If true, will ignore the material when examining var/material = "iron" var/stud = 0 diff --git a/code/modules/clothing/head/beret.dm b/code/modules/clothing/head/beret.dm index 3e07f3854c4..5abdb2f5557 100644 --- a/code/modules/clothing/head/beret.dm +++ b/code/modules/clothing/head/beret.dm @@ -4,10 +4,8 @@ desc = "A beret, an artist's favorite headwear." icon = 'icons/obj/clothing/head/beret.dmi' icon_state = "beret" - item_state = 'icons/mob/clothing/head/beret.dmi' - icon_override = 'icons/mob/clothing/head/beret.dmi' + worn_icon = 'icons/mob/clothing/head/beret.dmi' dog_fashion = /datum/dog_fashion/head/beret - sprite_sheets = list( "Kidan" = 'icons/mob/clothing/species/kidan/head/beret.dmi', "Vox" = 'icons/mob/clothing/species/vox/head/beret.dmi' @@ -89,7 +87,7 @@ icon_state = "beret_officer" armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, RAD = 0, FIRE = 10, ACID = 50) strip_delay = 60 - dog_fashion = /datum/dog_fashion/head/beret/sec + dog_fashion = /datum/dog_fashion/head/beret/sec /obj/item/clothing/head/beret/sec/corporate name = "corporate security beret" diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index 49e3a75226d..dcd26273689 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -14,7 +14,6 @@ name = "collectable slime cap!" desc = "It just latches right in place!" icon_state = "headslime" - item_state = "headslime" /obj/item/clothing/head/collectable/xenom name = "collectable xenomorph helmet!" @@ -25,12 +24,9 @@ name = "collectable chef's hat" desc = "A rare Chef's Hat meant for hat collectors!" icon_state = "chef" - item_state = "chef" + inhand_icon_state = "chefhat" dog_fashion = /datum/dog_fashion/head/chef - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/collectable/paper name = "collectable paper hat" @@ -42,7 +38,6 @@ name = "collectable top hat" desc = "A top hat worn by only the most prestigious hat collectors." icon_state = "tophat" - item_state = "that" dog_fashion = /datum/dog_fashion/head sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') @@ -50,7 +45,6 @@ name = "collectable captain's hat" desc = "A Collectable Hat that'll make you look just like a real captain!" icon_state = "captain_hat" - item_state = "captain_hat" dog_fashion = /datum/dog_fashion/head/captain sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') @@ -65,20 +59,14 @@ desc = "A Collectable red Beret. It smells faintly of Garlic." icon = 'icons/obj/clothing/head/beret.dmi' icon_state = "beret" - item_state = 'icons/mob/clothing/head/beret.dmi' - icon_override = 'icons/mob/clothing/head/beret.dmi' + worn_icon = 'icons/mob/clothing/head/beret.dmi' dog_fashion = /datum/dog_fashion/head/beret - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head/beret.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head/beret.dmi') /obj/item/clothing/head/collectable/welding name = "collectable welding helmet" desc = "A Collectable Welding Helmet. Now with 80% less lead! Not for actual welding. Any welding done while wearing this Helmet is done so at the owner's own risk!" icon_state = "welding" - item_state = "welding" - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/helmet.dmi', @@ -91,27 +79,23 @@ name = "collectable flat cap" desc = "A Collectable farmer's Flat Cap!" icon_state = "flat_cap" - item_state = "detective" /obj/item/clothing/head/collectable/pirate name = "collectable pirate hat" desc = "You'd make a great Dread Syndie Roberts!" icon_state = "pirate" - item_state = "pirate" dog_fashion = /datum/dog_fashion/head/pirate /obj/item/clothing/head/collectable/kitty name = "collectable kitty ears" desc = "The fur feels.....a bit too realistic." icon_state = "kitty" - item_state = "kitty" dog_fashion = /datum/dog_fashion/head/kitty /obj/item/clothing/head/collectable/rabbitears name = "collectable rabbit ears" desc = "Not as lucky as the feet!" icon_state = "bunny" - item_state = "bunny" dog_fashion = /datum/dog_fashion/head/rabbit /obj/item/clothing/head/collectable/wizard @@ -124,7 +108,6 @@ name = "collectable hard hat" desc = "WARNING! Offers no real protection, or luminosity, but it is damn fancy!" icon_state = "hardhat0_yellow" - item_state = "hardhat0_yellow" dog_fashion = /datum/dog_fashion/head/hardhat /obj/item/clothing/head/collectable/hos @@ -142,14 +125,10 @@ name = "collectable Thunderdome helmet" desc = "Go Red! I mean Green! I mean Red! No Green!" icon_state = "thunderdome" - item_state = "thunderdome" /obj/item/clothing/head/collectable/swat name = "collectable SWAT helmet" desc = "Now you can be in the Deathsquad too!" icon_state = "swat" - item_state = "swat" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi' - ) + inhand_icon_state = "swat_hel" + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/helmet.dmi') diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index af2e33d2618..5f6906d292c 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -3,7 +3,6 @@ name = "hard hat" desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight." icon_state = "hardhat0_yellow" - item_state = "hardhat0_yellow" var/brightness_on = 4 //luminosity when on var/on = FALSE item_color = "yellow" //Determines used sprites: hardhat[on]_[color] and hardhat[on]_[color]2 (lying down sprite) @@ -30,7 +29,6 @@ /obj/item/clothing/head/hardhat/update_icon_state() icon_state = "hardhat[on]_[item_color]" - item_state = "hardhat[on]_[item_color]" if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.update_inv_head() @@ -52,13 +50,11 @@ /obj/item/clothing/head/hardhat/orange name = "orange hard hat" icon_state = "hardhat0_orange" - item_state = "hardhat0_orange" item_color = "orange" /obj/item/clothing/head/hardhat/red name = "firefighter helmet" icon_state = "hardhat0_red" - item_state = "hardhat0_red" item_color = "red" flags = STOPSPRESSUREDMAGE heat_protection = HEAD @@ -70,7 +66,6 @@ /obj/item/clothing/head/hardhat/white name = "white hard hat" icon_state = "hardhat0_white" - item_state = "hardhat0_white" item_color = "white" flags = STOPSPRESSUREDMAGE heat_protection = HEAD @@ -82,17 +77,15 @@ /obj/item/clothing/head/hardhat/dblue name = "blue hard hat" icon_state = "hardhat0_dblue" - item_state = "hardhat0_dblue" item_color = "dblue" /obj/item/clothing/head/hardhat/atmos name = "atmospheric technician's firefighting helmet" desc = "A firefighter's helmet, able to keep the user cool in any situation." icon = 'icons/obj/clothing/head/utility.dmi' - icon_override = 'icons/mob/clothing/head/utility.dmi' + worn_icon = 'icons/mob/clothing/head/utility.dmi' icon_state = "hardhat0_atmos" item_color = "atmos" - item_state = 'icons/mob/clothing/head/utility.dmi' flags = STOPSPRESSUREDMAGE flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE heat_protection = HEAD @@ -113,7 +106,6 @@ /obj/item/clothing/head/hardhat/durathread name = "durathread hard hat" icon_state = "hardhat0_durathread" - item_state = "hardhat0_durathread" item_color = "durathread" desc = "A hard hat made from durathread, leather, and light fixture components." armor = list(MELEE = 10, BULLET = 5, LASER = 20, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 35, ACID = 50) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 3d113d02a92..48d52315de0 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -5,7 +5,6 @@ w_class = WEIGHT_CLASS_NORMAL flags = HEADBANGPROTECT flags_cover = HEADCOVERSEYES - item_state = "helmetmaterials" armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD @@ -81,7 +80,6 @@ name = "bulletproof helmet" desc = "A durable combat helmet reinforced with strike plates and cushioning to protect against high-velocity kinetic impacts and the concussive force of explosions. Does little to stop energy weapons or melee hits." icon_state = "bulletproof" - item_state = "bulletproof" armor = list(MELEE = 10, BULLET = 50, LASER = 5, ENERGY = 5, BOMB = 45, RAD = 0, FIRE = 50, ACID = 50) dog_fashion = null @@ -89,7 +87,6 @@ name = "riot helmet" desc = "A large, bulky helmet reinforced with impact plates and shock-absorbing gel to protect against melee attacks. The helmet is treated with a fire and acid-resistant surface coating, and the attached plexiglass visor should prevent things from jumping on your face." icon_state = "riot" - item_state = "helmet" armor = list(MELEE = 50, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 0, RAD = 0, FIRE = 200, ACID = 200) flags_inv = HIDEEARS flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH @@ -101,7 +98,6 @@ name = "medieval helmet" desc = "A majestic knightly helm made of steel. Protects well against melee attacks, but don't try taking a bullet with it." icon_state = "knight_green" - item_state = "knight_green" flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE dog_fashion = null @@ -125,16 +121,13 @@ toggle_message = "You turn off the light" alt_toggle_message = "You turn on the light" - /obj/item/clothing/head/helmet/swat name = "\improper SWAT helmet" desc = "A menacing black combat helmet used by police assault units. Provides moderate protection against all threats." icon_state = "swat" - item_state = "swat" - + inhand_icon_state = "swat_hel" armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 50, RAD = 10, FIRE = 50, ACID = 50) flags = BLOCKHAIR - min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT strip_delay = 80 @@ -144,15 +137,13 @@ name = "blood-red helmet" desc = "An extremely robust, space-worthy helmet without a visor to allow for goggle usage underneath. Property of Gorlex Marauders." icon_state = "helmetsyndi" - item_state = "helmet" /obj/item/clothing/head/helmet/thunderdome name = "\improper Thunderdome helmet" desc = "'Let the battle commence!'" icon_state = "thunderdome" - flags = null - item_state = "thunderdome" armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = 450, ACID = 450) + flags = null flags_2 = RAD_PROTECT_CONTENTS_2 min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT @@ -166,7 +157,6 @@ armor = list(MELEE = 15, BULLET = 0, LASER = 15, ENERGY = 5, BOMB = 5, RAD = 0, FIRE = INFINITY, ACID = 50) resistance_flags = FIRE_PROOF icon_state = "roman" - item_state = "roman" strip_delay = 100 dog_fashion = /datum/dog_fashion/head/roman @@ -178,7 +168,6 @@ name = "centurion helmet" desc = "A lovingly-crafted helmet based off those used by Roman centurions. Provides light protection against melee and laser impacts, is completely fireproof, and has a fancy crest on top!" icon_state = "roman_c" - item_state = "roman_c" /obj/item/clothing/head/helmet/roman/legionaire/fake desc = "A shoddily-crafted cosplay helmet made of plastic. This particular specimen has what appears to be the head of a broom crudely taped to the top." @@ -189,7 +178,6 @@ desc = "Ave, Imperator, morituri te salutant." icon_state = "gladiator" flags = BLOCKHAIR - item_state = "gladiator" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES toggle_message = "You attach the face shield to the" alt_toggle_message = "You remove the face shield from the" @@ -204,7 +192,6 @@ desc = "They have chosen their own end." icon_state = "redtaghelm" flags = null - item_state = "redtaghelm" armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 0, ACID = 50) // Offer about the same protection as a hardhat. dog_fashion = null @@ -214,7 +201,6 @@ desc = "They'll need more men." icon_state = "bluetaghelm" flags = null - item_state = "bluetaghelm" armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 0, ACID = 50) // Offer about the same protection as a hardhat. dog_fashion = null @@ -223,31 +209,23 @@ name = "blob hat" desc = "A collectable hat handed out at the latest Blob Family Reunion." icon_state = "blobhat" - item_state = "blobhat" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/helmet.dmi') /obj/item/clothing/head/helmet/riot/knight/blue icon_state = "knight_blue" - item_state = "knight_blue" /obj/item/clothing/head/helmet/riot/knight/yellow icon_state = "knight_yellow" - item_state = "knight_yellow" /obj/item/clothing/head/helmet/riot/knight/red icon_state = "knight_red" - item_state = "knight_red" /obj/item/clothing/head/helmet/riot/knight/templar name = "crusader helmet" desc = "A cheap metal helmet that looks straight out of a poorly-funded documentary about the crusades. Might stop a crude melee weapon. The asbestos-lined padding does provide great protection from fire and acid, however..." icon_state = "knight_templar" - item_state = "knight_templar" armor = list(MELEE = 10, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, RAD = 0, FIRE = 200, ACID = 200) /obj/item/clothing/head/helmet/skull @@ -256,17 +234,13 @@ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE armor = list(MELEE = 25, BULLET = 15, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) icon_state = "skull" - item_state = "skull" strip_delay = 100 - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/head.dmi' - ) + sprite_sheets = list("Grey" = 'icons/mob/clothing/species/grey/head.dmi') /obj/item/clothing/head/helmet/durathread name = "durathread helmet" desc = "A helmet made from durathread and leather." icon_state = "durathread" - item_state = "durathread" armor = list(MELEE = 10, BULLET = 5, LASER = 20, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 35, ACID = 50) sprite_sheets = list( "Drask" = 'icons/mob/clothing/species/drask/helmet.dmi', @@ -314,7 +288,6 @@ name = "paranormal emergency response team helmet" desc = "An antique steel helmet that looks straight out of a poorly-funded documentary about the Crusades. Where the hell did they even find this?" icon_state = "knight_templar" - item_state = "knight_templar" //Engineer /obj/item/clothing/head/helmet/ert/engineer @@ -339,7 +312,6 @@ name = "\improper Federation marine combat helmet" desc = "A powered combat helmet used by the Trans-Solar Marine Corps. Provides excellent protection in all areas, while a modern OCULUS array augments the wearer's vision." icon_state = "fedhelmet_marine" - item_state = "fedhelmet_marine" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', @@ -381,7 +353,6 @@ name = "\improper Federation marine officer's combat helmet" desc = "A powered combat helmet used by officers of the Trans-Solar Marine Corps. Provides excellent protection in all areas, while a next-gen OCULUS array augments the wearer's vision." icon_state = "fedhelmet_marine_officer" - item_state = "fedhelmet_marine_officer" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', diff --git a/code/modules/clothing/head/job_hats.dm b/code/modules/clothing/head/job_hats.dm index 108b80ba33d..c23622ee8df 100644 --- a/code/modules/clothing/head/job_hats.dm +++ b/code/modules/clothing/head/job_hats.dm @@ -1,31 +1,28 @@ -//Bartender +// Chef /obj/item/clothing/head/chefhat name = "chef's hat" desc = "The commander in chef's head wear." icon_state = "chef" - item_state = "chefhat" + inhand_icon_state = "chefhat" strip_delay = 10 put_on_delay = 10 dog_fashion = /datum/dog_fashion/head/chef - sprite_sheets = list( "Drask" = 'icons/mob/clothing/species/drask/head.dmi', "Grey" = 'icons/mob/clothing/species/grey/head.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/head.dmi', - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + "Vox" = 'icons/mob/clothing/species/vox/head.dmi', + ) //Captain /obj/item/clothing/head/caphat name = "captain's hat" desc = "It's good being the king." icon_state = "captain_hat" - item_state = "captain_hat" armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) strip_delay = 60 dog_fashion = /datum/dog_fashion/head/captain - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', @@ -107,7 +104,6 @@ name = "witchhunter hat" desc = "This hat saw much use back in the day." icon_state = "witchhunterhat" - item_state = "witchhunterhat" flags_cover = HEADCOVERSEYES /obj/item/clothing/head/det_hat @@ -148,23 +144,17 @@ name = "officer's cap" desc = "A red cap with an old-fashioned badge on the front for establishing that you are, in fact, the law." icon_state = "sechat" - item_state = "sechat" armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, RAD = 0, FIRE = 10, ACID = 50) strip_delay = 60 - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/drillsgt name = "security campaign hat" desc = "A wide-brimmed hat inspired by drill instructors, or when paired with red Security clothing, the Canadian Mounties of Terra." icon_state = "drillsgthat" - item_state = "drillsgthat" armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, RAD = 0, FIRE = 10, ACID = 50) strip_delay = 60 - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') //Research /obj/item/clothing/head/rd @@ -230,8 +220,4 @@ name = "campaign hat" desc = "A wide-brimmed campaign hat with a drill sergeant feel, worn by Career Trainers to project knowledge and guide new employees with classic style." icon_state = "trainercampaign" - item_state = "trainercampaign" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') diff --git a/code/modules/clothing/head/misc_hats.dm b/code/modules/clothing/head/misc_hats.dm index ecebd8ee4fa..d9930e58de4 100644 --- a/code/modules/clothing/head/misc_hats.dm +++ b/code/modules/clothing/head/misc_hats.dm @@ -2,41 +2,34 @@ /obj/item/clothing/head/centhat name = "\improper CentComm. hat" - icon_state = "centcom" desc = "It's good to be emperor." - item_state = "centhat" + icon_state = "centcom" + inhand_icon_state = "tophat" armor = list(MELEE = 20, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) strip_delay = 80 /obj/item/clothing/head/hairflower name = "hair flower pin" - icon_state = "hairflower" desc = "Smells nice." - item_state = "hairflower" + icon_state = "hairflower" /obj/item/clothing/head/powdered_wig name = "powdered wig" desc = "A powdered wig." icon_state = "pwig" - item_state = "pwig" /obj/item/clothing/head/justice_wig name = "justice wig" desc = "A fancy powdered wig given to arbitrators of the law. It looks itchy." icon_state = "jwig" - item_state = "jwig" dog_fashion = /datum/dog_fashion/head/justice_wig /obj/item/clothing/head/that name = "top-hat" desc = "It's an amish looking hat." icon_state = "tophat" - item_state = "that" dog_fashion = /datum/dog_fashion/head - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/redcoat name = "redcoat's hat" @@ -78,11 +71,9 @@ /obj/item/clothing/head/syndicatefake name = "black and red space-helmet replica" icon_state = "syndicate-helm-black-red" - item_state = "syndicate-helm-black-red" desc = "A plastic replica of a syndicate agent's space helmet, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!" flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE - sprite_sheets = list( "Grey" = 'icons/mob/clothing/species/grey/helmet.dmi', "Tajaran" = 'icons/mob/clothing/species/tajaran/helmet.dmi', @@ -90,63 +81,48 @@ "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/helmet.dmi', "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi') - /obj/item/clothing/head/cueball name = "cueball helmet" desc = "A large, featureless white orb meant to be worn on your head. How do you even see out of this thing?" icon_state = "cueball" - item_state = "cueball" flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/head.dmi' - ) + sprite_sheets = list("Grey" = 'icons/mob/clothing/species/grey/head.dmi') /obj/item/clothing/head/snowman name = "snowman head" desc = "A ball of white styrofoam. So festive." icon_state = "snowman_h" - item_state = "snowman_h" flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/head.dmi' - ) + sprite_sheets = list("Grey" = 'icons/mob/clothing/species/grey/head.dmi') /obj/item/clothing/head/greenbandana name = "green bandana" desc = "It's a green bandana with some fine nanotech lining." icon_state = "greenbandana" - item_state = "greenbandana" flags_inv = 0 /obj/item/clothing/head/justice name = "justice hat" desc = "Fight for what's righteous!" icon_state = "justicered" - item_state = "justicered" flags = BLOCKHAIR flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/head/justice/blue icon_state = "justiceblue" - item_state = "justiceblue" /obj/item/clothing/head/justice/yellow icon_state = "justiceyellow" - item_state = "justiceyellow" /obj/item/clothing/head/justice/green icon_state = "justicegreen" - item_state = "justicegreen" /obj/item/clothing/head/justice/pink icon_state = "justicepink" - item_state = "justicepink" /obj/item/clothing/head/rabbitears name = "rabbit ears" @@ -158,78 +134,53 @@ name = "flat cap" desc = "A working man's cap." icon_state = "flat_cap" - item_state = "detective" /obj/item/clothing/head/pirate name = "pirate hat" desc = "Yarr." icon_state = "pirate" - item_state = "pirate" dog_fashion = /datum/dog_fashion/head/pirate - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/hgpiratecap name = "pirate hat" desc = "Yarr." icon_state = "hgpiratecap" - item_state = "hgpiratecap" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/bandana name = "pirate bandana" desc = "Yarr." icon_state = "bandana" - item_state = "bandana" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') //stylish bs12 hats /obj/item/clothing/head/bowlerhat name = "bowler hat" - icon_state = "bowler_hat" - item_state = "bowler_hat" desc = "For that industrial age look." + icon_state = "bowler_hat" dog_fashion = /datum/dog_fashion/head/bowlerhat - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/beaverhat name = "beaver hat" - icon_state = "beaver_hat" - item_state = "beaver_hat" desc = "Like a top hat, but made of beavers." - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + icon_state = "beaver_hat" + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/boaterhat name = "boater hat" - icon_state = "boater_hat" - item_state = "boater_hat" desc = "Goes well with celery." - + icon_state = "boater_hat" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi' ) /obj/item/clothing/head/cowboyhat name = "cowboy hat" - icon_state = "cowboyhat" - item_state = "cowboyhat" desc = "For the Rancher in us all." - + icon_state = "cowboyhat" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', @@ -238,39 +189,33 @@ /obj/item/clothing/head/cowboyhat/tan name = "tan cowboy hat" - icon_state = "cowboyhat_tan" - item_state = "cowboyhat_tan" desc = "There's a new sheriff in town. Pass the whiskey." + icon_state = "cowboyhat_tan" /obj/item/clothing/head/cowboyhat/black name = "black cowboy hat" - icon_state = "cowboyhat_black" - item_state = "cowboyhat_black" desc = "This station ain't big enough for the two ah' us." + icon_state = "cowboyhat_black" /obj/item/clothing/head/cowboyhat/white name = "white cowboy hat" - icon_state = "cowboyhat_white" - item_state = "cowboyhat_white" desc = "Authentic Marshall hair case. Now ya can protect this here homestead. Navy Model not included." + icon_state = "cowboyhat_white" /obj/item/clothing/head/cowboyhat/pink name = "cowgirl hat" - icon_state = "cowboyhat_pink" - item_state = "cowboyhat_pink" desc = "For those buckle bunnies wanta' become a real buckaroo." + icon_state = "cowboyhat_pink" /obj/item/clothing/head/cowboyhat/sec name = "security cowboy hat" desc = "Secway is your horse." icon_state = "cowboyhat_sec" - item_state = "cowboyhat_sec" /obj/item/clothing/head/fedora name = "fedora" desc = "A great hat ruined by being within fifty yards of you." icon_state = "fedora" - item_state = "fedora" actions_types = list(/datum/action/item_action/tip_fedora) sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', @@ -297,13 +242,9 @@ /obj/item/clothing/head/fez name = "fez" - icon_state = "fez" - item_state = "fez" desc = "Put it on your monkey, make lots of cash money." - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + icon_state = "fez" + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') //end bs12 hats @@ -311,29 +252,22 @@ name = "witch costume wig" desc = "Eeeee~heheheheheheh!" icon_state = "witch" - item_state = "witch" flags = BLOCKHAIR - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/chicken name = "chicken suit head" desc = "Bkaw!" icon_state = "chickenhead" - item_state = "chickensuit" + inhand_icon_state = "chickensuit" flags = BLOCKHAIR - - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/head.dmi' - ) + sprite_sheets = list("Grey" = 'icons/mob/clothing/species/grey/head.dmi') /obj/item/clothing/head/corgi name = "corgi suit head" desc = "Woof!" icon_state = "corgihead" - item_state = "chickensuit" + inhand_icon_state = "chickensuit" flags = BLOCKHAIR /obj/item/clothing/head/corgi/en @@ -353,34 +287,26 @@ name = "space bear pelt hat" desc = "Fuzzy." icon_state = "bearpelt" - item_state = "bearpelt" flags = BLOCKHAIR - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/bearpelt/black name = "black bear pelt hat" icon_state = "black_bearpelt" - item_state = "black_bearpelt" /obj/item/clothing/head/bearpelt/brown name = "brown bear pelt hat" icon_state = "brown_bearpelt" - item_state = "brown_bearpelt" /obj/item/clothing/head/bearpelt/polar name = "polar bear pelt hat" desc = "Fuzzy, and also stained with blood." icon_state = "polar_bearpelt" - item_state = "polar_bearpelt" /obj/item/clothing/head/xenos name = "xeno helmet" desc = "A helmet made out of chitinous alien hide." icon_state = "xenos" - item_state = "xenos_helm" flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE @@ -389,7 +315,6 @@ name = "clown stalhelm" desc = "The typical clown soldier's helmet." icon_state = "stalhelm" - item_state = "stalhelm" flags = BLOCKHAIR flags_inv = HIDEEARS @@ -397,14 +322,12 @@ name = "clown HONKMech cap" desc = "The softcap worn by HONK Mech pilots." icon_state = "foragecap" - item_state = "foragecap" flags = BLOCKHAIR /obj/item/clothing/head/armyofficer name = "clown officer cap" desc = "The peaked clown officer's cap." icon_state = "armyofficer" - item_state = "armyofficer" flags = BLOCKHAIR flags_inv = HIDEEARS @@ -414,31 +337,24 @@ desc = "A purple beret, with a small golden crescent moon sewn onto it." icon = 'icons/obj/clothing/hats.dmi' icon_state = "beret_purple" - item_state = "purpleberet" /obj/item/clothing/head/sombrero name = "sombrero" - icon_state = "sombrero" - item_state = "sombrero" desc = "You can practically taste the fiesta." + icon_state = "sombrero" dog_fashion = /datum/dog_fashion/head/sombrero - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/sombrero/green name = "green sombrero" - icon_state = "greensombrero" - item_state = "greensombrero" desc = "As elegant as a dancing cactus." + icon_state = "greensombrero" dog_fashion = null /obj/item/clothing/head/sombrero/shamebrero name = "shamebrero" - icon_state = "shamebrero" - item_state = "shamebrero" desc = "Once it's on, it never comes off." + icon_state = "shamebrero" flags = NODROP dog_fashion = null @@ -447,7 +363,6 @@ desc = "This cone is trying to warn you of something!" icon = 'icons/obj/janitor.dmi' icon_state = "cone" - item_state = "cone" force = 1.0 throwforce = 3.0 throw_range = 5 @@ -478,13 +393,9 @@ name = "griffon head" desc = "Why not 'eagle head'? Who knows." icon_state = "griffinhat" - item_state = "griffinhat" flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE - - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/head.dmi' - ) + sprite_sheets = list("Grey" = 'icons/mob/clothing/species/grey/head.dmi') actions_types = list(/datum/action/item_action/caw) /obj/item/clothing/head/griffin/attack_self__legacy__attackchain() @@ -495,18 +406,15 @@ playsound(src.loc, 'sound/creatures/caw.ogg', 50, 1) cooldown = world.time - /obj/item/clothing/head/lordadmiralhat name = "lord admiral's hat" desc = "A hat suitable for any man of high and exalted rank." icon_state = "lordadmiralhat" - item_state = "lordadmiralhat" /obj/item/clothing/head/human_head name = "bloated human head" desc = "A horribly bloated and mismatched human head." icon_state = "lingspacehelmet" - item_state = "lingspacehelmet" /obj/item/clothing/head/papersack name = "paper sack hat" @@ -544,23 +452,17 @@ name = "chequered diamond hat" desc = "Wearing this makes you feel like a real mozzarella cheeseball. " icon_state = "zepelli" - item_state = "zepelli" /obj/item/clothing/head/cuban_hat name = "rhumba hat" desc = "Now just to find some maracas!" icon_state = "cuban_hat" - item_state = "cuban_hat" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/flower_crown name = "flower crown" desc = "A colorful flower crown made out of lilies, sunflowers and poppies." icon_state = "flower_crown" - item_state = "flower_crown" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Grey" = 'icons/mob/clothing/species/grey/head.dmi', @@ -571,7 +473,6 @@ name = "sunflower crown" desc = "A bright flower crown made out sunflowers that is sure to brighten up anyone's day!" icon_state = "sunflower_crown" - item_state = "sunflower_crown" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Grey" = 'icons/mob/clothing/species/grey/head.dmi', @@ -582,7 +483,6 @@ name = "poppy crown" desc = "A flower crown made out of a string of bright red poppies." icon_state = "poppy_crown" - item_state = "poppy_crown" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Grey" = 'icons/mob/clothing/species/grey/head.dmi', @@ -593,7 +493,6 @@ name = "lily crown" desc = "A leafy flower crown with a cluster of large white lilies at the front." icon_state = "lily_crown" - item_state = "lily_crown" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Grey" = 'icons/mob/clothing/species/grey/head.dmi', @@ -604,7 +503,6 @@ name = "geranium crown" desc = "A flower crown made out of an array of rich purple geraniums." icon_state = "geranium_crown" - item_state = "geranium_crown" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Grey" = 'icons/mob/clothing/species/grey/head.dmi', @@ -614,10 +512,10 @@ name = "badass bandana" desc = "You know what time it is." icon_state = "tmc_hat" - item_state = "armor" + inhand_icon_state = "armor" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Grey" = 'icons/mob/clothing/species/grey/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/head.dmi' - ) + ) diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 5c1cd8634f1..f65d71794ea 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -16,7 +16,6 @@ desc = "A head-mounted face cover designed to protect the wearer completely from space-arc eye." icon_state = "welding" flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - item_state = "welding" materials = list(MAT_METAL=1750, MAT_GLASS=400) flash_protect = FLASH_PROTECTION_WELDER tint = FLASH_PROTECTION_WELDER @@ -26,7 +25,6 @@ actions_types = list(/datum/action/item_action/toggle) visor_flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE resistance_flags = FIRE_PROOF - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/helmet.dmi', @@ -101,7 +99,6 @@ name = "ushanka" desc = "Perfect for winter in Siberia, da?" icon_state = "ushankadown" - item_state = "ushankadown" flags_inv = HIDEEARS cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT @@ -114,11 +111,9 @@ /obj/item/clothing/head/ushanka/attack_self__legacy__attackchain(mob/user as mob) if(icon_state == "ushankadown") icon_state = "ushankaup" - item_state = "ushankaup" to_chat(user, "You raise the ear flaps on the ushanka.") else icon_state = "ushankadown" - item_state = "ushankadown" to_chat(user, "You lower the ear flaps on the ushanka.") /obj/item/clothing/head/sovietsidecap @@ -143,7 +138,6 @@ name = "carved pumpkin" desc = "A jack o' lantern! Believed to ward off evil spirits." icon_state = "hardhat0_pumpkin"//Could stand to be renamed - item_state = "hardhat0_pumpkin" item_color = "pumpkin" flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE @@ -157,22 +151,18 @@ name = "carved blumpkin" desc = "A very blue jack o' lantern! Believed to ward off vengeful chemists." icon_state = "hardhat0_blumpkin" - item_state = "hardhat0_blumpkin" item_color = "blumpkin" light_color = "#76ff8e" - /obj/item/clothing/head/hardhat/reindeer name = "novelty reindeer hat" desc = "Some fake antlers and a very fake red nose." icon_state = "hardhat0_reindeer" - item_state = "hardhat0_reindeer" item_color = "reindeer" armor = null brightness_on = 1 //luminosity when on dog_fashion = /datum/dog_fashion/head/reindeer - /* * Kitty ears */ @@ -195,7 +185,7 @@ var/icon/earbit = new/icon("icon" = 'icons/mob/clothing/head.dmi', "icon_state" = "[icon_state]inner") mob.Blend(earbit, ICON_OVERLAY) - icon_override = mob + worn_icon = mob /obj/item/clothing/head/kitty/equipped(mob/M, slot) . = ..() @@ -214,8 +204,6 @@ name = "head mirror" desc = "A band of rubber with a very reflective looking mirror attached to the front of it. One of the early signs of medical budget cuts." icon_state = "head_mirror" - item_state = "head_mirror" - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index a32878ae1d0..5e8535bc585 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -3,8 +3,7 @@ desc = "It's a baseball hat in a tasteless grey colour." icon = 'icons/obj/clothing/head/softcap.dmi' icon_state = "greysoft" - item_state = 'icons/mob/clothing/head/softcap.dmi' - icon_override = 'icons/mob/clothing/head/softcap.dmi' + worn_icon = 'icons/mob/clothing/head/softcap.dmi' item_color = "grey" var/flipped = FALSE actions_types = list(/datum/action/item_action/flip_cap) diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index 8f04d4e791c..4a4ecb6b664 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -2,13 +2,11 @@ name = "balaclava" desc = "LOADSAMONEY!" icon_state = "balaclava" - item_state = "balaclava" flags = BLOCKHAIR flags_inv = HIDEFACE can_toggle = TRUE actions_types = list(/datum/action/item_action/adjust) adjusted_flags = ITEM_SLOT_HEAD - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/mask.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi', @@ -25,10 +23,8 @@ name = "luchador mask" desc = "Worn by robust fighters, flying high to defeat their foes!" icon_state = "luchag" - item_state = "luchag" flags = BLOCKHAIR flags_inv = HIDEFACE - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/mask.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi', @@ -42,10 +38,8 @@ name = "tecnicos mask" desc = "Worn by robust fighters who uphold justice and fight honorably." icon_state = "luchador" - item_state = "luchador" /obj/item/clothing/mask/luchador/rudos name = "rudos mask" desc = "Worn by robust fighters who are willing to do anything to win." icon_state = "luchar" - item_state = "luchar" diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index a721d0db9e4..1f9168c8dcd 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -2,7 +2,6 @@ name = "breath mask" desc = "A close-fitting mask that can be connected to an air supply." icon_state = "breath" - item_state = "breath" flags = AIRTIGHT flags_cover = MASKCOVERSMOUTH can_toggle = TRUE @@ -33,7 +32,6 @@ name = "medical mask" desc = "A close-fitting sterile mask that can be connected to an air supply." icon_state = "medical" - item_state = "medical" permeability_coefficient = 0.01 put_on_delay = 10 @@ -41,7 +39,6 @@ name = "vox breath mask" desc = "A weirdly-shaped breath mask." icon_state = "voxmask" - item_state = "voxmask" permeability_coefficient = 0.01 species_restricted = list("Vox") actions_types = list() @@ -50,7 +47,6 @@ name = "vox respirator" desc = "A weirdly-shaped breath mask, this one seems to designed for a vox beak." icon_state = "voxmask2" - item_state = "voxmask2" /obj/item/clothing/mask/breath/vox/attack_self__legacy__attackchain(mob/user) return diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 3268d8bfd17..e89ef2445b6 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -2,11 +2,11 @@ name = "gas mask" desc = "A face-covering mask that can be connected to an air supply. Used by mischievous assistants and syndicate agents alike." icon_state = "gas_alt" + inhand_icon_state = "gas_alt" flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT flags_inv = HIDEEARS|HIDEEYES|HIDEFACE flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES w_class = WEIGHT_CLASS_NORMAL - item_state = "gas_alt" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 resistance_flags = NONE @@ -26,7 +26,7 @@ name = "welding mask" desc = "A gas mask with built in welding goggles and face shield. Looks like a skull, clearly designed by a nerd." icon_state = "weldingmask" - item_state = "weldingmask" + inhand_icon_state = null materials = list(MAT_METAL = 3000, MAT_GLASS = 1000) flash_protect = FLASH_PROTECTION_WELDER tint = FLASH_PROTECTION_WELDER @@ -37,7 +37,6 @@ can_toggle = TRUE visor_flags_inv = HIDEEYES resistance_flags = FIRE_PROOF - sprite_sheets = list( "Kidan" = 'icons/mob/clothing/species/kidan/mask.dmi', "Vox" = 'icons/mob/clothing/species/vox/mask.dmi', @@ -92,21 +91,19 @@ flags &= ~AIRTIGHT w_class = WEIGHT_CLASS_SMALL - //Bane gas mask /obj/item/clothing/mask/gas/banemask name = "bane mask" desc = "Only when the station is in flames, do you have my permission to robust." icon_state = "bane_mask" - item_state = "sechailer" - + inhand_icon_state = "sechailer" //Plague Dr suit can be found in clothing/suits/bio.dm /obj/item/clothing/mask/gas/plaguedoctor name = "plague doctor mask" desc = "A modernised version of the classic design, this mask will not only filter out toxins but it can also be connected to an air supply." icon_state = "plaguedoctor" - item_state = "gas_mask" + inhand_icon_state = "gas_mask" /obj/item/clothing/mask/gas/swat name = "\improper SWAT mask" @@ -123,7 +120,7 @@ name = "clown wig and mask" desc = "A true prankster's facial attire. A clown is incomplete without his wig and mask. Its form can be changed by using it in your hand." icon_state = "clown" - item_state = "clown_hat" + inhand_icon_state = "clown_hat" flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | BLOCKHAIR resistance_flags = FLAMMABLE dog_fashion = /datum/dog_fashion/head/clown @@ -154,25 +151,27 @@ name = "sexy-clown wig and mask" desc = "A feminine clown mask for the dabbling crossdressers or female entertainers. Its form can be changed by using it in your hand." icon_state = "sexyclown" - item_state = "sexyclown" /obj/item/clothing/mask/gas/clown_hat/joker name = "deranged clown wig and mask" desc = "A fiendish clown mask that inspires a deranged mirth. Its form can be changed by using it in your hand." icon_state = "joker" - item_state = "joker" /obj/item/clothing/mask/gas/clown_hat/rainbow name = "rainbow clown wig and mask" desc = "A colorful clown mask for the clown that loves to dazzle and impress. Its form can be changed by using it in your hand." icon_state = "rainbow" - item_state = "rainbow" + +/obj/item/clothing/mask/gas/clown_hat/pennywise + name = "\improper Pennywise mask" + desc = "It's the eater of worlds, and of children." + icon_state = "pennywise_mask" /obj/item/clothing/mask/gas/clownwiz name = "wizard clown wig and mask" desc = "Some pranksters are truly magical." icon_state = "wizzclown" - item_state = "wizzclown" + inhand_icon_state = "clown_hat" flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | BLOCKHAIR flags_inv = HIDEEARS | HIDEEYES magical = TRUE @@ -184,7 +183,7 @@ name = "mime mask" desc = "The traditional mime's mask. It has an eerie facial posture." icon_state = "mime" - item_state = "mime" + inhand_icon_state = null resistance_flags = FLAMMABLE /obj/item/clothing/mask/gas/mime/wizard @@ -200,14 +199,14 @@ name = "monkey mask" desc = "A mask used when acting as a monkey." icon_state = "monkeymask" - item_state = "monkeymask" + inhand_icon_state = null resistance_flags = FLAMMABLE /obj/item/clothing/mask/gas/sexymime name = "sexy mime mask" desc = "A traditional female mime's mask." icon_state = "sexymime" - item_state = "sexymime" + inhand_icon_state = null resistance_flags = FLAMMABLE /obj/item/clothing/mask/gas/cyborg @@ -249,7 +248,7 @@ name = "security gas mask" desc = "A standard issue Security gas mask with integrated 'Compli-o-nator 3000' device, plays over a dozen pre-recorded compliance phrases designed to get scumbags to stand still whilst you taze them. Do not tamper with the device." icon_state = "sechailer" - item_state = "sechailer" + inhand_icon_state = "sechailer" flags_inv = HIDEEYES|HIDEFACE var/phrase = 1 var/aggressiveness = 1 diff --git a/code/modules/clothing/masks/misc_masks.dm b/code/modules/clothing/masks/misc_masks.dm index c07374389b5..e3158fd1016 100644 --- a/code/modules/clothing/masks/misc_masks.dm +++ b/code/modules/clothing/masks/misc_masks.dm @@ -2,7 +2,7 @@ name = "muzzle" desc = "To stop that awful noise." icon_state = "muzzle" - item_state = "muzzle" + inhand_icon_state = "muzzle" flags_cover = MASKCOVERSMOUTH gas_transfer_coefficient = 0.90 put_on_delay = 2 SECONDS @@ -11,7 +11,6 @@ var/mute = MUZZLE_MUTE_ALL var/security_lock = FALSE // Requires brig access to remove 0 - Remove as normal var/locked = FALSE //Indicates if a mask is locked, should always start as 0. - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/mask.dmi' ) @@ -62,7 +61,7 @@ name = "tape gag" desc = "MHPMHHH!" icon_state = "tapegag" - item_state = null + inhand_icon_state = null w_class = WEIGHT_CLASS_TINY resist_time = 30 SECONDS mute = MUZZLE_MUTE_MUFFLE @@ -89,7 +88,6 @@ name = "safety muzzle" desc = "A muzzle designed to prevent biting." icon_state = "muzzle_secure" - item_state = "muzzle_secure" mute = MUZZLE_MUTE_NONE security_lock = TRUE materials = list(MAT_METAL=500, MAT_GLASS=50) @@ -176,14 +174,13 @@ name = "sterile mask" desc = "A sterile mask designed to help prevent the spread of diseases." icon_state = "sterile" - item_state = "sterile" + inhand_icon_state = "m_mask" w_class = WEIGHT_CLASS_TINY flags_cover = MASKCOVERSMOUTH gas_transfer_coefficient = 0.90 permeability_coefficient = 0.01 actions_types = list(/datum/action/item_action/adjust) can_toggle = TRUE - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/mask.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi', @@ -191,7 +188,7 @@ "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/mask.dmi', "Grey" = 'icons/mob/clothing/species/grey/mask.dmi', "Drask" = 'icons/mob/clothing/species/drask/mask.dmi' - ) + ) /obj/item/clothing/mask/surgical/Initialize(mapload) . = ..() @@ -231,16 +228,13 @@ name = "pig mask" desc = "A rubber pig mask." icon_state = "pig" - item_state = "pig" flags = BLOCKHAIR flags_inv = HIDEFACE - /obj/item/clothing/mask/horsehead name = "horse head mask" desc = "A mask made of soft vinyl and latex, representing the head of a horse." icon_state = "horsehead" - item_state = "horsehead" flags = BLOCKHAIR flags_inv = HIDEFACE var/voicechange = FALSE @@ -289,65 +283,49 @@ name = "rat mask" desc = "A mask made of soft vinyl and latex, representing the head of a rat." icon_state = "rat" - item_state = "rat" /obj/item/clothing/mask/face/fox name = "fox mask" desc = "A mask made of soft vinyl and latex, representing the head of a fox." icon_state = "fox" - item_state = "fox" /obj/item/clothing/mask/face/bee name = "bee mask" desc = "A mask made of soft vinyl and latex, representing the head of a bee." icon_state = "bee" - item_state = "bee" sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/mask.dmi') /obj/item/clothing/mask/face/bear name = "bear mask" desc = "A mask made of soft vinyl and latex, representing the head of a bear." icon_state = "bear" - item_state = "bear" /obj/item/clothing/mask/face/bat name = "bat mask" desc = "A mask made of soft vinyl and latex, representing the head of a bat." icon_state = "bat" - item_state = "bat" /obj/item/clothing/mask/face/raven name = "raven mask" desc = "A mask made of soft vinyl and latex, representing the head of a raven." icon_state = "raven" - item_state = "raven" /obj/item/clothing/mask/face/jackal name = "jackal mask" desc = "A mask made of soft vinyl and latex, representing the head of a jackal." icon_state = "jackal" - item_state = "jackal" /obj/item/clothing/mask/face/tribal name = "tribal mask" desc = "A mask carved out of wood, detailed carefully by hand." icon_state = "bumba" - item_state = "bumba" /obj/item/clothing/mask/fawkes name = "Guy Fawkes mask" desc = "A mask designed to help you remember a specific date." icon_state = "fawkes" - item_state = "fawkes" flags_inv = HIDEFACE -/obj/item/clothing/mask/gas/clown_hat/pennywise - name = "\improper Pennywise mask" - desc = "It's the eater of worlds, and of children." - icon_state = "pennywise_mask" - item_state = "pennywise_mask" - - // Bandanas /obj/item/clothing/mask/bandana name = "bandana" @@ -499,8 +477,8 @@ desc = "This is a very, very odd looking mask." icon = 'icons/goonstation/objects/clothing/mask.dmi' icon_state = "cursedclown" - item_state = "cclown_hat" - icon_override = 'icons/goonstation/mob/clothing/mask.dmi' + worn_icon = 'icons/goonstation/mob/clothing/mask.dmi' + inhand_icon_state = "cclown_hat" lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi' righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi' flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | BLOCKHAIR @@ -511,11 +489,11 @@ desc = "This is a very, very odd looking mask." icon = 'icons/goonstation/objects/clothing/mask.dmi' icon_state = "cursedclown" - item_state = "cclown_hat" - resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - icon_override = 'icons/goonstation/mob/clothing/mask.dmi' + worn_icon = 'icons/goonstation/mob/clothing/mask.dmi' + inhand_icon_state = "cclown_hat" lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi' righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi' + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF flags = NODROP | AIRTIGHT | DROPDEL flags_cover = MASKCOVERSMOUTH diff --git a/code/modules/clothing/masks/voicemodulator.dm b/code/modules/clothing/masks/voicemodulator.dm index 89d39cd8b57..a2369afb21a 100644 --- a/code/modules/clothing/masks/voicemodulator.dm +++ b/code/modules/clothing/masks/voicemodulator.dm @@ -2,8 +2,6 @@ name = "modified gas mask" desc = "A gas mask modified with a sound modulator that disguises the user's voice when active." icon_state = "voice_modulator" - item_state = "voice_modulator" - var/obj/item/voice_changer/voice_modulator/voice_modulator /obj/item/clothing/mask/gas/voice_modulator/Initialize(mapload) @@ -18,13 +16,10 @@ name = "chameleon voice modulator mask" desc = "A tactical mask equipped with chameleon technology and a sound modulator that disguises the user's voice when active." icon_state = "swat" - item_state = "swat" - var/datum/action/item_action/chameleon_change/chameleon_action /obj/item/clothing/mask/gas/voice_modulator/chameleon/Initialize(mapload) . = ..() - chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/mask chameleon_action.chameleon_name = "Mask" diff --git a/code/modules/clothing/neck/cloaks.dm b/code/modules/clothing/neck/cloaks.dm index cd8abd5c4b1..80fad48b568 100644 --- a/code/modules/clothing/neck/cloaks.dm +++ b/code/modules/clothing/neck/cloaks.dm @@ -56,67 +56,56 @@ name = "mantle" desc = "A heavy quilted mantle, for keeping your shoulders warm and stylish." icon_state = "mantle" - item_state = "mantle" /obj/item/clothing/neck/cloak/regal name = "regal shawl" desc = "A fancy shawl for nobility, made from high quality materials." icon_state = "regal_mantle" - item_state = "regal_mantle" /obj/item/clothing/neck/cloak/old name = "old wrap" desc = "A tattered fabric wrap, faded over the years. Smells faintly of cigars." icon_state = "old_mantle" - item_state = "old_mantle" /obj/item/clothing/neck/cloak/unathi name = "hide mantle" desc = "A rather grisly selection of cured hides and skin, sewn together to form a ragged mantle." icon_state = "mantle-unathi" - item_state = "mantle-unathi" - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/neck.dmi' - ) + inhand_icon_state = "old_mantle" + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/neck.dmi') /obj/item/clothing/neck/cloak/captain_mantle name = "captain's mantle" desc = "A piece of fashion for the ruling elite." icon_state = "capmantle" - item_state = "capmantle" /obj/item/clothing/neck/cloak/hos_mantle name = "head of security's shawl" desc = "An unarmored shawl, worn by the Head of Security. Do you dare take up their mantle?" icon_state = "hosmantle" - item_state = "hosmantle" /obj/item/clothing/neck/cloak/hop_mantle name = "head of personnel's shawl" desc = "A shawl for the head of personnel. It's remarkably well kept." icon_state = "hopmantle" - item_state = "hopmantle" /obj/item/clothing/neck/cloak/ce_mantle name = "chief engineer's mantle" desc = "A slick, authoritative mantle designed for the Chief Engineer." icon_state = "cemantle" - item_state = "cemantle" /obj/item/clothing/neck/cloak/cmo_mantle name = "chief medical officer's mantle" desc = "An absorbent, clean cover found around the neck of the Chief Medical Officer." icon_state = "cmomantle" - item_state = "cmomantle" /obj/item/clothing/neck/cloak/qm_mantle name = "quartermaster's mantle" desc = "A shawl for the quartermaster. Keeps the breeze from the vents away from your neck." icon_state = "qmmantle" - item_state = "qmmantle" + inhand_icon_state = "mantle" /obj/item/clothing/neck/cloak/rd_mantle name = "research director's mantle" desc = "A tweed mantle, worn by the Research Director. Smells like science." icon_state = "rdmantle" - item_state = "rdmantle" diff --git a/code/modules/clothing/neck/necklace.dm b/code/modules/clothing/neck/necklace.dm index f8895f98ca0..2ff04354cea 100644 --- a/code/modules/clothing/neck/necklace.dm +++ b/code/modules/clothing/neck/necklace.dm @@ -1,33 +1,29 @@ /obj/item/clothing/neck/necklace desc = "A simple necklace." icon_state = "necklace" - item_state = "necklace" item_color = "necklace" /obj/item/clothing/neck/necklace/long name = "large necklace" desc = "A large necklace." icon_state = "necklacelong" - item_state = "necklacelong" item_color = "necklacelong" /obj/item/clothing/neck/necklace/dope name = "gold necklace" desc = "Damn, it feels good to be a gangster." icon_state = "bling" - item_state = "bling" item_color = "bling" /obj/item/clothing/neck/necklace/locket name = "gold locket" desc = "A gold locket that seems to have space for a photo within." icon_state = "locketgold" - item_state = "locketgold" item_color = "locketgold" var/base_icon var/open /// Item inside locket. - var/obj/item/held + var/obj/item/held /obj/item/clothing/neck/necklace/locket/Destroy() QDEL_NULL(held) @@ -73,5 +69,4 @@ name = "silver locket" desc = "A silver locket that seems to have space for a photo within." icon_state = "locketsilver" - item_state = "locketsilver" item_color = "locketsilver" diff --git a/code/modules/clothing/patreon/hats.dm b/code/modules/clothing/patreon/hats.dm index ec5ed176539..d5730f1b166 100644 --- a/code/modules/clothing/patreon/hats.dm +++ b/code/modules/clothing/patreon/hats.dm @@ -7,67 +7,46 @@ name = "Mushroom Hat" desc = "A horrifying display of Nanotrasen's ruthless pursuit in being the forefront of fashion. Or genocide." icon_state = "mushhat" - item_state = "mushhat" flags = BLOCKHAIR - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') //gold top hat and recolours /obj/item/clothing/head/fluff/goldtophat name = "Gold-trimmed Top Hat" desc = "Poshness incarnate." icon_state = "goldtophat" - item_state = "goldtophat" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) - + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/fluff/goldtophat/blue name = "Gold-trimmed Blue Top Hat" desc = "Poshness incarnate. With blue." icon_state = "goldtophatblue" - item_state = "goldtophatblue" /obj/item/clothing/head/fluff/goldtophat/red name = "Gold-trimmed Red Top Hat" desc = "Poshness incarnate. With red." icon_state = "goldtophatred" - item_state = "goldtophatred" //medieval guard helm /obj/item/clothing/head/fluff/guardhelm name = "Plastic Guard helm" desc = "A plastic re-creation of a medieval-era headwear worn by extremely bored recruits of the local army. Kintergarden only." icon_state = "guardhelm" - item_state = "guardhelm" flags = BLOCKHAIR - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') //black sombrero /obj/item/clothing/head/fluff/blacksombrero name = "Black sombrero" desc = "A rare identifying hat of the infamous ancient renegade gang known as 'El Loco Pocos'." icon_state = "blacksombrero" - item_state = "blacksombrero" flags = BLOCKHAIR - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') // Equivalent to a winter coat's hood /obj/item/clothing/head/furcap name = "fur cap" desc = "A warm furry cap." icon_state = "furcap" - item_state = "furcap" - cold_protection = HEAD min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT diff --git a/code/modules/clothing/patreon/patreon_glasses.dm b/code/modules/clothing/patreon/patreon_glasses.dm index 2c8faea4e95..8b8a4a85fdb 100644 --- a/code/modules/clothing/patreon/patreon_glasses.dm +++ b/code/modules/clothing/patreon/patreon_glasses.dm @@ -6,17 +6,13 @@ name = "Spiky Orange-tinted Shades" desc = "Row row!" icon_state = "gar" - item_state = "gar" - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/eyes.dmi' - ) - + ) //Green Kamina shades /obj/item/clothing/glasses/fluff/kamina/green name = "Spiky Green-tinted Shades" desc = "Fight the power!" icon_state = "garm" - item_state = "garm" diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 022c60d7f2a..227c0a415ea 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -2,6 +2,7 @@ name = "magboots" desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle." icon_state = "magboots0" + inhand_icon_state = "magboots" origin_tech = "materials=3;magnets=4;engineering=4" dyeable = FALSE actions_types = list(/datum/action/item_action/toggle) @@ -126,7 +127,7 @@ desc = "The prankster's standard-issue clowning shoes. Damn they're huge! There's a red light on the side." icon_state = "clownmag0" magboot_state = "clownmag" - item_state = "clown_shoes" + inhand_icon_state = "clown_shoes" slowdown = SHOES_SLOWDOWN+1 slowdown_active = SHOES_SLOWDOWN+1 slowdown_passive = SHOES_SLOWDOWN+1 diff --git a/code/modules/clothing/shoes/misc_shoes.dm b/code/modules/clothing/shoes/misc_shoes.dm index 69ebc57a24e..9ffa4e83d0f 100644 --- a/code/modules/clothing/shoes/misc_shoes.dm +++ b/code/modules/clothing/shoes/misc_shoes.dm @@ -7,10 +7,9 @@ /obj/item/clothing/shoes/combat name = "combat boots" desc = "High speed, low drag combat boots." + icon_state = "jackboots" w_class = WEIGHT_CLASS_NORMAL can_cut_open = 1 - icon_state = "jackboots" - item_state = "jackboots" armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 50, RAD = 0, FIRE = 115, ACID = 50) strip_delay = 70 resistance_flags = NONE @@ -84,7 +83,7 @@ name = "clown shoes" desc = "The prankster's standard-issue clowning shoes. Damn they're huge! Ctrl-click to toggle the waddle dampeners!" icon_state = "clown" - item_state = "clown_shoes" + inhand_icon_state = "clown_shoes" slowdown = SHOES_SLOWDOWN+1 item_color = "clown" // "Dyeable" in this case is a bit of an understatement, washing these @@ -189,10 +188,10 @@ /obj/item/clothing/shoes/jackboots name = "jackboots" desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time." - can_cut_open = 1 icon_state = "jackboots" - item_state = "jackboots" + inhand_icon_state = "jackboots" item_color = "hosred" + can_cut_open = 1 strip_delay = 50 put_on_delay = 50 resistance_flags = NONE @@ -256,9 +255,7 @@ name = "boots" desc = "A pair of boots usually worn by cultists." icon_state = "cult" - item_state = "cult" item_color = "cult" - cold_protection = FEET min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT heat_protection = FEET @@ -276,14 +273,12 @@ name = "bunny slippers" desc = "Fluffy!" icon_state = "slippers" - item_state = "slippers" dyeable = FALSE /obj/item/clothing/shoes/slippers_worn name = "worn bunny slippers" desc = "Fluffy..." icon_state = "slippers_worn" - item_state = "slippers_worn" dyeable = FALSE /obj/item/clothing/shoes/laceup @@ -297,7 +292,6 @@ name = "roman sandals" desc = "Sandals with buckled leather straps on it." icon_state = "roman" - item_state = "roman" strip_delay = 100 put_on_delay = 100 dyeable = FALSE @@ -312,23 +306,19 @@ name = "griffon boots" desc = "A pair of costume boots fashioned after bird talons." icon_state = "griffinboots" - item_state = "griffinboots" dyeable = FALSE - /obj/item/clothing/shoes/fluff/noble_boot name = "noble boots" desc = "The boots are economically designed to balance function and comfort, so that you can step on peasants without having to worry about blisters. The leather also resists unwanted blood stains." icon_state = "noble_boot" item_color = "noble_boot" - item_state = "noble_boot" dyeable = FALSE /obj/item/clothing/shoes/furboots name = "fur boots" desc = "Warm, furry boots." icon_state = "furboots" - item_state = "furboots" dyeable = FALSE /obj/item/clothing/shoes/sandal/white @@ -348,8 +338,8 @@ desc = "Moldering clown flip flops. They're neon green for some reason." icon = 'icons/goonstation/objects/clothing/feet.dmi' icon_state = "cursedclown" - item_state = "cclown_shoes" - icon_override = 'icons/goonstation/mob/clothing/feet.dmi' + worn_icon = 'icons/goonstation/mob/clothing/feet.dmi' + inhand_icon_state = "cclown_shoes" lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi' righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi' resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF @@ -365,8 +355,8 @@ desc = "Moldering clown flip flops. They're neon green for some reason." icon = 'icons/goonstation/objects/clothing/feet.dmi' icon_state = "cursedclown" - item_state = "cclown_shoes" - icon_override = 'icons/goonstation/mob/clothing/feet.dmi' + worn_icon = 'icons/goonstation/mob/clothing/feet.dmi' + inhand_icon_state = "cclown_shoes" lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi' righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi' dyeable = FALSE @@ -439,21 +429,18 @@ name = "cloth footwraps" desc = "A roll of treated canvas used for wrapping claws or paws." icon_state = "clothwrap" - item_state = "clothwrap" dyeable = FALSE /obj/item/clothing/shoes/bhop name = "jump boots" desc = "A specialized pair of combat boots with a built-in propulsion system for rapid forward movement." icon_state = "jetboots" - item_state = "jetboots" item_color = "hosred" resistance_flags = FIRE_PROOF actions_types = list(/datum/action/item_action/bhop) permeability_coefficient = 0.05 knife_slot = TRUE dyeable = FALSE - var/jumpdistance = 5 //-1 from to see the actual distance, e.g 4 goes over 3 tiles var/jumpspeed = 3 var/recharging_rate = 6 SECONDS //default 6 seconds between each dash @@ -485,7 +472,6 @@ name = "rubber ducky shoes" desc = "These shoes are made for quacking, and that's just what they'll do." icon_state = "ducky" - item_state = "ducky" /obj/item/clothing/shoes/ducky/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/spacesuits/alien_suits.dm b/code/modules/clothing/spacesuits/alien_suits.dm index f1d0da0448b..ea0b5b11ce3 100644 --- a/code/modules/clothing/spacesuits/alien_suits.dm +++ b/code/modules/clothing/spacesuits/alien_suits.dm @@ -6,12 +6,10 @@ /obj/item/clothing/head/helmet/space/skrell/white icon_state = "skrell_helmet_white" - item_state = "skrell_helmet_white" item_color = "skrell_helmet_white" /obj/item/clothing/head/helmet/space/skrell/black icon_state = "skrell_helmet_black" - item_state = "skrell_helmet_black" item_color = "skrell_helmet_black" /obj/item/clothing/suit/space/skrell @@ -21,12 +19,10 @@ /obj/item/clothing/suit/space/skrell/white icon_state = "skrell_suit_white" - item_state = "skrell_suit_white" item_color = "skrell_suit_white" /obj/item/clothing/suit/space/skrell/black icon_state = "skrell_suit_black" - item_state = "skrell_suit_black" item_color = "skrell_suit_black" //Unathi space gear. Huge and restrictive. @@ -42,7 +38,6 @@ name = "NT breacher helmet" desc = "Hey! Watch it with that thing! It's a knock-off of an Unathi battle-helm, and that spike could put someone's eye out." icon_state = "unathi_helm_cheap" - item_state = "unathi_helm_cheap" item_color = "unathi_helm_cheap" /obj/item/clothing/suit/space/unathi @@ -57,20 +52,17 @@ name = "NT breacher chassis" desc = "A cheap NT knock-off of a Unathi battle-rig. Looks like a fish, moves like a fish, steers like a cow." icon_state = "rig-unathi-cheap" - item_state = "rig-unathi-cheap" /obj/item/clothing/head/helmet/space/unathi/breacher name = "breacher helm" desc = "Weathered, ancient and battle-scarred. The helmet is too." icon_state = "unathi_breacher" - item_state = "unathi_breacher" item_color = "unathi_breacher" /obj/item/clothing/suit/space/unathi/breacher name = "breacher chassis" desc = "Huge, bulky and absurdly heavy. It must be like wearing a tank." icon_state = "unathi_breacher" - item_state = "unathi_breacher" item_color = "unathi_breacher" // Vox space gear (vaccuum suit, low pressure armour) @@ -98,50 +90,42 @@ /obj/item/clothing/head/helmet/space/vox/pressure name = "alien helmet" icon_state = "vox-pressure" - item_state = "vox-pressure" desc = "Hey, wasn't this a prop in \'The Abyss\'?" /obj/item/clothing/suit/space/vox/pressure name = "alien pressure suit" icon_state = "vox-pressure" - item_state = "vox-pressure" desc = "A huge, armoured, pressurized suit, designed for distinctly nonhuman proportions." /obj/item/clothing/head/helmet/space/vox/carapace name = "alien visor" icon_state = "vox-carapace" - item_state = "vox-carapace" desc = "A glowing visor, perhaps stolen from a depressed Cylon." body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS /obj/item/clothing/suit/space/vox/carapace name = "alien carapace armour" icon_state = "vox-carapace" - item_state = "vox-carapace" desc = "An armoured, segmented carapace with glowing purple lights. It looks pretty run-down." /obj/item/clothing/head/helmet/space/vox/stealth name = "alien stealth helmet" icon_state = "vox-stealth" - item_state = "vox-stealth" desc = "A smoothly contoured, matte-black alien helmet." /obj/item/clothing/suit/space/vox/stealth name = "alien stealth suit" icon_state = "vox-stealth" - item_state = "vox-stealth" desc = "A sleek black suit. It seems to have a tail, and is very heavy." /obj/item/clothing/head/helmet/space/vox/medic name = "alien goggled helmet" icon_state = "vox-medic" - item_state = "vox-medic" desc = "An alien helmet with enormous goggled lenses." /obj/item/clothing/suit/space/vox/medic name = "alien armour" icon_state = "vox-medic" - item_state = "vox-medic" desc = "An almost organic looking nonhuman pressure suit." /obj/item/clothing/under/vox @@ -156,7 +140,6 @@ desc = "These loose clothes are optimized for the labors of the lower castes onboard the arkships. Large openings in the top allow for breathability while the pants are durable yet flexible enough to not restrict movement." icon_state = "vox-jumpsuit_s" item_color = "vox-jumpsuit" - item_state = "vox-jumpsuit" /obj/item/clothing/suit/hooded/vox_robes name = "Vox robes" @@ -164,7 +147,6 @@ icon = 'icons/mob/clothing/species/vox/suit.dmi' icon_state = "vox-robes" item_color = "vox-robes" - item_state = "vox-robes" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS hoodtype = /obj/item/clothing/head/hooded/vox_robe_hood species_restricted = list("Vox") @@ -179,34 +161,27 @@ icon = 'icons/mob/clothing/species/vox/head.dmi' icon_state = "vox-robes-hood" item_color = "vox-robes-hood" - item_state = "vox-robes-hood" flags = BLOCKHAIR flags_cover = HEADCOVERSEYES species_restricted = list("Vox") - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/gloves/color/yellow/vox name = "insulated gauntlets" desc = "These bizarre gauntlets seem to be fitted for... bird claws?" icon_state = "gloves-vox" - item_state = "gloves-vox" item_color = "gloves-vox" icon = 'icons/obj/clothing/species/vox/gloves.dmi' species_restricted = list("Vox") - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/gloves.dmi') + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/gloves.dmi') /obj/item/clothing/shoes/magboots/vox name = "vox magclaws" desc = "A pair of heavy, jagged armoured foot pieces, seemingly suitable for a velociraptor." - item_state = "boots-vox" icon_state = "boots-vox" icon = 'icons/obj/clothing/species/vox/shoes.dmi' species_restricted = list("Vox") - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/feet.dmi') + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/feet.dmi') multiple_icons = FALSE /obj/item/clothing/shoes/magboots/vox/attack_self__legacy__attackchain(mob/user) diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 49aecf8b1de..4fc8ed1d5d3 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -2,7 +2,6 @@ name = "chronosuit helmet" desc = "A white helmet with an opaque blue visor." icon_state = "chronohelmet" - item_state = "chronohelmet" slowdown = 1 armor = list(MELEE = 75, BULLET = 75, LASER = 75, ENERGY = 75, BOMB = 30, RAD = 90, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF @@ -17,12 +16,10 @@ dropped() return ..() - /obj/item/clothing/suit/space/chronos name = "chronosuit" desc = "An advanced spacesuit equipped with teleportation and anti-compression technology." icon_state = "chronosuit" - item_state = "chronosuit" actions_types = list(/datum/action/item_action/toggle) armor = list(MELEE = 75, BULLET = 75, LASER = 75, ENERGY = 75, BOMB = 30, RAD = 90, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/modules/clothing/spacesuits/ert_hardsuits.dm b/code/modules/clothing/spacesuits/ert_hardsuits.dm index 0c2152cfd18..a5b7d6a073f 100644 --- a/code/modules/clothing/spacesuits/ert_hardsuits.dm +++ b/code/modules/clothing/spacesuits/ert_hardsuits.dm @@ -3,14 +3,12 @@ name = "emergency response team helmet" desc = "An environmentally sealed combat helmet with a wide plexiglass visor for maximum visibility." icon_state = "hardsuit0-ert_commander" - item_state = "helm-command" item_color = "ert_commander" armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 50, FIRE = 200, ACID = 200) resistance_flags = FIRE_PROOF var/obj/machinery/camera/portable/camera var/has_camera = TRUE strip_delay = 130 - sprite_sheets = list( "Drask" = 'icons/mob/clothing/species/drask/helmet.dmi', "Grey" = 'icons/mob/clothing/species/grey/helmet.dmi', @@ -19,7 +17,7 @@ "Unathi" = 'icons/mob/clothing/species/unathi/helmet.dmi', "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/helmet.dmi' - ) + ) /obj/item/clothing/head/helmet/space/hardsuit/ert/Initialize(mapload) if(loc) @@ -55,7 +53,7 @@ name = "emergency response team suit" desc = "A powered combat hardsuit produced by Citadel Armories. Decently armored, environmentally sealed, and fire-resistant." icon_state = "ert_commander" - item_state = "suit-command" + inhand_icon_state = "suit-command" slowdown = 0 w_class = WEIGHT_CLASS_NORMAL armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 50, FIRE = 200, ACID = 200) @@ -89,14 +87,13 @@ name = "emergency response team security helmet" desc = "An environmentally sealed combat helmet with a wide plexiglass visor for maximum visibility. This one has red Security stripes." icon_state = "hardsuit0-ert_security" - item_state = "syndicate-helm-black-red" item_color = "ert_security" /obj/item/clothing/suit/space/hardsuit/ert/security name = "emergency response team security suit" desc = "A powered combat hardsuit produced by Citadel Armories. Decently armored, environmentally sealed, and fire-resistant. This one is covered in red Security livery." icon_state = "ert_security" - item_state = "syndicate-black-red" + inhand_icon_state = "syndicate-black-red" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/security /obj/item/clothing/suit/space/hardsuit/ert/security/Initialize(mapload) @@ -110,7 +107,6 @@ desc = "An environmentally sealed combat helmet with a wide plexiglass visor for maximum visibility. This one has orange Engineering stripes, and additional lead plating for improved radiation protection." armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 150, FIRE = 200, ACID = 200) icon_state = "hardsuit0-ert_engineer" - item_state = "helm-orange" item_color = "ert_engineer" /obj/item/clothing/head/helmet/space/hardsuit/ert/engineer/gamma @@ -125,7 +121,7 @@ name = "emergency response team engineer suit" desc = "A powered combat hardsuit produced by Citadel Armories. Decently armored, environmentally sealed, and fire-resistant. This one is covered in orange Engineering livery, and has additional lead inserts for added radiation protection." icon_state = "ert_engineer" - item_state = "suit-orange" + inhand_icon_state = "suit-orange" armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 150, FIRE = 200, ACID = 200) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/engineer @@ -208,7 +204,6 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT desc = "A helmet worn by marines of the Trans-Solar Federation's Marine Special Operations Command. Armored, space ready, and fireproof." icon_state = "hardsuit0-solgovmarine" - item_state = "hardsuit0-solgovmarine" item_color = "solgovmarine" armor = list(MELEE = 25, BULLET = 75, LASER = 10, ENERGY = 5, BOMB = 15, RAD = 50, FIRE = INFINITY, ACID = INFINITY) @@ -217,7 +212,6 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT desc = "A suit worn by marines of the Trans-Solar Federation's Marine Special Operations Command. Armored, space ready, and fireproof." icon_state = "ert_solgov_marine" - item_state = "ert_solgov_marine" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/solgov armor = list(MELEE = 25, BULLET = 75, LASER = 10, ENERGY = 5, BOMB = 15, RAD = 50, FIRE = INFINITY, ACID = INFINITY) @@ -225,12 +219,10 @@ name = "\improper MARSOC officer's helmet" desc = "A helmet worn by junior officers of the Trans-Solar Federation's Marine Special Operations Command. Has gold highlights to denote the wearer's rank. Armored, space ready, and fireproof." icon_state = "hardsuit0-solgovcommand" - item_state = "hardsuit0-solgovcommand" item_color = "solgovcommand" /obj/item/clothing/suit/space/hardsuit/ert/solgov/command name = "\improper MARSOC officer's hardsuit" desc = "A suit worn by junior officers of the Trans-Solar Federation's Marine Special Operations Command. Has gold highlights to denote the wearer's rank. Armored, space ready, and fireproof." icon_state = "ert_solgov_command" - item_state = "ert_solgov_command" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/solgov/command diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index ca809740016..2278d635242 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -2,7 +2,6 @@ /obj/item/clothing/head/helmet/space/hardsuit name = "hardsuit helmet" icon_state = null - item_state = "eng_helm" max_integrity = 300 armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, RAD = 150, FIRE = 50, ACID = 150) var/basestate = "hardsuit" @@ -29,13 +28,6 @@ "Drask" = 'icons/mob/clothing/species/drask/helmet.dmi', "Grey" = 'icons/mob/clothing/species/grey/helmet.dmi' ) - sprite_sheets_obj = list( - "Unathi" = 'icons/obj/clothing/species/unathi/hats.dmi', - "Tajaran" = 'icons/obj/clothing/species/tajaran/hats.dmi', - "Skrell" = 'icons/obj/clothing/species/skrell/hats.dmi', - "Vox" = 'icons/obj/clothing/species/vox/hats.dmi', - "Vulpkanin" = 'icons/obj/clothing/species/vulpkanin/hats.dmi' - ) /obj/item/clothing/head/helmet/space/hardsuit/Initialize(mapload) . = ..() @@ -138,7 +130,7 @@ name = "hardsuit" desc = "A special space suit for environments that might pose hazards beyond just the vacuum of space. Provides more protection than a standard space suit." icon_state = null - item_state = "eng_hardsuit" + inhand_icon_state = "eng_hardsuit" max_integrity = 300 armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, RAD = 150, FIRE = 50, ACID = 150) allowed = list(/obj/item/flashlight,/obj/item/tank/internals,/obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd) @@ -154,13 +146,6 @@ "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi' ) - sprite_sheets_obj = list( - "Unathi" = 'icons/obj/clothing/species/unathi/suits.dmi', - "Tajaran" = 'icons/obj/clothing/species/tajaran/suits.dmi', - "Skrell" = 'icons/obj/clothing/species/skrell/suits.dmi', - "Vox" = 'icons/obj/clothing/species/vox/suits.dmi', - "Vulpkanin" = 'icons/obj/clothing/species/vulpkanin/suits.dmi' - ) var/obj/item/clothing/head/helmet/space/hardsuit/helmet var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit @@ -252,7 +237,6 @@ desc = "A dual-mode advanced helmet designed for work in special operations. It is in travel mode. Property of Gorlex Marauders." alt_desc = "A dual-mode advanced helmet designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit1-syndi" - item_state = "syndie_helm" item_color = "syndi" armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 25, RAD = 50, FIRE = 50, ACID = 450) on = TRUE @@ -331,7 +315,7 @@ desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in travel mode. Property of Gorlex Marauders." alt_desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit1-syndi" - item_state = "syndie_hardsuit" + inhand_icon_state = "syndie_hardsuit" item_color = "syndi" origin_tech = "engineering=6;syndicate=4" w_class = WEIGHT_CLASS_NORMAL @@ -388,7 +372,6 @@ name = "eagle suit" desc = "An advanced, light suit, fabricated from a mixture of synthetic feathers and space-resistant material. A gun holster appears to be integrated into the suit." icon_state = "freedom" - item_state = "freedom" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/freedom sprite_sheets = null @@ -399,7 +382,6 @@ name = "eagle helmet" desc = "An advanced, space-proof helmet. It appears to be modeled after an old-world eagle." icon_state = "griffinhat" - item_state = "griffinhat" sprite_sheets = null /obj/item/clothing/head/helmet/space/hardsuit/syndi/freedom/update_icon_state() @@ -410,7 +392,6 @@ name = "\improper Soviet hardsuit helmet" desc = "A military hardsuit helmet bearing the red star of the U.S.S.P." icon_state = "hardsuit0-soviet" - item_state = "hardsuit0-soviet" item_color = "soviet" armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 10, RAD = 50, FIRE = 75, ACID = 75) @@ -418,7 +399,7 @@ name = "\improper Soviet hardsuit" desc = "A soviet military hardsuit designed for maximum speed and mobility. Proudly displays the U.S.S.P flag on the chest." icon_state = "hardsuit-soviet" - item_state = "hardsuit-soviet" + inhand_icon_state = null slowdown = 0.5 armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 10, RAD = 50, FIRE = 75, ACID = 75) allowed = list(/obj/item/gun, /obj/item/flashlight, /obj/item/tank/internals, /obj/item/melee/baton, /obj/item/reagent_containers/spray/pepper, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/restraints/handcuffs) @@ -429,56 +410,19 @@ name = "\improper Soviet command hardsuit helmet" desc = "A military hardsuit helmet with a red command stripe." icon_state = "hardsuit0-soviet-commander" - item_state = "hardsuit0-soviet-commander" item_color = "soviet-commander" /obj/item/clothing/suit/space/hardsuit/soviet/commander name = "\improper Soviet command hardsuit" desc = "A soviet military command hardsuit designed for maximum speed and mobility." icon_state = "hardsuit-soviet-commander" - item_state = "hardsuit-soviet-commander" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/soviet/commander -//Security -// /obj/item/clothing/head/helmet/space/hardsuit/security -// name = "security hardsuit helmet" -// desc = "A special helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." -// icon_state = "hardsuit0-sec" -// item_state = "sec_helm" -// item_color = "sec" -// armor = list(MELEE = 25, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 5, RAD = 50, FIRE = 150, ACID = 150) - -// /obj/item/clothing/suit/space/hardsuit/security -// name = "security hardsuit" -// desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." -// icon_state = "hardsuit-sec" -// item_state = "sec_hardsuit" -// armor = list(MELEE = 25, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 5, RAD = 50, FIRE = 150, ACID = 150) -// allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank/internals,/obj/item/melee/baton,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/restraints/handcuffs) -// helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security - -// /obj/item/clothing/head/helmet/space/hardsuit/security/hos -// name = "head of security's hardsuit helmet" -// desc = "A special bulky helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." -// icon_state = "hardsuit0-hos" -// item_color = "hos" -// armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 50, FIRE = INFINITY, ACID = INFINITY) - -// /obj/item/clothing/suit/space/hardsuit/security/hos -// name = "head of security's hardsuit" -// desc = "A special bulky suit that protects against hazardous, low pressure environments. Has an additional layer of armor." -// icon_state = "hardsuit-hos" -// armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 50, FIRE = INFINITY, ACID = INFINITY) -// helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos -// jetpack = /obj/item/tank/jetpack/suit - - //Singuloth armor /obj/item/clothing/head/helmet/space/hardsuit/singuloth name = "singuloth knight's helmet" desc = "This is an adamantium helmet from the chapter of the Singuloth Knights. It shines with a holy aura." icon_state = "hardsuit0-singuloth" - item_state = "singuloth_helm" item_color = "singuloth" armor = list(MELEE = 35, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 15, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) flags_2 = RAD_PROTECT_CONTENTS_2 @@ -488,10 +432,8 @@ name = "singuloth knight's armor" desc = "This is a ceremonial armor from the chapter of the Singuloth Knights. It's made of pure forged adamantium." icon_state = "hardsuit-singuloth" - item_state = "singuloth_hardsuit" flags = STOPSPRESSUREDMAGE flags_2 = RAD_PROTECT_CONTENTS_2 armor = list(MELEE = 35, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 15, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/singuloth sprite_sheets = null - diff --git a/code/modules/clothing/spacesuits/misc_spacesuits.dm b/code/modules/clothing/spacesuits/misc_spacesuits.dm index e32bbfb6a98..a53aee02d8f 100644 --- a/code/modules/clothing/spacesuits/misc_spacesuits.dm +++ b/code/modules/clothing/spacesuits/misc_spacesuits.dm @@ -1,12 +1,11 @@ //Captain's space suit, not hardsuits because no flashlight! /obj/item/clothing/head/helmet/space/capspace name = "captain's space helmet" - icon_state = "capspace" - item_state = "capspacehelmet" desc = "A special helmet designed for only the most fashionable of military figureheads." + icon_state = "capspace" + inhand_icon_state = "capspacehelmet" flags_inv = HIDEFACE armor = list(MELEE = 35, BULLET = 50, LASER = 50, ENERGY = 15, BOMB = 50, RAD = 50, FIRE = INFINITY, ACID = INFINITY) - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi', "Grey" = 'icons/mob/clothing/species/grey/helmet.dmi' @@ -25,20 +24,16 @@ name = "captain's space suit" desc = "A bulky, heavy-duty piece of exclusive Nanotrasen armor. YOU are in charge!" icon_state = "caparmor" - item_state = "capspacesuit" + inhand_icon_state = "capspacesuit" allowed = list(/obj/item/tank/internals, /obj/item/flashlight,/obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton,/obj/item/restraints/handcuffs) armor = list(MELEE = 35, BULLET = 50, LASER = 50, ENERGY = 15, BOMB = 50, RAD = 50, FIRE = INFINITY, ACID = INFINITY) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) - - //Deathsquad space suit, not hardsuits because no flashlight! +//Deathsquad space suit, not hardsuits because no flashlight! /obj/item/clothing/head/helmet/space/deathsquad name = "Deathsquad helmet" desc = "That's not red paint. That's real blood." icon_state = "deathsquad" - item_state = "deathsquad" armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -53,7 +48,7 @@ name = "Deathsquad suit" desc = "A heavily armored, advanced space suit that protects against most forms of damage." icon_state = "deathsquad" - item_state = "swat_suit" + inhand_icon_state = "swat_suit" allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank/internals,/obj/item/kitchen/knife/combat,/obj/item/flashlight) armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) flags_inv = HIDESHOES | HIDEJUMPSUIT | HIDETAIL @@ -73,14 +68,11 @@ desc = "An armored beret commonly used by special operations officers." icon = 'icons/obj/clothing/head/beret.dmi' icon_state = "beret_soo" - item_state = 'icons/mob/clothing/head/beret.dmi' - icon_override = 'icons/mob/clothing/head/beret.dmi' + inhand_icon_state = null + worn_icon = 'icons/mob/clothing/head/beret.dmi' flags = STOPSPRESSUREDMAGE | THICKMATERIAL flags_inv = null - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head/beret.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head/beret.dmi') /obj/item/clothing/head/helmet/space/deathsquad/beret/solgov name = "\improper TSF staff officer's beret" @@ -91,7 +83,7 @@ name = "officer jacket" desc = "An armored jacket used in special operations." icon_state = "detective" - item_state = "det_suit" + inhand_icon_state = "det_suit" blood_overlay_type = "coat" flags_inv = 0 slowdown = 0 @@ -102,15 +94,14 @@ name = "\improper TSF staff officer's jacket" desc = "A stylish, heavily armored jacket worn by high-ranking officers of the Trans-Solar Federation." icon_state = "solgovcommander" - item_state = "solgovcommander" - + inhand_icon_state = null //Space santa outfit suit /obj/item/clothing/head/helmet/space/santahat name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" icon_state = "santahat" - + inhand_icon_state = null sprite_sheets = list( "Grey" = 'icons/mob/clothing/species/Grey/head.dmi', "Drask" = 'icons/mob/clothing/species/Drask/helmet.dmi' @@ -119,21 +110,19 @@ flags_cover = HEADCOVERSEYES dog_fashion = /datum/dog_fashion/head/santa -/obj/item/clothing/head/helmet/space/santahat/attack_self__legacy__attackchain(mob/user as mob) - if(src.icon_state == "santahat") - src.icon_state = "santahat_beard" - src.item_state = "santahat_beard" +/obj/item/clothing/head/helmet/space/santahat/attack_self__legacy__attackchain(mob/user) + if(icon_state == "santahat") + icon_state = "santahat_beard" to_chat(user, "Santa's beard expands out from the hat!") else - src.icon_state = "santahat" - src.item_state = "santahat" + icon_state = "santahat" to_chat(user, "The beard slinks back into the hat...") /obj/item/clothing/suit/space/santa name = "Santa's suit" desc = "Festive!" icon_state = "santa" - item_state = "santa" + inhand_icon_state = null slowdown = 0 flags = STOPSPRESSUREDMAGE allowed = list(/obj/item) //for stuffing extra special presents @@ -143,7 +132,7 @@ name = "pirate hat" desc = "Yarr." icon_state = "pirate" - item_state = "pirate" + inhand_icon_state = null armor = list(MELEE = 20, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, RAD = 20, FIRE = 75, ACID = 150) flags = BLOCKHAIR | STOPSPRESSUREDMAGE flags_cover = HEADCOVERSEYES @@ -154,7 +143,7 @@ name = "pirate coat" desc = "Yarr." icon_state = "pirate" - item_state = "pirate" + inhand_icon_state = null w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank/internals) slowdown = 0 @@ -167,8 +156,6 @@ name = "paramedic EVA helmet" desc = "A brand new paramedic EVA helmet. It seems to mold to your head shape. Used for retrieving bodies in space." icon_state = "paramedic-eva-helmet" - item_state = "paramedic-eva-helmet" - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi', "Grey" = 'icons/mob/clothing/species/grey/helmet.dmi', @@ -178,18 +165,13 @@ "Unathi" = 'icons/mob/clothing/species/unathi/helmet.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/helmet.dmi', ) - sprite_sheets_obj = list( - "Vox" = 'icons/obj/clothing/species/vox/hats.dmi' - ) /obj/item/clothing/suit/space/eva/paramedic name = "paramedic EVA suit" icon_state = "paramedic-eva" - item_state = "paramedic-eva" desc = "A brand new paramedic EVA suit. The nitrile seems a bit too thin to be space proof. Used for retrieving bodies in space." slowdown = 0.25 w_class = WEIGHT_CLASS_NORMAL - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Skrell" = 'icons/mob/clothing/species/skrell/suit.dmi', @@ -198,86 +180,59 @@ "Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi', ) - sprite_sheets_obj = list( - "Vox" = 'icons/obj/clothing/species/vox/suits.dmi' - ) /obj/item/clothing/suit/space/eva name = "EVA suit" - icon_state = "spacenew" desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies." + icon_state = "spacenew" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 10, FIRE = 50, ACID = 95) - sprite_sheets = list( "Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi', "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi', - ) - sprite_sheets_obj = list( - "Tajaran" = 'icons/obj/clothing/species/tajaran/suits.dmi', - "Unathi" = 'icons/obj/clothing/species/unathi/suits.dmi', - "Vox" = 'icons/obj/clothing/species/vox/suits.dmi', - "Vulpkanin" = 'icons/obj/clothing/species/vulpkanin/suits.dmi' - ) + ) /obj/item/clothing/head/helmet/space/eva name = "EVA helmet" - icon_state = "spacenew" desc = "A lightweight space helmet with the basic ability to protect the wearer from the vacuum of space during emergencies." + icon_state = "spacenew" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 10, FIRE = 50, ACID = 95) flash_protect = FLASH_PROTECTION_NONE - sprite_sheets = list( "Tajaran" = 'icons/mob/clothing/species/tajaran/helmet.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/helmet.dmi', "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/helmet.dmi', "Grey" = 'icons/mob/clothing/species/grey/helmet.dmi' - ) - sprite_sheets_obj = list( - "Vox" = 'icons/obj/clothing/species/vox/hats.dmi', - "Vulpkanin" = 'icons/obj/clothing/species/vulpkanin/hats.dmi' - ) + ) -//Mime's Hardsuit +// Mime's EVA /obj/item/clothing/head/helmet/space/eva/mime name = "mime EVA helmet" -// icon = 'spaceciv.dmi' desc = ". . ." icon_state = "spacemimehelmet" - item_state = "spacemimehelmet" - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi') - sprite_sheets_obj = null + inhand_icon_state = null + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/helmet.dmi') /obj/item/clothing/suit/space/eva/mime name = "mime EVA suit" -// icon = 'spaceciv.dmi' desc = ". . ." icon_state = "spacemime_suit" - item_state = "spacemime_items" - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi') - sprite_sheets_obj = null + inhand_icon_state = null + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/head/helmet/space/eva/clown name = "clown EVA helmet" -// icon = 'spaceciv.dmi' desc = "An EVA helmet specifically designed for the clown. SPESSHONK!" icon_state = "clownhelmet" - item_state = "clownhelmet" - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi') - sprite_sheets_obj = null + inhand_icon_state = null + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/helmet.dmi') /obj/item/clothing/suit/space/eva/clown name = "clown EVA suit" -// icon = 'spaceciv.dmi' desc = "An EVA suit specifically designed for the clown. SPESSHONK!" icon_state = "spaceclown_suit" - item_state = "spaceclown_items" - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi') - sprite_sheets_obj = null + inhand_icon_state = null + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 62920f0dbb7..ee42be94315 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -2,9 +2,12 @@ /obj/item/clothing/head/helmet/space/plasmaman name = "plasma envirosuit helmet" desc = "A special containment helmet that allows plasma-based lifeforms to exist safely in an oxygenated environment. It is space-worthy, and may be worn in tandem with other EVA gear." + icon = 'icons/obj/clothing/species/plasmaman/hats.dmi' icon_state = "plasmaman-helm" - item_state = "plasmaman-helm" base_icon_state = "plasmaman-helm" + worn_icon = 'icons/mob/clothing/species/plasmaman/helmet.dmi' + worn_icon_state = null + inhand_icon_state = "plasmaman_helmet" strip_delay = 80 tint = FLASH_PROTECTION_WELDER armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = INFINITY, ACID = 150) @@ -21,11 +24,10 @@ actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_welding_screen/plasmaman) visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT visor_flags_inv = HIDEEYES|HIDEFACE - icon = 'icons/obj/clothing/species/plasmaman/hats.dmi' species_restricted = list("Plasmaman") - sprite_sheets = list("Plasmaman" = 'icons/mob/clothing/species/plasmaman/helmet.dmi') can_have_hats = TRUE can_be_hat = FALSE + sprite_sheets = null /obj/item/clothing/head/helmet/space/plasmaman/Initialize(mapload) . = ..() @@ -54,7 +56,6 @@ icon_state = base_icon_state else icon_state = "[base_icon_state][on ? "-light":""]" - item_state = icon_state /obj/item/clothing/head/helmet/space/plasmaman/update_overlays() . = ..() @@ -92,138 +93,116 @@ name = "security plasma envirosuit helmet" desc = "A plasmaman containment helmet designed for security officers, protecting them from being flashed and burning alive, alongside other undesirables." icon_state = "security_envirohelm" - item_state = "security_envirohelm" armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = INFINITY, ACID = 150) /obj/item/clothing/head/helmet/space/plasmaman/security/warden name = "warden's plasma envirosuit helmet" desc = "A plasmaman containment helmet designed for the warden, a pair of white stripes being added to differentiate them from other members of security." icon_state = "warden_envirohelm" - item_state = "warden_envirohelm" armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = INFINITY, ACID = 150) /obj/item/clothing/head/helmet/space/plasmaman/security/hos desc = "A plasmaman containment helmet designed for the head of security." icon_state = "hos_envirohelm" - item_state = "hos_envirohelm" armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = INFINITY, ACID = 150) /obj/item/clothing/head/helmet/space/plasmaman/medical name = "medical plasma envirosuit helmet" desc = "An envirohelmet designed for plasmaman medical doctors, having two stripes down its length to denote as much." icon_state = "doctor_envirohelm" - item_state = "doctor_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/cmo name = "chief medical officer's plasma envirosuit helmet" desc = "An envirohelmet designed for plasmamen employed as the chief medical officer." icon_state = "cmo_envirohelm" - item_state = "cmo_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/genetics name = "geneticist's plasma envirosuit helmet" desc = "A plasmaman envirohelmet designed for geneticists." icon_state = "geneticist_envirohelm" - item_state = "geneticist_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/viro name = "virology plasma envirosuit helmet" desc = "The helmet worn by the safest people on the station, those who are completely immune to the monstrosities they create." icon_state = "virologist_envirohelm" - item_state = "virologist_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/chemist name = "chemistry plasma envirosuit helmet" desc = "A plasmaman envirohelmet designed for chemists, two orange stripes going down its face." icon_state = "chemist_envirohelm" - item_state = "chemist_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/science name = "science plasma envirosuit helmet" desc = "A plasmaman envirohelmet designed for scientists." icon_state = "scientist_envirohelm" - item_state = "scientist_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/rd name = "research director's plasma envirosuit helmet" desc = "A plasmaman envirohelmet designed for the research director." icon_state = "rd_envirohelm" - item_state = "rd_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/robotics name = "robotics plasma envirosuit helmet" desc = "A plasmaman envirohelmet designed for roboticists." icon_state = "roboticist_envirohelm" - item_state = "roboticist_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/engineering name = "engineering plasma envirosuit helmet" desc = "A space-worthy helmet specially designed for engineer plasmamen, the usual purple stripes being replaced by engineering's orange." icon_state = "engineer_envirohelm" - item_state = "engineer_envirohelm" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 10, FIRE = INFINITY, ACID = 75) /obj/item/clothing/head/helmet/space/plasmaman/engineering/ce name = "chief engineer's plasma envirosuit helmet" desc = "A space-worthy helmet specially designed for plasmamen employed as the chief engineer." icon_state = "ce_envirohelm" - item_state = "ce_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/atmospherics name = "atmospherics plasma envirosuit helmet" desc = "A space-worthy helmet specially designed for atmos technician plasmamen, the usual purple stripes being replaced by engineering's blue." icon_state = "atmos_envirohelm" - item_state = "atmos_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/cargo name = "cargo plasma envirosuit helmet" desc = "A plasmaman envirohelmet designed for cargo techs and quartermasters." icon_state = "cargo_envirohelm" - item_state = "cargo_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/mining name = "mining plasma envirosuit helmet" desc = "A khaki helmet given to plasmaman miners operating on Lavaland." icon_state = "explorer_envirohelm" - item_state = "explorer_envirohelm" visor_icon = "explorer_envisor" /obj/item/clothing/head/helmet/space/plasmaman/expedition name = "expedition plasma envirosuit helmet" desc = "A brown and blue helmet given to plasmaman explorers operating in Space.." icon_state = "expedition_envirohelm" - item_state = "expedition_envirohelm" armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = INFINITY, ACID = 150) /obj/item/clothing/head/helmet/space/plasmaman/smith name = "smithing plasma envirosuit helmet" desc = "A plasmaman helmet design for smiths." icon_state = "smith_envirohelm" - item_state = "smith_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/chaplain name = "chaplain's plasma envirosuit helmet" desc = "An envirohelmet specially designed for only the most pious of plasmamen." icon_state = "chap_envirohelm" - item_state = "chap_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/white name = "white plasma envirosuit helmet" desc = "A generic white envirohelm." icon_state = "white_envirohelm" - item_state = "white_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/chef name = "chef plasma envirosuit helmet" desc = "An envirohelm designed for plasmamen chefs." icon_state = "chef_envirohelm" - item_state = "chef_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/librarian name = "librarian plasma envirosuit helmet" desc = "A slight modification on a traditional voidsuit helmet, this helmet was Nanotrasen's first solution to the *logistical problems* that come with employing plasmamen. Despite their limitations, these helmets still see use by historian and old-styled plasmamen alike." icon_state = "prototype_envirohelm" - item_state = "prototype_envirohelm" actions_types = list(/datum/action/item_action/toggle_welding_screen/plasmaman) visor_icon = "prototype_envisor" @@ -231,51 +210,43 @@ name = "botany plasma envirosuit helmet" desc = "A green and blue envirohelmet designating its wearer as a botanist. While not specially designed for it, it would protect against minor plant-related injuries." icon_state = "botany_envirohelm" - item_state = "botany_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/janitor name = "janitor's plasma envirosuit helmet" desc = "A grey helmet bearing a pair of purple stripes, designating the wearer as a janitor." icon_state = "janitor_envirohelm" - item_state = "janitor_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/mime name = "mime envirosuit helmet" desc = "The makeup is painted on, it's a miracle it doesn't chip. It's not very colourful." icon_state = "mime_envirohelm" - item_state = "mime_envirohelm" visor_icon = "mime_envisor" /obj/item/clothing/head/helmet/space/plasmaman/clown name = "clown envirosuit helmet" desc = "The makeup is painted on, it's a miracle it doesn't chip. 'HONK!'" icon_state = "clown_envirohelm" - item_state = "clown_envirohelm" visor_icon = "clown_envisor" /obj/item/clothing/head/helmet/space/plasmaman/hop name = "head of personnel's envirosuit helmet" desc = "A plasmaman envirohelm that reeks of bureaucracy." icon_state = "hop_envirohelm" - item_state = "hop_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/captain name = "captain's envirosuit helmet" desc = "A plasmaman envirohelm designed with the insignia and markings befitting a captain." icon_state = "cap_envirohelm" - item_state = "cap_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/blueshield name = "blueshield's envirosuit helmet" desc = "A plasmaman envirohelm designed for the blueshield." icon_state = "bs_envirohelm" - item_state = "bs_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/wizard name = "wizard plasma envirosuit helmet" desc = "A magical plasmaman containment helmet designed to spread chaos in safety and comfort." icon_state = "wizard_envirohelm" - item_state = "wizard_envirohelm" gas_transfer_coefficient = 0.01 armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, RAD = 10, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF @@ -285,20 +256,17 @@ name = "assistant envirosuit helmet" desc = "A plasmaman envirohelm designed for the common, maint-dwelling masses." icon_state = "assistant_envirohelm" - item_state = "assistant_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/coke name = "coke envirosuit helmet" desc = "A plasmaman envirohelm designed by Space Cola Co for the plasmamen." icon_state = "coke_envirohelm" - item_state = "coke_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/tacticool name = "diver envirosuit helmet" desc = "A plasmaman helm resembling old diver helms." icon_state = "diver_envirohelm" base_icon_state = "diver_envirohelm" - item_state = "diver_envirohelm" /// Different icons and names for the helm to use when reskinning var/list/static/plasmaman_helm_options = list("Diver" = "diver_envirohelm", "Knight" = "knight_envirohelm", "Skull" = "skull_envirohelm") /// Checks if the helm has been reskinned already @@ -317,13 +285,6 @@ if(reskin_radial_check(user) && !reskinned) reskin(user) -/obj/item/clothing/head/helmet/space/plasmaman/tacticool/update_icon_state() - if(!up) - icon_state = base_icon_state - else - icon_state = "[base_icon_state][on ? "-light":""]" - item_state = icon_state - /obj/item/clothing/head/helmet/space/plasmaman/tacticool/proc/reskin(mob/M) var/list/skins = list() for(var/I in plasmaman_helm_options) @@ -363,13 +324,11 @@ name = "\improper NT Career Trainer envirosuit helmet" desc = "A plasmaman envirohelm designed for the nanotrasen career trainer." icon_state = "trainer_envirohelm" - item_state = "trainer_envirohelm" /obj/item/clothing/head/helmet/space/plasmaman/centcom name = "central command envirosuit helmet" desc = "A plasmaman containment helmet designed for central command officials." icon_state = "centcom_envirohelm" - item_state = "centcom_envirohelm" armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = INFINITY, ACID = 150) /obj/item/clothing/head/helmet/space/plasmaman/centcom/soo diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 8fb4d3db45c..90688bebbaa 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -3,7 +3,7 @@ name = "red space helmet" desc = "A suspicious-looking space helmet. It is reinforced with a layer of armour." icon_state = "syndicate" - item_state = "syndicate" + inhand_icon_state = "space_helmet_syndicate" armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, RAD = 20, FIRE = 200, ACID = 285) dyeable = TRUE dyeing_key = DYE_REGISTRY_SYNDICATE_HELMET @@ -12,13 +12,13 @@ "Tajaran" = 'icons/mob/clothing/species/tajaran/helmet.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/helmet.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/helmet.dmi', - "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi') - + "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi', + ) /obj/item/clothing/suit/space/syndicate name = "red space suit" icon_state = "syndicate" - item_state = "space_suit_syndicate" + inhand_icon_state = "space_suit_syndicate" desc = "A suspicious-looking space suit. The fabric is reinforced with a blend of nomex and kevlar for added protection." w_class = WEIGHT_CLASS_NORMAL dyeable = TRUE @@ -29,62 +29,58 @@ "Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi', - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi') - + "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', + ) //Green syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/green name = "green space helmet" icon_state = "syndicate-helm-green" - item_state = "syndicate-helm-green" + inhand_icon_state = "syndicate-helm-green" /obj/item/clothing/suit/space/syndicate/green name = "green space suit" icon_state = "syndicate-green" - item_state = "syndicate-green" - + inhand_icon_state = "syndicate-green" //Dark green syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/green/dark name = "dark green space helmet" icon_state = "syndicate-helm-green-dark" - item_state = "syndicate-helm-green-dark" + inhand_icon_state = "syndicate-helm-green-dark" /obj/item/clothing/suit/space/syndicate/green/dark name = "dark green space suit" icon_state = "syndicate-green-dark" - item_state = "syndicate-green-dark" - + inhand_icon_state = "syndicate-green-dark" //Orange syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/orange name = "orange space helmet" icon_state = "syndicate-helm-orange" - item_state = "syndicate-helm-orange" + inhand_icon_state = "helm-orange" /obj/item/clothing/suit/space/syndicate/orange name = "orange space suit" icon_state = "syndicate-orange" - item_state = "syndicate-orange" - + inhand_icon_state = "syndicate-orange" //Blue syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/blue name = "blue space helmet" icon_state = "syndicate-helm-blue" - item_state = "syndicate-helm-blue" + inhand_icon_state = "helm-command" /obj/item/clothing/suit/space/syndicate/blue name = "blue space suit" icon_state = "syndicate-blue" - item_state = "syndicate-blue" - + inhand_icon_state = "syndicate-blue" //Black syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/black name = "black space helmet" icon_state = "syndicate-helm-black" - item_state = "syndicate-helm-black" + inhand_icon_state = "syndicate-helm-black" /obj/item/clothing/head/helmet/space/syndicate/black/strike name = "Syndicate Strike Team commando helmet" @@ -97,7 +93,7 @@ /obj/item/clothing/suit/space/syndicate/black name = "black space suit" icon_state = "syndicate-black" - item_state = "syndicate-black" + inhand_icon_state = "syndicate-black" /obj/item/clothing/suit/space/syndicate/black/strike name = "Syndicate Strike Team commando space suit" @@ -110,24 +106,22 @@ //Black-green syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/black/green icon_state = "syndicate-helm-black-green" - item_state = "syndicate-helm-black-green" + inhand_icon_state = "syndicate-helm-black-green" /obj/item/clothing/suit/space/syndicate/black/green name = "black and green space suit" icon_state = "syndicate-black-green" - item_state = "syndicate-black-green" - + inhand_icon_state = "syndicate-black-green" //Black-blue syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/black/blue icon_state = "syndicate-helm-black-blue" - item_state = "syndicate-helm-black-blue" + inhand_icon_state = "syndicate-helm-black-blue" /obj/item/clothing/suit/space/syndicate/black/blue name = "black and blue space suit" icon_state = "syndicate-black-blue" - item_state = "syndicate-black-blue" - + inhand_icon_state = "syndicate-black-blue" //Black medical syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/black/med @@ -137,7 +131,6 @@ name = "green space suit" icon_state = "syndicate-black-med" - //Black-orange syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/black/orange icon_state = "syndicate-helm-black-orange" @@ -146,11 +139,10 @@ name = "black and orange space suit" icon_state = "syndicate-black-orange" - //Black-red syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/black/red icon_state = "syndicate-helm-black-red" - item_state = "syndicate-helm-black-red" + inhand_icon_state = "syndicate-helm-black-red" /obj/item/clothing/head/helmet/space/syndicate/black/red/strike name = "Syndicate Strike Team leader helmet" @@ -163,7 +155,7 @@ /obj/item/clothing/suit/space/syndicate/black/red name = "black and red space suit" icon_state = "syndicate-black-red" - item_state = "syndicate-black-red" + inhand_icon_state = "syndicate-black-red" /obj/item/clothing/suit/space/syndicate/black/red/strike name = "Syndicate Strike Team leader space suit" @@ -173,7 +165,6 @@ resistance_flags = ACID_PROOF flags_2 = RAD_PROTECT_CONTENTS_2 - //Black with yellow/red engineering syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/black/engie icon_state = "syndicate-helm-black-engie" @@ -187,11 +178,11 @@ desc = "A specialised black and gold helmet that's more compact than its standard Syndicate counterpart. It is made of an exotic military-grade fabric for added protection, and can be ultra-compressed into even the tightest of spaces." w_class = WEIGHT_CLASS_SMALL icon_state = "syndicate-helm-contractor" - item_state = "syndicate-helm-contractor" + inhand_icon_state = "syndicate-helm-contractor" /obj/item/clothing/suit/space/syndicate/contractor name = "contractor space suit" desc = "A specialised black and gold space suit that's easier to move around in than its standard Syndicate counterpart. It is made of an exotic military-grade fabric for added protection, and can be ultra-compressed into even the tightest of spaces." w_class = WEIGHT_CLASS_SMALL icon_state = "syndicate-contractor" - item_state = "syndicate-contractor" + inhand_icon_state = "syndicate-contractor" diff --git a/code/modules/clothing/spacesuits/void.dm b/code/modules/clothing/spacesuits/void.dm index 4e4d4c52a2c..a575c42b8e5 100644 --- a/code/modules/clothing/spacesuits/void.dm +++ b/code/modules/clothing/spacesuits/void.dm @@ -4,7 +4,6 @@ name = "\improper Antique Void Helmet" desc = "An old space helmet with a wide plexiglass visor. It lacks any modern HUD systems and provides negligible armor protection. The interior smells like mothballs." icon_state = "void-red" - item_state = "void" flags_inv = HIDEMASK|HIDEEARS dyeable = TRUE dyeing_key = DYE_REGISTRY_VOID_HELMET @@ -18,7 +17,6 @@ /obj/item/clothing/suit/space/void name = "\improper Antique Void Suit" icon_state = "void-red" - item_state = "void" desc = "An antique space suit commonly used for extravehicular repairs many years ago. Painfully outdated, it provides next to nothing beyond protection from the vaccuum of space." dyeable = TRUE dyeing_key = DYE_REGISTRY_VOID_SUIT @@ -60,7 +58,6 @@ /obj/item/clothing/suit/space/void/ltblue icon_state = "void-light_blue" - //Captian's Suit, like the other captian's suit, but looks better, at the cost of armor /obj/item/clothing/head/helmet/space/void/captain name = "\improper Antique Captain's Void Helmet" diff --git a/code/modules/clothing/suits/armor_suits.dm b/code/modules/clothing/suits/armor_suits.dm index f538a833aec..52b12c49a55 100644 --- a/code/modules/clothing/suits/armor_suits.dm +++ b/code/modules/clothing/suits/armor_suits.dm @@ -18,35 +18,30 @@ /obj/item/clothing/suit/armor/vest name = "armor vest" desc = "A mass-produced Level II soft armor vest that provides light protection against most sources of damage." - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) icon_state = "armor" - item_state = "armor" + inhand_icon_state = "armor" blood_overlay_type = "armor" dog_fashion = /datum/dog_fashion/back + sprite_sheets = list( + "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', + "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', + ) /obj/item/clothing/suit/armor/vest/jacket name = "military jacket" desc = "An old Federal Army surplus jacket. Armor panels sewn into the sides provide some protection against impacts and laser fire." icon_state = "militaryjacket" - item_state = "militaryjacket" + inhand_icon_state = null body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS /obj/item/clothing/suit/armor/vest/combat name = "combat vest" desc = "A soft armor vest suitable for stopping minor impacts." icon_state = "armor-combat" - item_state = "bulletproof" /obj/item/clothing/suit/armor/vest/security name = "security armor" desc = "A Level II soft armor vest used by Nanotrasen corporate security. Offers light protection against kinetic impacts and lasers, and has a clip for a holobadge." - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) var/obj/item/clothing/accessory/holobadge/attached_badge /obj/item/clothing/suit/armor/vest/security/attackby__legacy__attackchain(obj/item/I, mob/user, params) @@ -93,18 +88,12 @@ /obj/item/clothing/suit/armor/vest/blueshield name = "blueshield's security armor" desc = "A Level II soft armor vest used by Nanotrasen's Blueshield bodyguard corps. Provides identical protection to standard Security soft vests." - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) icon_state = "blueshield" - item_state = "blueshield" /obj/item/clothing/suit/armor/vest/bloody name = "bloodied security armor" desc = "An old, gore-covered security vest with a face crudely drawn on the chest. Where the hell did they even find this?" icon_state = "bloody_armor" - item_state = "bloody_armor" sprite_sheets = null /obj/item/clothing/suit/armor/vest/press @@ -116,7 +105,6 @@ name = "security jacket" desc = "A stylish black jacket used by Nanotrasen corporate security. Basic kevlar weave offers minor protection, but far less than a typical Security vest." icon_state = "secjacket_open" - item_state = "hos" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 20, ACID = 20) cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS @@ -135,7 +123,6 @@ name = "security poncho" desc = "A stylish black and red poncho used by Nanotrasen corporate security. Basic kevlar weave provides minor protection against most sources of damage." icon_state = "security_poncho" - item_state = "security_poncho" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 20, ACID = 20) cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS @@ -146,12 +133,11 @@ "Grey" = 'icons/mob/clothing/species/grey/suit.dmi' ) - /obj/item/clothing/suit/armor/hos name = "armored coat" desc = "An intimidating black greatcoat reinforced with Level II plate inserts for moderate protection." icon_state = "hos" - item_state = "hos" + inhand_icon_state = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 115, ACID = 450) flags_inv = HIDEJUMPSUIT @@ -169,7 +155,6 @@ name = "armored trenchcoat" desc = "A a stylish black trenchcoat fitted with Level II armored inserts for moderate protection without sacrificing aesthetics." icon_state = "hostrench_open" - item_state = "hostrench_open" flags_inv = 0 ignore_suitadjust = 0 suit_adjusted = 1 @@ -180,7 +165,6 @@ name = "armored trenchcoat" desc = "A trenchcoat augmented with a special alloy for some protection and style." icon_state = "jensencoat" - item_state = "jensencoat" flags_inv = 0 sprite_sheets = null @@ -258,7 +242,7 @@ name = "riot suit" desc = "A bulky, full-body suit of layered armor and impact cushions that provides outstanding protection against blunt trauma, fire, and corrosive substances. Much less effective against all other forms of damage, however." icon_state = "riot" - item_state = "swat_suit" + inhand_icon_state = "swat_suit" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS @@ -280,28 +264,24 @@ name = "plate armour" desc = "A full suit of steel plate armor, it looks like it came right out of a documentary about the Middle Ages. The plating offers excellent protection against melee, and the asbestos-lined padding provides excellent protection against fire and corrosive substances, but it won't be stopping any weapon designed in the last half-millennium." icon_state = "knight_green" - item_state = "knight_green" + inhand_icon_state = null slowdown = 1 sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') hide_tail_by_species = list("Vox") /obj/item/clothing/suit/armor/riot/knight/yellow icon_state = "knight_yellow" - item_state = "knight_yellow" /obj/item/clothing/suit/armor/riot/knight/blue icon_state = "knight_blue" - item_state = "knight_blue" /obj/item/clothing/suit/armor/riot/knight/red icon_state = "knight_red" - item_state = "knight_red" /obj/item/clothing/suit/armor/riot/knight/templar name = "crusader armour" desc = "A heavy suit of cosplay-grade armor that vaguely resembles something from a low-quality documentary about the crusades. Whilst the plating provides mediocre protection against melee attacks and little else, the asbestos-lined padding does hold up quite well to fire and corrosive substances." icon_state = "knight_templar" - item_state = "knight_templar" allowed = list(/obj/item/nullrod/claymore, /obj/item/storage/bible) armor = list(MELEE = 15, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 0, RAD = 0, FIRE = 200, ACID = 200) @@ -309,7 +289,6 @@ name = "durathread vest" desc = "A comfortable and low-profile vest made of durathread, reinforced with panels of tanned leather. Offers decent protection against laser discharges, but won't be stopping a bullet any time soon." icon_state = "durathread" - item_state = "durathread" max_integrity = 200 resistance_flags = FLAMMABLE armor = list(MELEE = 10, BULLET = 5, LASER = 20, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 35, ACID = 50) @@ -318,7 +297,7 @@ name = "bulletproof armor" desc = "A full-body suit of armor fitted with Level IV ballistic armor inserts and panelling across the body. Will stop most low-caliber kinetic projectiles and help resist the concussive force of explosions, but it does little against melee and energy attacks." icon_state = "bulletproof" - item_state = "armor" + inhand_icon_state = "armor" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS @@ -331,7 +310,6 @@ "Grey" = 'icons/mob/clothing/species/grey/suit.dmi' ) - /obj/item/clothing/suit/armor/bulletproof/sec name = "security bulletproof armor" desc = "A full-body suit of armor fitted with Level IV ballistic inserts and panelling. Will stop most low-caliber kinetic rounds and resist the concussive force of explosions somewhat, but it does little against melee and energy attacks. This suit is covered in red Security stripes." @@ -341,23 +319,18 @@ name = "SWAT armor" desc = "A large, bulky suit of tactical armor commonly used by specialized police units. Offers moderate protection in all areas. It has a surface coating that completely resists harm from fire and corrosive attacks." icon_state = "heavy" - item_state = "swat_suit" + inhand_icon_state = "swat_suit" body_parts_covered = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/kitchen/knife/combat) armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 50,RAD = 10, FIRE = INFINITY, ACID = INFINITY) strip_delay = 12 SECONDS resistance_flags = FIRE_PROOF | ACID_PROOF - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) - /obj/item/clothing/suit/armor/laserproof name = "ablative armor vest" desc = "A high-tech armor vest specializing against energy attacks. A miniaturized energy shielding system deflects incoming shots on a short cooldown, while a reflective outer shell and \ specialized heat dissipation materials protect against direct energy impacts. Unfortunately, it offers little in the way of defense against solid projectiles or melee weapons." icon_state = "armor_reflec" - item_state = "armor_reflec" blood_overlay_type = "armor" armor = list(MELEE = 5, BULLET = 5, LASER = 75, ENERGY = 50, BOMB = 0, RAD = 0, FIRE = INFINITY, ACID = INFINITY) var/last_reflect_time @@ -377,10 +350,6 @@ /obj/item/clothing/suit/armor/vest/det_suit name = "armor" desc = "An armored vest with a detective's badge on it." - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) icon_state = "detective-armor" allowed = list(/obj/item/tank/internals/emergency_oxygen,/obj/item/reagent_containers/spray/pepper,/obj/item/flashlight,/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/storage/fancy/cigarettes,/obj/item/lighter,/obj/item/detective_scanner,/obj/item/taperecorder) resistance_flags = FLAMMABLE @@ -395,7 +364,6 @@ /// Is the armor disabled, and prevented from reactivating temporarly? var/disabled = FALSE icon_state = "reactiveoff" - item_state = "reactiveoff" blood_overlay_type = "armor" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = INFINITY, ACID = INFINITY) actions_types = list(/datum/action/item_action/toggle) @@ -440,11 +408,9 @@ if(active) to_chat(user, "[src] is now active.") icon_state = "reactive" - item_state = "reactive" else to_chat(user, "[src] is now inactive.") icon_state = "reactiveoff" - item_state = "reactiveoff" add_fingerprint(user) user.update_inv_wear_suit() update_action_buttons() @@ -472,7 +438,6 @@ active = FALSE disabled = TRUE icon_state = "reactiveoff" - item_state = "reactiveoff" addtimer(CALLBACK(src, PROC_REF(reboot)), disable_time SECONDS) if(ishuman(loc)) var/mob/living/carbon/human/C = loc @@ -482,7 +447,6 @@ disabled = FALSE active = TRUE icon_state = "reactive" - item_state = "reactive" if(ishuman(loc)) var/mob/living/carbon/human/C = loc C.update_inv_wear_suit() @@ -689,12 +653,10 @@ //All of the armor below is mostly unused - /obj/item/clothing/suit/armor/centcomm name = "Cent. Com. armor" desc = "A suit that protects against some damage." icon_state = "centcom" - item_state = "centcom" w_class = WEIGHT_CLASS_BULKY body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank/internals/emergency_oxygen) @@ -711,7 +673,7 @@ name = "heavy armor" desc = "A generic suit of heavy armor. Protects against damage, to the surprise of none." icon_state = "heavy" - item_state = "swat_suit" + inhand_icon_state = "swat_suit" armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = 450, ACID = 450) w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.90 @@ -736,23 +698,17 @@ name = "red Thunderdome armor" desc = "Armor worn by the red Thunderdome team." icon_state = "tdred" - item_state = "tdred" /obj/item/clothing/suit/armor/tdome/green name = "green Thunderdome armor" desc = "Armor worn by the green Thunderdome team." icon_state = "tdgreen" - item_state = "tdgreen" //Federation /obj/item/clothing/suit/armor/federation/marine name = "\improper Federation marine combat armor" desc = "A full-body suit of semi-powered assault armor used by the Trans-Solar Marine Corps. Offers excellent protection in all areas without impairing movement." - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', - ) icon_state = "fedarmor_marine" - item_state = "fedarmor_marine" armor = list(MELEE = 40, BULLET = 45, LASER = 45, ENERGY = 40, BOMB = 100, RAD = 25, FIRE = INFINITY, ACID = 100) w_class = WEIGHT_CLASS_BULKY body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS @@ -767,22 +723,14 @@ /obj/item/clothing/suit/armor/federation/marine/officer name = "\improper Federation marine officer's armor" - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', - ) icon_state = "fedarmor_marine_officer" - item_state = "fedarmor_marine_officer" desc = "A full-body suit of semi-powered assault armor used by the Trans-Solar Marine Corps. Offers excellent protection in all areas without impairing movement. This suit has golden stripes instead of the typical white." /obj/item/clothing/suit/armor/federation/marine/export name = "\improper Federation marine combat armor (E)" desc = "An export-grade suit of semi-powered assault armor commonly sold or given to allies of the Trans-Solar Federation. It has moderately reduced capabilites compared to a standard suit." - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', - ) armor = list(MELEE = 30, BULLET = 35, LASER = 35, ENERGY = 30, BOMB = 50, RAD = 0, FIRE = 100, ACID = 50) - //Non-hardsuit ERT armor. /obj/item/clothing/suit/armor/vest/ert name = "emergency response team armor" @@ -806,7 +754,7 @@ name = "emergency response team paranormal armor" desc = "A full suit of medieval plate armor, kitted out in crusader colors. Where the hell did they even find this? There are chipped black insignia on the shoulders." icon_state = "knight_templar" - item_state = "knight_templar" + inhand_icon_state = null //Engineer /obj/item/clothing/suit/armor/vest/ert/engineer @@ -841,9 +789,8 @@ /obj/item/clothing/suit/hooded/drake name = "drake armour" - icon_state = "dragon" - item_state = "dragon" desc = "A suit of armour fashioned from the remains of an ash drake." + icon_state = "dragon" allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/spear) armor = list(MELEE = 115, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 150, RAD = 25, FIRE = INFINITY, ACID = INFINITY) hoodtype = /obj/item/clothing/head/hooded/drake @@ -854,9 +801,8 @@ /obj/item/clothing/head/hooded/drake name = "drake helmet" - icon_state = "dragon" - item_state = "dragon" desc = "The skull of a dragon." + icon_state = "dragon" armor = list(MELEE = 115, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 150, RAD = 25, FIRE = INFINITY, ACID = INFINITY) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -866,9 +812,8 @@ /obj/item/clothing/suit/hooded/goliath name = "goliath cloak" - icon_state = "goliath_cloak" - item_state = "goliath_cloak" desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits." + icon_state = "goliath_cloak" allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/internal/regenerative_core/legion, /obj/item/kitchen/knife/combat/survival) armor = list(MELEE = 25, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 75, ACID = 75) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot hoodtype = /obj/item/clothing/head/hooded/goliath @@ -878,9 +823,8 @@ /obj/item/clothing/head/hooded/goliath name = "goliath cloak hood" - icon_state = "golhood" - item_state = "golhood" desc = "A protective & concealing hood." + icon_state = "golhood" armor = list(MELEE = 25, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 75, ACID = 75) flags = BLOCKHAIR flags_cover = HEADCOVERSEYES @@ -891,7 +835,6 @@ name = "bone armor" desc = "A tribal armor plate, crafted from animal bone." icon_state = "bonearmor" - item_state = "bonearmor" blood_overlay_type = "armor" armor = list(MELEE = 25, BULLET = 15, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index f3ed8520bc6..42276158e38 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -4,8 +4,7 @@ desc = "A hood that protects the head and face from biological contaminants." icon = 'icons/obj/clothing/head/bio.dmi' icon_state = "bio" - item_state = 'icons/mob/clothing/head/bio.dmi' - icon_override = 'icons/mob/clothing/head/bio.dmi' + worn_icon = 'icons/mob/clothing/head/bio.dmi' permeability_coefficient = 0.01 flags = BLOCKHAIR | THICKMATERIAL flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH @@ -27,8 +26,7 @@ desc = "A suit that protects against biological contamination." icon = 'icons/obj/clothing/suits/bio.dmi' icon_state = "bio" - item_state = 'icons/mob/clothing/suits/bio.dmi' - icon_override = 'icons/mob/clothing/suits/bio.dmi' + worn_icon = 'icons/mob/clothing/suits/bio.dmi' w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 @@ -51,7 +49,6 @@ "Kidan" = 'icons/mob/clothing/species/kidan/suits/bio.dmi' ) - //Medical biosuit, white with blue /obj/item/clothing/head/bio_hood/general icon_state = "bio_general" @@ -59,7 +56,6 @@ /obj/item/clothing/suit/bio_suit/general icon_state = "bio_general" - //Virology biosuit, white with green /obj/item/clothing/head/bio_hood/virology icon_state = "bio_virology" @@ -67,7 +63,6 @@ /obj/item/clothing/suit/bio_suit/virology icon_state = "bio_virology" - //Security biosuit, white with red and a vest /obj/item/clothing/head/bio_hood/security armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 200, FIRE = 20, ACID = INFINITY) @@ -77,7 +72,6 @@ armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 200, FIRE = 20, ACID = INFINITY) icon_state = "bio_security" - //Janitor's biosuit, grey with purple /obj/item/clothing/head/bio_hood/janitor icon_state = "bio_janitor" @@ -85,7 +79,6 @@ /obj/item/clothing/suit/bio_suit/janitor icon_state = "bio_janitor" - //Scientist's biosuit, white with purple /obj/item/clothing/head/bio_hood/scientist icon_state = "bio_scientist" @@ -93,7 +86,6 @@ /obj/item/clothing/suit/bio_suit/scientist icon_state = "bio_scientist" - //CMO's biosuit, blue with white /obj/item/clothing/suit/bio_suit/cmo icon_state = "bio_cmo" @@ -101,14 +93,11 @@ /obj/item/clothing/head/bio_hood/cmo icon_state = "bio_cmo" - //Plague Dr mask can be found in clothing/masks/gasmask.dm /obj/item/clothing/suit/bio_suit/plaguedoctorsuit name = "plague doctor suit" desc = "It protected doctors from the Black Death, back then. You bet your arse it's gonna help you against viruses." icon_state = "plaguedoctor" - item_state = "bio_suit" strip_delay = 40 put_on_delay = 20 - hide_tail_by_species = list("Unathi", "Tajaran", "Vulpkanin") diff --git a/code/modules/clothing/suits/cardborg_suit.dm b/code/modules/clothing/suits/cardborg_suit.dm index dca49e0dda9..20b70f59983 100644 --- a/code/modules/clothing/suits/cardborg_suit.dm +++ b/code/modules/clothing/suits/cardborg_suit.dm @@ -13,18 +13,18 @@ CONTENTS: desc = "A helmet made out of a box." icon = 'icons/obj/clothing/head/cardborg.dmi' icon_state = "cardborg_h" - item_state = "cardborg_h" - icon_override = 'icons/mob/clothing/head/cardborg.dmi' + inhand_icon_state = "cardborg_h" + worn_icon = 'icons/mob/clothing/head/cardborg.dmi' dog_fashion = /datum/dog_fashion/head/cardborg - sprite_sheets = list( - "Grey" = 'icons/mob/clothing/species/grey/head/cardborg.dmi', - "Vox" = 'icons/mob/clothing/species/vox/head/cardborg.dmi' - ) flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEEARS flags_cover = HEADCOVERSEYES /// You appear to be this when examined instead of your mob's actual species. Also used to verify the helmet and suit are in a matching set. species_disguise = "High-tech robot" + sprite_sheets = list( + "Grey" = 'icons/mob/clothing/species/grey/head/cardborg.dmi', + "Vox" = 'icons/mob/clothing/species/vox/head/cardborg.dmi', + ) /// All the borg skins that this can disguise you as. var/list/available_disguises = list("Standard") @@ -40,7 +40,6 @@ CONTENTS: name = "red cardborg helmet" desc = "A helmet made out of a box. This one has been spray-painted red." icon_state = "cardborg_h_security" - item_state = "cardborg_h_security" dog_fashion = /datum/dog_fashion/head/cardborg/security available_disguises = list("secborg", "Security", "securityrobot", "bloodhound", "Standard-Secy", "Noble-SEC", "Cricket-SEC", "heavySec") species_disguise = "High-tech security robot" @@ -49,7 +48,6 @@ CONTENTS: name = "orange cardborg helmet" desc = "A helmet made out of a box. This one has been spray-painted orange." icon_state = "cardborg_h_engineering" - item_state = "cardborg_h_engineering" dog_fashion = /datum/dog_fashion/head/cardborg/engineering available_disguises = list("Engineering", "engineerrobot", "landmate", "Standard-Engi", "Noble-ENG", "Cricket-ENGI") species_disguise = "High-tech engineering robot" @@ -58,7 +56,6 @@ CONTENTS: name = "brown cardborg helmet" desc = "A helmet made out of a box. This one has been spray-painted brown." icon_state = "cardborg_h_mining" - item_state = "cardborg_h_mining" dog_fashion = /datum/dog_fashion/head/cardborg/mining available_disguises = list("Miner_old", "droid-miner", "Miner", "Standard-Mine", "Noble-DIG", "Cricket-MINE", "lavaland", "squatminer", "coffinMiner") species_disguise = "High-tech mining robot" @@ -67,7 +64,6 @@ CONTENTS: name = "green cardborg helmet" desc = "A helmet made out of a box. This one has been spray-painted green." icon_state = "cardborg_h_service" - item_state = "cardborg_h_service" dog_fashion = /datum/dog_fashion/head/cardborg/service available_disguises = list("Service", "toiletbot", "Brobot", "maximillion", "Service2", "Standard-Serv", "Noble-SRV", "Cricket-SERV") species_disguise = "High-tech service robot" @@ -76,7 +72,6 @@ CONTENTS: name = "blue cardborg helmet" desc = "A helmet made out of a box. This one has been spray-painted blue." icon_state = "cardborg_h_medical" - item_state = "cardborg_h_medical" dog_fashion = /datum/dog_fashion/head/cardborg/medical available_disguises = list("Medbot", "surgeon", "droid-medical", "medicalrobot", "Standard-Medi", "Noble-MED", "Cricket-MEDI", "qualified_doctor") species_disguise = "High-tech medical robot" @@ -85,7 +80,6 @@ CONTENTS: name = "purple cardborg helmet" desc = "A helmet made out of a box. This one has been spray-painted purple." icon_state = "cardborg_h_janitor" - item_state = "cardborg_h_janitor" dog_fashion = /datum/dog_fashion/head/cardborg/janitor available_disguises = list("JanBot2", "janitorrobot", "mopgearrex", "Standard-Jani", "Noble-CLN", "Cricket-JANI", "custodiborg") species_disguise = "High-tech janitor robot" @@ -94,7 +88,6 @@ CONTENTS: name = "white cardborg helmet" desc = "A helmet made out of a box. This one has been spray-painted white." icon_state = "cardborg_h_xeno" - item_state = "cardborg_h_xeno" dog_fashion = /datum/dog_fashion/head/cardborg/xeno available_disguises = list("xenoborg-state-a") species_disguise = "High-tech alien-hunting robot" @@ -103,7 +96,6 @@ CONTENTS: name = "black cardborg helmet" desc = "A helmet made out of a box. This one has been spray-painted black." icon_state = "cardborg_h_deathbot" - item_state = "cardborg_h_deathbot" dog_fashion = /datum/dog_fashion/head/cardborg/deathbot available_disguises = list("nano_bloodhound", "syndie_bloodhound", "syndi-medi", "syndi-engi", "ertgamma", "spidersyndi", "syndieheavy") species_disguise = "High-tech killer robot" @@ -116,8 +108,8 @@ CONTENTS: desc = "A full-body suit made out of ordinary cardboard boxes with various holes cut into them." icon = 'icons/obj/clothing/suits/cardborg.dmi' icon_state = "cardborg" - item_state = "cardborg" - icon_override = 'icons/mob/clothing/suits/cardborg.dmi' + inhand_icon_state = "cardborg" + worn_icon = 'icons/mob/clothing/suits/cardborg.dmi' dog_fashion = /datum/dog_fashion/back body_parts_covered = UPPER_TORSO|LOWER_TORSO flags_inv = HIDEJUMPSUIT @@ -135,56 +127,48 @@ CONTENTS: name = "red cardborg suit" desc = "A full-body suit made out of ordinary cardboard boxes with various holes cut into them. This one has been spray-painted red." icon_state = "cardborg_security" - item_state = "cardborg_security" species_disguise = "High-tech security robot" /obj/item/clothing/suit/cardborg/engineering name = "orange cardborg suit" desc = "A full-body suit made out of ordinary cardboard boxes with various holes cut into them. This one has been spray-painted orange." icon_state = "cardborg_engineering" - item_state = "cardborg_engineering" species_disguise = "High-tech engineering robot" /obj/item/clothing/suit/cardborg/mining name = "brown cardborg suit" desc = "A full-body suit made out of ordinary cardboard boxes with various holes cut into them. This one has been spray-painted brown." icon_state = "cardborg_mining" - item_state = "cardborg_mining" species_disguise = "High-tech mining robot" /obj/item/clothing/suit/cardborg/service name = "green cardborg suit" desc = "A full-body suit made out of ordinary cardboard boxes with various holes cut into them. This one has been spray-painted green." icon_state = "cardborg_service" - item_state = "cardborg_service" species_disguise = "High-tech service robot" /obj/item/clothing/suit/cardborg/medical name = "blue cardborg suit" desc = "A full-body suit made out of ordinary cardboard boxes with various holes cut into them. This one has been spray-painted blue." icon_state = "cardborg_medical" - item_state = "cardborg_medical" species_disguise = "High-tech medical robot" /obj/item/clothing/suit/cardborg/janitor name = "purple cardborg suit" desc = "A full-body suit made out of ordinary cardboard boxes with various holes cut into them. This one has been spray-painted purple." icon_state = "cardborg_janitor" - item_state = "cardborg_janitor" species_disguise = "High-tech janitor robot" /obj/item/clothing/suit/cardborg/xeno name = "white cardborg suit" desc = "A full-body suit made out of ordinary cardboard boxes with various holes cut into them. This one has been spray-painted white." icon_state = "cardborg_xeno" - item_state = "cardborg_xeno" species_disguise = "High-tech alien-hunting robot" /obj/item/clothing/suit/cardborg/deathbot name = "black cardborg suit" desc = "A full-body suit made out of ordinary cardboard boxes with various holes cut into them. This one has been spray-painted black." icon_state = "cardborg_deathbot" - item_state = "cardborg_deathbot" species_disguise = "High-tech killer robot" /* diff --git a/code/modules/clothing/suits/job_suits.dm b/code/modules/clothing/suits/job_suits.dm index 2d283f096ab..fb566679e2e 100644 --- a/code/modules/clothing/suits/job_suits.dm +++ b/code/modules/clothing/suits/job_suits.dm @@ -6,14 +6,10 @@ name = "apron" desc = "A basic blue apron." icon_state = "apron" - item_state = "apron" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO allowed = list(/obj/item/reagent_containers/spray/plantbgone,/obj/item/plant_analyzer,/obj/item/seeds,/obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/cultivator,/obj/item/reagent_containers/spray/pestspray,/obj/item/hatchet,/obj/item/storage/bag/plants) - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') // Smith /obj/item/clothing/suit/apron/smith @@ -21,8 +17,7 @@ desc = "A black, heat-treated apron for use while smelting." icon = 'icons/obj/clothing/suits/utility.dmi' icon_state = "smith_apron" - item_state = "smith_apron" - icon_override = 'icons/mob/clothing/suits/utility.dmi' + worn_icon = 'icons/mob/clothing/suits/utility.dmi' allowed = list(/obj/item/hammer, /obj/item/smithing_cast, /obj/item/smithed_item, /obj/item/stack/sheet, /obj/item/stack/tile/brass) resistance_flags = FIRE_PROOF insert_max = 3 @@ -38,36 +33,27 @@ name = "chaplain hoodie" desc = "This suit says to you 'hush'!" icon_state = "chaplain_hoodie" - item_state = "chaplain_hoodie" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS hoodtype = /obj/item/clothing/head/hooded/chaplain_hood allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen) - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') //Chaplain /obj/item/clothing/suit/hooded/nun name = "nun robe" desc = "Maximum piety in this star system." icon_state = "nun" - item_state = "nun" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS flags_inv = HIDESHOES|HIDEJUMPSUIT hoodtype = /obj/item/clothing/head/hooded/nun_hood allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen) - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') //Chaplain /obj/item/clothing/suit/hooded/monk name = "monk robe" desc = "Wooden board not included." icon_state = "monkrobe" - item_state = "monkrobe" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS flags_inv = HIDEJUMPSUIT hoodtype = /obj/item/clothing/head/hooded/monk_hood @@ -77,63 +63,56 @@ name = "witchhunter garb" desc = "Dosen't weigh the same a a duck." icon_state = "witchhunter" - item_state = "witchhunter" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen) - - //Chef +//Chef /obj/item/clothing/suit/toggle/chef name = "chef's coat" - //Chef /obj/item/clothing/suit/chef name = "chef's coat" desc = "A coat used by a high class chef." icon_state = "chef" - item_state = "chef" + inhand_icon_state = "chef" gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS allowed = list (/obj/item/kitchen/knife) - sprite_sheets = list( "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi', - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', + ) //Chef /obj/item/clothing/suit/chef/classic name = "classic chef's apron" desc = "A basic, dull, white chef's apron." icon_state = "apronchef" - item_state = "apronchef" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO - allowed = list(/obj/item/kitchen/knife) //Detective /obj/item/clothing/suit/storage/det_suit name = "coat" desc = "An 18th-century multi-purpose trenchcoat. Someone who wears this means serious business." icon_state = "detective" - item_state = "det_suit" + inhand_icon_state = "det_suit" blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/reagent_containers/spray/pepper, /obj/item/flashlight, /obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/detective_scanner, /obj/item/taperecorder) armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 0, RAD = 0, FIRE = 0, ACID = 40) cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi' - ) + ) //Forensics /obj/item/clothing/suit/storage/det_suit/forensics @@ -163,7 +142,6 @@ name = "blueshield's coat" desc = "NT deluxe ripoff. You finally have your own coat." icon_state = "blueshieldcoat" - item_state = "blueshieldcoat" blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/flashlight/seclite,/obj/item/melee/classic_baton/telescopic) @@ -171,13 +149,12 @@ cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS insert_max = 2 - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', - ) + ) //Hazard vests /obj/item/clothing/suit/storage/hazardvest @@ -185,18 +162,16 @@ desc = "A high-visibility vest used in work zones. Designed for general use." icon = 'icons/obj/clothing/suits/utility.dmi' icon_state = "hazard_base" - item_state = 'icons/mob/clothing/suits/utility.dmi' - icon_override = 'icons/mob/clothing/suits/utility.dmi' + worn_icon = 'icons/mob/clothing/suits/utility.dmi' blood_overlay_type = "armor" allowed = list (/obj/item/flashlight, /obj/item/t_scanner, /obj/item/tank/internals/emergency_oxygen, /obj/item/rcd, /obj/item/rpd) resistance_flags = NONE - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suits/utility.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/suits/utility.dmi', "Drask" = 'icons/mob/clothing/species/drask/suits/utility.dmi', "Grey" = 'icons/mob/clothing/species/grey/suits/utility.dmi' - ) + ) /obj/item/clothing/suit/storage/hazardvest/staff name = "staff hazard vest" @@ -237,7 +212,6 @@ /obj/item/clothing/suit/storage/iaa/blackjacket name = "black suit jacket" icon_state = "suitjacket_black_open" - item_state = "suitjacket_black_open" ignore_suitadjust = FALSE suit_adjusted = TRUE actions_types = list(/datum/action/item_action/button) @@ -246,7 +220,6 @@ /obj/item/clothing/suit/storage/iaa/bluejacket name = "blue suit jacket" icon_state = "suitjacket_blue_open" - item_state = "suitjacket_blue_open" ignore_suitadjust = FALSE suit_adjusted = TRUE actions_types = list(/datum/action/item_action/button) @@ -255,14 +228,12 @@ /obj/item/clothing/suit/storage/iaa/purplejacket name = "purple suit jacket" icon_state = "suitjacket_purple" - item_state = "suitjacket_purple" //Head of Personnel /obj/item/clothing/suit/hopcoat name = "head of personnel's coat" desc = "A big coat for the Head of Personnel who wants to make a fashion statement. Has armour woven within the fabric." icon_state = "hopcoat" - item_state = "hopcoat" allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/kitchen/knife/combat) armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) insert_max = 2 @@ -278,7 +249,6 @@ name = "quartermaster's coat" desc = "A brown trenchcoat to show the station you mean business. Has armor woven within the fabric." icon_state = "qmcoat" - item_state = "qmcoat" allowed = list(/obj/item/paper, /obj/item/clipboard, /obj/item/gun/energy/kinetic_accelerator, /obj/item/melee/baton, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/melee/knuckleduster, /obj/item/rcs) armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) insert_max = 2 @@ -294,31 +264,27 @@ name = "\improper Nanotrasen Representative jacket" desc = "A fancy black jacket; standard issue to Nanotrasen Representatives." icon_state = "ntrep" - item_state = "ntrep" blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|ARMS ignore_suitadjust = 0 actions_types = list(/datum/action/item_action/button) adjust_flavour = "unbutton" insert_max = 2 - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', - ) + ) /obj/item/clothing/suit/magirobe name = "magistrate's robe" desc = "An opulent robe that commands authority. Issued only to licensed magistrates." icon_state = "magirobe" - item_state = "magirobe" body_parts_covered = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS allowed = list(/obj/item/storage/fancy/cigarettes, /obj/item/stack/spacecash, /obj/item/flash, /obj/item/gavelhammer) flags_inv = HIDEJUMPSUIT insert_max = 2 - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi', @@ -331,7 +297,7 @@ name = "first responder jacket" desc = "A high-visibility jacket worn by medical first responders." icon_state = "fr_jacket_open" - item_state = "fr_jacket_open" + inhand_icon_state = "fr_jacket" blood_overlay_type = "armor" allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/reagent_containers/syringe, /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/radio, /obj/item/tank/internals/emergency_oxygen) @@ -339,10 +305,7 @@ suit_adjusted = 1 actions_types = list(/datum/action/item_action/button) adjust_flavour = "unbutton" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') //Mime /obj/item/clothing/suit/suspenders @@ -351,10 +314,7 @@ icon = 'icons/obj/clothing/belts.dmi' icon_state = "suspenders" blood_overlay_type = "armor" //it's the less thing that I can put here - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/suspenders/nodrop flags = NODROP @@ -364,7 +324,6 @@ name = "surgical apron" desc = "A sterile blue surgical apron." icon_state = "surgical" - item_state = "surgical" allowed = list(/obj/item/scalpel, /obj/item/surgical_drapes, /obj/item/cautery, /obj/item/hemostat, /obj/item/retractor) //NT Career Trainer @@ -374,7 +333,6 @@ icon_state = "trainercoat" blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|ARMS - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi', diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 1da95515bf1..9c2e33c704c 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -3,8 +3,8 @@ desc = "A suit that protects against minor chemical spills." icon = 'icons/obj/clothing/suits/labcoat.dmi' icon_state = "labcoat_open" - item_state = 'icons/mob/clothing/suits/labcoat.dmi' - icon_override = 'icons/mob/clothing/suits/labcoat.dmi' + inhand_icon_state = "labcoat" + worn_icon = 'icons/mob/clothing/suits/labcoat.dmi' ignore_suitadjust = 0 suit_adjusted = 1 blood_overlay_type = "coat" @@ -26,13 +26,11 @@ name = "medical doctor's labcoat" desc = "A suit that protects against minor chemical spills. Has blue medical markings." icon_state = "labcoat_medical_open" - item_state = "labcoat_medical_open" /obj/item/clothing/suit/storage/labcoat/cmo name = "chief medical officer's labcoat" desc = "Fancier than the standard model. Has blue medical markings." icon_state = "labcoat_cmo_open" - item_state = "labcoat_cmo_open" insert_max = 2 permeability_coefficient = 0.2 @@ -40,73 +38,61 @@ name = "mad scientist's labcoat" desc = "It makes you look capable of konking someone on the noggin and shooting them into space." icon_state = "labcoat_mad_open" - item_state = "labcoat_mad_open" /obj/item/clothing/suit/storage/labcoat/genetics name = "geneticist labcoat" desc = "A suit that protects against minor chemical spills. Has wine research markings." icon_state = "labcoat_genetics_open" - item_state = "labcoat_genetics_open" /obj/item/clothing/suit/storage/labcoat/chemist name = "chemist labcoat" desc = "A suit that protects against minor chemical spills. Has orange medical markings." icon_state = "labcoat_chemist_open" - item_state = "labcoat_chemist_open" /obj/item/clothing/suit/storage/labcoat/virologist name = "virologist labcoat" desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has green medical markings." icon_state = "labcoat_viro_open" - item_state = "labcoat_viro_open" permeability_coefficient = 0.2 /obj/item/clothing/suit/storage/labcoat/science name = "scientist labcoat" desc = "A suit that protects against minor chemical spills. Has purple research markings." icon_state = "labcoat_science_open" - item_state = "labcoat_science_open" /obj/item/clothing/suit/storage/labcoat/mortician name = "coroner labcoat" desc = "A suit that protects against minor chemical spills. Has black medical markings." icon_state = "labcoat_coroner_open" - item_state = "labcoat_coroner_open" /obj/item/clothing/suit/storage/labcoat/emt name = "\improper EMT labcoat" desc = "A comfortable suit for paramedics. Has dark colours and white medical markings." icon_state = "labcoat_paramedic_open" - item_state = "labcoat_paramedic_open" /obj/item/clothing/suit/storage/labcoat/psych name = "psychologist labcoat" desc = "A suit that protects against minor chemical spills. Has cyan medical markings." icon_state = "labcoat_psyche_open" - item_state = "labcoat_psyche_open" /obj/item/clothing/suit/storage/labcoat/robowhite name = "roboticist labcoat" desc = "A suit that protects against minor chemical spills. Has brown research markings." icon_state = "labcoat_robowhite_open" - item_state = "labcoat_robowhite_open" /obj/item/clothing/suit/storage/labcoat/roboblack name = "bioengineer labcoat" desc = "A black suit that protects against minor chemical spills. Has brown research markings." icon_state = "labcoat_roboblack_open" - item_state = "labcoat_roboblack_open" /obj/item/clothing/suit/storage/labcoat/rd name = "research director's labcoat" desc = "Fancier than the standard model. Purple with white research markings." icon_state = "labcoat_rd_open" - item_state = "labcoat_rd_open" insert_max = 2 /obj/item/clothing/suit/storage/labcoat/hydro name = "hydroponics labcoat" desc = "A suit that protects against minor chemical spills. Has green research markings." icon_state = "labcoat_botany_open" - item_state = "labcoat_botany_open" allowed = list(/obj/item/plant_analyzer, /obj/item/reagent_containers/glass/bottle, /obj/item/storage/bag/plants, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/glass/beaker, /obj/item/paper) diff --git a/code/modules/clothing/suits/misc_suits.dm b/code/modules/clothing/suits/misc_suits.dm index 7b231b2190a..531ac21376b 100644 --- a/code/modules/clothing/suits/misc_suits.dm +++ b/code/modules/clothing/suits/misc_suits.dm @@ -12,33 +12,25 @@ /obj/item/clothing/suit/bluetag name = "blue laser tag armour" desc = "Blue Pride, Station Wide." - w_class = WEIGHT_CLASS_NORMAL icon_state = "bluetag" - item_state = "bluetag" blood_overlay_type = "armor" + w_class = WEIGHT_CLASS_NORMAL body_parts_covered = UPPER_TORSO|LOWER_TORSO allowed = list (/obj/item/gun/energy/laser/tag/blue) resistance_flags = NONE insert_max = 0 - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/redtag name = "red laser tag armour" desc = "Pew pew pew." - w_class = WEIGHT_CLASS_NORMAL icon_state = "redtag" - item_state = "redtag" blood_overlay_type = "armor" + w_class = WEIGHT_CLASS_NORMAL body_parts_covered = UPPER_TORSO|LOWER_TORSO allowed = list (/obj/item/gun/energy/laser/tag/red) resistance_flags = NONE - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /* * Costume @@ -47,37 +39,27 @@ name = "brown pirate coat" desc = "Yarr." icon_state = "pirate_old" - item_state = "pirate_old" insert_max = 0 - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/pirate_black name = "black pirate coat" desc = "Yarr." icon_state = "pirate" - item_state = "pirate" insert_max = 0 - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/hgpirate name = "pirate captain coat" desc = "Yarr." icon_state = "hgpirate" - item_state = "hgpirate" insert_max = 0 /obj/item/clothing/suit/cyborg_suit name = "cyborg suit" desc = "Suit for a cyborg costume." - w_class = WEIGHT_CLASS_NORMAL icon_state = "death" - item_state = "death" + w_class = WEIGHT_CLASS_NORMAL flags = CONDUCT fire_resist = T0C+5200 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT @@ -87,14 +69,12 @@ name = "johnny~~ coat" desc = "Johnny~~" icon_state = "johnny" - item_state = "johnny" insert_max = 0 /obj/item/clothing/suit/justice name = "justice suit" desc = "This pretty much looks ridiculous." icon_state = "justice" - item_state = "justice" flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT insert_max = 0 @@ -102,7 +82,6 @@ name = "judge's robe costume" desc = "A fancy costume giving off an aura of authority." icon_state = "judge" - item_state = "judge" body_parts_covered = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS allowed = list(/obj/item/storage/fancy/cigarettes,/obj/item/stack/spacecash) flags_inv = HIDEJUMPSUIT @@ -112,7 +91,6 @@ name = "waistcoat" desc = "For some classy, murderous fun." icon_state = "vest" - item_state = "wcoat" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO insert_max = 0 @@ -125,33 +103,27 @@ name = "coveralls" desc = "A set of denim overalls." icon_state = "overalls" - item_state = "overalls" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS - /obj/item/clothing/suit/syndicatefake name = "black and red space suit replica" - icon_state = "syndicate-black-red" - item_state = "syndicate-black-red" desc = "A plastic replica of the syndicate space suit, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!" + icon_state = "syndicate-black-red" w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/toy) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL resistance_flags = NONE insert_max = 0 - sprite_sheets = list( "Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi', "Vox" = 'icons/mob/clothing/species/vox/suit.dmi') - /obj/item/clothing/suit/hastur name = "Hastur's robes" desc = "Robes not meant to be worn by man." icon_state = "hastur" - item_state = "hastur" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS flags_inv = HIDESHOES|HIDEJUMPSUIT insert_max = 0 @@ -160,7 +132,6 @@ name = "imperium monk" desc = "Have YOU killed a xeno today?" icon_state = "imperium_monk" - item_state = "imperium_monk" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS flags_inv = HIDESHOES|HIDEJUMPSUIT allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen) @@ -170,7 +141,6 @@ name = "chicken suit" desc = "A suit made long ago by the ancient empire KFC." icon_state = "chickensuit" - item_state = "chickensuit" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET flags_inv = HIDESHOES|HIDEJUMPSUIT insert_max = 0 @@ -179,7 +149,7 @@ name = "corgi suit" desc = "A suit made long ago by the ancient empire KFC." icon_state = "corgisuit" - item_state = "chickensuit" + inhand_icon_state = "chickensuit" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET flags_inv = HIDEJUMPSUIT dog_fashion = /datum/dog_fashion/back @@ -221,7 +191,6 @@ name = "monkey suit" desc = "A suit that looks like a primate." icon_state = "monkeysuit" - item_state = "monkeysuit" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HANDS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT insert_max = 0 @@ -230,7 +199,6 @@ name = "holiday priest" desc = "This is a nice holiday my son." icon_state = "holidaypriest" - item_state = "holidaypriest" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS flags_inv = HIDEJUMPSUIT allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen) @@ -240,7 +208,6 @@ name = "snowman outfit" desc = "Two white spheres covered in white glitter. 'Tis the season." icon_state = "snowman" - item_state = "snowman" body_parts_covered = UPPER_TORSO|LOWER_TORSO flags_inv = HIDEJUMPSUIT insert_max = 0 @@ -249,29 +216,22 @@ name = "poncho" desc = "Your classic, non-racist poncho." icon_state = "classicponcho" - item_state = "classicponcho" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/poncho/green name = "green poncho" desc = "Your classic, non-racist poncho. This one is green." icon_state = "greenponcho" - item_state = "greenponcho" /obj/item/clothing/suit/poncho/red name = "red poncho" desc = "Your classic, non-racist poncho. This one is red." icon_state = "redponcho" - item_state = "redponcho" /obj/item/clothing/suit/poncho/ponchoshame name = "poncho of shame" desc = "Forced to live on your shameful acting as a fake Mexican, you and your poncho have grown inseperable. Literally." icon_state = "ponchoshame" - item_state = "ponchoshame" flags = NODROP insert_max = 0 @@ -279,7 +239,7 @@ name = "carp costume" desc = "A costume made from 'synthetic' carp scales, it smells." icon_state = "carp_casual" - item_state = "labcoat" + inhand_icon_state = "labcoat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT //Space carp like space, so you should too @@ -356,7 +316,7 @@ name = "bee costume" desc = "Bee the true Queen!" icon_state = "bee" - item_state = "labcoat" + inhand_icon_state = "labcoat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS flags = THICKMATERIAL hoodtype = /obj/item/clothing/head/hooded/bee_hood @@ -376,7 +336,6 @@ name = "bloated human suit" desc = "A horribly bloated suit made from human skins." icon_state = "lingspacesuit" - item_state = "lingspacesuit" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS insert_max = 0 @@ -385,7 +344,6 @@ name = "transylvanian coat" desc = "What is a spessman? A miserable little pile of secrets." icon_state = "draculacoat" - item_state = "draculacoat" insert_max = 0 /* @@ -396,7 +354,7 @@ name = "winter coat" desc = "A heavy jacket made from 'synthetic' animal furs." icon_state = "wintercoat" - item_state = "coatwinter" + inhand_icon_state = "coatwinter" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -423,13 +381,11 @@ name = "expensive coat" desc = "Very fluffy pink coat, made out of very expensive fur (clearly)." icon_state = "pimpcoat" - item_state = "pimpcoat" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO allowed = list(/obj/item/tank/internals/emergency_oxygen) cold_protection = UPPER_TORSO | LOWER_TORSO | ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - sprite_sheets = list( "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', @@ -440,13 +396,11 @@ name = "fashionable coat" desc = "Very fluffy white coat, made out of quality synthetic fur." icon_state = "pimpcoat_white" - item_state = "pimpcoat_white" /obj/item/clothing/suit/pimpcoat/tan name = "coat of status" desc = "Very fluffy tan coat, made out of the finest fur from the Earth. Gifted to Quartermaster of Nanotrasen. Has additional layer of protection against harsh environment of Lavaland and a strap to hold equipment of Quartermaster." icon_state = "pimpcoat_tan" - item_state = "pimpcoat_tan" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, RAD = 0, FIRE = 15, ACID = 50) allowed = list(/obj/item/paper, /obj/item/clipboard, /obj/item/gun/energy/kinetic_accelerator, /obj/item/melee/baton, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/melee/knuckleduster, /obj/item/rcs) insert_max = 3 @@ -455,7 +409,6 @@ name = "fur coat" desc = "A trenchcoat made from fur. You could put an oxygen tank in one of the pockets." icon_state = "furcoat" - item_state = "furcoat" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO allowed = list(/obj/item/tank/internals/emergency_oxygen) @@ -465,7 +418,7 @@ /obj/item/clothing/suit/hooded/wintercoat/captain name = "captain's winter coat" icon_state = "wintercoat_captain" - item_state = "coatcaptain" + inhand_icon_state = "coatcaptain" armor = list(MELEE = 15, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 0, ACID = 50) allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic) hoodtype = /obj/item/clothing/head/hooded/winterhood/captain @@ -485,7 +438,7 @@ /obj/item/clothing/suit/hooded/wintercoat/security name = "security winter coat" icon_state = "wintercoat_sec" - item_state = "coatsecurity" + inhand_icon_state = "coatsecurity" armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 20, ACID = 20) allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic) hoodtype = /obj/item/clothing/head/hooded/winterhood/security @@ -506,7 +459,7 @@ /obj/item/clothing/suit/hooded/wintercoat/medical name = "medical winter coat" icon_state = "wintercoat_med" - item_state = "coatmedical" + inhand_icon_state = "coatmedical" allowed = list(/obj/item/analyzer, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator,/obj/item/healthanalyzer,/obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 0, ACID = 40) hoodtype = /obj/item/clothing/head/hooded/winterhood/medical @@ -525,7 +478,7 @@ /obj/item/clothing/suit/hooded/wintercoat/science name = "science winter coat" icon_state = "wintercoat_sci" - item_state = "coatscience" + inhand_icon_state = "coatscience" allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator,/obj/item/healthanalyzer,/obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 5, RAD = 0, FIRE = 0, ACID = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/science @@ -544,7 +497,7 @@ /obj/item/clothing/suit/hooded/wintercoat/engineering name = "engineering winter coat" icon_state = "wintercoat_engi" - item_state = "coatengineer" + inhand_icon_state = "coatengineer" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 10, FIRE = 20, ACID = 40) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd) hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering @@ -563,7 +516,7 @@ /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos name = "atmospherics winter coat" icon_state = "wintercoat_atmos" - item_state = "coatatmos" + inhand_icon_state = "coatatmos" hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering/atmos sprite_sheets = list( "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', @@ -580,7 +533,7 @@ /obj/item/clothing/suit/hooded/wintercoat/hydro name = "hydroponics winter coat" icon_state = "wintercoat_hydro" - item_state = "coathydro" + inhand_icon_state = "coathydro" allowed = list(/obj/item/reagent_containers/spray, /obj/item/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/hatchet, /obj/item/storage/bag/plants) hoodtype = /obj/item/clothing/head/hooded/winterhood/hydro sprite_sheets = list( @@ -598,7 +551,7 @@ /obj/item/clothing/suit/hooded/wintercoat/cargo name = "cargo winter coat" icon_state = "wintercoat_cargo" - item_state = "coatcargo" + inhand_icon_state = "coatcargo" allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/rcs, /obj/item/clipboard, /obj/item/envelope, /obj/item/storage/bag/mail, /obj/item/mail_scanner) hoodtype = /obj/item/clothing/head/hooded/winterhood/cargo sprite_sheets = list( @@ -616,7 +569,7 @@ /obj/item/clothing/suit/hooded/wintercoat/miner name = "mining winter coat" icon_state = "wintercoat_miner" - item_state = "coatminer" + inhand_icon_state = "coatminer" allowed = list(/obj/item/pickaxe, /obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/t_scanner/adv_mining_scanner, /obj/item/storage/bag/ore, /obj/item/gun/energy/kinetic_accelerator) armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 0, ACID = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/miner @@ -648,7 +601,7 @@ desc = "A cutting-edge ablative armor system developed by Nanotrasen. Miniaturized shielding systems deflect incoming energy projectiles, while prototype heatsinks and dissipation materials blunt any energy weapon that makes impact. \ Unfortunately, if offers little to no protection against solid impacts." icon_state = "ablativecoat" - item_state = "ablativecoat" + inhand_icon_state = "armor_reflec" body_parts_covered = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS heat_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS @@ -683,14 +636,12 @@ name = "black hoodie" desc = "It's a hoodie. It has a hood. Most hoodies do." icon_state = "black_hoodie" - item_state = "blueshieldcoat" + inhand_icon_state = "blueshieldcoat" w_class = WEIGHT_CLASS_SMALL body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen) hoodtype = /obj/item/clothing/head/hooded/hood - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/head/hooded/hood name = "black hood" @@ -747,7 +698,6 @@ name = "straight jacket" desc = "A suit that completely restrains the wearer." icon_state = "straight_jacket" - item_state = "straight_jacket" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL strip_delay = 60 @@ -767,11 +717,7 @@ name = "worn shirt" desc = "A worn out, curiously comfortable t-shirt with a picture of Ian. You wouldn't go so far as to say it feels like being hugged when you wear it but it's pretty close. Good for sleeping in." icon_state = "ianshirt" - item_state = "ianshirt" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') //coats @@ -779,36 +725,27 @@ name = "leather coat" desc = "A long, thick black leather coat." icon_state = "leathercoat" - item_state = "leathercoat" resistance_flags = FIRE_PROOF /obj/item/clothing/suit/browntrenchcoat name = "brown trench coat" desc = "It makes you stand out. Just the opposite of why it's typically worn. Nice try trying to blend in while wearing it." icon_state = "brtrenchcoat_open" - item_state = "brtrenchcoat_open" ignore_suitadjust = FALSE suit_adjusted = TRUE actions_types = list(/datum/action/item_action/button) adjust_flavour = "unbutton" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/blacktrenchcoat name = "black trench coat" desc = "That shade of black just makes you look a bit more evil. Good for those mafia types." icon_state = "bltrenchcoat_open" - item_state = "bltrenchcoat_open" ignore_suitadjust = FALSE suit_adjusted = TRUE actions_types = list(/datum/action/item_action/button) adjust_flavour = "unbutton" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') //trackjackets @@ -816,16 +753,12 @@ name = "black tracksuit" desc = "Lightweight and stylish. What else could a man ask of his tracksuit?" icon_state = "trackjacket_open" - item_state = "bltrenchcoat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS ignore_suitadjust = 0 suit_adjusted = 1 actions_types = list(/datum/action/item_action/openclose) adjust_flavour = "unzip" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/tracksuit/green name = "green tracksuit" @@ -843,14 +776,11 @@ name = "olive military jacket" desc = "A canvas jacket styled after classical American military garb. Feels sturdy, yet comfortable. This one comes in olive." icon_state = "militaryjacket" - item_state = "militaryjacket" ignore_suitadjust = 1 actions_types = list() adjust_flavour = null allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy,/obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/projectile/automatic/pistol, /obj/item/gun/projectile/revolver, /obj/item/gun/energy/detective) - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/jacket/miljacket/navy name = "navy military jacket" @@ -871,7 +801,6 @@ name = "xeno suit" desc = "A suit made out of chitinous alien hide." icon_state = "xenos" - item_state = "xenos_helm" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT insert_max = 0 @@ -880,7 +809,6 @@ name = "mercy robe" desc = "A soft white robe made of a synthetic fiber that provides improved protection against biohazards. Possessing multiple overlapping layers, yet light enough to allow complete freedom of movement, it denotes its wearer as a master physician." icon_state = "mercy_hoodie" - item_state = "mercy_hoodie" w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 @@ -893,7 +821,6 @@ name = "mercy Hood" desc = "A soft white hood made of a synthetic fiber that provides improved protection against biohazards. Its elegant design allows a clear field of vision." icon_state = "mercy_hood" - item_state = "mercy_hood" permeability_coefficient = 0.01 flags = BLOCKHAIR flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH @@ -905,7 +832,6 @@ name = "security greatcoat" desc = "A wool-lined coat made from rugged materials that altogether make up to be a comfortable coat.\ GLORY TO ARSTOSKHA!!" icon_state = "secgreatcoat" - item_state = "secgreatcoat" w_class = WEIGHT_CLASS_NORMAL body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS @@ -939,8 +865,6 @@ name = "varsity jacket" desc = "Stylish jacket for young and invincible." icon_state = "varsity_classic" - item_state = "varsity_classic" - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi' @@ -950,8 +874,6 @@ name = "sport varsity jacket" desc = "Stylish jacket for fast and furious." icon_state = "varsity_sport" - item_state = "varsity_sport" - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi' @@ -961,8 +883,6 @@ name = "blood varsity jacket" desc = "Stylish jacket for dangerous and violent." icon_state = "varsity_blood" - item_state = "varsity_blood" - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi' @@ -972,8 +892,6 @@ name = "driver jacket" desc = "Whoever wears such jacket is literally me." icon_state = "driver_jacket" - item_state = "driver_jacket" - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi' @@ -995,15 +913,13 @@ name = "leather motorcycle jacket" desc = "A vintage classic, loved by rockers, rebels, and punks alike." icon_state = "motojacket_open" - item_state = "motojacket_open" suit_adjusted = TRUE actions_types = list(/datum/action/item_action/zipper) - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', "Grey" = 'icons/mob/clothing/species/grey/suit.dmi' - ) + ) /obj/item/clothing/suit/jacket/leather/overcoat name = "leather overcoat" @@ -1021,34 +937,30 @@ desc = "Aviators not included." icon = 'icons/obj/clothing/suits/coat.dmi' icon_state = "bomber" - item_state = "bomber" - icon_override = 'icons/mob/clothing/suits/coat.dmi' + worn_icon = 'icons/mob/clothing/suits/coat.dmi' dyeing_key = DYE_REGISTRY_BOMBER dyeable = TRUE allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter) actions_types = list(/datum/action/item_action/zipper) - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suits/coat.dmi', "Drask" = 'icons/mob/clothing/species/drask/suits/coat.dmi', "Grey" = 'icons/mob/clothing/species/grey/suits/coat.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/suits/coat.dmi' - ) + ) /obj/item/clothing/suit/jacket/bomber/syndicate name = "suspicious bomber jacket" desc = "A suspicious but extremely stylish jacket." icon_state = "bombersyndie" - item_state = "bombersyndie" allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun, /obj/item/melee/classic_baton/telescopic/contractor, /obj/item/kitchen/knife/combat) armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 30, ACID = 30) /obj/item/clothing/suit/jacket/bomber/sec name = "security bomber jacket" desc = "A stylish and worn-in armoured black bomber jacket emblazoned with a red stripe across the left. Looks rugged." - w_class = WEIGHT_CLASS_NORMAL icon_state = "bombersec" - item_state = "bombersec" + w_class = WEIGHT_CLASS_NORMAL //Inherited from Security armour. allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/flashlight/seclite,/obj/item/melee/classic_baton/telescopic,/obj/item/kitchen/knife/combat) heat_protection = UPPER_TORSO|LOWER_TORSO @@ -1063,7 +975,6 @@ name = "engineering bomber jacket" desc = "A stylish and warm jacket adorned with the colors of the humble Station Engineer." icon_state = "bomberengi" - item_state = "bomberengi" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 10, FIRE = 20, ACID = 40) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd) @@ -1071,7 +982,6 @@ name = "atmospherics bomber jacket" desc = "A stylish and warm jacket adorned with the colors of the magical Atmospherics Technician." icon_state = "bomberatmos" - item_state = "bomberatmos" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 10, FIRE = 20, ACID = 40) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd) @@ -1079,14 +989,12 @@ name = "cargo bomber jacket" desc = "A stylish jacket to keep you warm in the warehouse." icon_state = "bombercargo" - item_state = "bombercargo" allowed = list(/obj/item/rcs, /obj/item/clipboard, /obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/lighter, /obj/item/storage/fancy/cigarettes, /obj/item/storage/bag/mail, /obj/item/envelope) /obj/item/clothing/suit/jacket/bomber/mining name = "mining bomber jacket" desc = "A slightly armoured and stylish jacket for shaft miners." icon_state = "bombermining" - item_state = "bombermining" allowed = list(/obj/item/pickaxe, /obj/item/t_scanner/adv_mining_scanner, /obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/energy/kinetic_accelerator, /obj/item/shovel, /obj/item/storage/bag/ore) armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 0, ACID = 0) @@ -1094,14 +1002,12 @@ name = "expedition bomber jacket" desc = "A stylish jacket for station-side explorers. Won't do much to protect you from space." icon_state = "bomberexpedition" - item_state = "bomberexpedition" allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/energy/kinetic_accelerator, /obj/item/t_scanner/adv_mining_scanner, /obj/item/shovel, /obj/item/pickaxe, /obj/item/storage/bag/ore, /obj/item/gps) /obj/item/clothing/suit/jacket/bomber/smith name = "smithing bomber jacket" desc = "A stylish jacket that has extra internal pockets for inserts." icon_state = "bombersmith" - item_state = "bombersmith" insert_max = 3 allowed = list(/obj/item/hammer, /obj/item/smithing_cast, /obj/item/smithed_item, /obj/item/stack/sheet, /obj/item/stack/tile/brass) @@ -1109,14 +1015,12 @@ name = "hydroponics bomber jacket" desc = "A stylish choice for the workers of the hydroponics lab." icon_state = "bomberhydro" - item_state = "bomberhydro" allowed = list(/obj/item/reagent_containers/spray, /obj/item/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/hatchet, /obj/item/storage/bag/plants) /obj/item/clothing/suit/jacket/bomber/med name = "medical bomber jacket" desc = "A stain-resistant and stylish option for any member of the medical department." icon_state = "bombermed" - item_state = "bombermed" allowed = list(/obj/item/bodyanalyzer, /obj/item/analyzer, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 5, FIRE = 0, ACID = 20) @@ -1124,7 +1028,6 @@ name = "chemistry bomber jacket" desc = "An exclusive and stylish variant of the medical bomber, for chemists only." icon_state = "bomberchem" - item_state = "bomberchem" allowed = list(/obj/item/reagent_scanner, /obj/item/reagent_scanner/adv, /obj/item/analyzer, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 5, RAD = 0, FIRE = 0, ACID = 40) @@ -1132,7 +1035,6 @@ name = "coroner's bomber jacket" desc = "An extremely exclusive and stylish jacket. Coroner's use only!" icon_state = "bombercoroner" - item_state = "bombercoroner" allowed = list(/obj/item/autopsy_scanner, /obj/item/analyzer, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 5, FIRE = 0, ACID = 20) @@ -1140,7 +1042,6 @@ name = "science bomber jacket" desc = "A stylish and slightly bomb-resistant jacket for warmth within the sterile labs." icon_state = "bombersci" - item_state = "bombersci" allowed = list(/obj/item/slime_scanner, /obj/item/reagent_scanner/adv, /obj/item/reagent_scanner, /obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 5, RAD = 0, FIRE = 0, ACID = 20) @@ -1148,7 +1049,6 @@ name = "robotics bomber jacket" desc = "A stylish jacket to warm you up after handling cold robotic limbs." icon_state = "bomberrobo" - item_state = "bomberrobo" allowed = list(/obj/item/robotanalyzer, /obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 5, RAD = 0, FIRE = 0, ACID = 20) @@ -1157,27 +1057,19 @@ name = "clown officer's coat" desc = "An overcoat for the clown officer, to keep him warm during those cold winter nights on the front." icon_state = "officersuit" - item_state = "officersuit" ignore_suitadjust = 0 actions_types = list(/datum/action/item_action/button) adjust_flavour = "unbutton" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/soldiercoat name = "clown soldier's coat" desc = "An overcoat for the clown soldier, to keep him warm during those cold winter nights on the front." icon_state = "soldiersuit" - item_state = "soldiersuit" ignore_suitadjust = 0 actions_types = list(/datum/action/item_action/button) adjust_flavour = "unbutton" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/sovietcoat name = "\improper Soviet greatcoat" @@ -1201,7 +1093,7 @@ desc = "A soft brown cloak made of synthetic feathers. Soft to the touch, stylish, and a 2 meter wing span that will drive the ladies mad." w_class = WEIGHT_CLASS_NORMAL icon_state = "owl_wings" - item_state = "owl_wings" + inhand_icon_state = "owl" body_parts_covered = ARMS armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 15, ACID = 15) allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/flashlight/seclite) @@ -1212,15 +1104,13 @@ name = "griffon cloak" desc = "A plush white cloak made of synthetic feathers. Soft to the touch, stylish, and a 2 meter wing span that will drive your captives mad." icon_state = "griffin_wings" - item_state = "griffin_wings" + inhand_icon_state = null /obj/item/clothing/suit/toggle/attack_self__legacy__attackchain() if(icon_state == initial(icon_state)) icon_state = icon_state + "_t" - item_state = icon_state + "_t" else icon_state = initial(icon_state) - item_state = initial(item_state) usr.update_inv_wear_suit() update_action_buttons() @@ -1228,7 +1118,6 @@ name = "lord admiral's coat" desc = "You'll be the Ruler of the King's Navy in no time." icon_state = "lordadmiral" - item_state = "lordadmiral" allowed = list (/obj/item/gun) insert_max = 0 @@ -1237,7 +1126,6 @@ desc = "The livid blues, purples and greens are awesome enough to evoke a visceral response in you; it is not dissimilar to indigestion." icon = 'icons/obj/clothing/suits.dmi' icon_state = "noble_coat" - item_state = "noble_coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS insert_max = 0 @@ -1246,12 +1134,12 @@ /obj/item/clothing/suit/advanced_protective_suit name = "advanced protective suit" desc = "An incredibly advanced and complex suit; it has so many buttons and dials as to be incomprehensible." - w_class = WEIGHT_CLASS_BULKY icon_state = "bomb" - item_state = "bomb" + inhand_icon_state = "bombvest" actions_types = list(/datum/action/item_action/toggle) gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 + w_class = WEIGHT_CLASS_BULKY flags = STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP flags_2 = RAD_PROTECT_CONTENTS_2 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|HEAD @@ -1350,24 +1238,20 @@ name = "victorian tailcoat" desc = "A fancy victorian tailcoat." icon_state = "tailcoat" - item_state = "tailcoat" /obj/item/clothing/suit/victcoat name = "ladies victorian coat" desc = "A fancy victorian coat." icon_state = "ladiesvictoriancoat" - item_state = "ladiesvictoriancoat" /obj/item/clothing/suit/victcoat/red name = "ladies red victorian coat" icon_state = "ladiesredvictoriancoat" - item_state = "ladiesredvictoriancoat" /obj/item/clothing/suit/ghost_sheet name = "ghost sheet" desc = "The hands float by themselves, so it's extra spooky." icon_state = "ghost_sheet" - item_state = "ghost_sheet" throw_speed = 1 throw_range = 2 w_class = WEIGHT_CLASS_TINY @@ -1379,13 +1263,11 @@ name = "fur cape" desc = "A cape made from fur. You'll really be stylin' now." icon_state = "furcape" - item_state = "furcape" /obj/item/clothing/suit/hooded/abaya name = "abaya" desc = "A modest, unrevealing attire fitted with a veil." icon_state = "abaya" - item_state = "abaya" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen) hoodtype = /obj/item/clothing/head/hooded/screened_niqab @@ -1469,10 +1351,8 @@ name = "repliсa armor vest" desc = "A replica of armor vest made of cheap foam rubber, plastic sheets and duct tape. Obviously, provides no protection." icon_state = "armor" - item_state = "armor" blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Grey" = 'icons/mob/clothing/species/grey/suit.dmi' diff --git a/code/modules/clothing/suits/unathi_suits.dm b/code/modules/clothing/suits/unathi_suits.dm index 73a04970873..6a8d35f77d0 100644 --- a/code/modules/clothing/suits/unathi_suits.dm +++ b/code/modules/clothing/suits/unathi_suits.dm @@ -8,5 +8,4 @@ name = "roughspun robes" desc = "A traditional Unathi garment." icon_state = "robe-unathi" - item_state = "robe-unathi" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index e912e152373..6309ee14300 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -13,7 +13,7 @@ name = "emergency firesuit" desc = "A suit that protects against fire and heat." icon_state = "fire" - item_state = "fire_suit" + inhand_icon_state = "fire_suit" w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 @@ -33,9 +33,9 @@ /obj/item/clothing/suit/fire/firefighter icon = 'icons/obj/clothing/suits/utility.dmi' - icon_override = 'icons/mob/clothing/suits/utility.dmi' + worn_icon = 'icons/mob/clothing/suits/utility.dmi' icon_state = "firefighter" - item_state = "firefighter" + inhand_icon_state = null sprite_sheets = list( "Tajaran" = 'icons/mob/clothing/species/tajaran/suits/utility.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/suits/utility.dmi', @@ -50,7 +50,6 @@ name = "firesuit" desc = "An expensive firesuit that protects against even the most deadly of station fires. Designed to protect even if the wearer is set aflame." icon_state = "firefighter_atmos" - item_state = "firefighter_atmos" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT /* @@ -72,7 +71,6 @@ strip_delay = 70 put_on_delay = 70 resistance_flags = NONE - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/helmet.dmi', "Grey" = 'icons/mob/clothing/species/grey/head.dmi' @@ -82,7 +80,6 @@ name = "bomb suit" desc = "A suit designed for safety when handling explosives." icon_state = "bombsuit" - item_state = "bombsuit" w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 @@ -98,19 +95,14 @@ strip_delay = 70 put_on_delay = 70 resistance_flags = NONE - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/head/bomb_hood/security icon_state = "bombsuitsec" - item_state = "bombsuitsec" /obj/item/clothing/suit/bomb_suit/security icon_state = "bombsuitsec" - item_state = "bombsuitsec" allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/restraints/handcuffs) /* @@ -120,8 +112,7 @@ name = "radiation hood" icon = 'icons/obj/clothing/head/utility.dmi' icon_state = "radhood" - item_state = 'icons/mob/clothing/head/utility.dmi' - icon_override = 'icons/mob/clothing/head/utility.dmi' + worn_icon = 'icons/mob/clothing/head/utility.dmi' desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation" flags = BLOCKHAIR|THICKMATERIAL flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH @@ -147,9 +138,8 @@ name = "radiation suit" desc = "A suit that protects against radiation. Label: Made with lead, do not eat insulation." icon = 'icons/obj/clothing/suits/utility.dmi' - icon_override = 'icons/mob/clothing/suits/utility.dmi' icon_state = "radsuit" - item_state = "radsuit" + worn_icon = 'icons/mob/clothing/suits/utility.dmi' w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 9951f87d2f2..b990ed4277d 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -28,14 +28,12 @@ name = "purple wizard hat" desc = "Strange-looking purple hat-wear that most certainly belongs to a real magic user." icon_state = "wizhatclown" - item_state = "wizhatclown" // cheating dog_fashion = null /obj/item/clothing/head/wizard/mime name = "magical beret" desc = "A magical red beret." icon_state = "wizhatmime" - item_state = "wizhatmime" dog_fashion = null sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', @@ -51,10 +49,7 @@ armor = null magical = FALSE resistance_flags = FLAMMABLE - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) - + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/wizard/marisa name = "witch hat" @@ -66,11 +61,8 @@ name = "magus helm" desc = "A mysterious helmet that hums with an unearthly power." icon_state = "magus" - item_state = "magus" dog_fashion = /datum/dog_fashion/head/wizard/magus - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /obj/item/clothing/head/wizard/amp name = "psychic amplifier" @@ -82,7 +74,7 @@ name = "wizard robe" desc = "A magnificent, gem-lined robe that seems to radiate power." icon_state = "wizard" - item_state = "wizrobe" + inhand_icon_state = "b_suit" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS @@ -99,54 +91,53 @@ name = "red wizard robe" desc = "A magnificent, red, gem-lined robe that seems to radiate power." icon_state = "redwizard" - item_state = "redwizrobe" + inhand_icon_state = "r_suit" /obj/item/clothing/suit/wizrobe/black name = "black wizard robe" desc = "An unnerving black gem-lined robe that reeks of death and decay." icon_state = "blackwizard" - item_state = "blackwizrobe" + inhand_icon_state = "bl_suit" /obj/item/clothing/suit/wizrobe/clown name = "clown robe" desc = "A set of armoured robes that seem to radiate a dark power. That, and bad fashion decisions." icon_state = "wizzclown" - item_state = "wizzclown" + inhand_icon_state = "clown" /obj/item/clothing/suit/wizrobe/mime name = "mime robe" desc = "Red, black, and white robes. There is not much else to say about them." icon_state = "wizzmime" - item_state = "wizzmime" + inhand_icon_state = "bl_suit" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', "Grey" = 'icons/mob/clothing/species/grey/suit.dmi' - ) + ) /obj/item/clothing/suit/wizrobe/marisa name = "witch robe" desc = "Magic is all about the spell power, ZE!" icon_state = "marisa" - item_state = "marisarobe" + inhand_icon_state = "bl_suit" /obj/item/clothing/suit/wizrobe/magusblue name = "magus robe" desc = "A set of armoured robes that seem to radiate a dark power." icon_state = "magusblue" - item_state = "magusblue" /obj/item/clothing/suit/wizrobe/magusred name = "magus robe" desc = "A set of armoured robes that seem to radiate a dark power." icon_state = "magusred" - item_state = "magusred" + inhand_icon_state = "r_suit" /obj/item/clothing/suit/wizrobe/psypurple name = "purple robes" desc = "Heavy, royal purple robes threaded with psychic amplifiers and weird, bulbous lenses. Do not machine wash." icon_state = "psyamp" - item_state = "psyamp" + inhand_icon_state = null /obj/item/clothing/suit/wizrobe/fake desc = "A rather dull, blue robe meant to mimick real wizard robes." @@ -177,7 +168,7 @@ name = "battlemage armor" desc = "Not all wizards are afraid of getting up close and personal." icon_state = "hardsuit-wiz" - item_state = "wiz_hardsuit" + inhand_icon_state = "wiz_hardsuit" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/wizard armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 25, RAD = 50, FIRE = INFINITY, ACID = INFINITY) slowdown = 0 @@ -197,7 +188,6 @@ REMOVE_TRAIT(user, TRAIT_ANTIMAGIC, "[UID()]") REMOVE_TRAIT(user, TRAIT_ANTIMAGIC_NO_SELFBLOCK, "[UID()]") - /obj/item/clothing/suit/space/hardsuit/wizard/arch desc = "For the arch wizard in need of additional protection." helmettype = /obj/item/clothing/head/helmet/space/hardsuit/wizard/arch @@ -209,7 +199,6 @@ name = "battlemage helmet" desc = "A suitably impressive helmet." icon_state = "hardsuit0-wiz" - item_state = "wiz_helm" item_color = "wiz" armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 25, RAD = 50, FIRE = INFINITY, ACID = INFINITY) actions_types = list() //No inbuilt light diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 25e80060303..64a5368af19 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -3,7 +3,6 @@ desc = "If you see this contact a developer." icon = 'icons/obj/clothing/accessories.dmi' icon_state = "" - item_state = "" item_color = "" slot_flags = ITEM_SLOT_ACCESSORY var/slot = ACCESSORY_SLOT_DECOR @@ -119,12 +118,8 @@ name = "waistcoat" desc = "For some classy, murderous fun." icon_state = "waistcoat" - item_state = "waistcoat" item_color = "waistcoat" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') //Medals /obj/item/clothing/accessory/medal @@ -398,7 +393,6 @@ name = "magistrate's badge" desc = "Fills you with the conviction of JUSTICE. Display your mastery of Space Law to the world." icon_state = "legal_badge" - item_state = "legal_badge" item_color = "legal_badge" var/cached_bubble_icon = null var/what_you_are = "THE LAW" @@ -437,7 +431,6 @@ name = "skull codpiece" desc = "A skull shaped ornament, intended to protect the important things in life." icon_state = "skull" - item_state = "skull" item_color = "skull" armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 10, RAD = 5, FIRE = 0, ACID = 15) allow_duplicates = FALSE @@ -446,7 +439,6 @@ name = "bone talisman" desc = "A hunter's talisman, some say the old gods smile on those who wear it." icon_state = "talisman" - item_state = "talisman" item_color = "talisman" armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 10, RAD = 5, FIRE = 0, ACID = 15) allow_duplicates = FALSE @@ -456,134 +448,93 @@ name = "black cowboy shirt" desc = "For a real western look. Looks like it can clip on to a uniform." icon_state = "cowboyshirt" - item_state = "cowboyshirt" item_color = "cowboyshirt" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/accessory/cowboyshirt/short_sleeved name = "shortsleeved black cowboy shirt" desc = "For when it's a hot day in the west. Looks like it can clip on to a uniform." icon_state = "cowboyshirt_s" - item_state = "cowboyshirt_s" item_color = "cowboyshirt_s" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/accessory/cowboyshirt/white name = "white cowboy shirt" desc = "For the rancher in us all. Looks like it can clip on to a uniform." icon_state = "cowboyshirt_white" - item_state = "cowboyshirt_white" item_color = "cowboyshirt_white" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/accessory/cowboyshirt/white/short_sleeved name = "short sleeved white cowboy shirt" desc = "Best for midday cattle tending. Looks like it can clip on to a uniform." icon_state = "cowboyshirt_whites" - item_state = "cowboyshirt_whites" item_color = "cowboyshirt_whites" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/accessory/cowboyshirt/pink name = "pink cowboy shirt" desc = "For only the manliest of men, or girliest of girls. Looks like it can clip on to a uniform." icon_state = "cowboyshirt_pink" - item_state = "cowboyshirt_pink" item_color = "cowboyshirt_pink" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/accessory/cowboyshirt/pink/short_sleeved name = "short sleeved pink cowboy shirt" desc = "For a real buckle bunny. Looks like it can clip on to a uniform." icon_state = "cowboyshirt_pinks" - item_state = "cowboyshirt_pinks" item_color = "cowboyshirt_pinks" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/accessory/cowboyshirt/navy name = "navy cowboy shirt" desc = "Now yer a real cowboy. Looks like it can clip on to a uniform." icon_state = "cowboyshirt_navy" - item_state = "cowboyshirt_navy" item_color = "cowboyshirt_navy" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/accessory/cowboyshirt/navy/short_sleeved name = "short sleeved navy cowboy shirt" desc = "Sometimes ya need to roll up your sleeves. Looks like it can clip on to a uniform." icon_state = "cowboyshirt_navys" - item_state = "cowboyshirt_navys" item_color = "cowboyshirt_navys" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/accessory/cowboyshirt/red name = "red cowboy shirt" desc = "It's high noon. Looks like it can clip on to a uniform." icon_state = "cowboyshirt_red" - item_state = "cowboyshirt_red" item_color = "cowboyshirt_red" - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' - ) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/accessory/cowboyshirt/red/short_sleeved name = "short sleeved red cowboy shirt" desc = "Life on the open range is quite dangeorus, you never know what to expect. Looks like it can clip on to a uniform." icon_state = "cowboyshirt_reds" - item_state = "cowboyshirt_reds" item_color = "cowboyshirt_reds" - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', "Grey" = 'icons/mob/clothing/species/grey/suit.dmi' - ) + ) /obj/item/clothing/accessory/corset name = "black corset" desc = "A black corset for those fancy nights out." icon_state = "corset" - item_state = "corset" + inhand_icon_state = "corset" item_color = "corset" - /obj/item/clothing/accessory/corset/red name = "red corset" desc = "A red corset those fancy nights out." icon_state = "corset_red" - item_state = "corset_red" item_color = "corset_red" /obj/item/clothing/accessory/corset/blue name = "blue corset" desc = "A blue corset for those fancy nights out." icon_state = "corset_blue" - item_state = "corset_blue" item_color = "corset_blue" //Pins @@ -591,14 +542,12 @@ name = "nanotrasen pin" desc = "It's a standard pin to wear so you can show your loyalty to Nanotrasen!" icon_state = "nt_pin" - item_state = "nt_pin" item_color = "nt_pin" /obj/item/clothing/accessory/pin/pride name = "pride pin" desc = "It's a standard pin, wear it with pride. You can change which flag is used from a button on the back." icon_state = "pride_pin" - item_state = "pride_pin" item_color = "pride_pin" ///List of all pride flags to icon state @@ -632,7 +581,6 @@ to_chat(user, "You change [src] to show [chosen_pin].") icon_state = pin_icon_state - item_state = pin_icon_state item_color = pin_icon_state inv_overlay = image("icon" = 'icons/obj/clothing/accessories_overlay.dmi', "icon_state" = "[item_color? "[item_color]" : "[icon_state]"]") diff --git a/code/modules/clothing/under/centcom.dm b/code/modules/clothing/under/centcom.dm index 02235e6f33a..36381eedf0a 100644 --- a/code/modules/clothing/under/centcom.dm +++ b/code/modules/clothing/under/centcom.dm @@ -1,20 +1,20 @@ /obj/item/clothing/under/rank/centcom name = "\improper CentComm officer's jumpsuit" desc = "It's a jumpsuit worn by CentComm Officers." - icon_state = "officer" - item_state = "g_suit" - item_color = "officer" - icon = 'icons/obj/clothing/under/centcom.dmi' + icon_state = "officer" + worn_icon = 'icons/mob/clothing/under/centcom.dmi' + inhand_icon_state = "g_suit" + item_color = "officer" sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/centcom.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/centcom.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/centcom.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/centcom.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/centcom.dmi' - ) + ) /obj/item/clothing/under/rank/centcom/ert + inhand_icon_state = "bl_suit" sensor_mode = SENSOR_COORDS random_sensor = FALSE @@ -22,7 +22,7 @@ name = "\improper Deathsquad jumpsuit" desc = "It's decorative jumpsuit worn by the Deathsquad. A small tag at the bottom reads \"Not associated with Nanotrasen\". " icon_state = "deathsquad" - item_state = "deathsquad" + inhand_icon_state = "bl_suit" item_color = "deathsquad" random_sensor = FALSE @@ -30,7 +30,6 @@ name = "response team chaplain uniform" desc = "An armoured uniform designed for emergency response teams. This one belongs to a chaplain." icon_state = "ert_chaplain" - item_state = "ert_chaplain" item_color = "ert_chaplain" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) @@ -38,7 +37,6 @@ name = "response team commander uniform" desc = "An armoured uniform designed for emergency response teams. This one belongs to the command officer." icon_state = "ert_commander" - item_state = "ert_commander" item_color = "ert_commander" armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) @@ -46,7 +44,6 @@ name = "response team engineer uniform" desc = "An armoured uniform designed for emergency response teams. This one belongs to an engineer." icon_state = "ert_engineer" - item_state = "ert_engineer" item_color = "ert_engineer" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) @@ -54,7 +51,6 @@ name = "response team janitor uniform" desc = "An armoured uniform designed for emergency response teams. This one belongs to a janitor." icon_state = "ert_janitor" - item_state = "ert_janitor" item_color = "ert_janitor" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) @@ -62,7 +58,6 @@ name = "response team medic uniform" desc = "An armoured uniform designed for emergency response teams. This one belongs to a medic." icon_state = "ert_medic" - item_state = "ert_medic" item_color = "ert_medic" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) @@ -70,7 +65,6 @@ name = "response team security uniform" desc = "An armoured uniform designed for emergency response teams. This one belongs to a security officer." icon_state = "ert_security" - item_state = "ert_security" item_color = "ert_security" armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) @@ -78,14 +72,14 @@ name = "\improper CentComm commander's jumpsuit" desc = "It's a jumpsuit worn by CentComm's highest-tier Commanders." icon_state = "centcom" - item_state = "dg_suit" + inhand_icon_state = "dg_suit" item_color = "centcom" /obj/item/clothing/under/rank/centcom/officer name = "\improper Nanotrasen naval officer's uniform" desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Lieutenant-Commander\" and bears \"N.A.S. Trurl \" on the left shoulder. Worn exclusively by officers of the Nanotrasen Navy. It's got exotic materials for protection." icon_state = "navy_gold" - item_state = "navy_gold" + inhand_icon_state = null item_color = "navy_gold" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) displays_id = FALSE @@ -94,7 +88,7 @@ name = "\improper Nanotrasen naval captain's uniform" desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Captain\" and bears \"N.A.S. Trurl \" on the left shoulder. Worn exclusively by officers of the Nanotrasen Navy. It's got exotic materials for protection." icon_state = "navy_gold" - item_state = "navy_gold" + inhand_icon_state = null item_color = "navy_gold" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) displays_id = FALSE diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 478f18040d7..fa2bb5b127e 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -1,15 +1,14 @@ /obj/item/clothing/under/color desc = "A standard issue colored jumpsuit. Variety is the spice of life!" - dyeable = TRUE icon = 'icons/obj/clothing/under/color.dmi' - + worn_icon = 'icons/mob/clothing/under/color.dmi' + dyeable = TRUE sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/color.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/color.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/color.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/color.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/color.dmi' - ) + ) /obj/item/clothing/under/color/jumpskirt desc = "A standard issue colored jumpskirt. Variety is the spice of life!" @@ -28,33 +27,33 @@ var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - typesof(/obj/item/clothing/under/color/jumpskirt) - excluded) name = initial(C.name) icon_state = initial(C.icon_state) - item_state = initial(C.item_state) + inhand_icon_state = initial(C.inhand_icon_state) item_color = initial(C.item_color) /obj/item/clothing/under/color/black name = "black jumpsuit" icon_state = "black" - item_state = "bl_suit" + inhand_icon_state = "bl_suit" item_color = "black" resistance_flags = NONE /obj/item/clothing/under/color/jumpskirt/black name = "black jumpskirt" icon_state = "blackjumpskirt" - item_state = "bl_suit" + inhand_icon_state = "bl_suit" item_color = "blackskirt" resistance_flags = NONE // I am going to assume this is here for a reason /obj/item/clothing/under/color/blue name = "blue jumpsuit" icon_state = "blue" - item_state = "b_suit" + inhand_icon_state = "b_suit" item_color = "blue" /obj/item/clothing/under/color/jumpskirt/blue name = "blue jumpskirt" icon_state = "bluejumpskirt" - item_state = "b_suit" + inhand_icon_state = "b_suit" item_color = "blueskirt" /obj/item/clothing/under/color/blue/dodgeball @@ -63,20 +62,20 @@ /obj/item/clothing/under/color/green name = "green jumpsuit" icon_state = "green" - item_state = "g_suit" + inhand_icon_state = "g_suit" item_color = "green" /obj/item/clothing/under/color/jumpskirt/green name = "green jumpskirt" icon_state = "greenjumpskirt" - item_state = "g_suit" + inhand_icon_state = "g_suit" item_color = "greenskirt" /obj/item/clothing/under/color/grey name = "grey jumpsuit" desc = "A tasteful grey jumpsuit that reminds you of the good old days." icon_state = "grey" - item_state = "gy_suit" + inhand_icon_state = "gy_suit" item_color = "grey" /obj/item/clothing/under/color/grey/greytide @@ -86,7 +85,7 @@ name = "grey jumpskirt" desc = "A tasteful grey jumpskirt that reminds you of the good old days." icon_state = "greyjumpskirt" - item_state = "gy_suit" + inhand_icon_state = "gy_suit" item_color = "greyskirt" /obj/item/clothing/under/color/grey/glorf @@ -99,20 +98,20 @@ name = "orange jumpsuit" desc = "Don't wear this near paranoid security officers." icon_state = "orange" - item_state = "o_suit" + inhand_icon_state = "o_suit" item_color = "orange" /obj/item/clothing/under/color/jumpskirt/orange name = "orange jumpskirt" desc = "Don't wear this near paranoid security officers." icon_state = "orangejumpskirt" - item_state = "o_suit" + inhand_icon_state = "o_suit" item_color = "orangeskirt" /obj/item/clothing/under/color/orange/prison desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." icon_state = "prisoner" - item_state = "prisoner" + inhand_icon_state = "prisoner" item_color = "prisoner" has_sensor = 2 sensor_mode = SENSOR_COORDS @@ -120,7 +119,7 @@ /obj/item/clothing/under/color/jumpskirt/orange/prison desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." icon_state = "prisonerjumpskirt" - item_state = "prisoner" + inhand_icon_state = "prisoner" item_color = "prisonerskirt" has_sensor = 2 sensor_mode = SENSOR_COORDS @@ -129,26 +128,26 @@ name = "pink jumpsuit" desc = "Just looking at this makes you feel fabulous." icon_state = "pink" - item_state = "p_suit" + inhand_icon_state = "p_suit" item_color = "pink" /obj/item/clothing/under/color/jumpskirt/pink name = "pink jumpskirt" desc = "Just looking at this makes you feel fabulous." icon_state = "pinkjumpskirt" - item_state = "p_suit" + inhand_icon_state = "p_suit" item_color = "pinkskirt" /obj/item/clothing/under/color/red name = "red jumpsuit" icon_state = "red" - item_state = "r_suit" + inhand_icon_state = "r_suit" item_color = "red" /obj/item/clothing/under/color/jumpskirt/red name = "red jumpskirt" icon_state = "redjumpskirt" - item_state = "r_suit" + inhand_icon_state = "r_suit" item_color = "redskirt" /obj/item/clothing/under/color/red/dodgeball @@ -157,25 +156,21 @@ /obj/item/clothing/under/color/white name = "white jumpsuit" icon_state = "white" - item_state = "w_suit" item_color = "white" /obj/item/clothing/under/color/jumpskirt/white name = "white jumpskirt" icon_state = "whitejumpskirt" - item_state = "w_suit" item_color = "whiteskirt" /obj/item/clothing/under/color/yellow name = "yellow jumpsuit" icon_state = "yellow" - item_state = "y_suit" item_color = "yellow" /obj/item/clothing/under/color/jumpskirt/yellow name = "yellow jumpskirt" icon_state = "yellowjumpskirt" - item_state = "y_suit" item_color = "yellowskirt" /obj/item/clothing/under/color/psyche @@ -207,13 +202,13 @@ /obj/item/clothing/under/color/purple name = "purple jumpsuit" icon_state = "purple" - item_state = "p_suit" + inhand_icon_state = "p_suit" item_color = "purple" /obj/item/clothing/under/color/jumpskirt/purple name = "purple jumpskirt" icon_state = "purplejumpskirt" - item_state = "p_suit" + inhand_icon_state = "p_suit" item_color = "purpleskirt" /// for jani ert @@ -305,14 +300,14 @@ name = "rainbow" desc = "rainbow." icon_state = "rainbow" - item_state = "rainbow" + inhand_icon_state = "rainbow" item_color = "rainbow" /obj/item/clothing/under/color/jumpskirt/rainbow name = "rainbow jumpskirt" desc = "Rainbow." icon_state = "rainbowjumpskirt" - item_state = "rainbow" + inhand_icon_state = "rainbow" item_color = "rainbowskirt" /obj/item/clothing/under/color/red/jersey diff --git a/code/modules/clothing/under/costumes.dm b/code/modules/clothing/under/costumes.dm index 6e5a1ac1536..04fdb021c49 100644 --- a/code/modules/clothing/under/costumes.dm +++ b/code/modules/clothing/under/costumes.dm @@ -1,39 +1,34 @@ /obj/item/clothing/under/costume icon = 'icons/obj/clothing/under/costumes.dmi' - + worn_icon = 'icons/mob/clothing/under/costumes.dmi' sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/costumes.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/costumes.dmi' - ) + ) /obj/item/clothing/under/costume/captain_fly name = "rogue captains uniform" desc = "For the man who doesn't care because he's still free." icon_state = "captain_fly" - item_state = "captain_fly" item_color = "captain_fly" /obj/item/clothing/under/costume/patriotsuit name = "Patriotic Suit" desc = "Motorcycle not included." icon_state = "ek" - item_state = "ek" item_color = "ek" /obj/item/clothing/under/costume/flappers name = "flappers" desc = "Nothing like the roarin' '20s, flapping the night away on the dance floor." icon_state = "flapper" - item_state = "flapper" item_color = "flapper" /obj/item/clothing/under/costume/gladiator name = "gladiator uniform" desc = "Are you not entertained? Is that not why you are here?" icon_state = "gladiator" - item_state = "gladiator" item_color = "gladiator" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS resistance_flags = NONE @@ -58,7 +53,6 @@ name = "maid uniform" desc = "A simple maid uniform for housekeeping." icon_state = "janimaid" - item_state = "janimaid" item_color = "janimaid" body_parts_covered = UPPER_TORSO|LOWER_TORSO @@ -78,7 +72,6 @@ name = "maid costume" desc = "Maid in China." icon_state = "meido" - item_state = "meido" item_color = "meido" body_parts_covered = UPPER_TORSO|LOWER_TORSO @@ -87,7 +80,6 @@ desc = "They fall just short of majestic." icon_state = "noble_clothes" item_color = "noble_clothes" - item_state = "noble_clothes" /obj/item/clothing/under/costume/officeruniform name = "clown officer's uniform" @@ -114,21 +106,18 @@ name = "pirate outfit" desc = "Yarr." icon_state = "pirate" - item_state = "pirate" item_color = "pirate" /obj/item/clothing/under/costume/pirate_rags name = "pirate rags" desc = "an old ragged set of clothing." icon_state = "piraterags" - item_state = "piraterags" item_color = "piraterags" /obj/item/clothing/under/costume/psyjump name = "psychic amp jumpsuit" desc = "A suit made of strange materials." icon_state = "psyamp" - item_state = "psyamp" item_color = "psyamp" /// Don't modify the path, used by a fluff item @@ -137,12 +126,10 @@ desc = "A thick, layered grey undersuit lined with power cables. Feels a little like wearing an electrical storm." icon = 'icons/obj/clothing/under/costumes.dmi' icon_state = "psysuit" - item_state = "psysuit" + worn_icon = 'icons/mob/clothing/under/costumes.dmi' item_color = "psysuit" - //it is what it is sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/costumes.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/costumes.dmi' @@ -152,15 +139,14 @@ name = "redcoat uniform" desc = "Looks old." icon_state = "redcoat" - item_state = "redcoat" item_color = "redcoat" /obj/item/clothing/under/costume/roman name = "roman armor" desc = "An ancient Roman armor. Made of metallic strips and leather straps." icon_state = "roman" + inhand_icon_state = "armor" item_color = "roman" - item_state = "armor" strip_delay = 100 resistance_flags = NONE @@ -168,7 +154,6 @@ name = "old soviet uniform" desc = "For the Motherland!" icon_state = "soviet" - item_state = "soviet" item_color = "soviet" /obj/item/clothing/under/costume/tourist_suit @@ -181,27 +166,23 @@ name = "yellow performer's outfit" desc = "Just looking at this makes you want to sing." icon_state = "ysing" - item_state = "ysing" item_color = "ysing" /obj/item/clothing/under/costume/singerb name = "blue performer's outfit" desc = "Just looking at this makes you want to sing." icon_state = "bsing" - item_state = "bsing" item_color = "bsing" /obj/item/clothing/under/costume/cuban_suit name = "rhumba outfit" desc = "A satin shirt and high-waisted pants, worn by dancers in the Rhumba style. It smells oddly like... sulfur?" icon_state = "cuban_suit" - item_state = "cuban_suit" item_color = "cuban_suit" /obj/item/clothing/under/costume/kilt name = "kilt" desc = "Includes shoes and plaid." icon_state = "kilt" - item_state = "kilt" item_color = "kilt" body_parts_covered = UPPER_TORSO|LOWER_TORSO|FEET diff --git a/code/modules/clothing/under/dress.dm b/code/modules/clothing/under/dress.dm index 8a2b3fca5b5..b0b7bfe8c8b 100644 --- a/code/modules/clothing/under/dress.dm +++ b/code/modules/clothing/under/dress.dm @@ -1,32 +1,28 @@ /obj/item/clothing/under/dress icon = 'icons/obj/clothing/under/dress.dmi' - + worn_icon = 'icons/mob/clothing/under/dress.dmi' sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/dress.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/dress.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/dress.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/dress.dmi' - ) + ) /obj/item/clothing/under/dress/victdress name = "black victorian dress" desc = "A victorian style dress, fancy!" icon_state = "victorianblackdress" - item_state = "victorianblackdress" item_color = "victorianblackdress" body_parts_covered = UPPER_TORSO|LOWER_TORSO /obj/item/clothing/under/dress/victdress/red name = "red victorian dress" icon_state = "victorianreddress" - item_state = "victorianreddress" item_color = "victorianreddress" /obj/item/clothing/under/dress/blacktango name = "black tango dress" desc = "Filled with Latin fire." icon_state = "black_tango" - item_state = "wcoat" item_color = "black_tango" /obj/item/clothing/under/dress/blacktango/blue @@ -142,21 +138,18 @@ name = "sailor dress" desc = "Formal wear for a leading lady." icon_state = "sailor_dress" - item_state = "sailordress" item_color = "sailor_dress" /obj/item/clothing/under/dress/redeveninggown name = "red evening gown" desc = "Fancy dress for space bar singers." icon_state = "red_evening_gown" - item_state = "redeveninggown" item_color = "red_evening_gown" /obj/item/clothing/under/dress/schoolgirl name = "schoolgirl uniform" desc = "It's just like one of my Japanese animes!" icon_state = "schoolgirl" - item_state = "schoolgirl" item_color = "schoolgirl" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS @@ -164,13 +157,11 @@ name = "striped dress" desc = "Fashion in space." icon_state = "striped_dress" - item_state = "stripeddress" item_color = "striped_dress" /obj/item/clothing/under/dress/sundress name = "sundress" desc = "Makes you want to frolic in a field of daisies." icon_state = "sundress" - item_state = "sundress" item_color = "sundress" body_parts_covered = UPPER_TORSO|LOWER_TORSO diff --git a/code/modules/clothing/under/jobs/captain.dm b/code/modules/clothing/under/jobs/captain.dm index 28388fe2347..124b7bbb9ff 100644 --- a/code/modules/clothing/under/jobs/captain.dm +++ b/code/modules/clothing/under/jobs/captain.dm @@ -3,16 +3,14 @@ desc = "It's a blue dress shirt and black slacks with some gold markings denoting the rank of \"Captain\"." icon = 'icons/obj/clothing/under/captain.dmi' icon_state = "captain" - item_state = "caparmor" + worn_icon = 'icons/mob/clothing/under/captain.dmi' item_color = "captain" - sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/captain.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/captain.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/captain.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/captain.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/captain.dmi', - ) + ) /obj/item/clothing/under/rank/captain/skirt name = "captain's skirt" @@ -42,5 +40,4 @@ name = "captain's parade uniform" desc = "A captain's luxury-wear, for special occasions." icon_state = "captain_parade" - item_state = "by_suit" item_color = "captain_parade" diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm index a5e95ed5471..1968a3e9dcf 100644 --- a/code/modules/clothing/under/jobs/cargo.dm +++ b/code/modules/clothing/under/jobs/cargo.dm @@ -1,27 +1,23 @@ /obj/item/clothing/under/rank/cargo icon = 'icons/obj/clothing/under/cargo.dmi' - + worn_icon = 'icons/mob/clothing/under/cargo.dmi' sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/cargo.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/cargo.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/cargo.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/cargo.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/cargo.dmi' - ) - + ) /obj/item/clothing/under/rank/cargo/qm name = "quartermaster's uniform" desc = "It's a brown dress shirt and black slacks worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper." icon_state = "qm" - item_state = "qm" item_color = "qm" /obj/item/clothing/under/rank/cargo/qm/skirt name = "quartermaster's skirt" desc = "It's a brown dress shirt and black skirt worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper." icon_state = "qm_skirt" - item_state = "qm_skirt" item_color = "qm_skirt" dyeable = TRUE dyeing_key = DYE_REGISTRY_JUMPSKIRT @@ -30,70 +26,60 @@ name = "quartermaster's dress" desc = "An elegant dress for the style conscious quartermaster." icon_state = "qm_dress" - item_state = "qm_dress" item_color = "qm_dress" /obj/item/clothing/under/rank/cargo/qm/formal name = "quartermaster's formal uniform" desc = "A pinstripe suit historically worn by schemers. Perfect for the quartermaster!" icon_state = "qm_formal" - item_state = "qm_formal" item_color = "qm_formal" /obj/item/clothing/under/rank/cargo/qm/whimsy name = "quartermaster's sweater" desc = "A snazzy brown sweater vest and black tie. Warms the core in the cold warehouse." icon_state = "qm_whimsy" - item_state = "qm_whimsy" item_color = "qm_whimsy" /obj/item/clothing/under/rank/cargo/qm/turtleneck name = "quartermaster's turtleneck" desc = "A fancy turtleneck designed to keep the wearer cozy in a cold cargo bay. Due to budget cuts, the material does not offer any external protection." icon_state = "qm_turtle" - item_state = "qm_turtle" item_color = "qm_turtle" /obj/item/clothing/under/rank/cargo/tech name = "cargo technician's jumpsuit" desc = "A standard issue jumpsuit for cargo technicians. Snazzy!" icon_state = "cargo" - item_state = "cargo" item_color = "cargo" /obj/item/clothing/under/rank/cargo/tech/skirt name = "cargo technician's jumpskirt" desc = "A standard issue jumpskirt for cargo technicians. Jazzy!" icon_state = "cargo_skirt" - item_state = "cargo_skirt" item_color = "cargo_skirt" /obj/item/clothing/under/rank/cargo/tech/overalls name = "cargo technician's overalls" desc = "Protective overalls to keep spills from the warehouse off your legs." icon_state = "cargo_overalls" - item_state = "cargo_overalls" item_color = "cargo_overalls" /obj/item/clothing/under/rank/cargo/tech/delivery name = "delivery uniform" desc = "It's a jumpsuit worn by the cargo delivery crew." icon_state = "delivery" - item_state = "delivery" item_color = "delivery" /obj/item/clothing/under/rank/cargo/miner name = "shaft miner's jumpsuit" desc = "It's an outdated jumpsuit, designed specifically to withstand the harsh conditions of Lavaland. It is very dirty." icon_state = "miner" - item_state = "miner" item_color = "miner" /obj/item/clothing/under/rank/cargo/miner/skirt name = "shaft miner's jumpskirt" desc = "It's an outdated jumpskirt, designed specifically to withstand the harsh conditions of Lavaland while remaining pretty. It is very dirty." icon_state = "miner_skirt" - item_state = "miner_skirt" item_color = "miner_skirt" /obj/item/clothing/under/rank/cargo/miner/lavaland @@ -101,21 +87,18 @@ desc = "It's an brown uniform with some padded armour for operating in hazardous environments." armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) icon_state = "explorer" - item_state = "explorer" item_color = "explorer" /obj/item/clothing/under/rank/cargo/miner/lavaland/skirt name = "shaft miner's harshskirt" desc = "It's an brown uniform with some padded armour for operating in hazardous environments while remaining pretty." icon_state = "explorer_skirt" - item_state = "explorer_skirt" item_color = "explorer_skirt" /obj/item/clothing/under/rank/cargo/miner/lavaland/overalls name = "shaft miner's overalls" desc = "It's an dark purple turtleneck with a sturdy set of overalls. Sadly, doesn't have any extra pockets to carry some sandwiches. It is very dirty." icon_state = "explorer_overalls" - item_state = "explorer_overalls" item_color = "explorer_overalls" /obj/item/clothing/under/rank/cargo/expedition @@ -123,21 +106,18 @@ desc = "An armored brown jumpsuit with Nanotrasen markings for identification, and a black safety harness for their space suits." armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) icon_state = "expedition" - item_state = "expedition" item_color = "expedition" /obj/item/clothing/under/rank/cargo/expedition/skirt name = "expedition jumpskirt" desc = "An armoured brown jumpskirt with Nanotrasen markings for identification, and a black safety harness for their space suits." icon_state = "expedition_skirt" - item_state = "expedition_skirt" item_color = "expedition_skirt" /obj/item/clothing/under/rank/cargo/expedition/overalls name = "expedition overalls" desc = "A brown set of overalls over a blue turtleneck, designed to protect the wearer from microscopic space debris. Does not protect against larger objects." icon_state = "expedition_overalls" - item_state = "expedition_overalls" item_color = "expedition_overalls" /obj/item/clothing/under/rank/cargo/smith @@ -145,19 +125,16 @@ desc = "A brown jumpsuit with some extra metal pieces strapped to it. You're not sure why, but the added armor doesn't make you feel any safer..." armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) icon_state = "smith" - item_state = "smith" item_color = "smith" /obj/item/clothing/under/rank/cargo/smith/skirt name = "smith's jumpskirt" desc = "A brown jumpskirt with some extra metal pieces strapped to it. You're not sure why, but the added armor doesn't make you feel any safer..." icon_state = "smith_skirt" - item_state = "smith_skirt" item_color = "smith_skirt" /obj/item/clothing/under/rank/cargo/smith/overalls name = "smith's overalls" desc = "A brown set of overalls over a black turtleneck, designed with thinner materials to keep the wearer cool in the heat of the forge." icon_state = "smith_overalls" - item_state = "smith_overalls" item_color = "smith_overalls" diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index c5056822aec..03ff6373edc 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -1,13 +1,12 @@ /obj/item/clothing/under/rank/civilian icon = 'icons/obj/clothing/under/civilian.dmi' - + worn_icon = 'icons/mob/clothing/under/civilian.dmi' sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/civilian.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/civilian.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/civilian.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/civilian.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/civilian.dmi' - ) + ) /obj/item/clothing/under/rank/civilian/hop name = "head of personnel's uniform" @@ -39,36 +38,31 @@ name = "head of personnel's suit" desc = "A blue sweater and red tie, with matching red cuffs! Snazzy. Wearing this makes you feel more important than your job title does." icon_state = "hop_whimsy" - item_state = "hop_whimsy" item_color = "hop_whimsy" /obj/item/clothing/under/rank/civilian/hop/oldman name = "old man's suit" desc = "A classic suit for the older gentleman with built in back support." icon_state = "oldman" - item_state = "oldman" item_color = "oldman" /obj/item/clothing/under/rank/civilian/hop/turtleneck name = "head of personnel's turtleneck" desc = "A fancy turtleneck designed to keep the wearer cozy in a cold office. Due to budget cuts, the material does not offer any external protection." icon_state = "hop_turtle" - item_state = "hop_turtle" item_color = "hop_turtle" /obj/item/clothing/under/rank/civilian/bartender desc = "It looks like it could use some more flair." name = "bartender's uniform" icon_state = "ba_suit" - item_state = "ba_suit" + inhand_icon_state = null item_color = "ba_suit" - /obj/item/clothing/under/rank/civilian/chaplain desc = "It's a black jumpsuit, often worn by religious folk." name = "chaplain's jumpsuit" icon_state = "chaplain" - item_state = "bl_suit" item_color = "chapblack" /obj/item/clothing/under/rank/civilian/chaplain/sensor @@ -85,7 +79,7 @@ name = "clown suit" desc = "'HONK!'" icon_state = "clown" - item_state = "clown" + inhand_icon_state = "clown" item_color = "clown" /obj/item/clothing/under/rank/civilian/clown/Initialize(mapload) @@ -102,14 +96,12 @@ /obj/item/clothing/under/rank/civilian/clown/skirt name = "clown skirt" icon_state = "clown_skirt" - item_state = "clown_skirt" item_color = "clown_skirt" /obj/item/clothing/under/rank/civilian/clown/sexy name = "sexy-clown suit" desc = "It makes you want to practice clown law." icon_state = "sexyclown" - item_state = "sexyclown" item_color = "sexyclown" /obj/item/clothing/under/rank/civilian/clown/nodrop @@ -119,13 +111,11 @@ name = "mime's outfit" desc = "It's not very colourful." icon_state = "mime" - item_state = "mime" item_color = "mime" /obj/item/clothing/under/rank/civilian/mime/skirt name = "mime's skirt" icon_state = "mime_skirt" - item_state = "mime_skirt" item_color = "mime_skirt" dyeable = TRUE dyeing_key = DYE_REGISTRY_JUMPSKIRT @@ -134,7 +124,6 @@ name = "sexy mime outfit" desc = "The only time when you DON'T enjoy looking at someone's rack." icon_state = "sexymime" - item_state = "sexymime" item_color = "sexymime" body_parts_covered = UPPER_TORSO|LOWER_TORSO @@ -142,7 +131,7 @@ desc = "It's a jumpsuit designed to protect against minor plant-related hazards. This one has blue markings." name = "botanist's jumpsuit" icon_state = "hydroponics" - item_state = "g_suit" + inhand_icon_state = "g_suit" item_color = "hydroponics" permeability_coefficient = 0.50 @@ -156,31 +145,28 @@ name = "janitor's jumpsuit" desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards." icon_state = "janitor" - item_state = "janitor" + inhand_icon_state = "janitor" item_color = "janitor" /obj/item/clothing/under/rank/civilian/janitor/skirt name = "janitor's jumpskirt" desc = "It's the official skirt variant of the janitor's uniform. It has leggings for protection against messes." icon_state = "janitor_skirt" - item_state = "janitor_skirt" item_color = "janitor_skirt" /obj/item/clothing/under/rank/civilian/janitor/overalls name = "janitor's overalls" desc = "Protective overalls designed to protect the wearer against large amounts of viscera." icon_state = "janitor_overalls" - item_state = "janitor_overalls" item_color = "janitor_overalls" /obj/item/clothing/under/rank/civilian/librarian name = "sensible suit" desc = "It's very... sensible." icon_state = "red_suit" - item_state = "red_suit" + inhand_icon_state = "r_suit" item_color = "red_suit" - /obj/item/clothing/under/rank/civilian/mime/nodrop flags = NODROP @@ -188,5 +174,4 @@ desc = "It's a barber's uniform." name = "barber's uniform" icon_state = "barber" - item_state = "barber" item_color = "barber" diff --git a/code/modules/clothing/under/jobs/engineering_jumpsuits.dm b/code/modules/clothing/under/jobs/engineering_jumpsuits.dm index d8d4eb1d1af..9c722623f1e 100644 --- a/code/modules/clothing/under/jobs/engineering_jumpsuits.dm +++ b/code/modules/clothing/under/jobs/engineering_jumpsuits.dm @@ -1,19 +1,18 @@ /obj/item/clothing/under/rank/engineering icon = 'icons/obj/clothing/under/engineering.dmi' - + worn_icon = 'icons/mob/clothing/under/engineering.dmi' + inhand_icon_state = "engi_suit" sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/engineering.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/engineering.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/engineering.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/engineering.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/engineering.dmi' - ) + ) /obj/item/clothing/under/rank/engineering/chief_engineer name = "chief engineer's uniform" desc = "It's a yellow dress shirt and black slacks given to those engineers insane enough to achieve the rank of \"Chief engineer\". It has minor radiation shielding." icon_state = "ce" - item_state = "ce" item_color = "ce" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 5, FIRE = 200, ACID = 35) resistance_flags = NONE @@ -31,14 +30,13 @@ name = "chief engineer's turtleneck" desc = "A fancy turtleneck designed to keep the wearer cozy in a cold engineering lobby. Due to budget cuts, the material does not offer any external protection." icon_state = "ce_turtle" - item_state = "ce_turtle" item_color = "ce_turtle" /obj/item/clothing/under/rank/engineering/atmospheric_technician name = "atmospheric technician's jumpsuit" desc = "It's a jumpsuit worn by atmospheric technicians." icon_state = "atmos" - item_state = "atmos" + inhand_icon_state = "atmos_suit" item_color = "atmos" resistance_flags = NONE @@ -80,7 +78,6 @@ name = "engineer's jumpsuit" desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding." icon_state = "engineer" - item_state = "engineer" item_color = "engineer" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 5, FIRE = 75, ACID = 10) resistance_flags = NONE diff --git a/code/modules/clothing/under/jobs/medical_jumpsuits.dm b/code/modules/clothing/under/jobs/medical_jumpsuits.dm index da896543a62..815bdabcec7 100644 --- a/code/modules/clothing/under/jobs/medical_jumpsuits.dm +++ b/code/modules/clothing/under/jobs/medical_jumpsuits.dm @@ -1,19 +1,18 @@ /obj/item/clothing/under/rank/medical icon = 'icons/obj/clothing/under/medical.dmi' - + worn_icon = 'icons/mob/clothing/under/medical.dmi' + inhand_icon_state = "nursesuit" sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/medical.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/medical.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/medical.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/medical.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/medical.dmi' - ) + ) /obj/item/clothing/under/rank/medical/cmo name = "chief medical officer's uniform" desc = "It's a blue dress shirt and black slacks worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection." icon_state = "cmo" - item_state = "cmo" item_color = "cmo" permeability_coefficient = 0.50 @@ -28,7 +27,6 @@ name = "chief medical officer's turtleneck" desc = "A fancy turtleneck designed to keep the wearer cozy in a cold medical bay. Due to budget cuts, the material does not offer any external protection." icon_state = "cmo_turtle" - item_state = "cmo_turtle" item_color = "cmo_turtle" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS @@ -36,7 +34,6 @@ name = "medical doctor's jumpsuit" desc = "It's made of a special fiber that provides protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel." icon_state = "medical" - item_state = "medical" item_color = "medical" permeability_coefficient = 0.50 @@ -50,12 +47,10 @@ item_color = "medicalf" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS - /obj/item/clothing/under/rank/medical/virologist name = "virologist's jumpsuit" desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it." icon_state = "virology" - item_state = "virology" item_color = "virology" permeability_coefficient = 0.50 @@ -69,7 +64,6 @@ name = "nurse's suit" desc = "It's a jumpsuit commonly worn by nursing staff in the medical department." icon_state = "nursesuit" - item_state = "nursesuit" item_color = "nursesuit" permeability_coefficient = 0.50 @@ -77,7 +71,6 @@ name = "nurse's dress" desc = "A dress commonly worn by the nursing staff in the medical department." icon_state = "nurse" - item_state = "nurse" item_color = "nurse" permeability_coefficient = 0.50 @@ -85,7 +78,6 @@ name = "orderly's uniform" desc = "A white suit to be worn by orderly people who love orderly things." icon_state = "orderly" - item_state = "orderly" item_color = "orderly" permeability_coefficient = 0.50 @@ -112,13 +104,13 @@ name = "coroner's scrubs" desc = "It's made of a special fiber that provides protection against biohazards. This one is as dark as an emo's poetry." icon_state = "scrubsblack" + inhand_icon_state = "bl_suit" item_color = "scrubsblack" /obj/item/clothing/under/rank/medical/chemist name = "chemist's jumpsuit" desc = "It's made of a special fiber that gives minor protection against biohazards. It has a chemist rank stripe on it." icon_state = "chemistry" - item_state = "chemistry" item_color = "chemistry" permeability_coefficient = 0.3 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 95) @@ -133,7 +125,6 @@ name = "paramedic's jumpsuit" desc = "It's made of a special fiber that provides minor protection against biohazards and radiation. It has a cross on the back denoting that the wearer is trained medical personnel." icon_state = "paramedic" - item_state = "paramedic" item_color = "paramedic" permeability_coefficient = 0.3 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 5, FIRE = 0, ACID = 0) @@ -141,21 +132,18 @@ /obj/item/clothing/under/rank/medical/paramedic/skirt name = "paramedic's jumpskirt" icon_state = "paramedic_skirt" - item_state = "paramedic_skirt" item_color = "paramedic_skirt" /obj/item/clothing/under/rank/medical/psych name = "psychiatrist's jumpsuit" desc = "A basic white jumpsuit. It has turqouise markings that denote the wearer as a psychiatrist." icon_state = "psych" - item_state = "psych" item_color = "psych" /obj/item/clothing/under/rank/medical/psych/turtleneck name = "psychologist's turtleneck" desc = "A turqouise turtleneck and a pair of dark blue slacks, belonging to a psychologist." icon_state = "psychturtle" - item_state = "psychturtle" item_color = "psychturtle" /// Seems like it should be here for organisational purposes @@ -163,6 +151,5 @@ name = "medical gown" desc = "a flimsy examination gown, the back ties never close." icon_state = "medicalgown" - item_state = "medicalgown" item_color = "medicalgown" body_parts_covered = UPPER_TORSO|LOWER_TORSO diff --git a/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm b/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm index 7b804f7da43..c2bc2527414 100644 --- a/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm +++ b/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm @@ -1,14 +1,14 @@ /obj/item/clothing/under/plasmaman name = "plasma envirosuit" desc = "A special containment suit that allows plasma-based lifeforms to exist safely in an oxygenated environment, and automatically extinguishes them in a crisis. Despite being airtight, it's not spaceworthy." + icon = 'icons/obj/clothing/species/plasmaman/uniform.dmi' + icon_state = "plasmaman" + inhand_icon_state = "plasmaman_suit" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = INFINITY, ACID = INFINITY) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS strip_delay = 80 - icon = 'icons/obj/clothing/species/plasmaman/uniform.dmi' species_restricted = list("Plasmaman") sprite_sheets = list("Plasmaman" = 'icons/mob/clothing/species/plasmaman/uniform.dmi') - icon_state = "plasmaman" - item_state = "plasmaman" item_color = "plasmaman" dyeable = TRUE dyeing_key = DYE_REGISTRY_PLASMAMEN diff --git a/code/modules/clothing/under/jobs/plasmamen/antags.dm b/code/modules/clothing/under/jobs/plasmamen/antags.dm index 413668cfd7c..618ddc7b16b 100644 --- a/code/modules/clothing/under/jobs/plasmamen/antags.dm +++ b/code/modules/clothing/under/jobs/plasmamen/antags.dm @@ -2,7 +2,6 @@ name = "wizard plasma envirosuit" desc = "An envirosuit for plasmamen designed by the Wizard Federation. Still not spaceworthy..." icon_state = "wizard_envirosuit" - item_state = "wizard_envirosuit" item_color = "wizard_envirosuit" //technically not an antag but a special role none the less @@ -10,7 +9,6 @@ name = "central command plasma envirosuit" desc = "A gold trimed envirosuit issued to plasmamen representing the \"N.A.S. Trurl\". Worn exclusively by officers of the Nanotrasen Navy. It's got exotic materials for protection." icon_state = "centcom_envirosuit" - item_state = "centcom_envirosuit" item_color = "centcom_envirosuit" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = INFINITY, ACID = INFINITY) displays_id = FALSE diff --git a/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm b/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm index 4ef367e37e2..401c0e87bef 100644 --- a/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm +++ b/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm @@ -2,92 +2,78 @@ name = "cargo plasma envirosuit" desc = "An envirosuit used by plasmaman quartermasters and cargo techs alike, due to the logistical problems of differentiating the two by the length of their pant legs." icon_state = "cargo_envirosuit" - item_state = "cargo_envirosuit" item_color = "cargo_envirosuit" /obj/item/clothing/under/plasmaman/expedition name = "expedition envirosuit" desc = "An airtight brown and blue suit designed for operations in Space by plasmamen.." icon_state = "expedition_envirosuit" - item_state = "expedition_envirosuit" item_color = "expedition_envirosuit" /obj/item/clothing/under/plasmaman/mining name = "mining plasma envirosuit" desc = "An airtight khaki suit designed for operations on Lavaland by plasmamen." icon_state = "explorer_envirosuit" - item_state = "explorer_envirosuit" item_color = "explorer_envirosuit" /obj/item/clothing/under/plasmaman/smith name = "smith envirosuit" desc = "An airtight brown and black suit designed for safety around hot metal for plasmamen." icon_state = "smith_envirosuit" - item_state = "smith_envirosuit" item_color = "smith_envirosuit" /obj/item/clothing/under/plasmaman/chef name = "chef's plasma envirosuit" desc = "A white plasmaman envirosuit designed for culinary practices. One might question why a member of a species that doesn't need to eat would become a chef." icon_state = "chef_envirosuit" - item_state = "chef_envirosuit" item_color = "chef_envirosuit" /obj/item/clothing/under/plasmaman/enviroslacks name = "enviroslacks" desc = "The pet project of a particularly posh plasmaman, this custom suit was quickly appropriated by Nanotrasen for its detectives, internal affairs agents, and bartenders alike." icon_state = "enviroslacks" - item_state = "enviroslacks" item_color = "enviroslacks" /obj/item/clothing/under/plasmaman/chaplain name = "chaplain's plasma envirosuit" desc = "An envirosuit specially designed for only the most pious of plasmamen." icon_state = "chap_envirosuit" - item_state = "chap_envirosuit" item_color = "chap_envirosuit" /obj/item/clothing/under/plasmaman/librarian name = "librarian's plasma envirosuit" desc = "Made out of a modified voidsuit, this suit was Nanotrasen's first solution to the *logistical problems* that come with employing plasmamen. Due to the modifications, the suit is no longer space-worthy. Despite their limitations, these suits are still in used by historian and old-styled plasmamen alike." icon_state = "prototype_envirosuit" - item_state = "prototype_envirosuit" item_color = "prototype_envirosuit" /obj/item/clothing/under/plasmaman/janitor name = "janitor's plasma envirosuit" desc = "A grey and purple envirosuit designated for plasmaman janitors." icon_state = "janitor_envirosuit" - item_state = "janitor_envirosuit" item_color = "janitor_envirosuit" /obj/item/clothing/under/plasmaman/botany name = "botany envirosuit" desc = "A green and blue envirosuit designed to protect plasmamen from minor plant-related injuries." icon_state = "botany_envirosuit" - item_state = "botany_envirosuit" item_color = "botany_envirosuit" - /obj/item/clothing/under/plasmaman/mime name = "mime envirosuit" desc = "It's not very colourful." icon_state = "mime_envirosuit" - item_state = "mime_envirosuit" item_color = "mime_envirosuit" /obj/item/clothing/under/plasmaman/clown name = "clown envirosuit" desc = "'HONK!'" icon_state = "clown_envirosuit" - item_state = "clown_envirosuit" item_color = "clown_envirosuit" /obj/item/clothing/under/plasmaman/assistant name = "assistant's envirosuit" desc = "The finest from the bottom of the plasmamen clothing barrel." icon_state = "assistant_envirosuit" - item_state = "assistant_envirosuit" item_color = "assistant_envirosuit" /obj/item/clothing/under/plasmaman/clown/Extinguish(mob/living/carbon/human/H) @@ -109,35 +95,30 @@ name = "head of personnel's envirosuit" desc = "An envirosuit designed for plasmamen employed as the head of personnel." icon_state = "hop_envirosuit" - item_state = "hop_envirosuit" item_color = "hop_envirosuit" /obj/item/clothing/under/plasmaman/captain name = "captain's envirosuit" desc = "An envirosuit designed for plasmamen employed as the captain." icon_state = "cap_envirosuit" - item_state = "cap_envirosuit" item_color = "cap_envirosuit" /obj/item/clothing/under/plasmaman/blueshield name = "blueshield's envirosuit" desc = "An envirosuit designed for plasmamen employed as the blueshield." icon_state = "bs_envirosuit" - item_state = "bs_envirosuit" item_color = "bs_envirosuit" /obj/item/clothing/under/plasmaman/coke name = "coke envirosuit" desc = "An envirosuit designed by Space Cola Co for plasmamen." icon_state = "coke_envirosuit" - item_state = "coke_envirosuit" item_color = "coke_envirosuit" /obj/item/clothing/under/plasmaman/tacticool name = "tactical envirosuit" desc = "An envirosuit designed to be sleek and tactical, forged on unknown parts of Boron." icon_state = "tacticool_envirosuit" - item_state = "tacticool_envirosuit" item_color = "tacticool_envirosuit" has_sensor = FALSE @@ -145,5 +126,4 @@ name = "\improper NT career trainer's envirosuit" desc = "An envirosuit designed for plasmamen employed as the nanotrasen career trainer." icon_state = "trainer_envirosuit" - item_state = "trainer_envirosuit" item_color = "trainer_envirosuit" diff --git a/code/modules/clothing/under/jobs/plasmamen/engineering_plasmasuits.dm b/code/modules/clothing/under/jobs/plasmamen/engineering_plasmasuits.dm index 32926e57713..57993b4d9d2 100644 --- a/code/modules/clothing/under/jobs/plasmamen/engineering_plasmasuits.dm +++ b/code/modules/clothing/under/jobs/plasmamen/engineering_plasmasuits.dm @@ -2,7 +2,6 @@ name = "engineering plasma envirosuit" desc = "An airtight suit designed to be used by plasmamen employed as engineers, the usual purple stripes being replaced by engineering's orange. It protects the user from fire and acid damage." icon_state = "engineer_envirosuit" - item_state = "engineer_envirosuit" item_color = "engineer_envirosuit" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 10, FIRE = INFINITY, ACID = INFINITY) @@ -10,14 +9,12 @@ name = "chief engineer's plasma envirosuit" desc = "An airtight suit designed to be used by plasmamen employed as the chief engineer." icon_state = "ce_envirosuit" - item_state = "ce_envirosuit" item_color = "ce_envirosuit" /obj/item/clothing/under/plasmaman/atmospherics name = "atmospherics plasma envirosuit" desc = "An airtight suit designed to be used by plasmamen employed as atmos technicians, the usual purple stripes being replaced by atmos' blue." icon_state = "atmos_envirosuit" - item_state = "atmos_envirosuit" item_color = "atmos_envirosuit" /obj/item/clothing/under/plasmaman/atmospherics/contortionist diff --git a/code/modules/clothing/under/jobs/plasmamen/medsci.dm b/code/modules/clothing/under/jobs/plasmamen/medsci.dm index 0924ea1300d..e879dc8fd3b 100644 --- a/code/modules/clothing/under/jobs/plasmamen/medsci.dm +++ b/code/modules/clothing/under/jobs/plasmamen/medsci.dm @@ -2,7 +2,6 @@ name = "medical plasma envirosuit" desc = "A suit designed for the station's more plasma-based doctors." icon_state = "doctor_envirosuit" - item_state = "doctor_envirosuit" item_color = "doctor_envirosuit" permeability_coefficient = 0.1 @@ -10,7 +9,6 @@ name = "chief medical officer's plasma envirosuit" desc = "A suit designed for the station's more plasma-based chief medical officer." icon_state = "cmo_envirosuit" - item_state = "cmo_envirosuit" item_color = "cmo_envirosuit" permeability_coefficient = 0.1 @@ -18,40 +16,34 @@ name = "science plasma envirosuit" desc = "A plasmaman envirosuit designed for scientists." icon_state = "scientist_envirosuit" - item_state = "scientist_envirosuit" item_color = "scientist_envirosuit" /obj/item/clothing/under/plasmaman/rd name = "research director's plasma envirosuit" desc = "A plasmaman envirosuit designed for the research director." icon_state = "rd_envirosuit" - item_state = "rd_envirosuit" item_color = "rd_envirosuit" /obj/item/clothing/under/plasmaman/robotics name = "robotics plasma envirosuit" desc = "A plasmaman envirosuit designed for roboticists." icon_state = "roboticist_envirosuit" - item_state = "roboticist_envirosuit" item_color = "roboticist_envirosuit" /obj/item/clothing/under/plasmaman/viro name = "virology plasma envirosuit" desc = "The suit worn by the safest people on the station, those who are completely immune to the monstrosities they create." icon_state = "virologist_envirosuit" - item_state = "virologist_envirosuit" item_color = "virologist_envirosuit" /obj/item/clothing/under/plasmaman/genetics name = "genetics plasma envirosuit" desc = "A plasmaman envirosuit designed for geneticists." icon_state = "geneticist_envirosuit" - item_state = "geneticist_envirosuit" item_color = "geneticist_envirosuit" /obj/item/clothing/under/plasmaman/chemist name = "chemistry plasma envirosuit" desc = "A plasmaman envirosuit designed for chemists." icon_state = "chemist_envirosuit" - item_state = "chemist_envirosuit" item_color = "chemist_envirosuit" diff --git a/code/modules/clothing/under/jobs/plasmamen/security_plasmasuits.dm b/code/modules/clothing/under/jobs/plasmamen/security_plasmasuits.dm index b22f6902b83..d935d020e7e 100644 --- a/code/modules/clothing/under/jobs/plasmamen/security_plasmasuits.dm +++ b/code/modules/clothing/under/jobs/plasmamen/security_plasmasuits.dm @@ -2,7 +2,6 @@ name = "security plasma envirosuit" desc = "A plasmaman containment suit designed for security officers, offering a limited amount of extra protection." icon_state = "security_envirosuit" - item_state = "security_envirosuit" item_color = "security_envirosuit" armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = INFINITY, ACID = INFINITY) @@ -10,12 +9,10 @@ name = "warden plasma envirosuit" desc = "A plasmaman containment suit designed for the warden, white stripes being added to differentiate them from other members of security." icon_state = "warden_envirosuit" - item_state = "warden_envirosuit" item_color = "warden_envirosuit" /obj/item/clothing/under/plasmaman/security/hos name = "head of security plasma envirosuit" desc = "A plasmaman containment suit designed for the head of security." icon_state = "hos_envirosuit" - item_state = "hos_envirosuit" item_color = "hos_envirosuit" diff --git a/code/modules/clothing/under/jobs/procedure.dm b/code/modules/clothing/under/jobs/procedure.dm index be09c8aa19b..3c645e38a5f 100644 --- a/code/modules/clothing/under/jobs/procedure.dm +++ b/code/modules/clothing/under/jobs/procedure.dm @@ -1,33 +1,29 @@ /obj/item/clothing/under/rank/procedure icon = 'icons/obj/clothing/under/procedure.dmi' - + worn_icon = 'icons/mob/clothing/under/procedure.dmi' sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/procedure.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/procedure.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/procedure.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/procedure.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/procedure.dmi' - ) + ) /obj/item/clothing/under/rank/procedure/representative name = "\improper Nanotrasen representative's uniform" desc = "Fine black cotton pants and white shirt, with blue and gold trim." icon_state = "ntrep" - item_state = "ntrep" item_color = "ntrep" /obj/item/clothing/under/rank/procedure/representative/skirt name = "\improper Nanotrasen representative's skirt" desc = "A silky black skirt and white shirt, with blue and gold trim." icon_state = "ntrep_skirt" - item_state = "ntrep_skirt" item_color = "ntrep_skirt" /obj/item/clothing/under/rank/procedure/representative/formal name = "formal Nanotrasen representative's uniform" desc = "A formal black suit with gold trim and a blue tie, this uniform bears \"N.S.S. Cyberiad\" on the left shoulder." icon_state = "ntrep_formal" - item_state = "ntrep_formal" item_color = "ntrep_formal" displays_id = FALSE @@ -39,21 +35,18 @@ name = "magistrate's uniform" desc = "Fine black cotton pants and white shirt, with a black tie and gold trim." icon_state = "magistrate" - item_state = "magistrate" item_color = "magistrate" /obj/item/clothing/under/rank/procedure/magistrate/skirt name = "magistrate's skirt" desc = "A silky black skirt and white shirt, with a black tie and gold trim." icon_state = "magistrate_skirt" - item_state = "magistrate_skirt" item_color = "magistrate_skirt" /obj/item/clothing/under/rank/procedure/magistrate/formal name = "formal magistrate's uniform" desc = "A formal black suit with gold trim and a snazzy red tie, this uniform displays the rank of \"Magistrate\" and bears \"N.S.S. Cyberiad\" on the left shoulder." icon_state = "magistrate_formal" - item_state = "magistrate_formal" item_color = "magistrate_formal" displays_id = FALSE @@ -65,7 +58,6 @@ name = "blueshield's uniform" desc = "A short-sleeved black uniform, paired with grey armored cargo pants, all made out of a sturdy material. Blueshield standard issue." icon_state = "blueshield" - item_state = "blueshield" item_color = "blueshield" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) @@ -73,14 +65,12 @@ name = "blueshield's skirt" desc = "A short, black and grey with blue markings skirted uniform. For the feminine Blueshield." icon_state = "blueshield_skirt" - item_state = "blueshield_skirt" item_color = "blueshield_skirt" /obj/item/clothing/under/rank/procedure/blueshield/formal name = "formal blueshield's uniform" desc = "A formal black suit with blue trim and tie, this uniform bears \"Close Protection\" on the left shoulder. It has exotic materials for protection." icon_state = "blueshield_formal" - item_state = "blueshield_formal" item_color = "blueshield_formal" displays_id = FALSE @@ -88,28 +78,24 @@ name = "blueshield's turtleneck" desc = "A fancy turtleneck designed to keep the wearer cozy in a cold bridge. Due to budget cuts, the material does not offer any external protection." icon_state = "bs_turtle" - item_state = "bs_turtle" item_color = "bs_turtle" /obj/item/clothing/under/rank/procedure/iaa name = "Internal Affairs uniform" desc = "The plain, professional attire of an Internal Affairs Agent. The collar is immaculately starched." icon_state = "iaa" - item_state = "iaa" item_color = "iaa" /obj/item/clothing/under/rank/procedure/iaa/purple name = "purple suit" desc = "A fancy set of purple slacks with a black waistcoat and puffy white tie. Exquisite." icon_state = "iaa_purple" - item_state = "iaa_purple" item_color = "iaa_purple" /obj/item/clothing/under/rank/procedure/iaa/blue name = "blue suit" desc = "Classy blue suit pants, white ironed shirt and a red tie. Professional." icon_state = "iaa_blue" - item_state = "iaa_blue" item_color = "iaa_blue" /obj/item/clothing/under/rank/procedure/iaa/formal @@ -118,25 +104,21 @@ /obj/item/clothing/under/rank/procedure/iaa/formal/black icon_state = "iaa_formal_black" - item_state = "iaa_formal_black" item_color = "iaa_formal_black" /obj/item/clothing/under/rank/procedure/iaa/formal/black/skirt name = "Internal Affairs formal skirt" icon_state = "iaa_formal_black_skirt" - item_state = "iaa_formal_black_skirt" item_color = "iaa_formal_black_skirt" /obj/item/clothing/under/rank/procedure/iaa/formal/red name = "Internal Affairs formal red suit" icon_state = "iaa_formal_red" - item_state = "iaa_formal_red" item_color = "iaa_formal_red" /obj/item/clothing/under/rank/procedure/iaa/formal/red/skirt name = "Internal Affairs formal red skirt" icon_state = "iaa_formal_red_skirt" - item_state = "iaa_formal_red_skirt" item_color = "iaa_formal_red_skirt" /obj/item/clothing/under/rank/procedure/iaa/formal/blue @@ -147,14 +129,12 @@ /obj/item/clothing/under/rank/procedure/iaa/formal/blue/skirt name = "Internal Affairs formal blue skirt" icon_state = "iaa_formal_blue_skirt" - item_state = "iaa_formal_blue_skirt" item_color = "iaa_formal_blue_skirt" /obj/item/clothing/under/rank/procedure/iaa/formal/goodman // You get ONE lawyer reference, IAA... name = "criminal lawyer suit" desc = "It's all good, man!" icon_state = "iaa_formal_goodman" - item_state = "iaa_formal_goodman" item_color = "iaa_formal_goodman" /obj/item/clothing/under/rank/procedure/iaa/formal/goodman/examine(mob/user) @@ -164,19 +144,16 @@ /obj/item/clothing/under/rank/procedure/iaa/formal/goodman/skirt name = "criminal lawyer skirt" icon_state = "iaa_formal_goodman_skirt" - item_state = "iaa_formal_goodman_skirt" item_color = "iaa_formal_goodman_skirt" /obj/item/clothing/under/rank/procedure/nct name = "\improper NT Career Trainer's uniform" desc = "A neatly pressed olive green shirt paired with black jeans, worn by those dedicated to shaping the future of the workforce." icon_state = "trainer" - item_state = "trainer" item_color = "trainer" /obj/item/clothing/under/rank/procedure/nct/skirt name = "\improper NT Career Trainer's skirt" desc = "A neatly pressed olive green shirt paired with a sleek black skirt, worn by those committed to mentoring the next generation." icon_state = "trainer_skirt" - item_state = "trainer_skirt" item_color = "trainer_skirt" diff --git a/code/modules/clothing/under/jobs/rnd.dm b/code/modules/clothing/under/jobs/rnd.dm index d54b12377bd..164f1048e8b 100644 --- a/code/modules/clothing/under/jobs/rnd.dm +++ b/code/modules/clothing/under/jobs/rnd.dm @@ -1,19 +1,17 @@ /obj/item/clothing/under/rank/rnd icon = 'icons/obj/clothing/under/rnd.dmi' - + worn_icon = 'icons/mob/clothing/under/rnd.dmi' sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/rnd.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/rnd.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/rnd.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/rnd.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/rnd.dmi' - ) + ) /obj/item/clothing/under/rank/rnd/rd name = "research director's uniform" desc = "It's a purple dress shirt and black slacks worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants." icon_state = "rd" - item_state = "rd" item_color = "rd" armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 5, RAD = 0, FIRE = 0, ACID = 25) @@ -35,14 +33,12 @@ /obj/item/clothing/under/rank/rnd/rd/turtleneck desc = "A fancy turtleneck designed to keep the wearer cozy in a cold research lobby. Due to budget cuts, the material does not offer any external protection." icon_state = "rd_turtle" - item_state = "rd_turtle" item_color = "rd_turtle" /obj/item/clothing/under/rank/rnd/scientist name = "scientist's jumpsuit" desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote the wearer as a scientist." icon_state = "science" - item_state = "science" item_color = "science" permeability_coefficient = 0.50 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 5, RAD = 0, FIRE = 0, ACID = 0) @@ -57,7 +53,6 @@ name = "roboticist's jumpsuit" desc = "It's a slimming black with reinforced seams; great for industrial work." icon_state = "robotics" - item_state = "robotics" item_color = "robotics" resistance_flags = NONE @@ -71,7 +66,6 @@ name = "geneticist's jumpsuit" desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it." icon_state = "genetics" - item_state = "genetics" item_color = "genetics" permeability_coefficient = 0.50 diff --git a/code/modules/clothing/under/jobs/security_jumpsuits.dm b/code/modules/clothing/under/jobs/security_jumpsuits.dm index 3d3d880a889..b3009c1a0bb 100644 --- a/code/modules/clothing/under/jobs/security_jumpsuits.dm +++ b/code/modules/clothing/under/jobs/security_jumpsuits.dm @@ -1,20 +1,19 @@ /obj/item/clothing/under/rank/security icon = 'icons/obj/clothing/under/security.dmi' + worn_icon = 'icons/mob/clothing/under/security.dmi' + inhand_icon_state = "r_suit" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) strip_delay = 50 sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/security.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/security.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/security.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/security.dmi' - ) - + ) /obj/item/clothing/under/rank/security/warden name = "warden's jumpsuit" desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the word \"Warden\" written on the shoulders." icon_state = "warden" - item_state = "r_suit" item_color = "warden" /obj/item/clothing/under/rank/security/warden/skirt @@ -25,28 +24,25 @@ /obj/item/clothing/under/rank/security/warden/skirt/corporate icon_state = "warden_corporate_skirt" - item_state = "warden_corporate_skirt" + inhand_icon_state = "bl_suit" item_color = "warden_corporate_skirt" /obj/item/clothing/under/rank/security/warden/turtleneck name = "warden's turtleneck" desc = "A fancy turtleneck designed to keep the wearer warm in a cold prison. Due to budget cuts, the material does not offer any external protection." icon_state = "ward_turtle" - item_state = "ward_turtle" item_color = "ward_turtle" sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/security.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/security.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/security.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/security.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/security.dmi' - ) + ) /obj/item/clothing/under/rank/security/officer name = "security officer's jumpsuit" desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection." icon_state = "security" - item_state = "r_suit" item_color = "security" /obj/item/clothing/under/rank/security/officer/sensor @@ -62,28 +58,25 @@ /obj/item/clothing/under/rank/security/officer/skirt/corporate name = "corporate security jumpskirt" icon_state = "sec_corporate_skirt" - item_state = "sec_corporate_skirt" + inhand_icon_state = "bl_suit" item_color = "sec_corporate_skirt" /obj/item/clothing/under/rank/security/officer/fancy name = "security dress shirt" desc = "A red dress shirt paired with a pair of black trousers, for the more formal Security Officer." icon_state = "sec_shirt" - item_state = "sec_shirt" item_color = "sec_shirt" /obj/item/clothing/under/rank/security/officer/skirt/fancy name = "security dress skirt" desc = "A red blouse paired with a black skirt, for the more formal Security Officer." icon_state = "sec_shirt_skirt" - item_state = "sec_shirt_skirt" item_color = "sec_shirt_skirt" /obj/item/clothing/under/rank/security/officer/dispatch name = "dispatcher's uniform" desc = "A dress shirt and khakis with a security patch sewn on." icon_state = "dispatch" - item_state = "dispatch" item_color = "dispatch" /obj/item/clothing/under/rank/security/officer/uniform @@ -95,12 +88,12 @@ /obj/item/clothing/under/rank/security/officer/corporate name = "corporate security jumpsuit" icon_state = "sec_corporate" - item_state = "sec_corporate" + inhand_icon_state = "bl_suit" item_color = "sec_corporate" /obj/item/clothing/under/rank/security/warden/corporate icon_state = "warden_corporate" - item_state = "warden_corporate" + inhand_icon_state = "bl_suit" item_color = "warden_corporate" /* @@ -110,15 +103,14 @@ name = "hard-worn suit" desc = "Someone who wears this means business." icon_state = "detective" - item_state = "det" + inhand_icon_state = "bl_suit" item_color = "detective" sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/security.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/security.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/security.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/security.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/security.dmi' - ) + ) /obj/item/clothing/under/rank/security/detective/skirt name = "detective's jumpskirt" @@ -131,7 +123,6 @@ icon_state = "det_black" item_color = "det_black" - /* * Head of Security */ @@ -139,7 +130,6 @@ name = "head of security's jumpsuit" desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer." icon_state = "hos" - item_state = "r_suit" item_color = "hos" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) strip_delay = 60 @@ -154,19 +144,19 @@ /obj/item/clothing/under/rank/security/head_of_security/corporate icon_state = "hos_corporate" - item_state = "hos_corporate" + inhand_icon_state = "bl_suit" item_color = "hos_corporate" /obj/item/clothing/under/rank/security/head_of_security/skirt/corporate icon_state = "hos_corporate_skirt" - item_state = "hos_corporate_skirt" + inhand_icon_state = "bl_suit" item_color = "hos_corporate_skirt" /obj/item/clothing/under/rank/security/formal name = "security suit" desc = "A formal security suit for officers complete with nanotrasen belt buckle." icon_state = "sec_formal" - item_state = "gy_suit" + inhand_icon_state = "gy_suit" item_color = "sec_formal" /obj/item/clothing/under/rank/security/formal/warden @@ -185,12 +175,10 @@ name = "head of security's turtleneck" desc = "A fancy turtleneck designed to keep the wearer cozy in a cold security lobby. Due to budget cuts, the material does not offer any external protection." icon_state = "hos_turtle" - item_state = "hos_turtle" item_color = "hos_turtle" sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/security.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/security.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/security.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/security.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/security.dmi' - ) + ) diff --git a/code/modules/clothing/under/misc_jumpsuits.dm b/code/modules/clothing/under/misc_jumpsuits.dm index e04b2b212ae..670423de1c0 100644 --- a/code/modules/clothing/under/misc_jumpsuits.dm +++ b/code/modules/clothing/under/misc_jumpsuits.dm @@ -2,32 +2,22 @@ desc = "A standard issue colored jumpsuit. Variety is the spice of life!" dyeable = TRUE - sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/misc.dmi', - "Vox" = 'icons/mob/clothing/species/vox/under/misc.dmi', - "Drask" = 'icons/mob/clothing/species/drask/under/misc.dmi', - "Grey" = 'icons/mob/clothing/species/grey/under/misc.dmi' - ) - /obj/item/clothing/under/misc/pj/red name = "red pj's" desc = "Sleepwear." icon_state = "red_pyjamas" item_color = "red_pyjamas" - item_state = "w_suit" /obj/item/clothing/under/misc/pj/blue name = "blue pj's" desc = "Sleepwear." icon_state = "blue_pyjamas" item_color = "blue_pyjamas" - item_state = "w_suit" /obj/item/clothing/under/misc/scratch name = "white suit" desc = "A white suit, suitable for an excellent host." icon_state = "scratch" - item_state = "scratch" item_color = "scratch" /obj/item/clothing/under/misc/sl_suit @@ -40,42 +30,41 @@ name = "waiter's outfit" desc = "It's a very smart uniform with a special pocket for tip." icon_state = "waiter" - item_state = "waiter" item_color = "waiter" /obj/item/clothing/under/misc/mailman name = "mailman's jumpsuit" desc = "'Special delivery!'" icon_state = "mailman" - item_state = "b_suit" + inhand_icon_state = "b_suit" item_color = "mailman" /obj/item/clothing/under/misc/vice name = "vice officer's jumpsuit" desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision." icon_state = "vice" - item_state = "gy_suit" + inhand_icon_state = "gy_suit" item_color = "vice" /obj/item/clothing/under/misc/gimmick_captain_suit name = "captain's suit" desc = "A green suit and yellow necktie. Exemplifies authority." icon_state = "green_suit" - item_state = "dg_suit" + inhand_icon_state = "dg_suit" item_color = "green_suit" /obj/item/clothing/under/misc/overalls name = "laborer's overalls" desc = "A set of durable overalls for getting the job done." icon_state = "overalls" - item_state = "lb_suit" + inhand_icon_state = "lb_suit" item_color = "overalls" /obj/item/clothing/under/misc/assistantformal name = "assistant's formal uniform" desc = "An assistant's formal-wear. Why an assistant needs formal-wear is still unknown." icon_state = "assistant_formal" - item_state = "gy_suit" + inhand_icon_state = "gy_suit" item_color = "assistant_formal" /obj/item/clothing/under/cursedclown @@ -83,11 +72,11 @@ desc = "It wasn't already?" icon = 'icons/goonstation/objects/clothing/uniform.dmi' icon_state = "cursedclown" - item_state = "cclown_uniform" - item_color = "cursedclown" - icon_override = 'icons/goonstation/mob/clothing/uniform.dmi' + worn_icon = 'icons/goonstation/mob/clothing/uniform.dmi' + inhand_icon_state = "cclown_uniform" lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi' righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi' + item_color = "cursedclown" flags = NODROP resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF has_sensor = FALSE // HUNKE @@ -97,42 +86,36 @@ name = "burial garments" desc = "Traditional burial garments from the early 22nd century." icon_state = "burial" - item_state = "burial" item_color = "burial" /obj/item/clothing/under/misc/redhawaiianshirt name = "red hawaiian shirt" desc = "a floral shirt worn to most vacation destinations." icon_state = "hawaiianred" - item_state = "hawaiianred" item_color = "hawaiianred" /obj/item/clothing/under/misc/pinkhawaiianshirt name = "pink hawaiian shirt" desc = "a pink floral shirt the material feels cool and comfy." icon_state = "hawaiianpink" - item_state = "hawaiianpink" item_color = "hawaiianpink" /obj/item/clothing/under/misc/orangehawaiianshirt name = "orange hawaiian shirt" desc = "a orange floral shirt for a relaxing day in space." icon_state = "hawaiianorange" - item_state = "hawaiianorange" item_color = "hawaiianorange" /obj/item/clothing/under/misc/bluehawaiianshirt name = "blue hawaiian shirt" desc = "a blue floral shirt it has a oddly colored pink flower on it." icon_state = "hawaiianblue" - item_state = "hawaiianblue" item_color = "hawaiianblue" /obj/item/clothing/under/misc/durathread name = "durathread jumpsuit" desc = "A jumpsuit made from durathread, its resilient fibres provide some protection to the wearer." icon_state = "durathread" - item_state = "durathread" item_color = "durathread" armor = list(MELEE = 5, BULLET = 0, LASER = 5, ENERGY = 0, BOMB = 5, RAD = 0, FIRE = 0, ACID = 0) @@ -168,10 +151,10 @@ /obj/item/clothing/under/misc/acj name = "administrative cybernetic jumpsuit" - icon_state = "syndicate" - item_state = "bl_suit" - item_color = "syndicate" desc = "it's a cybernetically enhanced jumpsuit used for administrative duties." + icon_state = "syndicate" + inhand_icon_state = "bl_suit" + item_color = "syndicate" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|HEAD diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm index da016c1768a..d1e46c7fd42 100644 --- a/code/modules/clothing/under/pants.dm +++ b/code/modules/clothing/under/pants.dm @@ -1,17 +1,15 @@ /obj/item/clothing/under/pants icon = 'icons/obj/clothing/under/pants.dmi' + worn_icon = 'icons/mob/clothing/under/pants.dmi' gender = PLURAL body_parts_covered = LOWER_TORSO|LEGS displays_id = FALSE - sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/pants.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/pants.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/pants.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/pants.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/pants.dmi' - ) - + ) /obj/item/clothing/under/pants/equipped(mob/user, slot) if(ishuman(user) && slot == ITEM_SLOT_JUMPSUIT) diff --git a/code/modules/clothing/under/retro.dm b/code/modules/clothing/under/retro.dm index 5aefc4c7ba2..0cb1afb0b36 100644 --- a/code/modules/clothing/under/retro.dm +++ b/code/modules/clothing/under/retro.dm @@ -1,35 +1,29 @@ /obj/item/clothing/under/retro - displays_id = FALSE - icon = 'icons/obj/clothing/under/retro.dmi' - sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/retro.dmi' - ) + worn_icon = 'icons/mob/clothing/under/retro.dmi' + inhand_icon_state = "bl_suit" + displays_id = FALSE /obj/item/clothing/under/retro/security name = "retro security officer's uniform" desc = "A (now) retro corporate security jumpsuit. It doesn't have any sort of robust fabric, good ol' NT cutting costs." icon_state = "retro_sec" - item_state = "retro_sec" item_color = "retro_sec" /obj/item/clothing/under/retro/medical name = "retro medical officer's uniform" desc = "A once biologically resistant medical uniform. The high-vis stripes are faded and unreflective." icon_state = "retro_med" - item_state = "retro_med" item_color = "retro_med" /obj/item/clothing/under/retro/engineering name = "retro engineering uniform" desc = "A faded grimy engineering jumpsuit and overall combo. It's coated with oil, dust, and grit." icon_state = "retro_eng" - item_state = "retro_eng" item_color = "retro_eng" /obj/item/clothing/under/retro/science name = "retro science officer's uniform" desc = "A faded polo and set of distinct white slacks. What a ridiculous tie." icon_state = "retro_sci" - item_state = "retro_sci" item_color = "retro_sci" diff --git a/code/modules/clothing/under/solgov.dm b/code/modules/clothing/under/solgov.dm index 1335855f1ad..c682fbac47c 100644 --- a/code/modules/clothing/under/solgov.dm +++ b/code/modules/clothing/under/solgov.dm @@ -1,17 +1,14 @@ /obj/item/clothing/under/solgov name = "\improper TSF marine uniform" desc = "A comfortable and durable combat uniform worn by the forces of the Trans-Solar Marine Corps." + icon = 'icons/obj/clothing/under/solgov.dmi' icon_state = "solgov" - item_state = "ro_suit" + worn_icon = 'icons/mob/clothing/under/solgov.dmi' + inhand_icon_state = "ro_suit" item_color = "solgov" armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20) displays_id = FALSE - - icon = 'icons/obj/clothing/under/solgov.dmi' - sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/solgov.dmi', - "Grey" = 'icons/mob/clothing/species/grey/under/solgov.dmi' - ) + sprite_sheets = list("Grey" = 'icons/mob/clothing/species/grey/under/solgov.dmi') /obj/item/clothing/under/solgov/elite name = "\improper MARSOC uniform" diff --git a/code/modules/clothing/under/suit.dm b/code/modules/clothing/under/suit.dm index f15b44f7ca3..c38b58a0d5d 100644 --- a/code/modules/clothing/under/suit.dm +++ b/code/modules/clothing/under/suit.dm @@ -1,13 +1,13 @@ /obj/item/clothing/under/suit icon = 'icons/obj/clothing/under/suit.dmi' - + worn_icon = 'icons/mob/clothing/under/suit.dmi' + inhand_icon_state = "bl_suit" sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/suit.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/suit.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/suit.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/under/suit.dmi' - ) + ) /obj/item/clothing/under/suit/Initialize(mapload) . = ..() @@ -18,102 +18,91 @@ name = "black suit" desc = "A black suit and red tie. Very formal." icon_state = "black_suit" - item_state = "bl_suit" item_color = "black_suit" /obj/item/clothing/under/suit/really_black name = "executive suit" desc = "A formal black suit and red tie, intended for the station's finest." icon_state = "really_black_suit" - item_state = "bl_suit" item_color = "really_black_suit" /obj/item/clothing/under/suit/female name = "executive suit" desc = "A formal trouser suit for women, intended for the station's finest." icon_state = "black_suit_fem" - item_state = "black_suit_fem" + inhand_icon_state = "gy_suit" item_color = "black_suit_fem" /obj/item/clothing/under/suit/navy name = "navy suit" desc = "A navy suit and red tie, intended for the station's finest." icon_state = "navy_suit" - item_state = "navy_suit" item_color = "navy_suit" /obj/item/clothing/under/suit/tan name = "tan suit" desc = "A tan suit with a yellow tie. Smart, but casual." icon_state = "tan_suit" - item_state = "tan_suit" + inhand_icon_state = "lb_suit" item_color = "tan_suit" /obj/item/clothing/under/suit/burgundy name = "burgundy suit" desc = "A burgundy suit and black tie. Somewhat formal." icon_state = "burgundy_suit" - item_state = "burgundy_suit" item_color = "burgundy_suit" /obj/item/clothing/under/suit/charcoal name = "charcoal suit" desc = "A charcoal suit and blue tie. Very professional." icon_state = "charcoal_suit" - item_state = "charcoal_suit" item_color = "charcoal_suit" /obj/item/clothing/under/suit/checkered name = "checkered suit" desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?" icon_state = "checkered_suit" - item_state = "checkered_suit" + inhand_icon_state = "gy_suit" item_color = "checkered_suit" /obj/item/clothing/under/suit/mafia name = "mafia outfit" desc = "The business of the mafia is business." icon_state = "mafia" - item_state = "mafia" item_color = "mafia" /obj/item/clothing/under/suit/mafia/vest name = "mafia vest" desc = "Extreme problems often require extreme solutions." icon_state = "mafiavest" - item_state = "mafiavest" item_color = "mafiavest" /obj/item/clothing/under/suit/mafia/white name = "white mafia outfit" desc = "The best defense against the treacherous is treachery." icon_state = "mafiawhite" - item_state = "mafiawhite" item_color = "mafiawhite" /obj/item/clothing/under/suit/mafia/tan name = "tan mafia outfit" desc = "The big drum sounds good only from a distance." icon_state = "tan_suit" - item_state = "tan_suit" + inhand_icon_state = "lb_suit" item_color = "tan_suit" /obj/item/clothing/under/suit/victsuit name = "victorian suit" desc = "A victorian style suit, fancy!" icon_state = "victorianvest" - item_state = "victorianvest" item_color = "victorianvest" body_parts_covered = UPPER_TORSO|LOWER_TORSO /obj/item/clothing/under/suit/victsuit/redblk name = "red and black victorian suit" icon_state = "victorianblred" - item_state = "victorianblred" item_color = "victorianblred" /obj/item/clothing/under/suit/victsuit/red name = "red victorian suit" icon_state = "victorianredvest" - item_state = "victorianredvest" item_color = "victorianredvest" diff --git a/code/modules/clothing/under/syndicate_jumpsuits.dm b/code/modules/clothing/under/syndicate_jumpsuits.dm index 890eb8e99ff..dc966632ee7 100644 --- a/code/modules/clothing/under/syndicate_jumpsuits.dm +++ b/code/modules/clothing/under/syndicate_jumpsuits.dm @@ -1,19 +1,18 @@ /obj/item/clothing/under/syndicate name = "tactical turtleneck" desc = "A non-descript and slightly suspicious looking turtleneck with digital camouflage cargo pants." + icon = 'icons/obj/clothing/under/syndicate.dmi' icon_state = "syndicate" - item_state = "bl_suit" + worn_icon = 'icons/mob/clothing/under/syndicate.dmi' + inhand_icon_state = "bl_suit" item_color = "syndicate" has_sensor = FALSE armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 35) - - icon = 'icons/obj/clothing/under/syndicate.dmi' sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/syndicate.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/syndicate.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/syndicate.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/syndicate.dmi' - ) + ) /obj/item/clothing/under/syndicate/combat name = "combat uniform" @@ -21,7 +20,6 @@ icon_state = "syndicate_combat" item_color = "syndicate_combat" - /obj/item/clothing/under/syndicate/greyman name = "greyman henley" desc = "Attire for someone who finds it hard to survive in the safest place known to man - urban environment." diff --git a/code/modules/clothing/under/ussp.dm b/code/modules/clothing/under/ussp.dm index 083e6cedb22..b9ac8042c9b 100644 --- a/code/modules/clothing/under/ussp.dm +++ b/code/modules/clothing/under/ussp.dm @@ -3,10 +3,9 @@ desc = "A standard U.S.S.P military uniform." icon = 'icons/obj/clothing/under/ussp.dmi' icon_state = "soviet" + worn_icon = 'icons/mob/clothing/under/ussp.dmi' item_color = "soviet" - sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/ussp.dmi' - ) + sprite_sheets = null /obj/item/clothing/under/new_soviet/sovietofficer name = "\improper Soviet officer uniform" diff --git a/code/modules/cooking/cooking_container.dm b/code/modules/cooking/cooking_container.dm index 8ace9dc6004..483d4f6f14e 100644 --- a/code/modules/cooking/cooking_container.dm +++ b/code/modules/cooking/cooking_container.dm @@ -311,7 +311,7 @@ name = "cutting board" desc = "Good for making sandwiches on, too." icon_state = "cutting_board" - item_state = "cutting_board" + inhand_icon_state = "clipboard" // huh preposition = "On" materials = list(MAT_WOOD = 5) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index ac5dd0dc135..792bd3a0459 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -1,6 +1,6 @@ // Add custom items you give to people here, and put their icons in custom_items.dmi // Remember to change 'icon = 'custom_items.dmi'' for items not using /obj/item/fluff as a base -// Clothing item_state doesn't use custom_items.dmi. Just add them to the normal clothing files. +// If you add an inhand icon state, add it to the 'icons/mob/inhands/fluff_lefthand.dmi' and 'icons/mob/inhands/fluff_righthand.dmi' and redeclare `lefthand_file` and `righthand_file` /////////////////////////////////////////////////////////////////////// /////////////////////PARADISE STATION CUSTOM ITEMS///////////////////// @@ -21,6 +21,10 @@ /obj/item/clothing/suit/hooded/fluff w_class = WEIGHT_CLASS_SMALL +/obj/item/storage/backpack/fluff + lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' + righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' + /// Generic tattoo gun, make subtypes for different folks /obj/item/fluff/tattoo_gun name = "disposable tattoo pen" @@ -152,7 +156,6 @@ desc = "A shimmering ceremonial golden katana, for the most discerning class of ninja. Looks expensive, and fragile." icon = 'icons/obj/custom_items.dmi' icon_state = "rsik_katana" - item_state = "rsik_katana" lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' force = 5 @@ -172,6 +175,7 @@ desc = "A pink crowbar that has an engraving that reads, 'To Zelda. Love always, Dawn'" icon = 'icons/obj/custom_items.dmi' icon_state = "zeldacrowbar" + inhand_icon_state = "crowbar" /// Trubus: Wolf O'Shaw /obj/item/clothing/glasses/monocle/fluff/trubus @@ -228,28 +232,28 @@ name = "purple engraved zippo" desc = "All craftsspacemanship is of the highest quality. It is encrusted with refined plasma sheets. On the item is an image of a dwarf and the words 'Strike the Earth!' etched onto the side." icon_state = "zippo-purple" - item_state = "zippo-purple" + inhand_icon_state = "zippo-purple" /// mrbits: Callista Gold /obj/item/lighter/zippo/fluff/michael_guess_1 name = "engraved lighter" desc = "A golden lighter, engraved with some ornaments and a G." icon_state = "zippo-guess" - item_state = "zippo-gold" + inhand_icon_state = "zippo-gold" /// Duckchan: Rybys Romney /obj/item/lighter/zippo/fluff/duckchan name = "Monogrammed Zippo" desc = "A shiny purple zippo lighter, engraved with Rybys Romney and BuzzPing's name, with a festive green flame." icon_state = "zippo-duckchan" - item_state = "zippo-purple" + inhand_icon_state = "zippo-purple" /// Warriorstar: DEADLOCK /obj/item/lighter/zippo/fluff/warriorstar name = "zippo" desc = "The lighter is made of a pastel purple metal which seems to glimmer even in complete darkness." icon_state = "zippo-warriorstar" - item_state = "zippo-purple" + inhand_icon_state = "zippo-purple" /// phantasmicdream: Zeke Varloss /obj/item/fluff/dogwhistle @@ -257,7 +261,6 @@ desc = "This whistle seems to have a strange aura about it. Maybe you should blow on it?" icon = 'icons/obj/custom_items.dmi' icon_state = "dogwhistle" - item_state = "dogwhistle" force = 2 /obj/item/fluff/dogwhistle/attack_self__legacy__attackchain(mob/user) @@ -282,7 +285,6 @@ desc = "A simple black lunchpail." icon = 'icons/obj/custom_items.dmi' icon_state = "lunch_box" - item_state = "lunch_box" force = 5 throwforce = 5 w_class = WEIGHT_CLASS_NORMAL @@ -389,9 +391,8 @@ if(istype(target, /obj/item/melee/baton) && !istype(target, /obj/item/melee/baton/cattleprod)) to_chat(user, "You modify the appearance of [target].") var/obj/item/melee/baton/the_baton = target - the_baton.base_icon = "desolate_baton" - the_baton.item_state = "desolate_baton" the_baton.icon = 'icons/obj/custom_items.dmi' + the_baton.base_icon = "desolate_baton" the_baton.lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' the_baton.righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' the_baton.update_icon() @@ -512,7 +513,7 @@ P.desc = "A rare winterised variant of the security hardsuit helmet, used on colder mining worlds for security patrols." P.icon = 'icons/obj/custom_items.dmi' P.icon_state = "hardsuit0-secf" - P.item_state = "hardsuit0-secf" + P.inhand_icon_state = "hardsuit0-secf" P.sprite_sheets = null P.item_color = "secf" user.update_icons() @@ -532,7 +533,7 @@ P.desc = "A rare winterised variant of the security hardsuit, used on colder mining worlds for securiry patrols, this one has 'Haliber' written on an ID patch located on the right side of the chest." P.icon = 'icons/obj/custom_items.dmi' P.icon_state = "hardsuit-secf" - P.item_state = "hardsuit-secf" + P.inhand_icon_state = "hardsuit-secf" P.sprite_sheets = null user.update_icons() @@ -566,7 +567,7 @@ P.desc = "A special helmet that protects against hazardous, low pressure environments. Has an additional layer of armor and rigging for combat duty." P.icon = 'icons/obj/custom_items.dmi' P.icon_state = "hardsuit0-secc" - P.item_state = "hardsuit0-secc" + P.inhand_icon_state = "hardsuit0-secc" P.sprite_sheets = null P.item_color = "secc" user.update_icons() @@ -589,7 +590,7 @@ P.desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor and rigging for combat duty" P.icon = 'icons/obj/custom_items.dmi' P.icon_state = "hardsuit-secc" - P.item_state = "hardsuit-secc" + P.inhand_icon_state = "hardsuit-secc" P.sprite_sheets = null user.update_icons() @@ -615,7 +616,6 @@ desc = "Tacticool ballistic glasses, for making all operators look badass." icon = 'icons/obj/custom_items.dmi' icon_state = "eyepro" - item_state = "eyepro" /// LP Spartan: Kaskreyarawkta /obj/item/clothing/glasses/hud/security/sunglasses/fluff/voxxyhud @@ -631,7 +631,6 @@ desc= "A beautiful purple rose for your hair." icon= 'icons/obj/custom_items.dmi' icon_state = "hairflowerp" - item_state = "hairflowerp" /// R3Valkyrie: Rikki /obj/item/clothing/head/valkyriehelmet @@ -653,7 +652,6 @@ name = "Lieutenant Starsong's beret" desc = "This beret bears insignia of the SOLGOV Marine Corps 417th Regiment, 2nd Battalion, Bravo Company. It looks meticulously maintained." icon_state = "beret_hos" - item_state = "beret_hos" /// MrFroztee: Stumpy /obj/item/clothing/head/pirate/fluff/stumpy @@ -694,7 +692,6 @@ desc = "A Shellguard Helmet with the name Noble written on the inside." icon = 'icons/obj/custom_items.dmi' icon_state = "merchant_sallet_visor_bevor" - item_state = "merchant_sallet_visor_bevor" actions_types = list(/datum/action/item_action/toggle_helmet_mode) toggle_cooldown = 20 toggle_sound = 'sound/items/change_jaws.ogg' @@ -757,7 +754,7 @@ desc = "An EMT labcoat modified to track the wearer's heartbeat. It's so worn out that it doesn't seem to accurately track heartbeat anymore. Also, the zipper is stuck." icon = 'icons/obj/custom_items.dmi' icon_state = "pulsecoat" - item_state = "pulsecoat" + inhand_icon_state = null ignore_suitadjust = 1 actions_types = list() @@ -820,7 +817,6 @@ /obj/item/clothing/suit/fluff/cheeky_sov_coat name = "Srusu's Greatcoat" desc = "A heavy wool Soviet-style greatcoat. A name is written in fancy handwriting on the inside tag: Srusu Rskuzu" - item_state = "cheeky_sov_coat" icon_state = "cheeky_sov_coat" /// Denthamos: Henry Grandpa Gadow @@ -828,7 +824,6 @@ name = "faded NT Supply Master's Coat" desc = "A faded leather overcoat bearing a worn out badge from the NAS Crescent on the shoulder, and a designation tag of Supply Master on the front. A tarnished gold nameplate says H.Gadow on it." icon_state = "supplymaster_jacket_open" - item_state = "supplymaster_jacket_open" ignore_suitadjust = 0 suit_adjusted = 1 allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter) @@ -851,7 +846,7 @@ desc = "A rugged leather vest with a tag labelled \"Men of Mayhem.\"" icon = 'icons/obj/custom_items.dmi' icon_state = "kidosvest" - item_state = "kidosvest" + inhand_icon_state = "armor" ignore_suitadjust = 1 actions_types = list() adjust_flavour = null @@ -873,7 +868,6 @@ name = "Nano Fibre Jacket" desc = "A Black Suit made out of nanofibre. The newest of cyberpunk fashion using hightech liquid to solid materials." icon_state = "Kluysfluff1" - item_state = "Kluysfluff1" blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|ARMS @@ -964,18 +958,20 @@ name = "SHODAN's Captain's Coat" desc = "A black coat with gold trim and an old US Chevron printed on the back. Edgy." icon = 'icons/obj/custom_items.dmi' - icon_state = "shodancoat" - item_state = "shodancoat_item" + icon_state = "shodancoat_item" + worn_icon_state = "shodancoat" /obj/item/clothing/suit/storage/fluff/k3_webbing name = "vox tactical webbing" desc = "A somewhat worn but well kept set of vox tactical webbing. It has a couple of pouches attached." icon = 'icons/obj/custom_items.dmi' icon_state = "k3_webbing" - - sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') + inhand_icon_state = "webbing" + lefthand_file = 'icons/mob/inhands/equipment/belt_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/belt_righthand.dmi' ignore_suitadjust = 0 actions_types = list(/datum/action/item_action/toggle) + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') /obj/item/clothing/suit/storage/fluff/k3_webbing/adjustsuit(mob/user) if(!user.incapacitated()) @@ -983,12 +979,10 @@ if(suit_adjusted) flavour = "off" icon_state = copytext(icon_state, 1, findtext(icon_state, "_on")) - item_state = copytext(item_state, 1, findtext(item_state, "_on")) suit_adjusted = 0 //Lights Off else flavour = "on" icon_state += "_on" - item_state += "_on" suit_adjusted = 1 //Lights On update_action_buttons() @@ -1004,7 +998,6 @@ hoodtype = /obj/item/clothing/head/hooded/hood/fluff/xantholne allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter) - /// Xantholne: Meex Zwichsnicrur /obj/item/clothing/head/hooded/hood/fluff/xantholne name = "black winter hood" @@ -1059,7 +1052,6 @@ desc = "A custom made winter coat with the arms removed. Looks comfy." icon = 'icons/obj/custom_items.dmi' icon_state = "shesicoat" - item_state = "shesicoat" hoodtype = /obj/item/clothing/head/hooded/hood/fluff/shesi body_parts_covered = UPPER_TORSO|LOWER_TORSO cold_protection = UPPER_TORSO|LOWER_TORSO @@ -1077,7 +1069,6 @@ desc = "Looks like something only a nerd would buy. Has a tag inside reading Property of DTX." icon = 'icons/obj/custom_items.dmi' icon_state = "dtxbomber" - item_state = "dtxbomber" allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter) actions_types = list(/datum/action/item_action/zipper) sprite_sheets = null @@ -1085,22 +1076,21 @@ //////////// Uniforms //////////// /obj/item/clothing/under/fluff + worn_icon = 'icons/mob/clothing/under/donator.dmi' sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/donator.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/donator.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/donator.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/donator.dmi' - ) + ) /// thatdanguy23 : Rissa Williams /obj/item/clothing/under/fluff/counterfeitguise_uniform - icon = 'icons/obj/custom_items.dmi' name = "Rissa's hand-me-downs" desc = "An old, hand-me-down baggy sweater and sweatpants combo. A label on the neck reads 'RISSA' in scruffy handwriting." + icon = 'icons/obj/custom_items.dmi' + icon_state = "counterfeitguise" // doesn't exist lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' - icon_state = "counterfeitguise" - item_state = "counterfeitguise" item_color = "counterfeitguise" /// Benjaminfallout: Pretzel Brassheart @@ -1109,7 +1099,6 @@ name = "Pretzel's dress" desc = "A nice looking dress." icon_state = "fallout_dress" - item_state = "fallout_dress" item_color = "fallout_dress" /// Norstead : Natalya Sokolova @@ -1118,7 +1107,6 @@ name = "Soviet Casual Uniform" desc = "Female U.S.S.P. casual wear. Dlya Rodiny!" icon_state = "soviet_casual_uniform" - item_state = "soviet_casual_uniform" item_color = "soviet_casual_uniform" /// Kharshai: Athena Castile @@ -1127,7 +1115,6 @@ desc = "A white and gold formal uniform, accompanied by a small pin with the numbers '004' etched upon it." icon = 'icons/obj/custom_items.dmi' icon_state = "castile_dress" - item_state = "castile_dress" item_color = "castile_dress" /// Xantholne: Meex Zwichsnicrur @@ -1135,10 +1122,9 @@ name = "Stripped Shorts and Shirt" desc = "A silky pair of dark shorts with a matching shirt. The shirt's collar has a tag on the inside that reads 'Meexy' on it." icon = 'icons/obj/custom_items.dmi' + icon_state = "xantholne" lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' - icon_state = "xantholne" - item_state = "xantholne" item_color = "xantholne" /// FlattestGuitar9: Eli Randolph @@ -1147,7 +1133,7 @@ desc = "A soft, white dress shirt paired up with black suit pants. The set looks comfortable." icon = 'icons/obj/custom_items.dmi' icon_state = "elishirt" - item_state = "elishirt" + inhand_icon_state = "ba_suit" item_color = "elishirt" displays_id = FALSE @@ -1157,7 +1143,7 @@ desc = "It seems to be lightly dusted in orange fuzz, and damp with the smell of anti-freeze. It has a strange symbol in the middle." icon = 'icons/obj/custom_items.dmi' icon_state = "jaywingler" - item_state = "jaywingler" + inhand_icon_state = "bl_suit" item_color = "jaywingler" displays_id = FALSE @@ -1172,7 +1158,7 @@ desc = "A Nanotrasen Synthetic Intelligence Division jumpsuit, issued to 'volunteers'. On other people it looks fine, but right here a scientist has noted: on you it looks stupid." icon = 'icons/obj/custom_items.dmi' icon_state = "jane_sid_suit" - item_state = "jane_sid_suit" + inhand_icon_state = "gy_suit" item_color = "jane_sid_suit" has_sensor = 2 sensor_mode = SENSOR_COORDS @@ -1192,7 +1178,6 @@ to_chat(usr, "You unzip and roll down \the [src].") src.icon_state = "[item_color]" - src.item_state = "[item_color]" usr.update_inv_w_uniform() /// MrBarrelrolll: Maximus Greenwood @@ -1201,7 +1186,7 @@ desc = "A set of chainmail adorned with a hide mantle. \"Greenwood\" is engraved into the right breast." icon = 'icons/obj/clothing/under/costumes.dmi' icon_state = "roman" - item_state = "maximus_armor" + inhand_icon_state = "armor" item_color = "maximus_armor" displays_id = FALSE strip_delay = 100 @@ -1211,10 +1196,10 @@ name = "gilded waistcoat" desc = "This black, gold-trimmed, rather expensive-looking uniform laced with fine materials appears comfortable despite its stiffness." icon = 'icons/obj/custom_items.dmi' + icon_state = "aegisuniform" + inhand_icon_state = "aegisuniform" lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' - icon_state = "aegisuniform" - item_state = "aegisuniform" item_color = "aegisuniform" displays_id = FALSE @@ -1242,7 +1227,6 @@ desc = "Designed to cover as little of face as possible while still being a functional gasmask." icon = 'icons/obj/custom_items.dmi' icon_state = "spartan_mask" - item_state = "spartan_mask" species_restricted = list("Vox") //////////// Shoes //////////// @@ -1254,7 +1238,6 @@ desc = "An aviator styled jacket made from a peculiar material; this one seems very old." icon = 'icons/obj/custom_items.dmi' icon_state = "fox_jacket" - item_state = "fox_jacket" allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/projectile/automatic/pistol, /obj/item/gun/projectile/revolver, /obj/item/gun/energy/detective) body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS @@ -1265,7 +1248,7 @@ desc = "A jumpsuit tailor made for spacefaring fighter pilots; this one seems very old." icon = 'icons/obj/custom_items.dmi' icon_state = "fox_suit" - item_state = "g_suit" + inhand_icon_state = "g_suit" item_color = "fox_suit" displays_id = FALSE //still appears on examine; this is pure fluff. @@ -1310,7 +1293,6 @@ desc = "It's what an evil genius would design if he switched brains with the Amazing Arachno-Man. Actually, he'd probably add weird tentacles that come out the back, too." icon = 'icons/obj/clothing/under/donator.dmi' icon_state = "superior_suit" - item_state = "superior_suit" item_color = "superior_suit" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS flags_inv = HIDEGLOVES|HIDESHOES @@ -1320,7 +1302,6 @@ desc = "Put it on. The mask, it's gonna make you stronger!" icon = 'icons/obj/custom_items.dmi' icon_state = "superior_mask" - item_state = "superior_mask" flags = BLOCKHAIR flags_inv = HIDEFACE @@ -1329,7 +1310,6 @@ desc = "These boots were made for crawlin'." icon = 'icons/obj/custom_items.dmi' icon_state = "superior_boots" - item_state = "superior_boots" /// chronx100: Hughe O'Splash /obj/item/nullrod/fluff/chronx @@ -1340,7 +1320,7 @@ desc = "An ancient scythe used by the worshipers of Cthulhu. Tales say it is used to prepare souls for Cthulhu's great devouring. Someone carved their name into the handle: Hughe O'Splash" icon = 'icons/obj/custom_items.dmi' icon_state = "chronx_scythe" - item_state = "chronx_scythe" + inhand_icon_state = "chronx_scythe" /// chronx100: Hughe O'Splash /obj/item/clothing/head/fluff/chronx @@ -1348,7 +1328,6 @@ desc = "Hood worn by the worshipers of Cthulhu. You see a name inscribed in blood on the inside: Hughe O'Splash" icon = 'icons/obj/custom_items.dmi' icon_state = "chronx_hood" - item_state = "chronx_hood" flags = BLOCKHAIR flags_cover = HEADCOVERSEYES actions_types = list(/datum/action/item_action/toggle) @@ -1360,12 +1339,10 @@ /obj/item/clothing/head/fluff/chronx/proc/adjust() if(adjusted) icon_state = initial(icon_state) - item_state = initial(item_state) to_chat(usr, "You untransform \the [src].") adjusted = 0 else icon_state += "_open" - item_state += "_open" to_chat(usr, "You transform \the [src].") adjusted = 1 usr.update_inv_head() @@ -1377,7 +1354,7 @@ desc = "Robes worn by the worshipers of Cthulhu. You see a name inscribed in blood on the inside: Hughe O'Splash" icon = 'icons/obj/custom_items.dmi' icon_state = "chronx_robe" - item_state = "chronx_robe" + inhand_icon_state = "chronx_suit" actions_types = list(/datum/action/item_action/toggle) adjust_flavour = "untransform" ignore_suitadjust = 0 @@ -1388,7 +1365,6 @@ desc = "Boots worn by the worshipers of Cthulhu. You see a name inscribed in blood on the inside: Hughe O'Splash" icon = 'icons/obj/custom_items.dmi' icon_state = "chronx_shoes" - item_state = "chronx_shoes" /// m3hillus: Medusa Schlofield /obj/item/clothing/suit/armor/vest/fluff/tactical @@ -1396,7 +1372,6 @@ desc = "A tactical vest with armored plate inserts." icon = 'icons/obj/clothing/accessories.dmi' icon_state = "vest_black" - item_state = "vest_black" sprite_sheets = null /obj/item/clothing/under/pants/fluff/combat @@ -1404,13 +1379,13 @@ desc = "Medium style tactical pants, for the fashion aware combat units out there." icon = 'icons/mob/clothing/under/donator.dmi' icon_state = "combat_pants_s" + worn_icon = 'icons/mob/clothing/under/donator.dmi' item_color = "combat_pants" sprite_sheets = list( - "Human" = 'icons/mob/clothing/under/donator.dmi', "Vox" = 'icons/mob/clothing/species/vox/under/donator.dmi', "Drask" = 'icons/mob/clothing/species/drask/under/donator.dmi', "Grey" = 'icons/mob/clothing/species/grey/under/donator.dmi' - ) + ) /// DaveTheHeadcrab: Elliot Campbell /obj/item/clothing/suit/jacket/fluff/elliot_windbreaker @@ -1418,7 +1393,6 @@ desc = "A cheap nylon windbreaker, according to the tag it was manufactured in New Chiba, Earth.
The color reminds you of a television tuned to a dead channel." icon = 'icons/obj/custom_items.dmi' icon_state = "elliot_windbreaker_open" - item_state = "elliot_windbreaker_open" suit_adjusted = 1 sprite_sheets = null @@ -1428,7 +1402,6 @@ desc = "A well made satchel for military operations. Totally not made by an enemy corporation" icon = 'icons/obj/custom_items.dmi' icon_state = "rawk_satchel" - item_state = null sprite_sheets = null /// lizardzsi: Krichahka @@ -1437,7 +1410,6 @@ desc = "Battered, Sol-made military radio backpack that had its speakers fried from playing Vox opera. The words 'Swift-Talon' are crudely scratched onto its side." icon = 'icons/obj/custom_items.dmi' icon_state = "voxcaster_fluff" - item_state = null /// Ssscratches: Lasshy-Bot /obj/item/storage/backpack/fluff/ssscratches_back @@ -1445,7 +1417,6 @@ desc = "It's a backpack, but it's also a cat." icon = 'icons/obj/custom_items.dmi' icon_state = "ssscratches_backpack" - item_state = null /// Greey: Korala Ice /obj/item/storage/backpack/fluff/thebrew @@ -1453,7 +1424,6 @@ desc = "Amber colored backpack resembling a long lost friend, a spirit long forgotten." icon = 'icons/obj/custom_items.dmi' icon_state = "greeyfluff" - item_state = "greeyfluff" /// phantasmicdream : Dreamy Rockwall /obj/item/clothing/head/wizard/fake/fluff/dreamy @@ -1461,7 +1431,6 @@ desc = "A shapeshifting witch hat. A strange aura comes from it..." icon = 'icons/obj/custom_items.dmi' icon_state = "classic_witch" - item_state = "classic_witch" /obj/item/clothing/head/wizard/fake/fluff/dreamy/attack_self__legacy__attackchain(mob/user) var/list/options = list() @@ -1512,7 +1481,6 @@ desc = "A locket with a orange gem set on the front, the picture inside seems to be of a Tajaran." icon = 'icons/obj/custom_items.dmi' icon_state = "fethasnecklace" - item_state = "fethasnecklace" item_color = "fethasnecklace" slot_flags = ITEM_SLOT_MASK | ITEM_SLOT_ACCESSORY @@ -1524,7 +1492,6 @@ lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' icon_state = "sheetcosmos" - item_state = "sheetcosmos" item_color = "sheetcosmos" /// Lightfire: Hyperion @@ -1539,10 +1506,7 @@ name = "classy victorian suit" desc = "A blue and black victorian suit with silver buttons, very fancy!" icon = 'icons/obj/custom_items.dmi' - lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' - righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' icon_state = "victorianlightfire" - item_state = "victorianvest" item_color = "victorianlightfire" displays_id = FALSE @@ -1603,11 +1567,11 @@ name = "Honkinator5000" desc = "This horn may look ridiculous but is the new hot item for clowns in the Clown Empire. It has a fine print on its side reading: Property of Prince Honktertong the IV" icon = 'icons/obj/custom_items.dmi' + icon_state = "teri_horn" + inhand_icon_state = "teri_horn" lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' honk_sounds = list('sound/items/teri_horn.ogg' = 1) - icon_state = "teri_horn" - item_state = "teri_horn" /// V-Force_Bomber: E.L.O. /obj/item/clothing/accessory/medal/fluff/elo @@ -1621,21 +1585,19 @@ /obj/item/clothing/suit/fluff/vetcoat name = "Veteran Coat" desc = "An old, yet well-kept Nanotrasen uniform. Very few of its kind are still produced." + icon_state = "alchemistcoatblack" + inhand_icon_state = "alchemistcoat" lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' - icon_state = "alchemistcoatblack" - item_state = "alchemistcoatblack" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS /// Furasian: Fillmoore Grayson /obj/item/clothing/suit/fluff/vetcoat/red icon_state = "alchemistcoatred" - item_state = "alchemistcoatred" /// Furasian: Fillmoore Grayson /obj/item/clothing/suit/fluff/vetcoat/navy icon_state = "alchemistcoatnavy" - item_state = "alchemistcoatnavy" /// PanzerSkull: GRN-DER /obj/item/clothing/accessory/medal/fluff/panzermedal @@ -1643,7 +1605,6 @@ desc = "A medal from the bygone Asteroid Wars. Its Ruby shines with a strange intensity." icon = 'icons/obj/custom_items.dmi' icon_state = "panzermedal" - item_state = "panzermedal" item_color = "panzermedal" /// Sagrotter: Xann Zxiax @@ -1652,7 +1613,6 @@ desc = "Green Garnet on fancy blue cord, when you look at the Garnet, you feel strangely appeased." icon = 'icons/obj/custom_items.dmi' icon_state = "Xann_necklace" - item_state = "Xann_necklace" item_color = "Xann_necklace" /// Rb303: Isthel Eisenwald @@ -1661,7 +1621,6 @@ desc = "An old, striped purple scarf. It appears to be hand-knitted and has the name 'Isthel' written on it in bad handwriting." icon = 'icons/obj/custom_items.dmi' icon_state = "rbscarf" - item_state = "rbscarf" item_color = "rbscarf" /// Pineapple Salad: Dan Jello @@ -1677,19 +1636,15 @@ desc = "It's pretty lightweight for a dufflebag, but it only seems to have as much space as an ordinary backpack." icon = 'icons/obj/custom_items.dmi' icon_state = "danpack" - item_state = "danpack" - lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' - righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' /// FullOfSkittles: Kiachi /obj/item/clothing/under/fluff/kiaoutfit name = "Suspicious Outfit" desc = "A very expensive top with intricate details tailored to fit a vox and paired with a glittery blue skirt, probably illegal." icon = 'icons/obj/custom_items.dmi' + icon_state = "kiaoutfit" lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' - icon_state = "kiaoutfit" - item_state = "kiaoutfit" item_color = "kiaoutfit" displays_id = FALSE species_restricted = list("Vox") @@ -1699,10 +1654,9 @@ name = "Suspicious Witch Hat" desc = "A black witch hat with a blue sash decorated with tiny glimmering stars and a gold squid-like medallion, probably possessed." icon = 'icons/obj/custom_items.dmi' + icon_state = "kiahat" lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' - icon_state = "kiahat" - item_state = "kiahat" item_color = "kiahat" /// FullOfSkittles: Kiachi @@ -1710,13 +1664,13 @@ name = "Suspicious Mask" desc = "A sleek mask that blends in with the owner's existing quills using strange technology. It might even be magic..." icon = 'icons/obj/custom_items.dmi' + icon_state = "kiamask" + inhand_icon_state = null lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' - sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/mask.dmi') - icon_state = "kiamask" - item_state = "kiamask" item_color = "kiamask" species_restricted = list("Vox") + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/mask.dmi') /obj/item/clothing/gloves/ring/fluff name = "fluff ring" @@ -1741,11 +1695,10 @@ /obj/item/clothing/under/fluff/kikeridress name = "Kikeri's Dress" desc = "A simple black dress with a white undercoat, tied with a blue ribbon." - lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' - righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' icon = 'icons/obj/custom_items.dmi' icon_state = "kikeridress" - item_state = "kikeridress" + lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' + righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' item_color = "kikeridress" body_parts_covered = UPPER_TORSO|LOWER_TORSO species_restricted = list("Vox") @@ -1755,26 +1708,26 @@ name = "Kikeri's Mask" desc = "A light grey mask with masquerade-esque blue details." icon = 'icons/obj/custom_items.dmi' + icon_state = "kikerimask" + inhand_icon_state = null lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' - sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/mask.dmi') - icon_state = "kikerimask" - item_state = "kikerimask" item_color = "kikerimask" species_restricted = list("Vox") + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/mask.dmi') /// Asmerath: Yahiya /obj/item/clothing/mask/gas/fluff/yahiyamask name = "Yahiya's Mask" desc = "A dark brown and silver mask resembling that of an eagle. There is a fiery red gem embedded into the forehead." icon = 'icons/obj/custom_items.dmi' + icon_state = "yahiyamask" + inhand_icon_state = null lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi' righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' - sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/mask.dmi') - icon_state = "yahiyamask" - item_state = "yahiyamask" item_color = "yahiyamask" species_restricted = list("Vox") + sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/mask.dmi') /obj/item/id_decal/aa07 name = "lifetime ID card decal" @@ -1786,14 +1739,12 @@ name = "rebel outfit" desc = "Made in Seattle, 2216." icon_state = "colin_earle" - item_state = "colin_earle" item_color = "colin_earle" // Paratoberfest/contributor rewards /obj/item/clothing/accessory/pin/reward // Default pin, DO NOT USE - Use the subtypes below icon = 'icons/obj/custom_items.dmi' icon_state = "pin_coding" - item_state = "pin_coding" item_color = "pin_coding" /obj/item/clothing/accessory/pin/reward/coding @@ -1804,14 +1755,12 @@ name = "Mapping Contribution Pin" desc = "A commemorative pin to reward contributions of mapping." icon_state = "pin_mapping" - item_state = "pin_mapping" item_color = "pin_mapping" /obj/item/clothing/accessory/pin/reward/spriting name = "Spriting Contribution Pin" desc = "A commemorative pin to reward contributions of spriting." icon_state = "pin_spriting" - item_state = "pin_spriting" item_color = "pin_spriting" #undef USED_MOD_HELM diff --git a/code/modules/detective_work/evidence.dm b/code/modules/detective_work/evidence.dm index c27ba9371b1..312d551c085 100644 --- a/code/modules/detective_work/evidence.dm +++ b/code/modules/detective_work/evidence.dm @@ -5,7 +5,6 @@ desc = "An empty evidence bag." icon = 'icons/obj/storage.dmi' icon_state = "evidenceobj" - item_state = "" w_class = WEIGHT_CLASS_TINY /obj/item/evidencebag/afterattack__legacy__attackchain(obj/item/I, mob/user,proximity) @@ -137,7 +136,7 @@ desc = "Preserves fingerprints." icon = 'icons/obj/card.dmi' icon_state = "fingerprint0" - item_state = "paper" + inhand_icon_state = "paper" /// boolean variable, indicates if print card is in the used state var/used diff --git a/code/modules/detective_work/forensic_kits.dm b/code/modules/detective_work/forensic_kits.dm index 88847cab09b..3bbed28d504 100644 --- a/code/modules/detective_work/forensic_kits.dm +++ b/code/modules/detective_work/forensic_kits.dm @@ -35,7 +35,7 @@ icon_state = "case" lefthand_file = 'icons/obj/forensics/items_lefthand.dmi' righthand_file = 'icons/obj/forensics/items_righthand.dmi' - item_state = "case" + inhand_icon_state = "case" /obj/item/storage/briefcase/crimekit/populate_contents() ..() diff --git a/code/modules/detective_work/scanner.dm b/code/modules/detective_work/scanner.dm index 9cebdda6e8d..238eb1e0510 100644 --- a/code/modules/detective_work/scanner.dm +++ b/code/modules/detective_work/scanner.dm @@ -7,7 +7,8 @@ desc = "Used to remotely scan objects and biomass for DNA and fingerprints. Can print a report of the findings." icon = 'icons/obj/device.dmi' icon_state = "detective_scanner" - item_state = "electronic" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" flags = CONDUCT | NOBLUDGEON slot_flags = ITEM_SLOT_BELT origin_tech = "engineering=4;biotech=2;programming=5" diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 14028a22270..f7759ca0e61 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -8,7 +8,7 @@ amount_per_transfer_from_this = 10 volume = 100 throwforce = 15 - item_state = "broken_beer" //Generic held-item sprite until unique ones are made. + inhand_icon_state = "beer" //Generic held-item sprite until unique ones are made. var/const/duration = 13 //Directly relates to the 'weaken' duration. Lowered by armor (i.e. helmets) var/is_glass = TRUE //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it @@ -152,12 +152,12 @@ desc = "A bottle with a sharp broken bottom." icon = 'icons/obj/drinks.dmi' icon_state = "broken_bottle" + inhand_icon_state = "broken_beer" force = 9 throwforce = 5 throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_TINY - item_state = "beer" hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("stabbed", "slashed", "attacked") var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken") @@ -306,7 +306,7 @@ name = "orange juice" desc = "Full of vitamins and deliciousness!" icon_state = "orangejuice" - item_state = "carton" + inhand_icon_state = "contvapour" throwforce = 0 is_glass = FALSE gender = PLURAL @@ -316,7 +316,7 @@ name = "milk cream" desc = "It's cream. Made from milk. What else did you think you'd find in there?" icon_state = "cream" - item_state = "carton" + inhand_icon_state = "contvapour" throwforce = 0 is_glass = FALSE gender = PLURAL @@ -326,7 +326,7 @@ name = "tomato juice" desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness." icon_state = "tomatojuice" - item_state = "carton" + inhand_icon_state = "contvapour" throwforce = 0 is_glass = FALSE gender = PLURAL @@ -336,7 +336,7 @@ name = "lime juice" desc = "Sweet-sour goodness." icon_state = "limejuice" - item_state = "carton" + inhand_icon_state = "contvapour" throwforce = 0 is_glass = FALSE gender = PLURAL @@ -346,7 +346,7 @@ name = "milk" desc = "Soothing milk." icon_state = "milk" - item_state = "carton" + inhand_icon_state = "contvapour" throwforce = 0 is_glass = FALSE gender = PLURAL diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 7502eaf3cca..e44352ccd04 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -4,10 +4,10 @@ name = "glass" desc = "Your standard drinking glass." icon_state = "glass_empty" - item_state = "drinking_glass" - amount_per_transfer_from_this = 10 + inhand_icon_state = "drinking_glass" lefthand_file = 'icons/goonstation/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/goonstation/mob/inhands/items_righthand.dmi' + amount_per_transfer_from_this = 10 materials = list(MAT_GLASS = 100) max_integrity = 20 resistance_flags = ACID_PROOF diff --git a/code/modules/food_and_drinks/drinks/drinks_base.dm b/code/modules/food_and_drinks/drinks/drinks_base.dm index 17adae58a18..9e00814aa3d 100644 --- a/code/modules/food_and_drinks/drinks/drinks_base.dm +++ b/code/modules/food_and_drinks/drinks/drinks_base.dm @@ -158,7 +158,6 @@ // rather then having to add it to something else first. They should only contain liquids. They have a default container size of 50. // Formatting is the same as food. - /obj/item/reagent_containers/drinks/coffee name = "Robust Coffee" desc = "Careful, the beverage you're about to enjoy is extremely hot." @@ -176,7 +175,7 @@ name = "Duke Purple tea" desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea." icon_state = "teacup" - item_state = "coffee" + inhand_icon_state = "coffee" list_reagents = list("tea" = 30) /obj/item/reagent_containers/drinks/tea/Initialize(mapload) @@ -188,14 +187,14 @@ name = "mugwort tea" desc = "A bitter herbal tea." icon_state = "manlydorfglass" - item_state = "coffee" + inhand_icon_state = "coffee" list_reagents = list("mugwort" = 30) /obj/item/reagent_containers/drinks/h_chocolate name = "Dutch hot coco" desc = "Made in Space South America." icon_state = "hot_coco" - item_state = "coffee" + inhand_icon_state = "coffee" list_reagents = list("hot_coco" = 30, "sugar" = 5) resistance_flags = FREEZE_PROOF @@ -203,7 +202,7 @@ name = "hot chocolate" desc = "Made in Space Switzerland." icon_state = "hot_coco" - item_state = "coffee" + inhand_icon_state = "coffee" list_reagents = list("hot_coco" = 15, "chocolate" = 6, "water" = 9) resistance_flags = FREEZE_PROOF @@ -217,7 +216,6 @@ name = "cup ramen" desc = "Just add 10ml of water, self heats! A taste that reminds you of your school years." icon_state = "ramen" - item_state = "ramen" list_reagents = list("dry_ramen" = 30) /obj/item/reagent_containers/drinks/dry_ramen/Initialize(mapload) @@ -229,14 +227,13 @@ name = "canned chicken soup" desc = "A delicious and soothing can of chicken noodle soup; just like spessmom used to microwave it." icon_state = "soupcan" - item_state = "soupcan" list_reagents = list("chicken_soup" = 30) /obj/item/reagent_containers/drinks/sillycup name = "paper cup" desc = "A paper water cup." icon_state = "water_cup_e" - item_state = "coffee" + inhand_icon_state = "coffee" possible_transfer_amounts = null volume = 10 diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 6e0be4e7a0c..ced7d2a8676 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -123,7 +123,7 @@ name = "sugar sack" desc = "Tasty spacey sugar!" icon_state = "sugar" - item_state = "sugar" + inhand_icon_state = "carton" list_reagents = list("sugar" = 50) possible_states = list() @@ -164,7 +164,7 @@ name = "space milk" desc = "It's milk. White and nutritious goodness!" icon_state = "milk" - item_state = "carton" + inhand_icon_state = "contvapour" list_reagents = list("milk" = 50) possible_states = list() @@ -172,7 +172,7 @@ name = "flour sack" desc = "A big bag of flour. Good for baking!" icon_state = "flour" - item_state = "flour" + inhand_icon_state = "contvapour" list_reagents = list("flour" = 30) possible_states = list() @@ -187,7 +187,7 @@ name = "soy milk" desc = "It's soy milk. White and nutritious goodness!" icon_state = "soymilk" - item_state = "carton" + inhand_icon_state = "contvapour" list_reagents = list("soymilk" = 50) possible_states = list() @@ -195,7 +195,7 @@ name = "rice sack" desc = "A big bag of rice. Good for cooking!" icon_state = "rice" - item_state = "flour" + inhand_icon_state = "carton" list_reagents = list("rice" = 30) possible_states = list() diff --git a/code/modules/food_and_drinks/food/foods/ethnic.dm b/code/modules/food_and_drinks/food/foods/ethnic.dm index 43200125c1b..2951b49299a 100644 --- a/code/modules/food_and_drinks/food/foods/ethnic.dm +++ b/code/modules/food_and_drinks/food/foods/ethnic.dm @@ -82,7 +82,7 @@ desc = "Is this chicken cooked? The odds are better than wok paper scissors." icon = 'icons/obj/food/meat.dmi' icon_state = "chickenball" - item_state = "chinese3" + inhand_icon_state = "chinese3" junkiness = 25 list_reagents = list("nutriment" = 2, "msg" = 4, "sugar" = 2) tastes = list("chicken" = 1, "sweetness" = 1) @@ -109,7 +109,7 @@ name = "fried rice" desc = "A timeless classic." icon_state = "chinese4" - item_state = "chinese2" + inhand_icon_state = "chinese2" antable = FALSE junkiness = 20 list_reagents = list("nutriment" = 1, "rice" = 3, "msg" = 4, "sugar" = 2) diff --git a/code/modules/hallucinations/effects/moderate.dm b/code/modules/hallucinations/effects/moderate.dm index 565288387f7..5692d61bf12 100644 --- a/code/modules/hallucinations/effects/moderate.dm +++ b/code/modules/hallucinations/effects/moderate.dm @@ -62,7 +62,7 @@ "\improper C4" = list('icons/obj/grenade.dmi', "plastic-explosive0"), "\improper L6 SAW" = list('icons/obj/guns/projectile.dmi', "l6closed100"), "chainsaw" = list('icons/obj/weapons/melee.dmi', "chainsaw"), - "combat shotgun" = list('icons/obj/guns/projectile.dmi', "cshotgun"), + "combat shotgun" = list('icons/obj/guns/projectile.dmi', "shotgun_combat"), "double-bladed energy sword" = list('icons/obj/weapons/energy_melee.dmi', "dualsaberred1"), "energy sword" = list('icons/obj/weapons/energy_melee.dmi', "swordred"), "fireaxe" = list('icons/obj/weapons/melee.dmi', "fireaxe1"), diff --git a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm index 7f6bb3ebb10..55285eca310 100644 --- a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm +++ b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm @@ -3,7 +3,6 @@ name = "beekeeper hat" desc = "Keeps the li'l buzzing buggers out of your eyes." icon_state = "beekeeper" - item_state = "beekeeper" flags = THICKMATERIAL @@ -11,7 +10,6 @@ name = "beekeeper suit" desc = "Keeps the li'l buzzing buggers away from your squishy bits." icon_state = "beekeeper" - item_state = "beekeeper" flags = THICKMATERIAL allowed = list(/obj/item/melee/flyswatter, /obj/item/reagent_containers/spray, /obj/item/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/cultivator) diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index e129e6c5362..24852fb9c49 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -15,11 +15,10 @@ reagents_add = list("banana" = 0.1, "potassium" = 0.1, "vitamin" = 0.04, "plantmatter" = 0.02) /obj/item/food/grown/banana - seed = /obj/item/seeds/banana name = "banana" desc = "It's an excellent prop for a clown." icon_state = "banana" - item_state = "banana" + seed = /obj/item/seeds/banana trash = /obj/item/grown/bananapeel filling_color = "#FFFF00" bitesize = 5 @@ -44,11 +43,11 @@ return OXYLOSS /obj/item/grown/bananapeel - seed = /obj/item/seeds/banana name = "banana peel" desc = "A peel from a banana." icon_state = "banana_peel" - item_state = "banana_peel" + inhand_icon_state = "banana_peel" + seed = /obj/item/seeds/banana w_class = WEIGHT_CLASS_TINY throw_speed = 3 diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm index eb8047d1001..76f486d8552 100644 --- a/code/modules/hydroponics/grown/corn.dm +++ b/code/modules/hydroponics/grown/corn.dm @@ -32,7 +32,6 @@ name = "corn cob" desc = "A reminder of meals gone by." icon_state = "corncob" - item_state = "corncob" w_class = WEIGHT_CLASS_TINY throw_speed = 3 @@ -57,11 +56,10 @@ rarity = 10 /obj/item/grown/snapcorn - seed = /obj/item/seeds/corn/snapcorn name = "snap corn" desc = "A cob with snap pops." icon_state = "snapcorn" - item_state = "corncob" + seed = /obj/item/seeds/corn/snapcorn w_class = WEIGHT_CLASS_TINY throw_speed = 3 var/snap_pops = 1 diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 4a6c71527f9..b16c38cf817 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -4,7 +4,7 @@ desc = "A versatile scanner for analyzing plants, plant produce, and seeds. Can be used on a bag holding unsorted seeds to quickly and thorougly sort them into usable packs." icon = 'icons/obj/device.dmi' icon_state = "hydro" - item_state = "analyzer" + inhand_icon_state = "analyzer" w_class = WEIGHT_CLASS_TINY slot_flags = ITEM_SLOT_BELT origin_tech = "magnets=2;biotech=2" @@ -38,7 +38,7 @@ desc = "It's a toxic mixture, in spray form, to kill small weeds." icon = 'icons/obj/hydroponics/equipment.dmi' icon_state = "weedspray" - item_state = "plantbgone" + inhand_icon_state = "plantbgone" belt_icon = null volume = 100 throw_range = 10 @@ -54,7 +54,7 @@ desc = "It's some pest eliminator spray! Do not inhale!" icon = 'icons/obj/hydroponics/equipment.dmi' icon_state = "pestspray" - item_state = "plantbgone" + inhand_icon_state = "plantbgone" belt_icon = null volume = 100 throw_range = 10 @@ -68,7 +68,7 @@ name = "cultivator" desc = "It's used for removing weeds or scratching your back." icon_state = "cultivator" - item_state = "cultivator" + inhand_icon_state = "cultivator" belt_icon = "cultivator" origin_tech = "engineering=2;biotech=2" flags = CONDUCT @@ -92,11 +92,11 @@ /obj/item/hatchet name = "hatchet" 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." - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon = 'icons/obj/weapons/melee.dmi' icon_state = "hatchet" - item_state = "hatchet" + inhand_icon_state = "hatchet" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' belt_icon = "hatchet" flags = CONDUCT force = 12 @@ -119,6 +119,7 @@ name = "duelling knife" desc = "A length of leather-bound wood studded with razor-sharp teeth. How crude." icon_state = "unathiknife" + inhand_icon_state = "knife" attack_verb = list("ripped", "torn", "cut") /obj/item/hatchet/wooden @@ -131,7 +132,9 @@ name = "scythe" desc = "A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow." icon = 'icons/obj/weapons/melee.dmi' - icon_state = "scythe0" + icon_state = "scythe" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' force = 13 throwforce = 5 throw_range = 3 @@ -183,7 +186,7 @@ name = "telescopic scythe" desc = "A sharp and curved blade on a collapsable fibre metal handle, this tool is the pinnacle of covert reaping technology." icon_state = "tscythe0" - item_state = null //no sprite for folded version, like a tele-baton + inhand_icon_state = null //no sprite for folded version, like a tele-baton force = 3 sharp = FALSE w_class = WEIGHT_CLASS_SMALL @@ -224,10 +227,10 @@ /obj/item/scythe/tele/update_icon_state() if(extend) icon_state = "tscythe1" - item_state = "scythe0" //use the normal scythe in-hands + inhand_icon_state = "scythe" //use the normal scythe in-hands else icon_state = "tscythe0" - item_state = null //no sprite for folded version, like a tele-baton + inhand_icon_state = null //no sprite for folded version, like a tele-baton // ************************************* // Nutrient defines for hydroponics @@ -238,7 +241,7 @@ name = "jug of nutrient" desc = "A decent sized plastic jug." icon_state = "plastic_jug" - item_state = "plastic_jug" + inhand_icon_state = "carton" possible_transfer_amounts = list(1,2,5,10,20,40,80) volume = 80 hitsound = 'sound/weapons/jug_empty_impact.ogg' diff --git a/code/modules/instruments/objs/items/_instrument.dm b/code/modules/instruments/objs/items/_instrument.dm index 5155b6fe23d..8641ff7ed98 100644 --- a/code/modules/instruments/objs/items/_instrument.dm +++ b/code/modules/instruments/objs/items/_instrument.dm @@ -1,12 +1,12 @@ //copy pasta of the space piano, don't hurt me -Pete /obj/item/instrument name = "generic instrument" - force = 10 - max_integrity = 100 - resistance_flags = FLAMMABLE icon = 'icons/obj/musician.dmi' lefthand_file = 'icons/mob/inhands/equipment/instruments_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/instruments_righthand.dmi' + force = 10 + max_integrity = 100 + resistance_flags = FLAMMABLE /// Our song datum. var/datum/song/handheld/song /// Our allowed list of instrument ids. This is nulled on initialize. diff --git a/code/modules/instruments/objs/items/headphones.dm b/code/modules/instruments/objs/items/headphones.dm index 80b336e4942..76678b1b6de 100644 --- a/code/modules/instruments/objs/items/headphones.dm +++ b/code/modules/instruments/objs/items/headphones.dm @@ -2,7 +2,7 @@ name = "headphones" desc = "Unce unce unce unce." icon_state = "headphones0" - item_state = "headphones0" + inhand_icon_state = "headphones" actions_types = list(/datum/action/item_action/change_headphones_song, /datum/action/item_action/toggle_music_notes) var/datum/song/headphones/song var/on = FALSE @@ -47,11 +47,11 @@ return song.ui_act(action, params) /obj/item/clothing/ears/headphones/update_icon_state() + icon_state = "headphones[on]" var/mob/living/carbon/human/user = loc if(istype(user)) user.update_action_buttons_icon() user.update_inv_ears() - icon_state = item_state = "headphones[on]" /obj/item/clothing/ears/headphones/item_action_slot_check(slot) if(slot & ITEM_SLOT_BOTH_EARS) diff --git a/code/modules/instruments/objs/items/instrument_items.dm b/code/modules/instruments/objs/items/instrument_items.dm index 5c524455f3e..aede2eab3a0 100644 --- a/code/modules/instruments/objs/items/instrument_items.dm +++ b/code/modules/instruments/objs/items/instrument_items.dm @@ -2,7 +2,6 @@ name = "space violin" desc = "A wooden musical instrument with four strings and a bow. \"The devil went down to space, he was looking for an assistant to grief.\"" icon_state = "violin" - item_state = "violin" hitsound = "swing_hit" allowed_instrument_ids = "violin" @@ -10,14 +9,12 @@ name = "golden violin" desc = "A golden musical instrument with four strings and a bow. \"The devil went down to space, he was looking for an assistant to grief.\"" icon_state = "golden_violin" - item_state = "golden_violin" resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/instrument/piano_synth name = "synthesizer" desc = "An advanced electronic synthesizer that can be used as various instruments." icon_state = "synth" - item_state = "synth" allowed_instrument_ids = "piano" /obj/item/instrument/piano_synth/Initialize(mapload) @@ -28,7 +25,6 @@ name = "banjo" desc = "A 'Mura' brand banjo. It's pretty much just a drum with a neck and strings." icon_state = "banjo" - item_state = "banjo" attack_verb = list("scruggs-styled", "hum-diggitied", "shin-digged", "clawhammered") hitsound = 'sound/weapons/banjoslap.ogg' allowed_instrument_ids = "banjo" @@ -37,7 +33,6 @@ name = "guitar" desc = "It's made of wood and has a kit of varied strings." icon_state = "guitar" - item_state = "guitar" attack_verb = list("played metal on", "serenaded", "crashed", "smashed") hitsound = 'sound/weapons/guitarslam.ogg' allowed_instrument_ids = list("guitar", "csteelgt", "cnylongt", "ccleangt", "cmutedgt", "sleggt", "piclgt") @@ -52,7 +47,6 @@ name = "electric guitar" desc = "Makes all your shredding needs possible." icon_state = "eguitar" - item_state = "eguitar" force = 12 attack_verb = list("played metal on", "shredded", "crashed", "smashed") hitsound = 'sound/weapons/stringsmash.ogg' @@ -62,28 +56,24 @@ name = "glockenspiel" desc = "Smooth metal bars perfect for any marching band." icon_state = "glockenspiel" - item_state = "glockenspiel" allowed_instrument_ids = list("glockenspiel", "crvibr") /obj/item/instrument/accordion name = "accordion" desc = "Pun-Pun not included." icon_state = "accordion" - item_state = "accordion" allowed_instrument_ids = list("accordion", "crack", "crtango") /obj/item/instrument/trumpet name = "trumpet" desc = "To announce the arrival of the king!" icon_state = "trumpet" - item_state = "trumpet" allowed_instrument_ids = list("crtrumpet") /obj/item/instrument/trumpet/spectral name = "spectral trumpet" desc = "Things are about to get spooky!" icon_state = "spectral_trumpet" - item_state = "spectral_trumpet" force = 0 attack_verb = list("played", "jazzed", "trumpeted", "mourned", "dooted", "spooked") @@ -99,7 +89,6 @@ name = "saxophone" desc = "This soothing sound will be sure to leave your audience in tears." icon_state = "saxophone" - item_state = "saxophone" allowed_instrument_ids = "saxophone" /obj/item/instrument/saxophone/spectral @@ -120,7 +109,7 @@ name = "trombone" desc = "How can any pool table ever hope to compete?" icon_state = "trombone" - item_state = "trombone" + inhand_icon_state = "trombone" allowed_instrument_ids = list("trombone", "crtrombone") /obj/item/instrument/trombone/spectral @@ -152,14 +141,12 @@ desc = "Just like in school, playing ability and all." force = 5 icon_state = "recorder" - item_state = "recorder" allowed_instrument_ids = "recorder" /obj/item/instrument/harmonica name = "harmonica" desc = "For when you get a bad case of the space blues." icon_state = "harmonica" - item_state = "harmonica" force = 5 w_class = WEIGHT_CLASS_SMALL allowed_instrument_ids = "harmonica" @@ -168,14 +155,12 @@ name = "xylophone" desc = "A percussion instrument with a bright tone." icon_state = "xylophone" - item_state = "xylophone" allowed_instrument_ids = list("xylophone", "crvibr") /obj/item/instrument/bikehorn name = "gilded bike horn" 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/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' attack_verb = list("beautifully honks") diff --git a/code/modules/martial_arts/judo.dm b/code/modules/martial_arts/judo.dm index 48c328ef678..b5991b86c8e 100644 --- a/code/modules/martial_arts/judo.dm +++ b/code/modules/martial_arts/judo.dm @@ -12,9 +12,9 @@ /obj/item/storage/belt/judobelt name = "\improper Corporate Judo Belt" desc = "Teaches the wearer NT Corporate Judo." - icon_state = "judobelt" - item_state = "judo" + icon_state = "judo" w_class = WEIGHT_CLASS_BULKY + layer_over_suit = TRUE storage_slots = 3 max_combined_w_class = 7 var/datum/martial_art/judo/style diff --git a/code/modules/martial_arts/krav_maga.dm b/code/modules/martial_arts/krav_maga.dm index b796c1ce4c9..6dbee9c3973 100644 --- a/code/modules/martial_arts/krav_maga.dm +++ b/code/modules/martial_arts/krav_maga.dm @@ -171,7 +171,6 @@ name = "Krav Maga gloves" desc = "These gloves can teach you to perform Krav Maga using nanochips for as long as you're wearing them." icon_state = "fightgloves" - item_state = "fightgloves" dyeable = FALSE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF @@ -197,7 +196,7 @@ name = "Combat gloves plus" desc = "These combat gloves have been upgraded with nanochips that teach the wearer Krav Maga." icon_state = "combat" - item_state = "swat_gl" + inhand_icon_state = "swat_gl" siemens_coefficient = 0 permeability_coefficient = 0.05 strip_delay = 8 SECONDS diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 739c26c5d57..430a000d14e 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -3,7 +3,6 @@ name = "explorer suit" desc = "An armoured suit for exploring harsh environments." icon_state = "explorer" - item_state = "explorer" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS @@ -14,7 +13,6 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF hide_tail_by_species = list("Vox" , "Vulpkanin" , "Unathi" , "Tajaran") - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', @@ -27,7 +25,6 @@ name = "explorer hood" desc = "An armoured hood for exploring harsh environments." icon_state = "explorer" - item_state = "explorer" flags = BLOCKHAIR | NODROP flags_cover = HEADCOVERSEYES min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT @@ -36,7 +33,6 @@ heat_protection = HEAD armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 50, RAD = 50, FIRE = 50, ACID = 50) resistance_flags = FIRE_PROOF - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', @@ -48,7 +44,6 @@ name = "H.E.C.K. suit" desc = "Hostile Environment Cross-Kinetic Suit: A suit designed to withstand the wide variety of hazards from Lavaland. It wasn't enough for its last owner." icon_state = "hostile_env" - item_state = "hostile_env" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | LAVA_PROOF flags_2 = RAD_PROTECT_CONTENTS_2 @@ -56,7 +51,6 @@ armor = list(MELEE = 120, BULLET = 35, LASER = 25, ENERGY = 25, BOMB = 150, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/melee/spellblade) hide_tail_by_species = list("Vox", "Vulpkanin", "Unathi", "Tajaran") - sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', @@ -86,7 +80,6 @@ name = "H.E.C.K. helmet" desc = "Hostile Environment Cross-Kinetic Helmet: A helmet designed to withstand the wide variety of hazards from Lavaland. It wasn't enough for its last owner." icon_state = "hostile_env" - item_state = "hostile_env" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT armor = list(MELEE = 120, BULLET = 35, LASER = 25, ENERGY = 25, BOMB = 150, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | LAVA_PROOF @@ -104,7 +97,7 @@ name = "prisoner gulag suit" desc = "An unarmored heat resistant mining suit, heavy and uncomfortable as a punishment in itself." icon_state = "hardsuit_gulag" - item_state = "hardsuit_gulag" + inhand_icon_state = null gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) @@ -114,13 +107,13 @@ strip_delay = 60 put_on_delay = 60 resistance_flags = FIRE_PROOF - hide_tail_by_species = list("Vox" , "Vulpkanin" , "Unathi" , "Tajaran") + hide_tail_by_species = list("Vox", "Vulpkanin", "Unathi", "Tajaran") /obj/item/clothing/head/helmet/space/prisoner_gulag name = "gulag helmet" desc = "A metallic helmet designed to operate with the mining suit, while dense it offers little protection aside heat." icon_state = "hardsuit_gulag" - item_state = "hardsuit_gulag" + inhand_icon_state = null flags = BLOCKHAIR flags_cover = HEADCOVERSEYES min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT diff --git a/code/modules/mining/equipment/hardmode_grenade.dm b/code/modules/mining/equipment/hardmode_grenade.dm index b7dd5de18c0..ffa082a1470 100644 --- a/code/modules/mining/equipment/hardmode_grenade.dm +++ b/code/modules/mining/equipment/hardmode_grenade.dm @@ -26,7 +26,6 @@ By participating in this experiment you waive all rights for compensation of death on the job. "} - /obj/item/disk/fauna_research name = "empty HRD-MDE project disk" desc = "A disk used by the HRD-MDE project. Seems empty?" diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 3b8099c3787..fc19a2d392c 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -4,11 +4,11 @@ desc = "An early design of the proto-kinetic accelerator, it is little more than a 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." icon = 'icons/obj/mining.dmi' + icon_state = "crusher" base_icon_state = "crusher" + inhand_icon_state = "crusher0" lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - icon_state = "crusher" - item_state = "crusher0" w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK throwforce = 5 @@ -186,7 +186,7 @@ visible_message("[src]'s light fades and turns off.") /obj/item/kinetic_crusher/update_icon_state() - item_state = "crusher[HAS_TRAIT(src, TRAIT_WIELDED)]" + inhand_icon_state = "crusher[HAS_TRAIT(src, TRAIT_WIELDED)]" /obj/item/kinetic_crusher/update_overlays() . = ..() diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm index 84646692e28..c7c2a9bb2c1 100644 --- a/code/modules/mining/equipment/lazarus_injector.dm +++ b/code/modules/mining/equipment/lazarus_injector.dm @@ -4,7 +4,7 @@ desc = "An injector with a cocktail of nanomachines and chemicals, this device can seemingly raise animals from the dead, making them become friendly to the user. Unfortunately, the process is useless on higher forms of life and incredibly costly, so these were hidden in storage until an executive thought they'd be great motivation for some of their employees." icon = 'icons/obj/hypo.dmi' icon_state = "lazarus_hypo" - item_state = "hypo" + inhand_icon_state = "hypo" origin_tech = "biotech=4;magnets=6" 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 615c6131f5b..71101b14755 100644 --- a/code/modules/mining/equipment/mineral_scanner.dm +++ b/code/modules/mining/equipment/mineral_scanner.dm @@ -1,10 +1,10 @@ /**********************Mining Scanner**********************/ /obj/item/mining_scanner - desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear material scanners for optimal results." name = "manual mining scanner" + desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear material scanners for optimal results." icon = 'icons/obj/device.dmi' icon_state = "mining1" - item_state = "analyzer" + inhand_icon_state = "analyzer" w_class = WEIGHT_CLASS_SMALL flags = CONDUCT slot_flags = ITEM_SLOT_BELT @@ -20,7 +20,6 @@ current_cooldown = world.time + cooldown mineral_scan_pulse(get_turf(user)) - //Debug item to identify all ore spread quickly /obj/item/mining_scanner/admin @@ -31,10 +30,10 @@ qdel(src) /obj/item/t_scanner/adv_mining_scanner - desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear meson scanners for optimal results. This one has an extended range." name = "advanced automatic mining scanner" + desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear meson scanners for optimal results. This one has an extended range." icon_state = "mining0" - item_state = "analyzer" + inhand_icon_state = "analyzer" flags = CONDUCT var/cooldown = 35 var/current_cooldown = 0 diff --git a/code/modules/mining/equipment/mining_charges.dm b/code/modules/mining/equipment/mining_charges.dm index 934d31cdedd..53704160d5d 100644 --- a/code/modules/mining/equipment/mining_charges.dm +++ b/code/modules/mining/equipment/mining_charges.dm @@ -3,7 +3,7 @@ desc = "Used to make big holes in rocks. Only works on rocks!" icon = 'icons/obj/mining.dmi' icon_state = "mining-charge-2" - item_state = "charge_indust" + inhand_icon_state = "charge_indust" det_time = 5 origin_tech = "materials=1" notify_admins = FALSE // no need to make adminlogs on lavaland, while they are "safe" to use @@ -129,7 +129,7 @@ name = "mining charge" desc = "A mining charge. This one seems less powerful than industrial. Only works on rocks!" icon_state = "mining-charge-1" - item_state = "charge_lesser" + inhand_icon_state = "charge_lesser" smoke_amount = 1 boom_sizes = list(1, 2, 3) @@ -137,7 +137,7 @@ name = "experimental mining charge" desc = "A mining charge. This one seems much more powerful than normal!" icon_state = "mining-charge-3" - item_state = "charge_mega" + inhand_icon_state = "charge_mega" smoke_amount = 5 boom_sizes = list(4, 6, 8) diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index f688446804c..a4a58288f34 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -8,7 +8,6 @@ slot_flags = ITEM_SLOT_BELT force = 15 throwforce = 10 - item_state = "pickaxe" w_class = WEIGHT_CLASS_BULKY materials = list(MAT_METAL = 2000) //one sheet, but where can you make them? origin_tech = "materials=2;engineering=3" @@ -42,6 +41,7 @@ name = "compact pickaxe" desc = "A smaller, compact version of the standard pickaxe." icon_state = "minipick" + inhand_icon_state = "pickaxe" force = 10 throwforce = 7 w_class = WEIGHT_CLASS_NORMAL @@ -51,7 +51,6 @@ name = "bone pickaxe" desc = "Do it yourself pickaxe." icon_state = "bone_pickaxe" - item_state = "bone_pickaxe" origin_tech = "materials=1;engineering=2" toolspeed = 0.7 force = 16 @@ -61,7 +60,6 @@ name = "silver-plated pickaxe" desc = "A silver-plated pickaxe that mines slightly faster than standard-issue." icon_state = "spickaxe" - item_state = "spickaxe" origin_tech = "materials=3;engineering=4" toolspeed = 0.5 //mines faster than a normal pickaxe, bought from mining vendor force = 17 @@ -71,7 +69,6 @@ name = "golden pickaxe" desc = "A gold-plated pickaxe that mines faster than standard-issue." icon_state = "gpickaxe" - item_state = "gpickaxe" origin_tech = "materials=4;engineering=4" toolspeed = 0.4 force = 18 @@ -81,7 +78,6 @@ name = "diamond-tipped pickaxe" desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt." icon_state = "dpickaxe" - item_state = "dpickaxe" origin_tech = "materials=5;engineering=4" toolspeed = 0.3 force = 19 @@ -91,7 +87,7 @@ name = "mining drill" desc = "An electric mining drill for the especially scrawny." icon_state = "handdrill" - item_state = "jackhammer" + inhand_icon_state = "jackhammer" digsound = list('sound/weapons/drill.ogg') toolspeed = 0.6 //available from roundstart, faster than a pickaxe. hitsound = 'sound/weapons/drill.ogg' @@ -136,7 +132,6 @@ slot_flags = ITEM_SLOT_BELT force = 8 throwforce = 4 - item_state = "shovel" materials = list(MAT_METAL = 200) origin_tech = "materials=2;engineering=2" attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked") @@ -152,7 +147,6 @@ name = "spade" desc = "A small tool for digging and moving dirt." icon_state = "spade" - item_state = "spade" belt_icon = "spade" force = 5 throwforce = 7 diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm index 4b01acda2b8..2a9b09f797b 100644 --- a/code/modules/mining/equipment/resonator.dm +++ b/code/modules/mining/equipment/resonator.dm @@ -3,7 +3,6 @@ name = "resonator" icon = 'icons/obj/mining_tool.dmi' icon_state = "resonator" - item_state = "resonator" origin_tech = "magnets=3;engineering=3" desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It can also be activated without a target to create a field at the user's location, to act as a delayed time trap. It's more effective in a vaccuum." force = 15 @@ -32,7 +31,6 @@ name = "upgraded resonator" desc = "An upgraded version of the resonator that can produce more fields at once, as well as having no damage penalty for bursting a resonance field early. It also allows you to set 'Resonance matrixes', that detonate after someone (or something) walks over it." icon_state = "resonator_u" - item_state = "resonator_u" origin_tech = "materials=4;powerstorage=3;engineering=3;magnets=3" fieldlimit = 6 quick_burst_mod = 1 diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 4f438a40495..e6be08c8252 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -405,7 +405,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/survival_pod, icon = initial(I.icon) desc = initial(I.desc) icon_state = initial(I.icon_state) - item_state = initial(I.item_state) + inhand_icon_state = initial(I.inhand_icon_state) lefthand_file = initial(I.lefthand_file) righthand_file = initial(I.righthand_file) slot_flags = initial(I.slot_flags) diff --git a/code/modules/mining/equipment/vendor_items.dm b/code/modules/mining/equipment/vendor_items.dm index 4827864135a..6c604a4a488 100644 --- a/code/modules/mining/equipment/vendor_items.dm +++ b/code/modules/mining/equipment/vendor_items.dm @@ -3,10 +3,9 @@ /**********************Facehugger toy**********************/ /obj/item/clothing/mask/facehugger/toy - item_state = "facehugger_inactive" desc = "A toy often used to play pranks on other miners by putting it in their beds. It takes a bit to recharge after latching onto something." - real = 0 - sterile = 1 + real = FALSE + sterile = TRUE /obj/item/clothing/mask/facehugger/toy/Die() return diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm index 8e507685721..9ac3ce4c647 100644 --- a/code/modules/mining/equipment/wormhole_jaunter.dm +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -7,7 +7,8 @@ GLOBAL_LIST_EMPTY(wormhole_effect) desc = "A single use device harnessing outdated wormhole technology, Nanotrasen has since turned its eyes to bluespace for more accurate teleportation. \ The wormholes it creates are unpleasant to travel through, to say the least. If attached to your belt, it'll automatically activate should you fall into a chasm." icon_state = "Jaunter" - item_state = "electronic" + worn_icon_state = "electronic" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 @@ -98,7 +99,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect) icon = 'icons/obj/lighting.dmi' desc = "A single-use extraction flare that will let you create a portal to any beacon on the station. You must choose the destination beforehand, else it will target a random beacon. The portal is generated 5 seconds after activation, and has 1 use." icon_state = "flare-contractor" - item_state = "flare" + inhand_icon_state = "flare" var/destination /obj/item/wormhole_jaunter/contractor/examine(mob/user) diff --git a/code/modules/mining/lavaland/loot/ashdragon_loot.dm b/code/modules/mining/lavaland/loot/ashdragon_loot.dm index 4841f3c0f53..827b505187f 100644 --- a/code/modules/mining/lavaland/loot/ashdragon_loot.dm +++ b/code/modules/mining/lavaland/loot/ashdragon_loot.dm @@ -5,7 +5,6 @@ desc = "A rusted and dulled blade. It doesn't look like it'd do much damage." icon = 'icons/obj/weapons/magical_weapons.dmi' icon_state = "spectral" - item_state = "spectral" flags = CONDUCT sharp = TRUE w_class = WEIGHT_CLASS_BULKY @@ -228,7 +227,6 @@ icon_state = "lavastaff" lefthand_file = 'icons/mob/inhands/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/staves_righthand.dmi' - item_state = "lavastaff" slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY force = 25 diff --git a/code/modules/mining/lavaland/loot/hierophant_loot.dm b/code/modules/mining/lavaland/loot/hierophant_loot.dm index 57bc3a1b28b..bc73ecca569 100644 --- a/code/modules/mining/lavaland/loot/hierophant_loot.dm +++ b/code/modules/mining/lavaland/loot/hierophant_loot.dm @@ -3,9 +3,8 @@ /obj/item/hierophant_club name = "hierophant club" desc = "The strange technology of this large club allows various nigh-magical feats. It used to beat you, but now you can set the beat." - icon_state = "hierophant_club_ready_beacon" - item_state = "hierophant_club_ready_beacon" icon = 'icons/obj/lavaland/artefacts.dmi' + icon_state = "hierophant_club_ready_beacon" lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' inhand_x_dimension = 64 @@ -115,7 +114,6 @@ /obj/item/hierophant_club/update_icon_state() icon_state = "hierophant_club[timer <= world.time ? "_ready":""][(beacon && !QDELETED(beacon)) ? "":"_beacon"]" - item_state = icon_state if(ismob(loc)) var/mob/M = loc M.update_inv_l_hand() diff --git a/code/modules/mining/lavaland/loot/legion_loot.dm b/code/modules/mining/lavaland/loot/legion_loot.dm index 01b1788c9fc..28390dfecab 100644 --- a/code/modules/mining/lavaland/loot/legion_loot.dm +++ b/code/modules/mining/lavaland/loot/legion_loot.dm @@ -1,11 +1,10 @@ /obj/item/storm_staff name = "staff of storms" desc = "An ancient staff retrieved from the remains of Legion. The wind stirs as you move it." + icon = 'icons/obj/guns/magic.dmi' icon_state = "staffofstorms" lefthand_file = 'icons/mob/inhands/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/staves_righthand.dmi' - item_state = "staffofstorms" - icon = 'icons/obj/guns/magic.dmi' slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY force = 25 diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index 0ecd672d893..edde0108c51 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -17,6 +17,9 @@ desc = "Somehow, it's in two places at once." icon = 'icons/obj/storage.dmi' icon_state = "cultpack" + inhand_icon_state = "backpack" + lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing_righthand.dmi' slot_flags = ITEM_SLOT_BACK resistance_flags = INDESTRUCTIBLE var/obj/item/storage/backpack/shared/bag @@ -150,10 +153,10 @@ /obj/item/oar name = "oar" + desc = "Not to be confused with the kind Research hassles you for." icon = 'icons/obj/vehicles.dmi' icon_state = "oar" - item_state = "rods" - desc = "Not to be confused with the kind Research hassles you for." + inhand_icon_state = "rods" force = 12 resistance_flags = LAVA_PROOF | FIRE_PROOF @@ -200,7 +203,7 @@ 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" + inhand_icon_state = "lantern" light_range = 7 var/obj/effect/wisp/wisp var/sight_flags = SEE_MOBS @@ -332,9 +335,11 @@ /obj/item/gun/magic/hook name = "meat hook" desc = "Mid or feed." - ammo_type = /obj/item/ammo_casing/magic/hook icon_state = "hook" - item_state = "chain" + inhand_icon_state = "chain" + lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' + ammo_type = /obj/item/ammo_casing/magic/hook fire_sound = 'sound/weapons/batonextend.ogg' max_charges = 1 flags = NOBLUDGEON diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 63469656718..79a9602f993 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -31,7 +31,6 @@ /obj/item/flashlight/lantern name = "lantern" icon_state = "lantern" - item_state = "lantern" desc = "A mining lantern." brightness_on = 6 // luminosity when on diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 92a4be08974..51cdee2a420 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -9,9 +9,9 @@ /obj/item/stack/ore name = "rock" icon = 'icons/obj/stacks/ores.dmi' + icon_state = "ore" lefthand_file = 'icons/mob/inhands/ore_lefthand.dmi' righthand_file = 'icons/mob/inhands/ore_righthand.dmi' - icon_state = "ore" singular_name = "ore chunk" var/points = 0 //How many points this ore gets you from the ore redemption machine var/refined_type = null //What this ore defaults to being refined into @@ -51,7 +51,6 @@ name = "sand pile" desc = "A coarse, dust mainly composed of quartz and silica-rich rock. Among its many uses, it can be refined into glass when fired at high tempratures." icon_state = "sand" - item_state = "sand" singular_name = "sand pile" points = 1 refined_type = /obj/item/stack/sheet/glass @@ -99,7 +98,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "volcanic ash" desc = "A coarse, abrasive basaltic dust rich in silica and various elemental oxides. Commonly refined into glass or used as fertiliser." icon_state = "volcanic_sand" - item_state = "volcanic_sand" singular_name = "volcanic ash pile" /obj/item/stack/ore/glass/basalt/examine(mob/user) @@ -115,7 +113,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "iron ore" desc = "Exceptionally common ore that can be refined into iron and steel." icon_state = "iron_ore" - item_state = "iron_ore" singular_name = "iron ore chunk" points = 1 refined_type = /obj/item/stack/sheet/metal @@ -125,7 +122,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "plasma ore" desc = "The reason you're here." icon_state = "plasma_ore" - item_state = "plasma_ore" origin_tech = "plasmatech=2;materials=2" singular_name = "plasma ore chunk" points = 15 @@ -136,7 +132,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "silver ore" desc = "Metal ore rich in precious silver." icon_state = "silver_ore" - item_state = "silver_ore" origin_tech = "materials=3" singular_name = "silver ore chunk" points = 16 @@ -147,7 +142,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "gold ore" desc = "WE'RE RICH!" icon_state = "gold_ore" - item_state = "gold_ore" origin_tech = "materials=4" singular_name = "gold ore chunk" points = 18 @@ -158,7 +152,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "uranium ore" desc = "Radioactive ore containing significant amounts of natural uranium." icon_state = "uranium_ore" - item_state = "uranium_ore" origin_tech = "materials=5" singular_name = "uranium ore chunk" points = 30 @@ -168,7 +161,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/titanium name = "titanium ore" icon_state = "titanium_ore" - item_state = "titanium_ore" singular_name = "titanium ore chunk" points = 50 materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT) @@ -178,7 +170,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "diamond ore" desc = "Rock formation containing diamond." icon_state = "diamond_ore" - item_state = "diamond_ore" origin_tech = "materials=6" singular_name = "diamond ore chunk" points = 50 @@ -192,7 +183,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "platinum ore" desc = "Rock formation containing platinum." icon_state = "platinum_ore" - item_state = "platinum_ore" origin_tech = "materials=5" singular_name = "platinum ore chunk" points = 50 @@ -203,7 +193,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "palladium ore" desc = "Rock formation containing palladium." icon_state = "palladium_ore" - item_state = "palladium_ore" origin_tech = "materials=5" singular_name = "palladium ore chunk" points = 50 @@ -214,7 +203,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "iridium ore" desc = "Rock formation containing iridium." icon_state = "iridium_ore" - item_state = "iridium_ore" origin_tech = "materials=5" singular_name = "iridium ore chunk" points = 50 @@ -233,7 +221,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "bananium ore" desc = "HONK!" icon_state = "bananium_ore" - item_state = "bananium_ore" origin_tech = "materials=4" singular_name = "bananium ore chunk" points = 60 @@ -244,7 +231,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ name = "tranquillite ore" desc = "..." icon_state = "tranquillite_ore" - item_state = "tranquillite_ore" origin_tech = "materials=4" singular_name = "transquillite ore chunk" points = 60 @@ -265,7 +251,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ desc = "Extremely explosive if struck with mining equipment, Gibtonite is often used by miners to speed up their work by using it as a mining charge. This material is illegal to possess by unauthorized personnel under Space Law." icon = 'icons/obj/mining.dmi' icon_state = "Gibtonite ore" - item_state = "Gibtonite ore" w_class = WEIGHT_CLASS_BULKY throw_range = 0 anchored = TRUE //Forces people to carry it by hand, no pulling! diff --git a/code/modules/mob/living/basic/minebots/minebot.dm b/code/modules/mob/living/basic/minebots/minebot.dm index a0f3ed03c52..cc5b8880bcf 100644 --- a/code/modules/mob/living/basic/minebots/minebot.dm +++ b/code/modules/mob/living/basic/minebots/minebot.dm @@ -171,10 +171,10 @@ /obj/item/mining_drone_cube name = "mining drone cube" desc = "Compressed mining drone, ready for deployment. Just press the button to activate!" - w_class = WEIGHT_CLASS_SMALL icon = 'icons/obj/aibots.dmi' icon_state = "minedronecube" - item_state = "electronic" + inhand_icon_state = "electronic" + w_class = WEIGHT_CLASS_SMALL /obj/item/mining_drone_cube/attack_self__legacy__attackchain(mob/user) user.visible_message("\The [src] suddenly expands into a fully functional mining drone!", \ diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm index 50d6ce7d034..9925d08a966 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm @@ -77,8 +77,7 @@ wear_suit.screen_loc = UI_OCLOTHING //TODO //...draw the item in the inventory screen client.screen += wear_suit //Either way, add the item to the HUD - var/t_state = wear_suit.item_state - if(!t_state) t_state = wear_suit.icon_state + var/t_state = wear_suit.worn_icon_state || wear_suit.icon_state var/image/standing = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "[t_state]") if(wear_suit.blood_DNA) @@ -87,7 +86,7 @@ t_suit = "armor" standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "[t_suit]blood") - if(wear_suit.breakouttime) + if(wear_suit.breakouttime) // crazy drop_r_hand() drop_l_hand() @@ -99,8 +98,7 @@ /mob/living/carbon/alien/humanoid/update_inv_head() if(head) - var/t_state = head.item_state - if(!t_state) t_state = head.icon_state + var/t_state = head.worn_icon_state || head.icon_state var/image/standing = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "[t_state]") if(head.blood_DNA) standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "helmetblood") @@ -113,8 +111,7 @@ /mob/living/carbon/alien/humanoid/update_inv_r_hand() ..() if(r_hand) - var/t_state = r_hand.item_state - if(!t_state) t_state = r_hand.icon_state + var/t_state = r_hand.inhand_icon_state || r_hand.icon_state r_hand.screen_loc = UI_RHAND overlays_standing[X_R_HAND_LAYER] = image("icon" = r_hand.righthand_file, "icon_state" = t_state) else @@ -124,8 +121,7 @@ /mob/living/carbon/alien/humanoid/update_inv_l_hand() ..() if(l_hand) - var/t_state = l_hand.item_state - if(!t_state) t_state = l_hand.icon_state + var/t_state = l_hand.inhand_icon_state || l_hand.icon_state l_hand.screen_loc = UI_LHAND overlays_standing[X_L_HAND_LAYER] = image("icon" = l_hand.lefthand_file, "icon_state" = t_state) else diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 1ceba7a3ee4..751b794ef94 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -4,7 +4,7 @@ desc = "It has some sort of a tube at the end of its tail." icon = 'icons/mob/alien.dmi' icon_state = "facehugger" - item_state = "facehugger" + inhand_icon_state = "facehugger" w_class = WEIGHT_CLASS_TINY //note: can be picked up by aliens unlike most other items of w_class below 4 throw_range = 5 tint = 3 @@ -201,7 +201,7 @@ return icon_state = "[initial(icon_state)]_dead" - item_state = "facehugger_inactive" + inhand_icon_state = "facehugger_inactive" stat = DEAD QDEL_NULL(proximity_monitor) diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm index d050a110e41..ba126f3a84f 100644 --- a/code/modules/mob/living/carbon/carbon_update_icons.dm +++ b/code/modules/mob/living/carbon/carbon_update_icons.dm @@ -74,9 +74,9 @@ update_hud_wear_mask(wear_mask) /mob/living/carbon/update_inv_back() - if(client && hud_used && hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_BACK)]) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_BACK)] - inv.update_icon() + if(client) + var/atom/movable/screen/inventory/inv = hud_used?.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_BACK)] + inv?.update_icon() if(back) update_hud_back(back) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 71e7fa782d9..a6aa0f12557 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -579,26 +579,15 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) remove_overlay(UNIFORM_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_JUMPSUIT)] - if(inv) - inv.update_icon() + inv?.update_icon() if(w_uniform && istype(w_uniform, /obj/item/clothing/under)) update_hud_uniform(w_uniform) if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT)) - - var/t_color = w_uniform.item_color - if(!t_color) - t_color = icon_state - - var/mutable_appearance/standing = mutable_appearance('icons/mob/clothing/under/misc.dmi', "[t_color]_s", layer = -UNIFORM_LAYER) - - if(w_uniform.icon_override) - standing.icon = w_uniform.icon_override - if(w_uniform.sprite_sheets) - standing.icon = w_uniform.sprite_sheets["Human"] - if(w_uniform.sprite_sheets[dna.species.sprite_sheet_name] && icon_exists(w_uniform.sprite_sheets[dna.species.sprite_sheet_name], "[t_color]_s")) - standing.icon = w_uniform.sprite_sheets[dna.species.sprite_sheet_name] + var/worn_icon = listgetindex(w_uniform.sprite_sheets, dna.species.sprite_sheet_name) || w_uniform.worn_icon || 'icons/mob/clothing/under/misc.dmi' + var/worn_icon_state = w_uniform.item_color || w_uniform.worn_icon_state || w_uniform.icon_state + var/mutable_appearance/standing = mutable_appearance(worn_icon, "[worn_icon_state]_s", layer = -UNIFORM_LAYER, alpha = w_uniform.alpha, color = w_uniform.color) if(w_uniform.blood_DNA) var/image/bloodsies = image("icon" = dna.species.blood_mask, "icon_state" = "uniformblood") @@ -606,18 +595,10 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) standing.overlays += bloodsies if(length(w_uniform.accessories)) //WE CHECKED THE TYPE ABOVE. THIS REALLY SHOULD BE FINE. // oh my god kys whoever made this if statement jfc :gun: - for(var/obj/item/clothing/accessory/A in w_uniform:accessories) - var/tie_color = A.item_color - if(!tie_color) - tie_color = A.icon_state - if(A.icon_override) - standing.overlays += image("icon" = A.icon_override, "icon_state" = "[A.icon_state]") - else if(A.sprite_sheets && A.sprite_sheets[dna.species.sprite_sheet_name]) - standing.overlays += image("icon" = A.sprite_sheets[dna.species.sprite_sheet_name], "icon_state" = "[A.icon_state]") - else - standing.overlays += image("icon" = 'icons/mob/accessories.dmi', "icon_state" = "[tie_color]") - standing.alpha = w_uniform.alpha - standing.color = w_uniform.color + for(var/obj/item/clothing/accessory/A in w_uniform.accessories) + var/tie_icon = A.worn_icon || listgetindex(A.sprite_sheets, dna.species.sprite_sheet_name) || 'icons/mob/accessories.dmi' + var/tie_color = A.item_color || A.icon_state + standing.overlays += image(tie_icon, tie_color) overlays_standing[UNIFORM_LAYER] = standing else if(!dna.species.nojumpsuit) @@ -655,8 +636,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) remove_overlay(ID_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_ID)] - if(inv) - inv.update_icon() + inv?.update_icon() if(wear_id) update_hud_id(wear_id) @@ -671,24 +651,15 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) remove_overlay(R_HAND_BLOOD_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_GLOVES)] - if(inv) - inv.update_icon() + inv?.update_icon() if(gloves) update_hud_gloves(gloves) if(!wear_suit || !(wear_suit.flags_inv & HIDEGLOVES)) - - var/t_state = gloves.item_state - if(!t_state) t_state = gloves.icon_state - - var/mutable_appearance/standing - if(gloves.icon_override) - standing = mutable_appearance(gloves.icon_override, "[gloves.icon_state]", layer = -GLOVES_LAYER) - else if(gloves.sprite_sheets && gloves.sprite_sheets[dna.species.sprite_sheet_name]) - standing = mutable_appearance(gloves.sprite_sheets[dna.species.sprite_sheet_name], "[t_state]", layer = -GLOVES_LAYER) - else - standing = mutable_appearance('icons/mob/clothing/hands.dmi', "[t_state]", layer = -GLOVES_LAYER) + var/worn_icon = listgetindex(gloves.sprite_sheets, dna.species.sprite_sheet_name) || gloves.worn_icon || 'icons/mob/clothing/hands.dmi' + var/worn_icon_state = gloves.worn_icon_state || gloves.icon_state + var/mutable_appearance/standing = mutable_appearance(worn_icon, worn_icon_state, layer = -GLOVES_LAYER) if(gloves.blood_DNA) // No need to check for hands here because we won't have gloves on. var/image/bloodsies = image("icon" = dna.species.blood_mask, "icon_state" = "bloodyhands") @@ -709,7 +680,6 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) apply_overlay(L_HAND_BLOOD_LAYER) apply_overlay(R_HAND_BLOOD_LAYER) - /mob/living/carbon/human/update_inv_glasses() remove_overlay(GLASSES_LAYER) remove_overlay(GLASSES_OVER_LAYER) @@ -717,34 +687,27 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_EYES)] - if(inv) - inv.update_icon() + inv?.update_icon() if(glasses) - var/mutable_appearance/new_glasses var/obj/item/organ/external/head/head_organ = get_organ("head") update_hud_glasses(glasses) - if(glasses.icon_override) - new_glasses = mutable_appearance(glasses.icon_override, "[glasses.icon_state]", layer = -GLASSES_LAYER) - else if(glasses.sprite_sheets && glasses.sprite_sheets[head_organ.dna.species.sprite_sheet_name]) - new_glasses = mutable_appearance(glasses.sprite_sheets[head_organ.dna.species.sprite_sheet_name], "[glasses.icon_state]", layer = -GLASSES_LAYER) - else - new_glasses = mutable_appearance('icons/mob/clothing/eyes.dmi', "[glasses.icon_state]", layer = -GLASSES_LAYER) - + var/worn_icon = glasses.worn_icon || listgetindex(glasses.sprite_sheets, head_organ.dna.species.sprite_sheet_name) || 'icons/mob/clothing/eyes.dmi' + var/worn_icon_state = glasses.worn_icon_state || glasses.icon_state + var/obj/item/clothing/glasses/mob_glasses = glasses var/datum/sprite_accessory/hair/hair_style = GLOB.hair_styles_full_list[head_organ.h_style] - var/obj/item/clothing/glasses/G = glasses - if(istype(G) && G.over_mask) //If the user's used the 'wear over mask' verb on the glasses. - new_glasses.layer = -OVER_MASK_LAYER - overlays_standing[OVER_MASK_LAYER] = new_glasses - apply_overlay(OVER_MASK_LAYER) - else if(hair_style && hair_style.glasses_over) //Select which layer to use based on the properties of the hair style. Hair styles with hair that don't overhang the arms of the glasses should have glasses_over set to a positive value. - new_glasses.layer = -GLASSES_OVER_LAYER - overlays_standing[GLASSES_OVER_LAYER] = new_glasses - apply_overlay(GLASSES_OVER_LAYER) + var/worn_layer + if(istype(mob_glasses) && mob_glasses.over_mask) + worn_layer = OVER_MASK_LAYER + else if(hair_style?.glasses_over) + worn_layer = GLASSES_OVER_LAYER else - overlays_standing[GLASSES_LAYER] = new_glasses - apply_overlay(GLASSES_LAYER) + worn_layer = GLASSES_LAYER + var/mutable_appearance/standing = mutable_appearance(worn_icon, worn_icon_state, layer = -worn_layer) + + overlays_standing[worn_layer] = standing + apply_overlay(worn_layer) update_misc_effects() @@ -755,40 +718,26 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(client && hud_used) var/atom/movable/screen/inventory/left_ear_inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_LEFT_EAR)] var/atom/movable/screen/inventory/right_ear_inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_RIGHT_EAR)] - if(left_ear_inv) - left_ear_inv.update_icon() - if(right_ear_inv) - right_ear_inv.update_icon() + left_ear_inv?.update_icon() + right_ear_inv?.update_icon() if(l_ear) update_hud_l_ear(l_ear) if((!head || !(head.flags_inv & HIDEEARS)) && (!wear_mask || !(wear_mask.flags_inv & HIDEEARS))) + var/worn_icon = listgetindex(l_ear.sprite_sheets, dna.species.sprite_sheet_name) || 'icons/mob/clothing/ears.dmi' + var/worn_state = l_ear.worn_icon_state || l_ear.icon_state - var/left_ear_item_state = l_ear.item_state ? l_ear.item_state : l_ear.icon_state - var/left_ear_icon = 'icons/mob/clothing/ears.dmi' - if(l_ear.sprite_sheets && l_ear.sprite_sheets[dna.species.sprite_sheet_name]) - left_ear_icon = l_ear.sprite_sheets[dna.species.sprite_sheet_name] - if(l_ear.icon_override) - left_ear_item_state = "[left_ear_item_state]_l" - left_ear_icon = l_ear.icon_override - - overlays_standing[LEFT_EAR_LAYER] = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) + overlays_standing[LEFT_EAR_LAYER] = mutable_appearance(worn_icon, worn_state, layer = -LEFT_EAR_LAYER) if(r_ear) update_hud_r_ear(r_ear) if((!head || !(head.flags_inv & HIDEEARS)) && (!wear_mask || !(wear_mask.flags_inv & HIDEEARS))) + var/worn_icon = listgetindex(r_ear.sprite_sheets, dna.species.sprite_sheet_name) || 'icons/mob/clothing/ears.dmi' + var/worn_state = r_ear.worn_icon_state || r_ear.icon_state - var/right_ear_item_state = r_ear.item_state ? r_ear.item_state : r_ear.icon_state - var/right_ear_icon = 'icons/mob/clothing/ears.dmi' - if(r_ear.sprite_sheets && r_ear.sprite_sheets[dna.species.sprite_sheet_name]) - right_ear_icon = r_ear.sprite_sheets[dna.species.sprite_sheet_name] - if(r_ear.icon_override) - right_ear_icon = "[right_ear_item_state]_l" - right_ear_icon = r_ear.icon_override - - overlays_standing[RIGHT_EAR_LAYER] = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) + overlays_standing[RIGHT_EAR_LAYER] = mutable_appearance(worn_icon, worn_state, layer = -RIGHT_EAR_LAYER) apply_overlay(LEFT_EAR_LAYER) apply_overlay(RIGHT_EAR_LAYER) @@ -799,27 +748,21 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) remove_overlay(R_FOOT_BLOOD_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_SHOES)] - if(inv) - inv.update_icon() + inv?.update_icon() if(shoes) update_hud_shoes(shoes) if(!wear_suit || !(wear_suit.flags_inv & HIDESHOES)) - var/mutable_appearance/standing - if(shoes.icon_override) - standing = mutable_appearance(shoes.icon_override, "[shoes.icon_state]", layer = -SHOES_LAYER) - else if(shoes.sprite_sheets && shoes.sprite_sheets[dna.species.sprite_sheet_name]) - standing = mutable_appearance(shoes.sprite_sheets[dna.species.sprite_sheet_name], "[shoes.icon_state]", layer = -SHOES_LAYER) - else - standing = mutable_appearance('icons/mob/clothing/feet.dmi', "[shoes.icon_state]", layer = -SHOES_LAYER) + var/worn_icon = shoes.worn_icon || listgetindex(shoes.sprite_sheets, dna.species.sprite_sheet_name) || 'icons/mob/clothing/feet.dmi' + var/worn_icon_state = shoes.worn_icon_state || shoes.icon_state + var/mutable_appearance/standing = mutable_appearance(worn_icon, worn_icon_state, layer = -SHOES_LAYER, alpha = shoes.alpha, color = shoes.color) if(shoes.blood_DNA) // No need to check for feet here since you need feet to wear shoes. var/image/bloodsies = image("icon" = dna.species.blood_mask, "icon_state" = "shoeblood") bloodsies.color = shoes.blood_color standing.overlays += bloodsies - standing.alpha = shoes.alpha - standing.color = shoes.color + overlays_standing[SHOES_LAYER] = standing else if(feet_blood_DNA) // Checks for feet to make sure we don't have mysterious floating blood. @@ -839,38 +782,28 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) remove_overlay(SUIT_STORE_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_SUIT_STORE)] - if(inv) - inv.update_icon() + inv?.update_icon() if(s_store) update_hud_s_store(s_store) + var/worn_icon = s_store.worn_icon || 'icons/mob/clothing/belt_mirror.dmi' + var/worn_icon_state = s_store.worn_icon_state || s_store.icon_state - var/t_state = s_store.item_state - if(!t_state) - t_state = s_store.icon_state - var/dmi='icons/mob/clothing/belt_mirror.dmi' - overlays_standing[SUIT_STORE_LAYER] = mutable_appearance(dmi, "[t_state]", layer = -SUIT_STORE_LAYER) - s_store.screen_loc = UI_SSTORE1 //TODO + overlays_standing[SUIT_STORE_LAYER] = mutable_appearance(worn_icon, worn_icon_state, layer = -SUIT_STORE_LAYER) apply_overlay(SUIT_STORE_LAYER) - /mob/living/carbon/human/update_inv_head() ..() remove_overlay(HEAD_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_HEAD)] - if(inv) - inv.update_icon() + inv?.update_icon() if(head) update_hud_head(head) - var/mutable_appearance/standing - if(head.sprite_sheets && head.sprite_sheets[dna.species.sprite_sheet_name]) - standing = mutable_appearance(head.sprite_sheets[dna.species.sprite_sheet_name], "[head.icon_state]", layer = -HEAD_LAYER) - else if(head.icon_override) - standing = mutable_appearance(head.icon_override, "[head.icon_state]", layer = -HEAD_LAYER) - else - standing = mutable_appearance('icons/mob/clothing/head.dmi', "[head.icon_state]", layer = -HEAD_LAYER) + var/worn_icon = listgetindex(head.sprite_sheets, dna.species.sprite_sheet_name) || head.worn_icon || 'icons/mob/clothing/head.dmi' + var/worn_icon_state = head.worn_icon_state || head.icon_state + var/mutable_appearance/standing = mutable_appearance(worn_icon, worn_icon_state, layer = -HEAD_LAYER, alpha = head.alpha, color = head.color) if(istype(head, /obj/item/clothing/head/helmet/space/plasmaman)) var/obj/item/clothing/head/helmet/space/plasmaman/P = head @@ -880,70 +813,43 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(istype(head, /obj/item/clothing/head)) var/obj/item/clothing/head/w_hat = head for(var/obj/item/clothing/head/hat in w_hat.attached_hats) - if(hat.sprite_sheets && hat.sprite_sheets[dna.species.sprite_sheet_name]) - standing.overlays += image("icon" = hat.sprite_sheets[dna.species.sprite_sheet_name], "icon_state" = "[hat.icon_state]") - else - standing.overlays += image("icon" = hat.icon_override, "icon_state" = "[hat.icon_state]") + var/hat_worn_icon = listgetindex(hat.sprite_sheets, dna.species.sprite_sheet_name) || hat.worn_icon || 'icons/mob/clothing/head.dmi' + var/hat_worn_icon_state = hat.worn_icon_state || hat.icon_state + standing.overlays += image(icon = hat_worn_icon, icon_state = hat_worn_icon_state) if(head.blood_DNA) var/image/bloodsies = image("icon" = dna.species.blood_mask, "icon_state" = "helmetblood") bloodsies.color = head.blood_color standing.overlays += bloodsies - standing.alpha = head.alpha - standing.color = head.color overlays_standing[HEAD_LAYER] = standing apply_overlay(HEAD_LAYER) /mob/living/carbon/human/update_inv_belt() remove_overlay(BELT_LAYER) remove_overlay(SPECIAL_BELT_LAYER) - var/overlay_layer = BELT_LAYER - // Certain belts should go OVER the suit. But not all. - /* Items (on the belt slot) that go over the suit: - - /obj/item/storage/belt/security/webbing - - /obj/item/storage/belt/bandolier - - /obj/item/judobelt - - /obj/item/storage/belt/chef - - /obj/item/storage/belt/mining/.. - - /obj/item/storage/belt/saber - - /obj/item/defibrillator/compact/.. - - /obj/item/nullrod/.. - - /obj/item/claymore/.. - */ if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_BELT)] - if(inv) - inv.update_icon() - - if(hud_used.hud_version == HUD_STYLE_STANDARD && belt) - client.screen += belt - belt.screen_loc = UI_BELT + inv?.update_icon() if(belt) - // Manual checks for outliers (Claymores, null rods, defibs, judobelt, etc.) - Items that are belts but not storages. + update_hud_belt(belt) + // Manual checks for outliers (Claymores, null rods, defibs, etc.) - Items that are belts but not storages. var/list/special_belts = list( /obj/item/defibrillator/compact, /obj/item/nullrod, - /obj/item/storage/belt/judobelt, - /obj/item/claymore) - overlay_layer = is_type_in_list(belt, special_belts) ? SPECIAL_BELT_LAYER : BELT_LAYER - if(istype(belt, /obj/item/storage/belt)) - var/obj/item/storage/belt/B = belt - overlay_layer = B.layer_over_suit ? SPECIAL_BELT_LAYER : BELT_LAYER - - var/t_state = belt.item_state - update_observer_view(belt) - if(!t_state) - t_state = belt.icon_state - - if(belt.icon_override) - t_state = "[t_state]_be" - overlays_standing[overlay_layer] = mutable_appearance(belt.icon_override, "[t_state]", layer = -overlay_layer) - else if(belt.sprite_sheets && belt.sprite_sheets[dna.species.sprite_sheet_name]) - overlays_standing[overlay_layer] = mutable_appearance(belt.sprite_sheets[dna.species.sprite_sheet_name], "[t_state]", layer = -overlay_layer) + /obj/item/claymore, + ) + var/obj/item/storage/belt/mob_belt = belt + var/worn_layer + if(is_type_in_list(belt, special_belts) || (istype(mob_belt) && mob_belt.layer_over_suit)) + worn_layer = SPECIAL_BELT_LAYER else - overlays_standing[overlay_layer] = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) + worn_layer = BELT_LAYER + + var/worn_icon = belt.worn_icon || listgetindex(belt.sprite_sheets, dna.species.sprite_sheet_name) || 'icons/mob/clothing/belt.dmi' + var/worn_icon_state = belt.worn_icon_state || belt.icon_state + overlays_standing[worn_layer] = mutable_appearance(worn_icon, worn_icon_state, layer = -worn_layer) apply_overlay(BELT_LAYER) apply_overlay(SPECIAL_BELT_LAYER) @@ -952,23 +858,14 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) remove_overlay(SUIT_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_OUTER_SUIT)] - if(inv) - inv.update_icon() + inv?.update_icon() if(wear_suit && istype(wear_suit, /obj/item/clothing/suit)) update_hud_wear_suit(wear_suit) - var/mutable_appearance/standing - if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[dna.species.sprite_sheet_name]) - standing = mutable_appearance(wear_suit.sprite_sheets[dna.species.sprite_sheet_name], "[wear_suit.icon_state]", layer = -SUIT_LAYER) - else if(wear_suit.icon_override) - standing = mutable_appearance(wear_suit.icon_override, "[wear_suit.icon_state]", layer = -SUIT_LAYER) - else - standing = mutable_appearance('icons/mob/clothing/suit.dmi', "[wear_suit.icon_state]", layer = -SUIT_LAYER) - - if(wear_suit.breakouttime) - drop_l_hand() - drop_r_hand() + var/worn_icon = listgetindex(wear_suit.sprite_sheets, dna.species.sprite_sheet_name) || wear_suit.worn_icon || 'icons/mob/clothing/suit.dmi' + var/worn_icon_state = wear_suit.worn_icon_state || wear_suit.icon_state + var/mutable_appearance/standing = mutable_appearance(worn_icon, worn_icon_state, layer = -SUIT_LAYER, alpha = wear_suit.alpha, color = wear_suit.color) if(wear_suit.blood_DNA) var/obj/item/clothing/suit/S = wear_suit @@ -976,13 +873,6 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) bloodsies.color = wear_suit.blood_color standing.overlays += bloodsies - - var/special_overlays = wear_suit.special_overlays() - if(special_overlays) - standing.overlays += special_overlays - - standing.alpha = wear_suit.alpha - standing.color = wear_suit.color overlays_standing[SUIT_LAYER] = standing apply_overlay(SUIT_LAYER) @@ -991,49 +881,46 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) update_collar() /mob/living/carbon/human/update_inv_pockets() - if(client && hud_used) - var/atom/movable/screen/inventory/inv + if(!(client && hud_used)) + return + var/atom/movable/screen/inventory/inv + inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_LEFT_POCKET)] + inv?.update_icon() + inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_RIGHT_POCKET)] + inv?.update_icon() - inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_LEFT_POCKET)] - if(inv) - inv.update_icon() + if(hud_used.hud_version != HUD_STYLE_STANDARD) + return + if(l_store) + l_store.screen_loc = UI_STORAGE1 + if(hud_used.hud_shown) + client.screen += l_store + update_observer_view(l_store) - inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_RIGHT_POCKET)] - if(inv) - inv.update_icon() - - if(hud_used.hud_version == HUD_STYLE_STANDARD) - if(l_store) - l_store.screen_loc = UI_STORAGE1 - if(hud_used.hud_shown) - client.screen += l_store - update_observer_view(l_store) - - if(r_store) - r_store.screen_loc = UI_STORAGE2 - if(hud_used.hud_shown) - client.screen += r_store - r_store.screen_loc = UI_STORAGE2 - update_observer_view(r_store) + if(r_store) + r_store.screen_loc = UI_STORAGE2 + if(hud_used.hud_shown) + client.screen += r_store + r_store.screen_loc = UI_STORAGE2 + update_observer_view(r_store) /mob/living/carbon/human/update_inv_wear_pda() - if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_PDA)] - if(inv) - inv.update_icon() + if(!client) + return + var/atom/movable/screen/inventory/inv = hud_used?.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_PDA)] + inv?.update_icon() - if(wear_pda) - update_hud_wear_pda(wear_pda) + if(wear_pda) + update_hud_wear_pda(wear_pda) /mob/living/carbon/human/update_inv_wear_mask() - ..() + . = ..() remove_overlay(FACEMASK_LAYER) - if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_MASK)] - if(inv) - inv.update_icon() + if(client) + var/atom/movable/screen/inventory/inv = hud_used?.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_MASK)] + inv?.update_icon() + if(wear_mask && (istype(wear_mask, /obj/item/clothing/mask) || istype(wear_mask, /obj/item/clothing/accessory))) - update_hud_wear_mask(wear_mask) if(!(check_obscured_slots() & ITEM_SLOT_MASK)) var/obj/item/organ/external/head/head_organ = get_organ("head") if(!istype(head_organ)) @@ -1042,24 +929,17 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(head_organ.alt_head && head_organ.alt_head != "None") alternate_head = GLOB.alt_heads_list[head_organ.alt_head] - var/mutable_appearance/standing - var/icon/mask_icon = new(wear_mask.icon) - if(wear_mask.icon_override) - mask_icon = new(wear_mask.icon_override) - standing = mutable_appearance(wear_mask.icon_override, "[wear_mask.icon_state][(alternate_head && ("[wear_mask.icon_state]_[alternate_head.suffix]" in mask_icon.IconStates())) ? "_[alternate_head.suffix]" : ""]", layer = -FACEMASK_LAYER) - else if(wear_mask.sprite_sheets && wear_mask.sprite_sheets[dna.species.sprite_sheet_name]) - mask_icon = new(wear_mask.sprite_sheets[dna.species.sprite_sheet_name]) - standing = mutable_appearance(wear_mask.sprite_sheets[dna.species.sprite_sheet_name], "[wear_mask.icon_state][(alternate_head && ("[wear_mask.icon_state]_[alternate_head.suffix]" in mask_icon.IconStates())) ? "_[alternate_head.suffix]" : ""]", layer = -FACEMASK_LAYER) - else - standing = mutable_appearance('icons/mob/clothing/mask.dmi', "[wear_mask.icon_state][(alternate_head && ("[wear_mask.icon_state]_[alternate_head.suffix]" in mask_icon.IconStates())) ? "_[alternate_head.suffix]" : ""]", layer = -FACEMASK_LAYER) + var/icon/worn_icon = new(listgetindex(wear_mask.sprite_sheets, dna.species.sprite_sheet_name) || wear_mask.worn_icon || 'icons/mob/clothing/mask.dmi') + var/worn_icon_state = wear_mask.worn_icon_state || wear_mask.icon_state + if(alternate_head && ("[worn_icon_state]_[alternate_head.suffix]" in worn_icon.IconStates())) + worn_icon_state += "_[alternate_head.suffix]" + var/mutable_appearance/standing = mutable_appearance(worn_icon, worn_icon_state, -FACEMASK_LAYER, alpha = wear_mask.alpha, color = wear_mask.color) if(!istype(wear_mask, /obj/item/clothing/mask/cigarette) && wear_mask.blood_DNA) var/image/bloodsies = image("icon" = dna.species.blood_mask, "icon_state" = "maskblood") bloodsies.color = wear_mask.blood_color standing.overlays += bloodsies - standing.alpha = wear_mask.alpha - standing.color = wear_mask.color overlays_standing[FACEMASK_LAYER] = standing apply_overlay(FACEMASK_LAYER) @@ -1067,50 +947,33 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) remove_overlay(NECK_LAYER) remove_overlay(SPECIAL_NECK_LAYER) - if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_NECK)] - if(inv) - inv.update_icon() + if(client) + var/atom/movable/screen/inventory/inv = hud_used?.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_NECK)] + inv?.update_icon() if(neck) - var/mutable_appearance/new_neck update_hud_neck(neck) + var/worn_icon = listgetindex(neck.sprite_sheets, dna.species.sprite_sheet_name) || neck.worn_icon || 'icons/mob/clothing/neck.dmi' + var/worn_icon_state = neck.worn_icon_state || neck.icon_state + var/obj/item/clothing/neck/tie/neck_slot = neck + var/worn_layer + if(istype(neck_slot) && neck_slot.under_suit) + worn_layer = SPECIAL_NECK_LAYER + else + worn_layer = NECK_LAYER - if(neck.icon_override) - new_neck = mutable_appearance(neck.icon_override, "[neck.icon_state]", layer = -NECK_LAYER) - else if(neck.sprite_sheets && neck.sprite_sheets[dna.species.sprite_sheet_name]) - new_neck = mutable_appearance(neck.sprite_sheets[dna.species.sprite_sheet_name], "[neck.icon_state]", layer = -NECK_LAYER) - else - new_neck = mutable_appearance('icons/mob/clothing/neck.dmi', "[neck.icon_state]", layer = -NECK_LAYER) - var/obj/item/clothing/neck/tie/N = neck - if(istype(N) && N.under_suit) - new_neck.layer = -SPECIAL_NECK_LAYER - overlays_standing[SPECIAL_NECK_LAYER] = new_neck - apply_overlay(SPECIAL_NECK_LAYER) - else - overlays_standing[NECK_LAYER] = new_neck - apply_overlay(NECK_LAYER) + var/mutable_appearance/standing = mutable_appearance(worn_icon, worn_icon_state, layer = -worn_layer) + + overlays_standing[worn_layer] = standing + apply_overlay(worn_layer) /mob/living/carbon/human/update_inv_back() - ..() + . = ..() remove_overlay(BACK_LAYER) if(back) - update_hud_back(back) - //determine the icon to use - var/t_state = back.item_state - if(!t_state) - t_state = back.icon_state - var/mutable_appearance/standing - if(back.icon_override) - standing = mutable_appearance(back.icon_override, "[back.icon_state]", layer = -BACK_LAYER) - else if(back.sprite_sheets && back.sprite_sheets[dna.species.sprite_sheet_name]) - standing = mutable_appearance(back.sprite_sheets[dna.species.sprite_sheet_name], "[t_state]", layer = -BACK_LAYER) - else - standing = mutable_appearance('icons/mob/clothing/back.dmi', "[t_state]", layer = -BACK_LAYER) - - //create the image - standing.alpha = back.alpha - standing.color = back.color + var/worn_icon = listgetindex(back.sprite_sheets, dna.species.sprite_sheet_name) || back.worn_icon || 'icons/mob/clothing/back.dmi' + var/worn_icon_state = back.worn_icon_state || back.icon_state + var/mutable_appearance/standing = mutable_appearance(worn_icon, worn_icon_state, -BACK_LAYER, alpha = back.alpha, color = back.color) overlays_standing[BACK_LAYER] = standing apply_overlay(BACK_LAYER) @@ -1127,23 +990,20 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) overlays_standing[LEGCUFF_LAYER] = mutable_appearance('icons/mob/mob.dmi', legcuffed.cuffed_state, layer = -LEGCUFF_LAYER) apply_overlay(LEGCUFF_LAYER) - /mob/living/carbon/human/update_inv_r_hand() ..() remove_overlay(R_HAND_LAYER) if(r_hand) show_hand_to_observers(r_hand, left = FALSE) - var/t_state = r_hand.item_state - if(!t_state) - t_state = r_hand.icon_state - + var/worn_icon_state = r_hand.inhand_icon_state || r_hand.icon_state var/mutable_appearance/standing + if(r_hand.sprite_sheets_inhand && r_hand.sprite_sheets_inhand[dna.species.sprite_sheet_name]) - t_state = "[t_state]_r" - standing = mutable_appearance(r_hand.sprite_sheets_inhand[dna.species.sprite_sheet_name], "[t_state]", layer = -R_HAND_LAYER, color = r_hand.color) + standing = mutable_appearance(r_hand.sprite_sheets_inhand[dna.species.sprite_sheet_name], "[worn_icon_state]_r", layer = -R_HAND_LAYER, color = r_hand.color) else - standing = mutable_appearance(r_hand.righthand_file, "[t_state]", layer = -R_HAND_LAYER, color = r_hand.color) + standing = mutable_appearance(r_hand.righthand_file, worn_icon_state, layer = -R_HAND_LAYER, color = r_hand.color) standing = center_image(standing, r_hand.inhand_x_dimension, r_hand.inhand_y_dimension) + overlays_standing[R_HAND_LAYER] = standing apply_overlay(R_HAND_LAYER) @@ -1153,17 +1013,15 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) remove_overlay(L_HAND_LAYER) if(l_hand) show_hand_to_observers(l_hand, left = TRUE) - var/t_state = l_hand.item_state - if(!t_state) - t_state = l_hand.icon_state - + var/worn_icon_state = l_hand.inhand_icon_state || l_hand.icon_state var/mutable_appearance/standing + if(l_hand.sprite_sheets_inhand && l_hand.sprite_sheets_inhand[dna.species.sprite_sheet_name]) - t_state = "[t_state]_l" - standing = mutable_appearance(l_hand.sprite_sheets_inhand[dna.species.sprite_sheet_name], "[t_state]", layer = -L_HAND_LAYER, color = l_hand.color) + standing = mutable_appearance(l_hand.sprite_sheets_inhand[dna.species.sprite_sheet_name], "[worn_icon_state]_l", layer = -L_HAND_LAYER, color = l_hand.color) else - standing = mutable_appearance(l_hand.lefthand_file, "[t_state]", layer = -L_HAND_LAYER, color = l_hand.color) + standing = mutable_appearance(l_hand.lefthand_file, worn_icon_state, layer = -L_HAND_LAYER, color = l_hand.color) standing = center_image(standing, l_hand.inhand_x_dimension, l_hand.inhand_y_dimension) + overlays_standing[L_HAND_LAYER] = standing apply_overlay(L_HAND_LAYER) @@ -1183,14 +1041,12 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) observers = null break - /mob/living/carbon/human/update_hud_wear_mask(obj/item/worn_item) worn_item.screen_loc = UI_MASK if((client && hud_used && hud_used.hud_version == HUD_STYLE_STANDARD) && (hud_used.inventory_shown && hud_used.hud_shown)) client.screen += worn_item update_observer_view(worn_item, TRUE) - /mob/living/carbon/human/proc/update_hud_uniform(obj/item/worn_item) worn_item.screen_loc = UI_ICLOTHING if((client && hud_used && hud_used.hud_version == HUD_STYLE_STANDARD) && (hud_used.inventory_shown && hud_used.hud_shown)) @@ -1506,8 +1362,8 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) var/mutable_appearance/standing = null if(wear_suit) - if(wear_suit.icon_override) - var/icon_path = "[wear_suit.icon_override]" + if(wear_suit.worn_icon) + var/icon_path = "[wear_suit.worn_icon]" icon_path = "[copytext(icon_path, 1, findtext(icon_path, "/suit.dmi"))]/collar.dmi" //If this file doesn't exist, the end result is that COLLAR_LAYER will be unchanged (empty). if(fexists(icon_path)) //Just ensuring the nonexistance of a file with the above path won't cause a runtime. var/icon/icon_file = new(icon_path) diff --git a/code/modules/mob/living/carbon/human/npcs.dm b/code/modules/mob/living/carbon/human/npcs.dm index 616f2dd1736..cde39430962 100644 --- a/code/modules/mob/living/carbon/human/npcs.dm +++ b/code/modules/mob/living/carbon/human/npcs.dm @@ -1,12 +1,12 @@ /obj/item/clothing/under/punpun name = "fancy uniform" desc = "It looks like it was tailored for a monkey." + icon_state = "punpun" + worn_icon = 'icons/mob/clothing/under/misc.dmi' item_color = "punpun" species_restricted = list("Monkey") species_exception = list(/datum/species/monkey) - sprite_sheets = list("Monkey" = 'icons/mob/clothing/under/misc.dmi') - /mob/living/carbon/human/monkey/punpun/Initialize(mapload) . = ..() name = "Pun Pun" diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 4546810ec9d..b011e02b1af 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -421,14 +421,14 @@ REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LYING_DOWN_TRAIT) if(custom_sprite) H.icon = 'icons/mob/custom_synthetic/custom-synthetic.dmi' - H.icon_override = 'icons/mob/custom_synthetic/custom_head.dmi' + H.worn_icon = 'icons/mob/custom_synthetic/custom_head.dmi' H.lefthand_file = 'icons/mob/custom_synthetic/custom_lefthand.dmi' H.righthand_file = 'icons/mob/custom_synthetic/custom_righthand.dmi' H.icon_state = "[icon_state]" - H.item_state = "[icon_state]_hand" + H.inhand_icon_state = "[icon_state]_hand" else H.icon_state = "pai-[icon_state]" - H.item_state = "pai-[icon_state]" + H.inhand_icon_state = "pai-[icon_state]" grabber.put_in_active_hand(H)//for some reason unless i call this it dosen't work grabber.update_inv_l_hand() grabber.update_inv_r_hand() diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm index 2584e3ab396..3b0057227b8 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm @@ -15,17 +15,17 @@ stand_up() if(custom_sprite) H.icon = 'icons/mob/custom_synthetic/custom-synthetic.dmi' - H.icon_override = 'icons/mob/custom_synthetic/custom_head.dmi' + H.worn_icon = 'icons/mob/custom_synthetic/custom_head.dmi' H.lefthand_file = 'icons/mob/custom_synthetic/custom_lefthand.dmi' H.righthand_file = 'icons/mob/custom_synthetic/custom_righthand.dmi' H.icon_state = "[icon_state]" - H.item_state = "[icon_state]_hand" + H.inhand_icon_state = "[icon_state]_hand" else if(emagged) H.icon_state = "drone-emagged" - H.item_state = "drone-emagged" + H.inhand_icon_state = "drone-emagged" else H.icon_state = "drone" - H.item_state = "drone" + H.inhand_icon_state = "drone" grabber.put_in_active_hand(H)//for some reason unless i call this it dosen't work grabber.update_inv_l_hand() grabber.update_inv_r_hand() diff --git a/code/modules/mob/living/silicon/robot/misc_robot_items.dm b/code/modules/mob/living/silicon/robot/misc_robot_items.dm index a0410be25c9..c72487f1e44 100644 --- a/code/modules/mob/living/silicon/robot/misc_robot_items.dm +++ b/code/modules/mob/living/silicon/robot/misc_robot_items.dm @@ -43,7 +43,6 @@ name = "paper dispenser" icon = 'icons/obj/bureaucracy.dmi' icon_state = "paper_bin1" - item_state = "sheet-metal" /obj/item/form_printer/attack__legacy__attackchain(mob/living/carbon/M as mob, mob/living/carbon/user as mob) return diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 1429acb8cc1..a6df735ce21 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -3,7 +3,6 @@ icon = 'icons/obj/module.dmi' icon_state = "std_mod" w_class = 100 - item_state = "electronic" flags = CONDUCT var/module_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 0, ACID = 0) diff --git a/code/modules/mob/living/silicon/silicon_mob.dm b/code/modules/mob/living/silicon/silicon_mob.dm index c7e4c15d6c1..5e77b0498af 100644 --- a/code/modules/mob/living/silicon/silicon_mob.dm +++ b/code/modules/mob/living/silicon/silicon_mob.dm @@ -496,8 +496,8 @@ return var/image/head_icon - if(silicon_hat.icon_override) - hat_icon_file = silicon_hat.icon_override + if(silicon_hat.worn_icon) + hat_icon_file = silicon_hat.worn_icon if(!hat_icon_state) hat_icon_state = silicon_hat.icon_state if(isnull(hat_alpha)) @@ -599,6 +599,7 @@ /mob/living/silicon/proc/null_hat() silicon_hat = null + hat_icon_file = initial(hat_icon_file) hat_icon_state = null hat_alpha = null hat_color = null diff --git a/code/modules/mob/living/simple_animal/bot/bot_construction.dm b/code/modules/mob/living/simple_animal/bot/bot_construction.dm index 562132d81c3..1e5f798410d 100644 --- a/code/modules/mob/living/simple_animal/bot/bot_construction.dm +++ b/code/modules/mob/living/simple_animal/bot/bot_construction.dm @@ -41,7 +41,6 @@ desc = "Some sort of bizarre assembly." icon = 'icons/obj/aibots.dmi' icon_state = "ed209_frame" - item_state = "ed209_frame" var/build_step = 0 var/created_name = "\improper ED-209 Security Robot" //To preserve the name if it's a unique securitron I guess var/lasercolor = "" @@ -208,22 +207,16 @@ /obj/item/ed209_assembly/update_icon_state() switch(build_step) if(1) - item_state = "ed209_leg" icon_state = "ed209_leg" if(2) - item_state = "ed209_legs" icon_state = "ed209_legs" if(3,4) - item_state = "[lasercolor]ed209_shell" icon_state = "[lasercolor]ed209_shell" if(5) - item_state = "[lasercolor]ed209_hat" icon_state = "[lasercolor]ed209_hat" if(6,7) - item_state = "[lasercolor]ed209_prox" icon_state = "[lasercolor]ed209_prox" if(8,9) - item_state = "[lasercolor]ed209_taser" icon_state = "[lasercolor]ed209_taser" //Floorbot assemblies @@ -432,7 +425,9 @@ desc = "Some sort of bizarre assembly made from a proximity sensor, helmet, and signaler." icon = 'icons/obj/aibots.dmi' icon_state = "helmet_signaler" - item_state = "helmet" + inhand_icon_state = "helmet" + lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing_righthand.dmi' var/created_name = "Securitron" //To preserve the name if it's a unique securitron I guess var/build_step = 0 var/robot_arm = /obj/item/robot_parts/l_arm @@ -555,7 +550,6 @@ desc = "Some sort of bizarre assembly." icon = 'icons/obj/aibots.dmi' icon_state = "griefsky_assembly" - item_state = "griefsky_assembly" var/build_step = 0 var/toy_step = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index c2e9d2bc52a..043614b3e61 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -278,13 +278,11 @@ /obj/item/queen_bee name = "queen bee" desc = "She's the queen of bees, BZZ BZZ!" - icon_state = "queen_item" - item_state = "" icon = 'icons/mob/bees.dmi' + icon_state = "queen_item" gender = FEMALE var/mob/living/simple_animal/hostile/poison/bees/queen/queen - /obj/item/queen_bee/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(!istype(I, /obj/item/reagent_containers/syringe)) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm index 230b2e531f8..1f2951a4b7a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm @@ -263,11 +263,9 @@ desc = "A cloak which lts you travel through a perfect reflection of the world." icon = 'icons/obj/lavaland/elite_trophies.dmi' icon_state = "herald_cloak" - item_state = "herald_cloak" item_color = "herald_cloak" actions_types = list(/datum/action/item_action/herald) - /obj/item/clothing/neck/cloak/herald_cloak/item_action_slot_check(slot) if(slot == ITEM_SLOT_NECK) return TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm index 0c8b9237175..1e81928547a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm @@ -207,7 +207,6 @@ desc = "Found at the bottom of Pandora. After all the evil was released, this was the only thing left inside." icon = 'icons/obj/lavaland/elite_trophies.dmi' icon_state = "hope" - item_state = "hope" item_color = "hope" allow_duplicates = FALSE resistance_flags = FIRE_PROOF diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index c4dcc41c2ce..59ef06398be 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -10,6 +10,7 @@ /obj/item/grab name = "grab" + icon = 'icons/mob/screen_gen.dmi' flags = NOBLUDGEON | ABSTRACT | DROPDEL var/atom/movable/screen/grab/hud = null var/mob/living/affecting = null @@ -24,11 +25,8 @@ layer = 21 plane = HUD_PLANE - item_state = "nothing" - icon = 'icons/mob/screen_gen.dmi' w_class = WEIGHT_CLASS_BULKY - /obj/item/grab/New(mob/user, mob/victim) ..() diff --git a/code/modules/mod/mod_clothes.dm b/code/modules/mod/mod_clothes.dm index 423a46fad86..0ae6c665ff9 100644 --- a/code/modules/mod/mod_clothes.dm +++ b/code/modules/mod/mod_clothes.dm @@ -4,8 +4,7 @@ icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' icon_state = "standard-helmet" base_icon_state = "helmet" - item_state = 'icons/mob/clothing/modsuit/mod_clothing.dmi' - icon_override = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' heat_protection = HEAD cold_protection = HEAD permeability_coefficient = 0.01 @@ -15,7 +14,7 @@ "Tajaran" = 'icons/mob/clothing/modsuit/species/taj_modsuits.dmi', "Unathi" = 'icons/mob/clothing/modsuit/species/unathi_modsuits.dmi', "Vox" = 'icons/mob/clothing/modsuit/species/vox_modsuits.dmi' - ) + ) /obj/item/clothing/suit/mod name = "MOD chestplate" @@ -23,8 +22,7 @@ icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' icon_state = "standard-chestplate" base_icon_state = "chestplate" - item_state = 'icons/mob/clothing/modsuit/mod_clothing.dmi' - icon_override = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' blood_overlay_type = "armor" allowed = list( /obj/item/tank/internals, @@ -42,7 +40,7 @@ "Tajaran" = 'icons/mob/clothing/modsuit/species/taj_modsuits.dmi', "Unathi" = 'icons/mob/clothing/modsuit/species/unathi_modsuits.dmi', "Vox" = 'icons/mob/clothing/modsuit/species/vox_modsuits.dmi' - ) + ) /obj/item/clothing/gloves/mod @@ -51,8 +49,7 @@ icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' icon_state = "standard-gauntlets" base_icon_state = "gauntlets" - item_state = 'icons/mob/clothing/modsuit/mod_clothing.dmi' - icon_override = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' body_parts_covered = HANDS|ARMS heat_protection = HANDS|ARMS cold_protection = HANDS|ARMS @@ -62,7 +59,7 @@ "Tajaran" = 'icons/mob/clothing/modsuit/species/taj_modsuits.dmi', "Unathi" = 'icons/mob/clothing/modsuit/species/unathi_modsuits.dmi', "Vox" = 'icons/mob/clothing/modsuit/species/vox_modsuits.dmi' - ) + ) /obj/item/clothing/shoes/mod @@ -71,8 +68,7 @@ icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' icon_state = "standard-boots" base_icon_state = "boots" - item_state = 'icons/mob/clothing/modsuit/mod_clothing.dmi' - icon_override = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' body_parts_covered = FEET|LEGS heat_protection = FEET|LEGS cold_protection = FEET|LEGS @@ -82,4 +78,4 @@ "Tajaran" = 'icons/mob/clothing/modsuit/species/taj_modsuits.dmi', "Unathi" = 'icons/mob/clothing/modsuit/species/unathi_modsuits.dmi', "Vox" = 'icons/mob/clothing/modsuit/species/vox_modsuits.dmi' - ) + ) diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index af72b949700..bfded3cc1d2 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -2,15 +2,14 @@ /obj/item/mod name = "Base MOD" desc = "You should not see this, yell at a coder!" - icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi'// figure out how to work with 2 of these - icon_override = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' /obj/item/mod/control name = "MOD control unit" desc = "The control unit of a Modular Outerwear Device, a powered suit that protects against various environments." - icon_state = null - item_state = "mod_control" base_icon_state = "control" + inhand_icon_state = "mod_control" w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK strip_delay = 10 SECONDS @@ -572,8 +571,6 @@ SEND_SIGNAL(src, COMSIG_MOD_WEARER_SET, wearer) RegisterSignal(wearer, COMSIG_ATOM_EXITED, PROC_REF(on_exit)) update_charge_alert() - for(var/obj/item/clothing/C in mod_parts) - C.refit_for_species(wearer.dna.species.sprite_sheet_name) update_mod_overlays() for(var/obj/item/mod/module/module as anything in modules) module.on_equip() diff --git a/code/modules/mod/mod_core.dm b/code/modules/mod/mod_core.dm index be25414c8af..504d63c62e3 100644 --- a/code/modules/mod/mod_core.dm +++ b/code/modules/mod/mod_core.dm @@ -3,7 +3,7 @@ desc = "A non-functional MOD core. Inform the admins if you see this." icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' icon_state = "mod-core" - item_state = "electronic" + inhand_icon_state = "electronic" lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi' /// MOD unit we are powering. diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index 0fa7fd5ba74..37618b86127 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -457,7 +457,7 @@ mod.icon_state = "[mod.skin]-control" var/list/mod_skin = mod.theme.skins[mod.skin] mod.icon = mod_skin[MOD_ICON_OVERRIDE] || 'icons/obj/clothing/modsuit/mod_clothing.dmi' - mod.icon_override = mod_skin[MOD_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' + mod.worn_icon = mod_skin[MOD_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' mod.lefthand_file = initial(mod.lefthand_file) mod.righthand_file = initial(mod.righthand_file) mod.wearer.update_inv_back() diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm index 25cb67c0df2..a28c853c069 100644 --- a/code/modules/mod/modules/modules_security.dm +++ b/code/modules/mod/modules/modules_security.dm @@ -262,7 +262,6 @@ /// Mob that threw the grenade. var/mob/living/thrower - /obj/item/grenade/cryogrenade_mod/Destroy() thrower = null return ..() diff --git a/code/modules/newscaster/obj/newspaper.dm b/code/modules/newscaster/obj/newspaper.dm index bc142f6cb63..95f68f78743 100644 --- a/code/modules/newscaster/obj/newspaper.dm +++ b/code/modules/newscaster/obj/newspaper.dm @@ -12,7 +12,7 @@ desc = "An issue of The Griffon, the newspaper circulating aboard Nanotrasen Space Stations." icon = 'icons/obj/bureaucracy.dmi' icon_state = "newspaper" - item_state = "newspaper" + inhand_icon_state = "newspaper" w_class = WEIGHT_CLASS_SMALL attack_verb = list("bapped") /// The current screen to display. diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 4e7a17c0b50..a71ce768897 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -3,14 +3,12 @@ desc = "A katana infused with a strong energy." icon = 'icons/obj/weapons/energy_melee.dmi' icon_state = "energy_katana" - item_state = "energy_katana" throwforce = 20 armor_penetration_percentage = 50 armor_penetration_flat = 10 var/cooldown = 0 // Because spam aint cool, yo. var/datum/effect_system/spark_spread/spark_system - /obj/item/katana/energy/attack__legacy__attackchain(mob/living/carbon/M as mob, mob/living/carbon/user as mob) playsound(user, 'sound/weapons/blade1.ogg', 50, TRUE, -1) return ..() @@ -39,7 +37,6 @@ return ..()*/ - /obj/item/katana/energy/proc/returnToOwner(mob/living/carbon/human/user, doSpark = 1, caught = 0) if(!istype(user)) return diff --git a/code/modules/ninja/suit/ninja_gloves.dm b/code/modules/ninja/suit/ninja_gloves.dm index b553db732da..8291930fdf2 100644 --- a/code/modules/ninja/suit/ninja_gloves.dm +++ b/code/modules/ninja/suit/ninja_gloves.dm @@ -4,7 +4,6 @@ desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance." name = "ninja gloves" icon_state = "s-ninja" - item_state = "s-ninja" siemens_coefficient = 0 pickpocket = 1 cold_protection = HANDS diff --git a/code/modules/ninja/suit/ninja_head.dm b/code/modules/ninja/suit/ninja_head.dm index fa095416b75..6b61ac93d42 100644 --- a/code/modules/ninja/suit/ninja_head.dm +++ b/code/modules/ninja/suit/ninja_head.dm @@ -4,7 +4,7 @@ desc = "What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear." name = "ninja hood" icon_state = "s-ninja" - item_state = "s-ninja_hood" + inhand_icon_state = "s-ninja_hood" flags_inv = HIDEEARS|HIDEEYES|HIDEFACE armor = list(MELEE = 75, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, RAD = 15, FIRE = INFINITY, ACID = INFINITY) blockTracking = 1 diff --git a/code/modules/ninja/suit/ninja_mask.dm b/code/modules/ninja/suit/ninja_mask.dm index e024ea822a5..9ea3e36c524 100644 --- a/code/modules/ninja/suit/ninja_mask.dm +++ b/code/modules/ninja/suit/ninja_mask.dm @@ -10,15 +10,13 @@ Contents: name = "ninja mask" desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement." icon_state = "s-ninja(norm)" - item_state = "s-ninja(norm)" - + inhand_icon_state = "s-ninja_mask" sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/mask.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi', "Tajaran" = 'icons/mob/clothing/species/tajaran/mask.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/mask.dmi' - ) - + ) var/obj/item/voice_changer/voice_changer /obj/item/clothing/mask/gas/space_ninja/Initialize(mapload) diff --git a/code/modules/ninja/suit/ninja_suit.dm b/code/modules/ninja/suit/ninja_suit.dm index 7c0293a31cf..8d5a1b2c5f3 100644 --- a/code/modules/ninja/suit/ninja_suit.dm +++ b/code/modules/ninja/suit/ninja_suit.dm @@ -11,7 +11,7 @@ Contents: name = "ninja suit" desc = "A unique, vacuum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins." icon_state = "s-ninja" - item_state = "s-ninja_suit" + inhand_icon_state = "s-ninja_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/melee/baton, /obj/item/tank/internals, /obj/item/stock_parts/cell) slowdown = 0 flags_inv = HIDEJUMPSUIT|HIDETAIL @@ -64,7 +64,6 @@ Contents: icon_state = (user.gender == MALE ? "s-ninjan" : "s-ninjanf") suitGloves.icon_state = "s-ninjan" - suitGloves.item_state = "s-ninjan" return 1 @@ -78,7 +77,6 @@ Contents: suitShoes.slowdown = -1 icon_state = "s-ninja" suitGloves.icon_state = "s-ninja" - suitGloves.item_state = "s-ninja" suitHood = null suitMask = null diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index 297d0b802f3..86f52ac7e11 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -3,7 +3,6 @@ var/copied = 0 var/iscopy = 0 - /obj/item/paper/carbon/update_icon_state() if(iscopy) if(info) diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index a335bf031e4..f09568c53b3 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -8,7 +8,7 @@ GLOBAL_VAR(station_report) // Variable to save the station report desc = "It looks like you're writing a letter. Want some help?" icon = 'icons/obj/bureaucracy.dmi' icon_state = "clipboard" - item_state = "clipboard" + inhand_icon_state = "clipboard" w_class = WEIGHT_CLASS_SMALL throw_speed = 3 var/obj/item/pen/containedpen diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 01ab09886f2..2855f576156 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -7,7 +7,6 @@ desc = "A combined label printer, applicator, and remover, all in a single portable device. Designed to be easy to operate and use." icon = 'icons/obj/bureaucracy.dmi' icon_state = "labeler0" - item_state = "flight" var/label = null var/labels_left = 30 var/mode = LABEL_MODE_OFF @@ -110,10 +109,10 @@ /obj/item/hand_labeler_refill name = "hand labeler paper roll" - icon = 'icons/obj/bureaucracy.dmi' desc = "A roll of paper. Use it on a hand labeler to refill it." + icon = 'icons/obj/bureaucracy.dmi' icon_state = "labeler_refill" - item_state = "electropack" + inhand_icon_state = "electropack" w_class = WEIGHT_CLASS_TINY #undef LABEL_MODE_OFF diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index f32f210d82c..fa0827a900d 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -8,7 +8,7 @@ gender = PLURAL icon = 'icons/obj/bureaucracy.dmi' icon_state = "paper" - item_state = "paper" + inhand_icon_state = "paper" w_class = WEIGHT_CLASS_TINY throw_range = 1 throw_speed = 1 diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 48100127cd4..2330bae532a 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -2,7 +2,7 @@ name = "paper bundle" icon = 'icons/obj/bureaucracy.dmi' icon_state = "paper" - item_state = "paper" + inhand_icon_state = "paper" w_class = WEIGHT_CLASS_TINY throw_range = 2 throw_speed = 1 diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 826d273091f..153d1db4cf4 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -3,7 +3,6 @@ desc = "The second-most important part of bureaucracy, after the pen of course." icon = 'icons/obj/bureaucracy.dmi' icon_state = "paper_bin1" - item_state = "sheet-metal" throwforce = 1 throw_speed = 3 pressure_resistance = 8 diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 091f31f1417..588ac6ee844 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -14,7 +14,7 @@ name = "pen" icon = 'icons/obj/bureaucracy.dmi' icon_state = "pen" - item_state = "pen" + inhand_icon_state = "pen" slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BOTH_EARS w_class = WEIGHT_CLASS_TINY throw_speed = 3 @@ -203,6 +203,7 @@ // E-DAGGER /obj/item/pen/edagger + inhand_icon_state = null origin_tech = "combat=3;syndicate=1" var/active = FALSE var/brightness_on = 2 @@ -297,10 +298,8 @@ /obj/item/pen/edagger/update_icon_state() if(active) icon_state = "edagger" - item_state = "edagger" else icon_state = initial(icon_state) //looks like a normal pen when off. - item_state = initial(item_state) /obj/item/proc/on_write(obj/item/paper/P, mob/user) return diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 59783962a6b..4b13af9eaee 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -13,18 +13,17 @@ name = "film cartridge" desc = "A camera film cartridge. Insert it into a camera to reload it." icon_state = "film" - item_state = "electropack" + inhand_icon_state = "electropack" w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE - /******** * photo * ********/ /obj/item/photo name = "photo" icon_state = "photo" - item_state = "paper" + inhand_icon_state = "paper" w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE max_integrity = 50 @@ -129,7 +128,7 @@ desc = "A slim book with little plastic coverings to keep photos from deteriorating, it reminds you of the good ol' days." icon = 'icons/obj/items.dmi' icon_state = "album" - item_state = "syringe_kit" + inhand_icon_state = "syringe_kit" can_hold = list(/obj/item/photo) resistance_flags = FLAMMABLE w_class = WEIGHT_CLASS_SMALL @@ -168,7 +167,8 @@ name = "camera" desc = "A polaroid camera." icon_state = "camera" - item_state = "camera" + worn_icon_state = "camera" + inhand_icon_state = "camera" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_NECK new_attack_chain = TRUE diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 45bd9186be9..f8d0a231e24 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -3,7 +3,7 @@ desc = "A rubber stamp for stamping important documents." icon = 'icons/obj/bureaucracy.dmi' icon_state = "stamp-ok" - item_state = "stamp" + inhand_icon_state = "stamp" w_class = WEIGHT_CLASS_TINY throw_speed = 3 materials = list(MAT_METAL=60) diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index 0221d913c90..45266f3201d 100644 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -12,7 +12,7 @@ GLOBAL_LIST_EMPTY(PDAs) desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by a preprogrammed ROM cartridge." icon = 'icons/obj/pda.dmi' icon_state = "pda" - item_state = "electronic" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_TINY slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT | ITEM_SLOT_PDA armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 100, ACID = 100) diff --git a/code/modules/pda/cart.dm b/code/modules/pda/cart.dm index c181d901043..1608adafdec 100644 --- a/code/modules/pda/cart.dm +++ b/code/modules/pda/cart.dm @@ -3,7 +3,7 @@ desc = "A data cartridge for portable microcomputers." icon = 'icons/obj/pda.dmi' icon_state = "cart" - item_state = "electronic" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_TINY /// Integrated signaler for captain, science & generic signaler cartridge diff --git a/code/modules/power/apc/apc.dm b/code/modules/power/apc/apc.dm index 64601820e91..01a5b92598f 100644 --- a/code/modules/power/apc/apc.dm +++ b/code/modules/power/apc/apc.dm @@ -1146,8 +1146,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/worn_out, 24, 24) desc = "Heavy-duty switching circuits for power control." icon = 'icons/obj/module.dmi' icon_state = "power_mod" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_SMALL origin_tech = "engineering=2;programming=1" - item_state = "electronic" flags = CONDUCT usesound = 'sound/items/deconstruct.ogg' diff --git a/code/modules/power/cables/cable_coil.dm b/code/modules/power/cables/cable_coil.dm index a6928540fb4..27c06475a35 100644 --- a/code/modules/power/cables/cable_coil.dm +++ b/code/modules/power/cables/cable_coil.dm @@ -11,7 +11,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain singular_name = "cable" icon = 'icons/obj/power.dmi' icon_state = "coil" - item_state = "coil" + inhand_icon_state = "coil" belt_icon = "cable_coil" amount = MAXCOIL max_amount = MAXCOIL @@ -379,7 +379,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN, COLOR_ORANGE) /obj/item/stack/cable_coil/cut - item_state = "coil2" + icon_state = "coil2" /obj/item/stack/cable_coil/cut/Initialize(mapload) . = ..() diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 1c434454333..c3fd38a69c5 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -3,7 +3,6 @@ desc = "A rechargeable electrochemical power cell. This one is cheap and doesn't have very good capacity as a result." icon = 'icons/obj/power.dmi' icon_state = "cell" - item_state = "cell1" origin_tech = "powerstorage=1" force = 5 throwforce = 5 @@ -201,7 +200,6 @@ This one utilizes some experimental tweaks to the cell chemistry to achieve a better charge capacity than any cell currently available on the market." origin_tech = "powerstorage=3;materials=3" icon_state = "scell" - item_state = "cell2" maxcharge = 20000 materials = list(MAT_GLASS = 300) rating = 4 @@ -217,7 +215,7 @@ for even more tightly packed anodes and cathodes, giving this cell an incredible charge capacity." origin_tech = "powerstorage=4;engineering=4;materials=4" icon_state = "hpcell" - item_state = "cell2" + inhand_icon_state = "scell" maxcharge = 30000 materials = list(MAT_GLASS = 400) rating = 5 @@ -233,7 +231,6 @@ They then exploited the transdimensional properties of bluespace to squeeze it down to a standard cell's form factor." origin_tech = "powerstorage=5;bluespace=4;materials=4;engineering=4" icon_state = "bscell" - item_state = "cell3" maxcharge = 40000 materials = list(MAT_GLASS = 600) rating = 6 @@ -255,7 +252,6 @@ name = "infinite-capacity power cell" desc = "A self-recarging power cell. It produces endless amounts of energy seemingly out of nowhere." icon_state = "icell" - item_state = "cell4" origin_tech = "powerstorage=7" maxcharge = 30000 materials = list(MAT_GLASS=1000) @@ -271,7 +267,7 @@ desc = "An alien power cell of unknown design. It produces endless amounts of energy seemingly out of nowhere." icon = 'icons/obj/abductor.dmi' icon_state = "cell" - item_state = "cella" + inhand_icon_state = "acell" maxcharge = 50000 rating = 12 chargerate = 50000 @@ -285,7 +281,7 @@ desc = "A rechargeable starch-based power cell. The charge capacity depends on the potency of the plant used to create it." icon = 'icons/obj/hydroponics/harvest.dmi' icon_state = "potato" - item_state = "cellp" + inhand_icon_state = "pcell" origin_tech = "powerstorage=1;biotech=1" charge = 100 maxcharge = 300 @@ -298,7 +294,7 @@ origin_tech = "powerstorage=5;biotech=4" icon = 'icons/mob/slimes.dmi' icon_state = "yellow slime extract" - item_state = "cellsl" + inhand_icon_state = "slcell" materials = list() rating = 5 //self-recharge makes these desirable self_recharge = TRUE // Infused slime cores self-recharge, over time diff --git a/code/modules/power/engines/supermatter/supermatter.dm b/code/modules/power/engines/supermatter/supermatter.dm index 0bebfeb9917..ac0eedf8375 100644 --- a/code/modules/power/engines/supermatter/supermatter.dm +++ b/code/modules/power/engines/supermatter/supermatter.dm @@ -812,7 +812,6 @@ tongs.sliver = sliver sliver.forceMove(tongs) tongs.icon_state = "supermatter_tongs_loaded" - tongs.item_state = "supermatter_tongs_loaded" to_chat(H, "You pick up [sliver] with [tongs]!") return ITEM_INTERACT_COMPLETE diff --git a/code/modules/power/generators/solar.dm b/code/modules/power/generators/solar.dm index c0aed001a97..dd9b87ec4e8 100644 --- a/code/modules/power/generators/solar.dm +++ b/code/modules/power/generators/solar.dm @@ -182,7 +182,7 @@ desc = "A solar panel assembly kit, allows constructions of a solar panel, or with a tracking circuit board, a solar tracker." icon = 'icons/goonstation/objects/power.dmi' icon_state = "sp_base" - item_state = "electropack" + inhand_icon_state = "electropack" w_class = WEIGHT_CLASS_BULKY // Pretty big! var/tracker = 0 var/glass_type = null diff --git a/code/modules/power/lights.dm b/code/modules/power/lights.dm index 24c82627b71..76709fd5dbe 100644 --- a/code/modules/power/lights.dm +++ b/code/modules/power/lights.dm @@ -1024,7 +1024,7 @@ desc = "A replacement light tube." icon_state = "ltube" base_state = "ltube" - item_state = "c_tube" + inhand_icon_state = "c_tube" brightness_range = 8 /obj/item/light/tube/large @@ -1043,7 +1043,7 @@ desc = "A replacement light bulb." icon_state = "lbulb" base_state = "lbulb" - item_state = "contvapour" + inhand_icon_state = "contvapour" brightness_range = 5 /obj/item/light/throw_impact(atom/hit_atom) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 8e32bddf764..fed0e72ce9a 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -118,9 +118,9 @@ desc = "A box of ammo?" icon = 'icons/obj/ammo.dmi' icon_state = "10mmbox" // placeholder icon + inhand_icon_state = "syringe_kit" flags = CONDUCT slot_flags = ITEM_SLOT_BELT - item_state = "syringe_kit" 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 35d051414d7..e5bc8417459 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -3,7 +3,10 @@ desc = "It's a gun. It's pretty terrible, though." icon = 'icons/obj/guns/projectile.dmi' icon_state = "revolver_bright" - item_state = "gun" + worn_icon_state = "gun" + inhand_icon_state = "gun" + lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/guns_righthand.dmi' flags = CONDUCT slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL=2000) @@ -66,10 +69,6 @@ var/current_skin = null /// List of reskin options. var/list/options = list() - - lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/guns_righthand.dmi' - /// Whether or not the gun has a flashlight. var/obj/item/flashlight/gun_light = null /// Whether or not a flashlight can be attached to the gun. diff --git a/code/modules/projectiles/gun_attachments.dm b/code/modules/projectiles/gun_attachments.dm index 791a9ceef18..377696b3527 100644 --- a/code/modules/projectiles/gun_attachments.dm +++ b/code/modules/projectiles/gun_attachments.dm @@ -6,7 +6,6 @@ desc = "A universal syndicate small-arms suppressor for maximum espionage." icon = 'icons/tgmc/objects/attachments.dmi' icon_state = "suppressor" - item_state = "suppressor" w_class = WEIGHT_CLASS_SMALL var/oldsound = null var/initial_w_class = null diff --git a/code/modules/projectiles/guns/energy/energy.dm b/code/modules/projectiles/guns/energy/energy.dm index 08a04b780e6..25e9720d389 100644 --- a/code/modules/projectiles/guns/energy/energy.dm +++ b/code/modules/projectiles/guns/energy/energy.dm @@ -14,7 +14,7 @@ /obj/item/gun/energy/gun name = "\improper EG-7 energy gun" desc = "A hybrid fire energy gun manufactured by Shellguard Munitions Co. It has a mounting point for a flashlight. The fire selector has two settings: 'disable', and 'kill'." - item_state = null //so the human update icon uses the icon_state instead. + inhand_icon_state = null ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) origin_tech = "combat=4;magnets=3" modifystate = 2 @@ -126,9 +126,8 @@ /obj/item/gun/energy/gun/blueshield name = "\improper EG-14 advanced energy revolver" desc = "An advanced, pistol sized energy gun. It looks stylish, and the design makes it slightly better at bludgeoning. The fire selector has two settings: 'disable', and 'kill'." - cell_type = /obj/item/stock_parts/cell/energy_gun/hos_gun icon_state = "bsgun" - item_state = null + cell_type = /obj/item/stock_parts/cell/energy_gun/hos_gun force = 7 ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos) ammo_x_offset = 1 @@ -152,7 +151,7 @@ name = "\improper PDW-9 energy pistol" desc = "A military-grade energy pistol favored by mercenaries and militia forces. The fire selector has two settings: 'disable', and 'kill'." icon_state = "pdw9pistol" - item_state = "gun" + inhand_icon_state = "gun" /obj/item/gun/energy/gun/blueshield/pdw9/examine_more(mob/user) ..() @@ -169,7 +168,7 @@ name = "\improper AG(H)-22 hybrid turret gun" desc = "A heavy hybrid energy cannon made for mounted emplacements. The fire selector has two settings: 'stun', and 'kill'." icon_state = "turretlaser" - item_state = "turretlaser" + inhand_icon_state = "turretlaser" slot_flags = null w_class = WEIGHT_CLASS_HUGE ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) @@ -201,7 +200,6 @@ name = "advanced energy gun" desc = "An energy gun with an experimental miniaturized nuclear reactor that automatically charges the internal power cell." icon_state = "nucgun" - item_state = null origin_tech = "combat=4;magnets=4;powerstorage=4" var/fail_tick = 0 charge_delay = 5 @@ -234,7 +232,6 @@ name = "ES-9 Energy Scatterbeam" desc = "A hybrid fire energy shotgun manufactured by Shellguard Munitions Co. The pump changes the modes between 'disable' and 'kill'." icon_state = "eshotgun" - item_state = null origin_tech = "combat=5;magnets=5" w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_HEAVY diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 3fcd0a7b0d8..a4d20c6e105 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -2,7 +2,7 @@ name = "proto-kinetic accelerator" desc = "A self-recharging, ranged mining tool that does increased damage in low pressure environments. It can be upgraded using specialised mod kits." icon_state = "kineticgun" - item_state = "kineticgun" + inhand_icon_state = null ammo_type = list(/obj/item/ammo_casing/energy/kinetic) cell_type = /obj/item/stock_parts/cell/emproof needs_permit = FALSE @@ -26,6 +26,9 @@ var/empty_state = "kineticgun_empty" +/obj/item/gun/energy/kinetic_accelerator/update_icon_state() + icon_state = current_skin || initial(icon_state) + /obj/item/gun/energy/kinetic_accelerator/examine(mob/user) . = ..() if(in_range(user, src)) @@ -83,7 +86,6 @@ name = "kinetic accelerator cannon" desc = "A cyborg-modified kinetic accelerator that operates in pressurized environments, but cannot be upgraded and fires slowly." icon_state = "kineticgun_h" - item_state = "kineticgun_h" max_mod_capacity = 0 ammo_type = list(/obj/item/ammo_casing/energy/kinetic/malf) overheat_time = 2 SECONDS @@ -176,7 +178,6 @@ name = "experimental kinetic accelerator" desc = "A modified version of the proto-kinetic accelerator, with twice the modkit space of the standard version." icon_state = "kineticgun_h" - item_state = "kineticgun_h" origin_tech = "combat=5;powerstorage=3;engineering=5" max_mod_capacity = 200 @@ -266,12 +267,10 @@ var/obj/effect/temp_visual/kinetic_blast/K = new /obj/effect/temp_visual/kinetic_blast(target_turf) K.color = color - /obj/item/gun/energy/kinetic_accelerator/pistol name = "proto-kinetic pistol" desc = "A lightweight mining tool, sacrificing upgrade capacity for convenience." icon_state = "kineticpistol" - item_state = "kineticpistol" w_class = WEIGHT_CLASS_SMALL max_mod_capacity = 65 can_bayonet = FALSE @@ -605,7 +604,6 @@ KA.trigger_guard = TRIGGER_GUARD_NORMAL ..() - //Cosmetic /obj/item/borg/upgrade/modkit/chassis_mod @@ -614,10 +612,8 @@ cost = 0 denied_type = /obj/item/borg/upgrade/modkit/chassis_mod var/chassis_icon = "kineticgun_u" - var/chassis_item = "kineticgun_u" var/chassis_name = "super-kinetic accelerator" var/pistol_chassis_icon = "kineticpistol_u" - var/pistol_chassis_item = "kineticpistol_u" var/pistol_chassis_name = "super-kinetic pistol" /obj/item/borg/upgrade/modkit/chassis_mod/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) @@ -626,17 +622,14 @@ if(istype(KA, /obj/item/gun/energy/kinetic_accelerator/pistol)) KA.current_skin = pistol_chassis_icon KA.name = pistol_chassis_name - KA.item_state = pistol_chassis_icon else KA.current_skin = chassis_icon KA.name = chassis_name - KA.item_state = chassis_item KA.update_icon() /obj/item/borg/upgrade/modkit/chassis_mod/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.current_skin = initial(KA.current_skin) KA.name = initial(KA.name) - KA.item_state = initial(KA.item_state) KA.update_icon() ..() @@ -644,10 +637,8 @@ name = "hyper chassis" desc = "Makes your KA orange. All the fun of having explosive blasts without actually having explosive blasts." chassis_icon = "kineticgun_h" - chassis_item = "kineticgun_h" chassis_name = "hyper-kinetic accelerator" pistol_chassis_icon = "kineticpistol_h" - pistol_chassis_item = "kineticpistol_h" pistol_chassis_name = "hyper-kinetic pistol" /obj/item/borg/upgrade/modkit/tracer diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 833391963e6..016fbe122ad 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -17,7 +17,7 @@ name = "\improper LG-5 laser carbine" desc = "A compact and lightweight laser carbine manufactured by Shellguard Munitions Co. Considered the most widely used laserarm in the Orion sector, it only fires lethal rounds and requires a recharger to reload." icon_state = "laser" - item_state = "laser" + inhand_icon_state = "laser" materials = list(MAT_METAL=2000) origin_tech = "combat=4;magnets=2" ammo_type = list(/obj/item/ammo_casing/energy/lasergun) @@ -73,10 +73,10 @@ ////////////////////////////// /obj/item/gun/energy/laser/retro name ="\improper L-1 'retro' laser gun" - icon_state = "retro" - item_state = "retro" desc = "An older model of the basic lasergun, no longer used by Nanotrasen's private security or military forces. \ - Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws." + Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws." + icon_state = "retro" + inhand_icon_state = "retro" ammo_x_offset = 3 /obj/item/gun/energy/laser/retro/examine_more(mob/user) @@ -96,10 +96,10 @@ ////////////////////////////// /obj/item/gun/energy/laser/captain name = "antique laser gun" - icon_state = "caplaser" - item_state = null desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with bovine leather and chrome. \ - The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding." + The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding." + icon_state = "caplaser" + inhand_icon_state = null force = 10 origin_tech = null ammo_x_offset = 3 @@ -134,9 +134,9 @@ ////////////////////////////// /obj/item/gun/energy/laser/captain/scattershot name = "scatter shot laser rifle" - icon_state = "lasercannon" - item_state = "laser" desc = "A heavy-duty laser rifle fitted with a retractable prism that scatters its beam into multiple smaller shots. The fire selector has two settings: 'scatter', and 'kill'." + icon_state = "lasercannon" + modifystate = TRUE origin_tech = "combat=5;materials=4;powerstorage=4" ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser) shaded_charge = FALSE @@ -161,7 +161,8 @@ name = "accelerator laser cannon" desc = "An advanced laser cannon that does more damage the farther away the target is. At close range, damage is less than an LG-5 laser carbine shot." icon_state = "lasercannon" - item_state = null + worn_icon_state = null + inhand_icon_state = null w_class = WEIGHT_CLASS_BULKY force = 10 slot_flags = ITEM_SLOT_BACK @@ -211,7 +212,8 @@ name = "\improper LWAP laser sniper" desc = "A highly advanced laser sniper that does more damage the farther away the target is, but fires slowly. Comes with a super advanced scope, which can highlight threats through walls, and pierce one object, after being deployed for a while." icon_state = "esniper" - item_state = null + worn_icon_state = null + inhand_icon_state = null w_class = WEIGHT_CLASS_BULKY force = 12 slot_flags = ITEM_SLOT_BACK @@ -304,7 +306,7 @@ name = "\improper X-ray laser gun" desc = "A high-power laser gun capable of expelling concentrated X-ray beams. These beams can penetrate any number of solid objects, but will decrease in power the longer they have to travel." icon_state = "xray" - item_state = null + inhand_icon_state = null shaded_charge = TRUE origin_tech = "combat=6;materials=4;magnets=4;syndicate=1" ammo_type = list(/obj/item/ammo_casing/energy/xray) @@ -328,7 +330,7 @@ name = "immolator laser gun" desc = "A laser rifle that shoots incendiary bolts, struck targets will be set on fire. Each shot consumes more energy than a regular laser rifle, draining the power cell more quickly." icon_state = "immolator" - item_state = null + inhand_icon_state = null ammo_type = list(/obj/item/ammo_casing/energy/immolator) origin_tech = "combat=4;magnets=4;powerstorage=3" shaded_charge = TRUE @@ -350,7 +352,6 @@ name = "multi-lens immolator cannon" desc = "The bigger brother of the Immolator Laser Gun, featuring toggleable firemodes. The fire selector has two settings: 'scatter', and 'precise'." icon_state = "multilensimmolator" - item_state = null ammo_type = list(/obj/item/ammo_casing/energy/immolator/strong, /obj/item/ammo_casing/energy/immolator/scatter) origin_tech = "combat=5;magnets=5;powerstorage=4" @@ -384,7 +385,7 @@ name = "portable laser emitter" desc = "An emitter removed from its base, and attached to a laser cannon frame." icon_state = "emittercannon" - item_state = "laser" + inhand_icon_state = "laser" w_class = WEIGHT_CLASS_BULKY shaded_charge = TRUE origin_tech = "combat=4;magnets=4;powerstorage=3" @@ -435,10 +436,8 @@ /obj/item/gun/energy/laser/tag/blue icon_state = "bluetag" - item_state = "bluetag" ammo_type = list(/obj/item/ammo_casing/energy/laser/bluetag) /obj/item/gun/energy/laser/tag/red icon_state = "redtag" - item_state = "redtag" ammo_type = list(/obj/item/ammo_casing/energy/laser/redtag) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 98a5cded6a0..17cd326c506 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -14,7 +14,8 @@ name = "pulse rifle" desc = "An experimental energy rifle, it's extremely heavy and faintly hums with unstable energy. The absolute bleeding edge of NT weapon development. The fire selector has three settings: 'stun', 'kill', 'DESTROY'." icon_state = "pulse" - item_state = null + worn_icon_state = null + inhand_icon_state = null w_class = WEIGHT_CLASS_BULKY force = 10 modifystate = TRUE @@ -54,10 +55,9 @@ /obj/item/gun/energy/pulse/carbine name = "pulse carbine" desc = "A lighter, more compact version of the pulse rifle. Easier to store and transport, but has fewer shots. It has a mounting point for a flashlight. The fire selector has three settings: 'stun', 'kill', 'DESTROY'." + icon_state = "pulse_carbine" w_class = WEIGHT_CLASS_NORMAL slot_flags = ITEM_SLOT_BELT - icon_state = "pulse_carbine" - item_state = null cell_type = /obj/item/stock_parts/cell/energy_gun/pulse/carbine can_flashlight = TRUE flight_x_offset = 18 @@ -78,10 +78,9 @@ /obj/item/gun/energy/pulse/pistol name = "pulse pistol" desc = "A pulse gun miniaturised into a pistol-sized form factor. Easy to conceal, but has a low capacity. The fire selector has three settings: 'stun', 'kill', 'DESTROY'." + icon_state = "pulse_pistol" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT - icon_state = "pulse_pistol" - item_state = null can_holster = TRUE cell_type = /obj/item/stock_parts/cell/energy_gun/pulse/pistol can_charge = FALSE @@ -134,7 +133,8 @@ name = "\improper M1911-P" desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun that matters, it's the size of the hole it puts through people." icon_state = "m1911" - item_state = "gun" + worn_icon_state = "gun" + inhand_icon_state = "gun" cell_type = /obj/item/stock_parts/cell/infinite /obj/item/gun/energy/pulse/pistol/m1911/examine(mob/user) @@ -162,7 +162,6 @@ name = "pulse turret gun" desc = "A heavy pulse cannon made for mounted emplacements. The fire selector has two settings: 'stun', and 'DESTROY'." icon_state = "turretlaser" - item_state = "turretlaser" slot_flags = null w_class = WEIGHT_CLASS_HUGE ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser/pulse) diff --git a/code/modules/projectiles/guns/energy/special_eguns.dm b/code/modules/projectiles/guns/energy/special_eguns.dm index ff8cc433e71..4aac20038e8 100644 --- a/code/modules/projectiles/guns/energy/special_eguns.dm +++ b/code/modules/projectiles/guns/energy/special_eguns.dm @@ -27,7 +27,8 @@ name = "ion rifle" desc = "A man portable anti-armor weapon designed to disable mechanical threats." icon_state = "ionrifle" - item_state = null //so the human update icon uses the icon_state instead. + worn_icon_state = null + inhand_icon_state = null fire_sound = 'sound/weapons/ionrifle.ogg' origin_tech = "combat=4;magnets=4" w_class = WEIGHT_CLASS_HUGE @@ -149,7 +150,7 @@ desc = "For the love of god, make sure you're aiming this the right way!" icon = 'icons/obj/guns/projectile.dmi' icon_state = "riotgun" - item_state = "c20r" + inhand_icon_state = "c20r" fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/meteor) @@ -162,7 +163,8 @@ desc = "The pen is mightier than the sword." icon = 'icons/obj/bureaucracy.dmi' icon_state = "pen" - item_state = "pen" + worn_icon_state = "pen" + inhand_icon_state = "pen" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' w_class = WEIGHT_CLASS_TINY @@ -174,7 +176,7 @@ name = "\improper Mind Flayer" desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon." icon_state = "flayer" - item_state = null + inhand_icon_state = null shaded_charge = TRUE ammo_type = list(/obj/item/ammo_casing/energy/mindflayer) @@ -185,7 +187,7 @@ name = "mini energy crossbow" desc = "A weapon favored by syndicate stealth specialists. Knocks down and injects toxins." icon_state = "crossbow" - item_state = "crossbow" + inhand_icon_state = "crossbow" w_class = WEIGHT_CLASS_SMALL materials = list(MAT_METAL=2000) origin_tech = "combat=4;magnets=4;syndicate=5" @@ -235,8 +237,7 @@ name = "plasma cutter" desc = "A mining tool capable of expelling concentrated plasma bursts. Its effectiveness drops dramatically outside of low-pressure environments. You could use it to cut limbs off of xenos! Or, you know, mine stuff." icon_state = "plasmacutter" - item_state = "plasmacutter" - modifystate = -1 + inhand_icon_state = "plasmacutter" origin_tech = "combat=1;materials=3;magnets=2;plasmatech=3;engineering=1" needs_permit = FALSE ammo_type = list(/obj/item/ammo_casing/energy/plasma) @@ -295,7 +296,7 @@ name = "advanced plasma cutter" desc = "An improved version of the venerable Plasma Cutter, evolved by Nanotrasen. It's just straight up better!" icon_state = "adv_plasmacutter" - item_state = "plasmacutteradv" + inhand_icon_state = "adv_plasmacutter" modifystate = "adv_plasmacutter" origin_tech = "combat=3;materials=4;magnets=3;plasmatech=4;engineering=2" ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv) @@ -318,19 +319,17 @@ /obj/item/gun/energy/wormhole_projector name = "bluespace wormhole projector" desc = "A projector that emits high density quantum-coupled bluespace beams." - ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) - item_state = "wormhole_projector1" icon_state = "wormhole_projector1" + inhand_icon_state = null origin_tech = "combat=4;bluespace=6;plasmatech=4;engineering=4" charge_delay = 5 selfcharge = TRUE + ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) var/obj/effect/portal/blue var/obj/effect/portal/orange - /obj/item/gun/energy/wormhole_projector/update_icon_state() icon_state = "wormhole_projector[select]" - item_state = icon_state /obj/item/gun/energy/wormhole_projector/process_chamber() ..() @@ -394,9 +393,8 @@ ////////////////////////////// /obj/item/gun/energy/laser/instakill name = "instakill rifle" - icon_state = "instagib" - item_state = "instagib" desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit." + icon_state = "instagib" ammo_type = list(/obj/item/ammo_casing/energy/instakill) force = 60 origin_tech = "combat=7;magnets=6" @@ -422,13 +420,11 @@ /obj/item/gun/energy/laser/instakill/red desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit. This one has a red design." icon_state = "instagibred" - item_state = "instagibred" ammo_type = list(/obj/item/ammo_casing/energy/instakill/red) /obj/item/gun/energy/laser/instakill/blue desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit. This one has a blue design." icon_state = "instagibblue" - item_state = "instagibblue" ammo_type = list(/obj/item/ammo_casing/energy/instakill/blue) ////////////////////////////// @@ -466,7 +462,7 @@ name = "plasma pistol" desc = "A specialized firearm designed to fire superheated bolts of plasma. Can be overloaded for a high damage, shield-breaking shot." icon_state = "toxgun" - item_state = "toxgun" + inhand_icon_state = "toxgun" sprite_sheets_inhand = list("Vox" = 'icons/mob/clothing/species/vox/held.dmi', "Drask" = 'icons/mob/clothing/species/drask/held.dmi') //This apperently exists, and I have the sprites so sure. origin_tech = "combat=4;magnets=4;powerstorage=3" ammo_type = list(/obj/item/ammo_casing/energy/weak_plasma, /obj/item/ammo_casing/energy/charged_plasma) @@ -619,7 +615,8 @@ name = "\improper B.S.G" desc = "The Blue Space Gun. Uses a flux anomaly core and a bluespace crystal to produce destructive bluespace energy blasts, inspired by Nanotrasen's BSA division." icon_state = "bsg" - item_state = "bsg" + worn_icon_state = "bsg" + inhand_icon_state = "bsg" origin_tech = "combat=6;materials=6;powerstorage=6;bluespace=6;magnets=6" //cutting edge technology, be my guest if you want to deconstruct one instead of use it. ammo_type = list(/obj/item/ammo_casing/energy/bsg) weapon_weight = WEAPON_HEAVY @@ -754,7 +751,8 @@ desc = "A gun that changes the body temperature of its targets, somehow. Use it in-hand to adjust the projectile temperature." // I give up on trying to come up with an explaination of how this abomonation works. - CRUNCH icon = 'icons/obj/guns/gun_temperature.dmi' icon_state = "tempgun_4" - item_state = "tempgun_4" + worn_icon_state = null + inhand_icon_state = null slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY fire_sound = 'sound/weapons/pulse3.ogg' @@ -847,24 +845,23 @@ /obj/item/gun/energy/temperature/update_icon_state() switch(temperature) if(501 to INFINITY) - item_state = "tempgun_8" + icon_state = "tempgun_8" if(400 to 500) - item_state = "tempgun_7" + icon_state = "tempgun_7" if(360 to 400) - item_state = "tempgun_6" + icon_state = "tempgun_6" if(335 to 360) - item_state = "tempgun_5" + icon_state = "tempgun_5" if(295 to 335) - item_state = "tempgun_4" + icon_state = "tempgun_4" if(260 to 295) - item_state = "tempgun_3" + icon_state = "tempgun_3" if(200 to 260) - item_state = "tempgun_2" + icon_state = "tempgun_2" if(120 to 260) - item_state = "tempgun_1" + icon_state = "tempgun_1" if(-INFINITY to 120) - item_state = "tempgun_0" - icon_state = item_state + icon_state = "tempgun_0" if(iscarbon(loc)) var/mob/living/carbon/M = loc @@ -913,7 +910,6 @@ name = "\improper DL-88 energy revolver" desc = "A 'modern' take on the classic .38 revolver, designed and manufactured by Warp-Tac Industries. The fire selector has two settings: 'tracker', and 'disable'." icon_state = "handgun" - item_state = null modifystate = TRUE ammo_type = list(/obj/item/ammo_casing/energy/detective, /obj/item/ammo_casing/energy/detective/tracker_warrant) /// If true, this gun is tracking something and cannot track another mob @@ -1072,7 +1068,7 @@ desc = "A vicious alien projectile weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive." icon = 'icons/obj/guns/projectile.dmi' icon_state = "spikethrower" - item_state = "toxgun" + inhand_icon_state = "toxgun" fire_sound_text = "a strange noise" selfcharge = TRUE charge_delay = 10 @@ -1184,7 +1180,7 @@ name = "\improper SPRK-12" desc = "A small, pistol-sized laser gun designed to regain charges from EMPs. Energy efficient, though its beams are weaker. Good at dual wielding, however." icon_state = "dueling_pistol" - item_state = "dueling_pistol" + inhand_icon_state = "dueling_pistol" w_class = WEIGHT_CLASS_SMALL can_holster = TRUE execution_speed = 4 SECONDS @@ -1209,13 +1205,12 @@ /obj/item/gun/energy/laser/lever_action name = "model 2495" desc = "A rifle styled after an ancient Earth design. Concealed beneath the wooden furniture and forged metal is a modern laser gun. Features a hand-powered charger that can be used anywhere." - cell_type = /obj/item/stock_parts/cell/energy_gun/lever_action icon_state = "lever_action" - item_state = "lever_action" fire_sound = 'sound/weapons/gunshots/gunshot_lascarbine.ogg' origin_tech = "combat=5;magnets=4" slot_flags = ITEM_SLOT_BACK can_charge = FALSE + cell_type = /obj/item/stock_parts/cell/energy_gun/lever_action ammo_type = list(/obj/item/ammo_casing/energy/lasergun/lever_action) shaded_charge = FALSE var/cycle_time = 1 SECONDS @@ -1269,7 +1264,8 @@ COOLDOWN_START(src, cycle_cooldown, total_cycle_time) /obj/item/gun/energy/laser/lever_action/update_icon_state() - icon_state = initial(icon_state) var/obj/item/ammo_casing/energy/shot = ammo_type[select] if(cell.charge < shot.e_cost) icon_state = "lever_action_e" + else + icon_state = initial(icon_state) diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 4ae319fd1bd..eed1558721a 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -13,7 +13,7 @@ name = "\improper X-260 taser" desc = "A less-lethal pistol that fires electrodes to incapacitate targets." icon_state = "taser" - item_state = null //so the human update icon uses the icon_state instead. + inhand_icon_state = null origin_tech = "combat=3" ammo_type = list(/obj/item/ammo_casing/energy/electrode) ammo_x_offset = 3 @@ -69,7 +69,7 @@ name = "disabler" desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." icon_state = "disabler" - item_state = null + inhand_icon_state = null origin_tech = "combat=3" ammo_type = list(/obj/item/ammo_casing/energy/disabler) can_flashlight = TRUE @@ -161,7 +161,7 @@ name = "u-ION Silencer" desc = "Nanotrasen's take on silenced weapons. A quiet lethal disabler, designed to make the death look like a natural cause." icon_state = "tesla" - item_state = "tesla" + inhand_icon_state = "tesla" origin_tech = "combat=6;syndicate=2" shaded_charge = TRUE ammo_type = list(/obj/item/ammo_casing/energy/silencer_ammo) @@ -187,7 +187,7 @@ /obj/item/gun/energy/arc_revolver name = "arc revolver" desc = "A high-tech revolver that fires internal, 3D printed shock cartridges in a revolving cylinder. \ - The cartridges can be recharged using conventional rechargers. These shots charge whatever they hit, causing arcs of electricity to form between them." + The cartridges can be recharged using conventional rechargers. These shots charge whatever they hit, causing arcs of electricity to form between them." icon_state = "stunrevolver" origin_tech = "combat=4;materials=4;powerstorage=4" ammo_type = list(/obj/item/ammo_casing/energy/arc_revolver) diff --git a/code/modules/projectiles/guns/energy/telegun.dm b/code/modules/projectiles/guns/energy/telegun.dm index 042ed7036b6..bd6a5692b22 100644 --- a/code/modules/projectiles/guns/energy/telegun.dm +++ b/code/modules/projectiles/guns/energy/telegun.dm @@ -4,7 +4,7 @@ name = "teleporter gun" desc = "An extremely high-tech energy gun that utilizes jury-rigged bluespace technology to teleport away living targets." icon_state = "telegun" - item_state = "telegun" + inhand_icon_state = "telegun" origin_tech = "combat=6;materials=7;powerstorage=5;bluespace=5;syndicate=4" ammo_type = list(/obj/item/ammo_casing/energy/teleport) shaded_charge = TRUE diff --git a/code/modules/projectiles/guns/energy_guns.dm b/code/modules/projectiles/guns/energy_guns.dm index 28310e68eaf..7c9695fe456 100644 --- a/code/modules/projectiles/guns/energy_guns.dm +++ b/code/modules/projectiles/guns/energy_guns.dm @@ -1,8 +1,8 @@ /obj/item/gun/energy - icon_state = "energy" name = "generic energy gun" desc = "If you can see this, make a bug report on GitHub, something went wrong!" icon = 'icons/obj/guns/energy.dmi' + icon_state = "energy" fire_sound_text = "laser blast" /// What type of power cell this uses @@ -215,19 +215,22 @@ ratio = CEILING((cell.charge / cell.maxcharge) * charge_sections, 1) var/inhand_ratio = CEILING((cell.charge / cell.maxcharge) * inhand_charge_sections, 1) var/obj/item/ammo_casing/energy/shot = ammo_type[select] + var/new_inhand_icon_state = initial(inhand_icon_state) ? null : icon_state + var/new_worn_icon_state = initial(worn_icon_state) ? null : icon_state new_icon_state = "[icon_state]_charge" - var/new_item_state = null - if(!initial(item_state)) - new_item_state = icon_state if(modifystate) new_icon_state += "_[shot.select_name]" - if(new_item_state) - new_item_state += "[shot.select_name]" - if(new_item_state) - new_item_state += "[inhand_ratio]" - item_state = new_item_state - if(current_skin) - icon_state = current_skin + if(new_inhand_icon_state) + new_inhand_icon_state += "[shot.select_name]" + if(new_worn_icon_state) + new_worn_icon_state += "[shot.select_name]" + if(new_inhand_icon_state) + new_inhand_icon_state += "[inhand_ratio]" + inhand_icon_state = new_inhand_icon_state + if(new_worn_icon_state) + new_worn_icon_state += "[inhand_ratio]" + worn_icon_state = new_worn_icon_state + icon_state = current_skin || initial(icon_state) /obj/item/gun/energy/update_overlays() . = ..() diff --git a/code/modules/projectiles/guns/grenade_launcher.dm b/code/modules/projectiles/guns/grenade_launcher.dm index 4543c92d44f..d5e28f0ecb9 100644 --- a/code/modules/projectiles/guns/grenade_launcher.dm +++ b/code/modules/projectiles/guns/grenade_launcher.dm @@ -2,7 +2,7 @@ name = "grenade launcher" desc = "a terrible, terrible thing. it's really awful!" icon_state = "riotgun" - item_state = "riotgun" + inhand_icon_state = null w_class = WEIGHT_CLASS_BULKY throw_speed = 2 throw_range = 10 diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index a692aaa35d9..9f1c4cbfadc 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -3,7 +3,9 @@ desc = "This staff is boring to watch because even though it came first you've seen everything it can do in other staves for years." icon = 'icons/obj/guns/magic.dmi' icon_state = "staffofnothing" - item_state = "staff" + inhand_icon_state = "staff" + lefthand_file = 'icons/mob/inhands/staves_lefthand.dmi' + righthand_file = 'icons/mob/inhands/staves_righthand.dmi' fire_sound = 'sound/weapons/emitter.ogg' fire_sound_text = "energy blast" w_class = WEIGHT_CLASS_HUGE @@ -19,9 +21,6 @@ clumsy_check = FALSE trigger_guard = TRIGGER_GUARD_ALLOW_ALL // Has no trigger at all, uses magic instead - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' //not really a gun and some toys use these inhands - righthand_file = 'icons/mob/inhands/items_righthand.dmi' - /obj/item/gun/magic/afterattack__legacy__attackchain(atom/target, mob/living/user, flag) if(no_den_usage) var/area/A = get_area(user) diff --git a/code/modules/projectiles/guns/magic/magic_staff.dm b/code/modules/projectiles/guns/magic/magic_staff.dm index 90797283e7c..766f4d75ff7 100644 --- a/code/modules/projectiles/guns/magic/magic_staff.dm +++ b/code/modules/projectiles/guns/magic/magic_staff.dm @@ -1,6 +1,5 @@ /obj/item/gun/magic/staff - lefthand_file = 'icons/mob/inhands/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/staves_righthand.dmi' + inhand_icon_state = null slot_flags = ITEM_SLOT_BACK ammo_type = /obj/item/ammo_casing/magic flags_2 = NO_MAT_REDEMPTION_2 @@ -9,25 +8,23 @@ /obj/item/gun/magic/staff/change name = "staff of change" desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself." - ammo_type = /obj/item/ammo_casing/magic/change icon_state = "staffofchange" - item_state = "staffofchange" + worn_icon_state = "staffofchange" + ammo_type = /obj/item/ammo_casing/magic/change fire_sound = 'sound/magic/Staff_Change.ogg' /obj/item/gun/magic/staff/animate name = "staff of animation" desc = "An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines." - ammo_type = /obj/item/ammo_casing/magic/animate icon_state = "staffofanimation" - item_state = "staffofanimation" + ammo_type = /obj/item/ammo_casing/magic/animate fire_sound = 'sound/magic/staff_animation.ogg' /obj/item/gun/magic/staff/healing name = "staff of healing" desc = "An artefact that spits bolts of restoring magic which can remove ailments of all kinds and even raise the dead." - ammo_type = /obj/item/ammo_casing/magic/heal icon_state = "staffofhealing" - item_state = "staffofhealing" + ammo_type = /obj/item/ammo_casing/magic/heal fire_sound = 'sound/magic/staff_healing.ogg' /obj/item/gun/magic/staff/healing/handle_suicide() //Stops people trying to commit suicide to heal themselves @@ -36,9 +33,8 @@ /obj/item/gun/magic/staff/chaos name = "staff of chaos" desc = "Random bullshit go!" - ammo_type = /obj/item/ammo_casing/magic/chaos icon_state = "staffofchaos" - item_state = "staffofchaos" + ammo_type = /obj/item/ammo_casing/magic/chaos max_charges = 10 recharge_rate = 2 no_den_usage = TRUE @@ -47,9 +43,8 @@ /obj/item/gun/magic/staff/door name = "staff of door creation" desc = "An artefact that spits bolts of transformative magic that can create doors in walls." - ammo_type = /obj/item/ammo_casing/magic/door icon_state = "staffofdoor" - item_state = "staffofdoor" + ammo_type = /obj/item/ammo_casing/magic/door max_charges = 10 recharge_rate = 2 no_den_usage = 1 @@ -58,9 +53,9 @@ /obj/item/gun/magic/staff/slipping name = "staff of slipping" desc = "An artefact that spits... bananas?" - ammo_type = /obj/item/ammo_casing/magic/slipping icon_state = "staffofslipping" - item_state = "staffofslipping" + worn_icon_state = "staffofslipping" + ammo_type = /obj/item/ammo_casing/magic/slipping fire_sound = 'sound/items/bikehorn.ogg' /obj/item/gun/magic/staff/slipping/honkmother @@ -73,5 +68,4 @@ desc = "An artefact that channels the will of the user into destructive bolts of force. If you aren't careful with it, you might poke someone's brain out." icon = 'icons/obj/wizard.dmi' icon_state = "focus" - item_state = "focus" ammo_type = /obj/item/ammo_casing/magic/forcebolt diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index 74685d08d4a..399e76d295b 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -14,12 +14,12 @@ CONTENTS: /obj/item/gun/magic/wand name = "wand of nothing" desc = "It's not just a stick, it's a MAGIC stick!" - ammo_type = /obj/item/ammo_casing/magic + icon_state = "nothingwand" + inhand_icon_state = "wand" lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' - icon_state = "nothingwand" - item_state = "wand" belt_icon = "wand_nothing" + ammo_type = /obj/item/ammo_casing/magic w_class = WEIGHT_CLASS_SMALL can_charge = FALSE max_charges = 100 //100, 50, 50, 34 (max charge distribution by 25%ths) @@ -43,7 +43,6 @@ CONTENTS: /obj/item/gun/magic/wand/update_icon_state() icon_state = "[initial(icon_state)][charges ? "" : "-drained"]" - /obj/item/gun/magic/wand/attack__legacy__attackchain(atom/target, mob/living/user) if(target == user) return diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm index bcaebb3fd1b..1116edba277 100644 --- a/code/modules/projectiles/guns/medbeam.dm +++ b/code/modules/projectiles/guns/medbeam.dm @@ -3,8 +3,8 @@ desc = "Delivers volatile medical nanites in a focused beam. Don't cross the beams!" icon = 'icons/obj/chronos.dmi' icon_state = "chronogun" - item_state = "chronogun" - + worn_icon_state = null + inhand_icon_state = null var/mob/living/current_target var/last_check = 0 var/check_delay = 10 //Check los as often as possible, max resolution is SSobj tick though diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm index b3c4375d6fd..91f581a53c6 100644 --- a/code/modules/projectiles/guns/misc/blastcannon.dm +++ b/code/modules/projectiles/guns/misc/blastcannon.dm @@ -2,13 +2,12 @@ name = "pipe gun" desc = "A pipe welded onto a gun stock, with a mechanical trigger. The pipe has an opening near the top, and there seems to be a spring loaded wheel in the hole." icon_state = "empty_blastcannon" - var/icon_state_loaded = "loaded_blastcannon" - item_state = "blastcannon_empty" + inhand_icon_state = "blastcannon_empty" force = 10 fire_sound = 'sound/weapons/blastcannon.ogg' needs_permit = FALSE clumsy_check = FALSE - + var/icon_state_loaded = "loaded_blastcannon" var/obj/item/transfer_valve/bomb /obj/item/gun/blastcannon/Destroy() diff --git a/code/modules/projectiles/guns/mounted.dm b/code/modules/projectiles/guns/mounted.dm index 6dbb7f3b5a8..c57a76eb643 100644 --- a/code/modules/projectiles/guns/mounted.dm +++ b/code/modules/projectiles/guns/mounted.dm @@ -3,7 +3,7 @@ desc = "An arm mounted dual-mode weapon that fires electrodes and disabler shots." icon = 'icons/obj/items_cyborg.dmi' icon_state = "taser" - item_state = "armcannonstun4" + inhand_icon_state = "armcannonstun4" selfcharge = TRUE can_flashlight = FALSE trigger_guard = TRIGGER_GUARD_ALLOW_ALL // Has no trigger at all, uses neural signals instead @@ -12,6 +12,6 @@ name = "mounted laser" desc = "An arm mounted cannon that fires lethal lasers." icon = 'icons/obj/items_cyborg.dmi' - item_state = "armcannonlase" + inhand_icon_state = "armcannonlase" selfcharge = TRUE trigger_guard = TRIGGER_GUARD_ALLOW_ALL diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index e02857301f6..8bbef738e9f 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -92,7 +92,7 @@ name = "\improper NF10 'Saber' SMG" desc = "A rejected prototype three-round burst 9mm submachine gun, designated 'SABR'. Surplus of this model are bouncing around armories of Nanotrasen Space Stations. Has a threaded barrel for suppressors." icon_state = "saber" - item_state = "saber" + inhand_icon_state = "saber" mag_type = /obj/item/ammo_box/magazine/smgm9mm origin_tech = "combat=4;materials=2" fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg' @@ -104,7 +104,7 @@ name = "\improper C-20R SMG" desc = "A two-round burst .45 SMG, designated 'C-20R'. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp." icon_state = "c20r" - item_state = "c20r" + inhand_icon_state = "c20r" origin_tech = "combat=5;materials=2;syndicate=6" mag_type = /obj/item/ammo_box/magazine/smgm45 fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg' @@ -131,7 +131,6 @@ name = "\improper WT-550 PDW" desc = "An outdated personal defense weapon utilized by law enforcement. Chambered in 4.6x30mm." icon_state = "wt550" - item_state = "wt550" w_class = WEIGHT_CLASS_BULKY mag_type = /obj/item/ammo_box/magazine/wt550m9 fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg' @@ -145,8 +144,8 @@ knife_y_offset = 12 /obj/item/gun/projectile/automatic/wt550/update_icon_state() - icon_state = "wt550[magazine ? "-[CEILING(get_ammo(0)/4, 1)*4]" : ""]" - item_state = "wt550-[CEILING(get_ammo(0)/6.7, 1)]" + icon_state = "wt550[magazine ? "-[CEILING(get_ammo(FALSE) / 4, 1) * 4]" : ""]" + inhand_icon_state = "wt550-[CEILING(get_ammo(FALSE) / 6.7, 1)]" ////////////////////////////// // MARK: TYPE U3 UZI @@ -156,7 +155,9 @@ desc = "A lightweight, burst-fire submachine gun, for when you really want someone dead. Uses 9mm rounds." icon = 'icons/tgmc/objects/guns.dmi' icon_state = "mini-uzi" - item_state = "mini-uzi" + inhand_icon_state = "mini-uzi" + lefthand_file = 'icons/tgmc/mob/inhands/guns_lefthand.dmi' + righthand_file = 'icons/tgmc/mob/inhands/guns_righthand.dmi' origin_tech = "combat=4;materials=2;syndicate=4" mag_type = /obj/item/ammo_box/magazine/uzim9mm fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg' @@ -175,7 +176,7 @@ name = "\improper M-90GL Carbine" desc = "A three-round burst 5.56 toploading carbine, designated 'M-90GL'. Has an attached underbarrel grenade launcher which can be toggled on and off." icon_state = "m90" - item_state = "m90-4" + inhand_icon_state = "m90-4" origin_tech = "combat=5;materials=2;syndicate=6" mag_type = /obj/item/ammo_box/magazine/m556 fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg' @@ -210,10 +211,7 @@ /obj/item/gun/projectile/automatic/m90/update_icon_state() icon_state = "[initial(icon_state)][magazine ? "" : "-e"]" - if(magazine) - item_state = "m90-[CEILING(get_ammo(0)/7.5, 1)]" - else - item_state = "m90-0" + inhand_icon_state = "m90-[CEILING(get_ammo(FALSE) / 7.5, 1)]" /obj/item/gun/projectile/automatic/m90/update_overlays() . = ..() @@ -252,7 +250,7 @@ /obj/item/gun/projectile/automatic/tommygun name = "\improper Thompson SMG" desc = "A genuine 'Chicago Typewriter'." - item_state = "shotgun" + inhand_icon_state = "shotgun" w_class = WEIGHT_CLASS_HUGE slot_flags = 0 origin_tech = "combat=5;materials=1;syndicate=3" @@ -269,7 +267,7 @@ name = "\improper M26A2 assault rifle" desc = "A robust assault rifle used by Trans-Solar Federation forces. Chambered in 5.56mm." icon_state = "arg" - item_state = "arg" + inhand_icon_state = "arg" slot_flags = 0 origin_tech = "combat=6;engineering=4" mag_type = /obj/item/ammo_box/magazine/m556/arg @@ -286,7 +284,7 @@ name = "\improper AK-814 assault rifle" desc = "A modern AK assault rifle favored by elite Soviet soldiers. Chambered in 7.62x54mm." icon_state = "ak814" - item_state = "ak814" + inhand_icon_state = "ak814" origin_tech = "combat=5;materials=3" mag_type = /obj/item/ammo_box/magazine/ak814 fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg' @@ -306,7 +304,7 @@ name = "\improper AS-14 'Bulldog' Shotgun" desc = "A compact semi-automatic shotgun for combat in narrow corridors, nicknamed 'Bulldog' by boarding parties. Compatible only with specialized 8-round drum magazines." icon_state = "bulldog" - item_state = "bulldog" + inhand_icon_state = "bulldog" origin_tech = "combat=6;materials=4;syndicate=6" mag_type = /obj/item/ammo_box/magazine/m12g fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' @@ -360,7 +358,7 @@ name = "\improper IK-M2 laser carbine" desc = "A compact Warp-Tac Industries fully automatic laser carbine that uses disposable laser cartridges rather than an internal power cell. Utilized by Nanotrasen's response teams for combat operations." icon_state = "lasercarbine" - item_state = "lasercarbine" + inhand_icon_state = "lasercarbine" origin_tech = "combat=4;materials=2" mag_type = /obj/item/ammo_box/magazine/laser fire_sound = 'sound/weapons/gunshots/gunshot_lascarbine.ogg' @@ -388,8 +386,13 @@ AddComponent(/datum/component/automatic_fire, 0.30 SECONDS, allow_akimbo = FALSE) /obj/item/gun/projectile/automatic/lasercarbine/update_icon_state() - icon_state = "lasercarbine[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]" - item_state = "lasercarbine[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]" + if(magazine) + var/bullets = CEILING(get_ammo(FALSE) / 5, 1) * 5 + icon_state = "lasercarbine-[bullets]" + inhand_icon_state = "lasercarbine-[bullets]" + else + icon_state = "lasercarbine" + inhand_icon_state = "lasercarbine" ////////////////////////////// // MARK: IK-M1 LASER RIFLE @@ -398,7 +401,7 @@ name = "\improper IK-M1 laser rifle" desc = "A sleek, Warp-Tac Industries laser rifle that uses disposable laser cartridges rather than an internal power cell. Sold to Nanotrasen's private security forces." icon_state = "laserrifle" - item_state = "lasercarbine" + inhand_icon_state = "lasercarbine" w_class = WEIGHT_CLASS_BULKY origin_tech = "combat=3;materials=2" mag_type = /obj/item/ammo_box/magazine/laser @@ -427,5 +430,10 @@ . += "Today, the latest generation of the IK-M1 competes with established laser brands like Shellguard Munitions, positioning itself as a premium choice in the laser weaponry market." /obj/item/gun/projectile/automatic/laserrifle/update_icon_state() - icon_state = "laserrifle[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]" - item_state = "lasercarbine[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]" + if(magazine) + var/bullets = CEILING(get_ammo(FALSE) / 5, 1) * 5 + icon_state = "laserrifle-[bullets]" + inhand_icon_state = "lasercarbine-[bullets]" + else + icon_state = "laserrifle" + inhand_icon_state = "lasercarbine" diff --git a/code/modules/projectiles/guns/projectile/bow.dm b/code/modules/projectiles/guns/projectile/bow.dm index 66d120f0366..fbc66707f3f 100644 --- a/code/modules/projectiles/guns/projectile/bow.dm +++ b/code/modules/projectiles/guns/projectile/bow.dm @@ -2,7 +2,7 @@ name = "bow" desc = "A sturdy bow made out of wood and reinforced with iron." icon_state = "bow_unloaded" - item_state = "bow" + inhand_icon_state = "bow" fire_sound = 'sound/weapons/grenadelaunch.ogg' mag_type = /obj/item/ammo_box/magazine/internal/bow flags = HANDSLOW @@ -86,11 +86,8 @@ name = "quiver" desc = "A quiver for holding arrows." icon_state = "quiver" - item_state = "quiver" storage_slots = 20 - can_hold = list( - /obj/item/ammo_casing/caseless/arrow - ) + can_hold = list(/obj/item/ammo_casing/caseless/arrow) /obj/item/storage/backpack/quiver/full/populate_contents() for(var/i in 1 to storage_slots) diff --git a/code/modules/projectiles/guns/projectile/launchers.dm b/code/modules/projectiles/guns/projectile/launchers.dm index 27d0db454d4..bd752aeac3e 100644 --- a/code/modules/projectiles/guns/projectile/launchers.dm +++ b/code/modules/projectiles/guns/projectile/launchers.dm @@ -3,11 +3,11 @@ //this is only used for underbarrel grenade launchers at the moment, but admins can still spawn it if they feel like being assholes /obj/item/gun/projectile/revolver/grenadelauncher - desc = "A break-action grenade launcher." name = "grenade launcher" + desc = "A break-action grenade launcher." icon = 'icons/obj/guns/projectile.dmi' icon_state = "dbshotgun_sawn" - item_state = "gun" + inhand_icon_state = "gun" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' mag_type = /obj/item/ammo_box/magazine/internal/grenadelauncher @@ -23,7 +23,7 @@ desc = "A revolving 6-shot grenade launcher." name = "multi grenade launcher" icon_state = "bulldog" - item_state = "bulldog" + inhand_icon_state = "bulldog" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/grenadelauncher/multi /obj/item/gun/projectile/revolver/grenadelauncher/multi/cyborg @@ -48,7 +48,6 @@ fire_delay = 0 actions_types = list() - /obj/item/gun/projectile/automatic/gyropistol/process_chamber(eject_casing = 0, empty_chamber = 1) ..() @@ -59,7 +58,8 @@ name = "kinetic speargun" desc = "A weapon favored by carp hunters. Fires specialized spears using kinetic energy." icon_state = "speargun" - item_state = "speargun" + worn_icon_state = "speargun" + inhand_icon_state = "speargun" w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK origin_tech = "combat=4;engineering=4" diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index de9f5826f2b..933b05e2bc8 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -4,7 +4,7 @@ desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." icon = 'icons/tgmc/objects/guns.dmi' icon_state = "pistol" - item_state = "pistol" + inhand_icon_state = "pistol" lefthand_file = 'icons/tgmc/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/tgmc/mob/inhands/guns_righthand.dmi' w_class = WEIGHT_CLASS_SMALL @@ -40,7 +40,7 @@ name = "\improper M1911" desc = "A classic .45 handgun with a small magazine capacity." icon_state = "m1911" - item_state = "m1911" + inhand_icon_state = "m1911" w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/m45 can_suppress = FALSE @@ -58,7 +58,7 @@ name = "\improper NF10 'Enforcer' pistol" desc = "A 9mm sidearm commonly used by Nanotrasen Asset Protection." icon_state = "enforcer_grey" - item_state = "enforcer_grey" + inhand_icon_state = "enforcer_grey" force = 10 mag_type = /obj/item/ammo_box/magazine/enforcer unique_reskin = TRUE @@ -98,6 +98,7 @@ desc = "A robust .50 AE handgun." icon = 'icons/obj/guns/projectile.dmi' icon_state = "deagle" + inhand_icon_state = "deagleg" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' force = 14.0 @@ -110,19 +111,17 @@ /obj/item/gun/projectile/automatic/pistol/deagle/gold desc = "A gold plated Desert Eagle folded over a million times by superior martian gunsmiths. Uses .50 AE ammo." icon_state = "deagleg" - item_state = "deagleg" /obj/item/gun/projectile/automatic/pistol/deagle/camo desc = "A Deagle brand Deagle for operators operating operationally. Uses .50 AE ammo." icon_state = "deaglecamo" - item_state = "deagleg" //Type 230 Machine Pistol// /obj/item/gun/projectile/automatic/pistol/type_230 name = "\improper Type 230 Machine Pistol" desc = "A compact submachine gun produced by the USSP-based Rocino Armaments Collective. Chambered in 10mm." icon_state = "type_230" - item_state = "type_230" + inhand_icon_state = "type_230" w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/apsm10mm can_suppress = FALSE diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index f0b1706d3cf..8af1bcd7c7e 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -4,7 +4,7 @@ materials = list() icon = 'icons/tgmc/objects/guns.dmi' icon_state = "revolver" - item_state = "revolver" + inhand_icon_state = "revolver" lefthand_file = 'icons/tgmc/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/tgmc/mob/inhands/guns_righthand.dmi' mag_type = /obj/item/ammo_box/magazine/internal/cylinder @@ -177,14 +177,14 @@ name = "\improper Unica 6 auto-revolver" desc = "A retro high-powered autorevolver typically used by officers of several unrelated militaries. Uses .357 ammo." //>10mm hole >.357 icon_state = "mateba" - item_state = "mateba" + inhand_icon_state = "mateba" /obj/item/gun/projectile/revolver/golden name = "\improper Golden revolver" desc = "This ain't no game, ain't never been no show, And I'll gladly gun down the oldest lady you know. Uses .357 ammo." icon = 'icons/tgmc/objects/guns64.dmi' icon_state = "goldrevolver" - item_state = "goldrevolver" + inhand_icon_state = "goldrevolver" fire_sound = 'sound/weapons/resonator_blast.ogg' recoil = 8 @@ -192,7 +192,7 @@ name = "\improper Nagant revolver" desc = "An old model of revolver that originated in Russia, now used by the USSP. Able to be suppressed. Uses 7.62x38mmR ammo." icon_state = "nagant" - item_state = "nagant" + inhand_icon_state = "nagant" origin_tech = "combat=3" can_suppress = TRUE mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev762 @@ -207,7 +207,9 @@ desc = "A bulky revolver that seems to be made out of a plant." icon = 'icons/obj/guns/projectile.dmi' icon_state = "pea_shooter" - item_state = "peashooter" + inhand_icon_state = "peashooter" + lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/guns_righthand.dmi' w_class = WEIGHT_CLASS_BULKY origin_tech = "combat=3;biotech=5" mag_type = /obj/item/ammo_box/magazine/internal/overgrown @@ -235,7 +237,8 @@ desc = "A true classic, by Starstrike Arms." icon = 'icons/obj/guns/projectile.dmi' icon_state = "dbshotgun" - item_state = null + worn_icon_state = null + inhand_icon_state = null lefthand_file = 'icons/mob/inhands/64x64_guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/64x64_guns_righthand.dmi' inhand_x_dimension = 64 @@ -269,10 +272,8 @@ var/obj/item/melee/energy/W = A if(HAS_TRAIT(W, TRAIT_ITEM_ACTIVE)) sawoff(user) - item_state = icon_state if(istype(A, /obj/item/circular_saw) || istype(A, /obj/item/gun/energy/plasmacutter)) sawoff(user) - item_state = icon_state else return ..() @@ -331,7 +332,6 @@ name = "improvised shotgun" desc = "Essentially a tube that aims shotgun shells." icon_state = "ishotgun" - item_state = "ishotgun" slot_flags = null mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised sawn_desc = "I'm just here for the gasoline." @@ -354,7 +354,6 @@ /obj/item/gun/projectile/revolver/doublebarrel/improvised/update_icon_state() icon_state = "ishotgun[sling ? "_sling" : sawn_state == SAWN_OFF ? "_sawn" : ""]" - item_state = "ishotgun[sling ? "_sling" : sawn_state == SAWN_OFF ? "_sawn" : ""]" /obj/item/gun/projectile/revolver/doublebarrel/improvised/sawoff(mob/user) . = ..() @@ -369,16 +368,16 @@ name = "cane" desc = "A cane used by a true gentleman. Or a clown." icon = 'icons/obj/items.dmi' + icon_state = "cane" + worn_icon_state = null + inhand_icon_state = "stick" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 - icon_state = "cane" - item_state = "stick" sawn_state = SAWN_OFF w_class = WEIGHT_CLASS_SMALL can_unsuppress = FALSE - slot_flags = null origin_tech = "" // NO GIVAWAYS mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised/cane sawn_desc = "I'm sorry, but why did you saw your cane in the first place?" @@ -393,9 +392,6 @@ /obj/item/gun/projectile/revolver/doublebarrel/improvised/cane/update_icon_state() return -/obj/item/gun/projectile/revolver/doublebarrel/improvised/cane/update_overlays() - return list() - /obj/item/gun/projectile/revolver/doublebarrel/improvised/cane/attackby__legacy__attackchain(obj/item/A, mob/user, params) if(istype(A, /obj/item/stack/cable_coil)) return diff --git a/code/modules/projectiles/guns/projectile/saw.dm b/code/modules/projectiles/guns/projectile/saw.dm index 95dca360526..eeab5c8440d 100644 --- a/code/modules/projectiles/guns/projectile/saw.dm +++ b/code/modules/projectiles/guns/projectile/saw.dm @@ -2,7 +2,7 @@ name = "\improper L6 SAW" desc = "A next-generation medium machine gun designed by Aussec Armory for CQB use aboard ships and stations. Chambered in 7.62x51mm Federal." icon_state = "l6closed100" - item_state = "l6closedmag" + inhand_icon_state = "l6closedmag" w_class = WEIGHT_CLASS_HUGE slot_flags = 0 origin_tech = "combat=6;engineering=3;syndicate=6" @@ -11,12 +11,12 @@ fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg' magin_sound = 'sound/weapons/gun_interactions/lmg_magin.ogg' magout_sound = 'sound/weapons/gun_interactions/lmg_magout.ogg' - var/cover_open = FALSE actions_types = list() can_suppress = FALSE burst_size = 1 spread = 7 fire_delay = 0 + var/cover_open = FALSE /obj/item/gun/projectile/automatic/l6_saw/Initialize(mapload) . = ..() @@ -29,8 +29,8 @@ update_icon() /obj/item/gun/projectile/automatic/l6_saw/update_icon_state() - icon_state = "l6[cover_open ? "open" : "closed"][magazine ? CEILING(get_ammo(0)/12.5, 1)*25 : "-empty"][suppressed ? "-suppressed" : ""]" - item_state = "l6[cover_open ? "openmag" : "closedmag"]" + icon_state = "l6[cover_open ? "open" : "closed"][magazine ? CEILING(get_ammo(FALSE) / 12.5, 1) * 25 : "-empty"][suppressed ? "-suppressed" : ""]" + inhand_icon_state = "l6[cover_open ? "open" : "closed"][magazine ? "mag" : ""]" /obj/item/gun/projectile/automatic/l6_saw/afterattack__legacy__attackchain(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays if(cover_open) @@ -53,9 +53,12 @@ magazine = null playsound(src, magout_sound, 50, 1) update_icon() + if(user.hand) + user.update_inv_r_hand() + else + user.update_inv_l_hand() to_chat(user, "You remove the magazine from [src].") - /obj/item/gun/projectile/automatic/l6_saw/attackby__legacy__attackchain(obj/item/A, mob/user, params) if(istype(A, /obj/item/ammo_box/magazine)) var/obj/item/ammo_box/magazine/AM = A diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 859fbbc92fe..ed1888afd81 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -2,7 +2,8 @@ name = "shotgun" desc = "A traditional shotgun with wood furniture and a four-shell capacity underneath." icon_state = "shotgun" - item_state = "shotgun" + worn_icon_state = null + inhand_icon_state = null lefthand_file = 'icons/mob/inhands/64x64_guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/64x64_guns_righthand.dmi' inhand_x_dimension = 64 @@ -10,7 +11,6 @@ w_class = WEIGHT_CLASS_BULKY force = 10 slot_flags = ITEM_SLOT_BACK - origin_tech = "combat=4;materials=2" mag_type = /obj/item/ammo_box/magazine/internal/shot fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' weapon_weight = WEAPON_HEAVY @@ -36,7 +36,6 @@ A.update_icon() update_icon() - /obj/item/gun/projectile/shotgun/process_chamber() return ..(FALSE, FALSE) @@ -84,7 +83,6 @@ name = "\improper M500 riot shotgun" desc = "A sturdy shotgun by Starstrike Arms, featuring a longer magazine and a fixed tactical stock designed for non-lethal riot control." icon_state = "riotshotgun" - item_state = "riotshotgun" mag_type = /obj/item/ammo_box/magazine/internal/shot/riot sawn_desc = "Come with me if you want to live." @@ -129,18 +127,15 @@ post_sawoff() return 1 - /obj/item/gun/projectile/shotgun/riot/proc/post_sawoff() w_class = WEIGHT_CLASS_NORMAL current_skin = "riotshotgun_sawn" - item_state = "riotshotgun_sawn" //phil235 is it different with different skin? slot_flags &= ~ITEM_SLOT_BACK //you can't sling it on your back slot_flags |= ITEM_SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) sawn_state = SAWN_OFF magazine.max_ammo = 3 update_appearance() - /obj/item/gun/projectile/shotgun/riot/proc/unsaw(obj/item/A, mob/user) if(sawn_state == SAWN_INTACT) to_chat(user, "[src] has not been shortened!") @@ -174,7 +169,6 @@ /obj/item/gun/projectile/shotgun/riot/proc/post_unsaw() w_class = initial(w_class) current_skin = "riotshotgun" - item_state = initial(item_state) slot_flags &= ~ITEM_SLOT_BELT slot_flags |= ITEM_SLOT_BACK sawn_state = SAWN_INTACT @@ -202,18 +196,19 @@ name = "\improper Mosin Nagant" desc = "An ancient design commonly used by the conscript forces of the USSP. Chambered in 7.62mm. Has a bayonet lug for attaching a knife." icon_state = "moistnugget" - item_state = "moistnugget" + worn_icon_state = "moistnugget" + inhand_icon_state = "moistnugget" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 mag_type = /obj/item/ammo_box/magazine/internal/boltaction fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg' - var/bolt_open = FALSE can_bayonet = TRUE knife_x_offset = 27 knife_y_offset = 13 execution_speed = 7 SECONDS + var/bolt_open = FALSE /obj/item/gun/projectile/shotgun/boltaction/pump(mob/M) playsound(M, 'sound/weapons/gun_interactions/rifle_load.ogg', 60, 1) @@ -282,9 +277,11 @@ /obj/item/gun/projectile/shotgun/boltaction/enchanted/arcane_barrage name = "arcane barrage" desc = "Pew Pew Pew." - fire_sound = 'sound/weapons/emitter.ogg' icon_state = "arcane_barrage" - item_state = "arcane_barrage" + inhand_icon_state = "disintegrate" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' + fire_sound = 'sound/weapons/emitter.ogg' slot_flags = null flags = NOBLUDGEON | DROPDEL | ABSTRACT mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage @@ -309,8 +306,7 @@ /obj/item/gun/projectile/shotgun/automatic/combat name = "\improper M600 combat shotgun" desc = "A semi automatic shotgun by Starstrike Arms, with tactical furniture and a six-shell magazine capacity." - icon_state = "cshotgun" - item_state = "shotgun_combat" + icon_state = "shotgun_combat" origin_tech = "combat=6" mag_type = /obj/item/ammo_box/magazine/internal/shot/com execution_speed = 5 SECONDS @@ -331,11 +327,12 @@ name = "\improper XM800 cycler shotgun" desc = "A prototype shotgun by Starstrike Arms with two separate magazine tubes, allowing you to quickly toggle between ammo types." icon_state = "cycler" - inhand_x_dimension = 32 - inhand_y_dimension = 32 + worn_icon_state = "shotgun_combat" + inhand_icon_state = "bulldog" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' - item_state = "bulldog" + inhand_x_dimension = 32 + inhand_y_dimension = 32 mag_type = /obj/item/ammo_box/magazine/internal/shot/tube w_class = WEIGHT_CLASS_HUGE var/toggled = 0 diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 50644251075..ef13f55bf29 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -2,7 +2,8 @@ name = "\improper SR-31C sniper rifle" desc = "A powerful anti-materiel rifle produced by Aussec Armory, chambered in devastating .50 BMG." icon_state = "sniper" - item_state = "sniper" + worn_icon_state = "sniper" + inhand_icon_state = "sniper" recoil = 2 weapon_weight = WEAPON_HEAVY mag_type = /obj/item/ammo_box/magazine/sniper_rounds diff --git a/code/modules/projectiles/guns/projectile/toy.dm b/code/modules/projectiles/guns/projectile/toy.dm index bf5cef843b4..37d29a82b24 100644 --- a/code/modules/projectiles/guns/projectile/toy.dm +++ b/code/modules/projectiles/guns/projectile/toy.dm @@ -3,7 +3,7 @@ desc = "A prototype three-round burst toy submachine gun. Ages 8 and up." icon = 'icons/obj/guns/toy.dmi' icon_state = "saber" - item_state = "saber" + inhand_icon_state = "saber" mag_type = /obj/item/ammo_box/magazine/toy/smg fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg' suppressed_sound = 'sound/weapons/gunshots/gunshot_smg.ogg' @@ -19,7 +19,7 @@ name = "foam force pistol" desc = "A small, easily concealable toy handgun. Ages 8 and up." icon_state = "pistol" - item_state = "gun" + inhand_icon_state = "gun" w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/toy/pistol fire_sound = 'sound/weapons/gunshots/gunshot.ogg' @@ -81,7 +81,8 @@ name = "foam force crossbow" desc = "A weapon favored by many overactive children. Ages 8 and up." icon_state = "crossbow" - item_state = "foamcrossbow" + worn_icon_state = "gun" + inhand_icon_state = "foamcrossbow" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' inhand_x_dimension = 32 @@ -124,6 +125,7 @@ name = "tommy gun" desc = "Looks almost like the real thing! Great for practicing Drive-bys. Ages 8 and up." icon_state = "tommygun" + worn_icon_state = "gun" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' inhand_x_dimension = 32 diff --git a/code/modules/projectiles/guns/projectile_gun.dm b/code/modules/projectiles/guns/projectile_gun.dm index 01f7cb697f8..04b5887abfd 100644 --- a/code/modules/projectiles/guns/projectile_gun.dm +++ b/code/modules/projectiles/guns/projectile_gun.dm @@ -230,7 +230,7 @@ return user.visible_message("[user] shortens \the [src]!", "You shorten \the [src].") w_class = WEIGHT_CLASS_NORMAL - item_state = "gun"//phil235 is it different with different skin? + inhand_icon_state = "gun" //phil235 is it different with different skin? slot_flags &= ~ITEM_SLOT_BACK //you can't sling it on your back slot_flags |= ITEM_SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) sawn_state = SAWN_OFF diff --git a/code/modules/projectiles/guns/rocket.dm b/code/modules/projectiles/guns/rocket.dm index f4aab3c3ef4..133e441d0cc 100644 --- a/code/modules/projectiles/guns/rocket.dm +++ b/code/modules/projectiles/guns/rocket.dm @@ -1,9 +1,8 @@ /obj/item/gun/rocketlauncher - var/projectile name = "rocket launcher" desc = "A rocket propelled grenade launcher. Holds one shell at a time." icon_state = "rocket" - item_state = "rocket" + inhand_icon_state = "rocket" w_class = WEIGHT_CLASS_BULKY throw_speed = 2 throw_range = 3 @@ -15,7 +14,6 @@ var/missile_speed = 2 var/missile_range = 30 - /obj/item/gun/rocketlauncher/Initialize(mapload) . = ..() AddComponent(/datum/component/scope, range_modifier = 2, flags = SCOPE_TURF_ONLY | SCOPE_NEED_ACTIVE_HAND) @@ -24,7 +22,6 @@ . = ..() . += "It is currently [chambered ? "" : "un"]loaded." - /obj/item/gun/rocketlauncher/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(!istype(I, /obj/item/ammo_casing/rocket)) return ..() diff --git a/code/modules/projectiles/guns/syringe_gun.dm b/code/modules/projectiles/guns/syringe_gun.dm index a7a1df0c7d4..fb822613e80 100644 --- a/code/modules/projectiles/guns/syringe_gun.dm +++ b/code/modules/projectiles/guns/syringe_gun.dm @@ -2,7 +2,7 @@ name = "syringe gun" desc = "A spring loaded rifle designed to fit syringes, used to incapacitate unruly patients from a distance. Not compatible with DNA-Injectors." icon_state = "syringegun" - item_state = "syringegun" + inhand_icon_state = "syringegun" origin_tech = "combat=2;biotech=3" throw_range = 7 force = 4 @@ -95,7 +95,8 @@ name = "dart pistol" desc = "A small spring-loaded sidearm that functions identically to a syringe gun. Not compatible with DNA-Injectors." icon_state = "syringe_pistol" - item_state = "gun" //Smaller inhand + worn_icon_state = null + inhand_icon_state = "gun" // Smaller inhand w_class = WEIGHT_CLASS_SMALL origin_tech = "combat=2;syndicate=2;biotech=3" force = 2 //Also very weak because it's smaller @@ -403,7 +404,7 @@ name = "blowgun" desc = "Fire syringes at a short distance." icon_state = "blowgun" - item_state = "gun" + inhand_icon_state = "gun" trigger_guard = TRIGGER_GUARD_ALLOW_ALL // you fire it with your mouth /obj/item/gun/syringe/blowgun/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) diff --git a/code/modules/projectiles/guns/throw/crossbow.dm b/code/modules/projectiles/guns/throw/crossbow.dm index 764fcd50f7d..a3c0515a43f 100644 --- a/code/modules/projectiles/guns/throw/crossbow.dm +++ b/code/modules/projectiles/guns/throw/crossbow.dm @@ -7,10 +7,8 @@ /obj/item/gun/throw/crossbow name = "powered crossbow" desc = "A modern twist on an old classic. Pick up that can." - lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons_righthand.dmi' icon_state = "crossbow" - item_state = "crossbow-solid" + inhand_icon_state = "crossbow-solid" fire_sound_text = "a solid thunk" fire_delay = 25 @@ -166,7 +164,7 @@ name = "bolt" desc = "It's got a tip for you - get the point?" icon_state = "bolt" - item_state = "bolt" + inhand_icon_state = "rods" throwforce = 20 sharp = TRUE diff --git a/code/modules/projectiles/guns/throw/pielauncher.dm b/code/modules/projectiles/guns/throw/pielauncher.dm index 651f7800ec0..1faa79b64ee 100644 --- a/code/modules/projectiles/guns/throw/pielauncher.dm +++ b/code/modules/projectiles/guns/throw/pielauncher.dm @@ -2,6 +2,7 @@ name = "pie cannon" desc = "A projectile weapon that fires pies." icon_state = "piecannon1" + inhand_icon_state = "piecannon" w_class = WEIGHT_CLASS_HUGE throw_speed = 2 throw_range = 3 @@ -12,7 +13,6 @@ projectile_speed = 2 projectile_range = 30 - /obj/item/gun/throw/piecannon/Initialize(mapload) . = ..() for(var/i in 1 to max_capacity) @@ -28,7 +28,6 @@ icon_state = "piecannon1" else icon_state = "piecannon0" - item_state = icon_state /obj/item/gun/throw/piecannon/process_chamber() ..() diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 801abf1ede8..6e48c342558 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -136,7 +136,6 @@ /obj/item/projectile/bullet/midbullet3/overgrown icon = 'icons/obj/ammo.dmi' - item_state = "peashooter_bullet" icon_state = "peashooter_bullet" damage = 25 diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index d5c6664fa69..7cc57c1ad1c 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -417,7 +417,6 @@ /obj/item/handheld_chem_dispenser name = "handheld chem dispenser" icon = 'icons/obj/chemical.dmi' - item_state = "handheld_chem" icon_state = "handheld_chem" flags = NOBLUDGEON var/obj/item/stock_parts/cell/high/cell = null @@ -597,7 +596,6 @@ /obj/item/handheld_chem_dispenser/booze name = "handheld bar tap" - item_state = "handheld_booze" icon_state = "handheld_booze" is_drink = TRUE dispensable_reagents = list("ice", "cream", "cider", "beer", "kahlua", "whiskey", "wine", "vodka", "gin", "rum", "tequila", @@ -605,7 +603,6 @@ /obj/item/handheld_chem_dispenser/soda name = "handheld soda fountain" - item_state = "handheld_soda" icon_state = "handheld_soda" is_drink = TRUE dispensable_reagents = list("water", "ice", "milk", "soymilk", "coffee", "tea", "hot_coco", "cola", "spacemountainwind", "dr_gibb", "space_up", diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index bed0eff13c5..c811269413d 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -154,7 +154,6 @@ GLOBAL_LIST_EMPTY(detected_advanced_diseases) /obj/machinery/pandemic/proc/create_culture(name, bottle_type = "culture", cooldown = 50) var/obj/item/reagent_containers/glass/bottle/B = new/obj/item/reagent_containers/glass/bottle(loc) - B.icon_state = "bottle" B.scatter_atom() replicator_cooldown(cooldown) B.name = "[name] [bottle_type] bottle" diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 7024c7bbb68..a2af1f59a8c 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -2,7 +2,6 @@ name = "Container" desc = "..." icon = 'icons/obj/chemical.dmi' - icon_state = null w_class = WEIGHT_CLASS_TINY var/amount_per_transfer_from_this = 5 var/visible_transfer_rate = TRUE diff --git a/code/modules/reagents/reagent_containers/applicator.dm b/code/modules/reagents/reagent_containers/applicator.dm index 3f92498960d..9d91d0e6601 100644 --- a/code/modules/reagents/reagent_containers/applicator.dm +++ b/code/modules/reagents/reagent_containers/applicator.dm @@ -3,7 +3,6 @@ desc = "A small electronic device designed to topically apply healing chemicals." icon = 'icons/goonstation/objects/objects.dmi' icon_state = "mender" - item_state = "mender" volume = 200 possible_transfer_amounts = null visible_transfer_rate = FALSE diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 50370764632..43e8fd32281 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -3,7 +3,6 @@ /obj/item/reagent_containers/borghypo name = "Cyborg Hypospray" desc = "An advanced chemical synthesizer and injection system, designed for heavy-duty medical equipment." - item_state = "hypo" icon = 'icons/obj/hypo.dmi' icon_state = "borghypo" possible_transfer_amounts = list(1, 2, 3, 4, 5, 10, 15, 20, 25, 30) diff --git a/code/modules/reagents/reagent_containers/chemical_bottle.dm b/code/modules/reagents/reagent_containers/chemical_bottle.dm index 4300c6207ad..c990f039638 100644 --- a/code/modules/reagents/reagent_containers/chemical_bottle.dm +++ b/code/modules/reagents/reagent_containers/chemical_bottle.dm @@ -5,7 +5,7 @@ name = "bottle" desc = "A small bottle." icon_state = "bottle" - item_state = "atoxinbottle" + inhand_icon_state = "bottle" possible_transfer_amounts = list(5, 10, 15, 25, 30, 40, 50) /obj/item/reagent_containers/glass/bottle/on_reagent_change() diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index df31f12952d..920ad226db3 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -6,7 +6,7 @@ name = "dropper" desc = "A dropper. Transfers up to 5 units." icon_state = "dropper" - item_state = "dropper" + inhand_icon_state = "dropper" belt_icon = "dropper" amount_per_transfer_from_this = 1 possible_transfer_amounts = list(1, 2, 3, 4, 5) diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index 2b136c02963..6e73e2064f5 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -130,7 +130,7 @@ name = "beaker" desc = "A simple glass beaker, nothing special." icon_state = "beaker" - item_state = "beaker" + inhand_icon_state = "beaker" belt_icon = "beaker" materials = list(MAT_GLASS = 1000) var/obj/item/assembly_holder/assembly = null @@ -295,7 +295,6 @@ desc = "Useful for moving liquids, or having a helmet in the zombie apocalypse." icon = 'icons/obj/janitor.dmi' icon_state = "bucket" - item_state = "bucket" materials = list(MAT_METAL=200) w_class = WEIGHT_CLASS_NORMAL amount_per_transfer_from_this = 20 @@ -316,7 +315,6 @@ /obj/item/reagent_containers/glass/bucket/wooden name = "wooden bucket" icon_state = "woodbucket" - item_state = "woodbucket" materials = null armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 0, ACID = 50) resistance_flags = FLAMMABLE @@ -347,9 +345,9 @@ desc = "A bottle of water filled at an old Earth bottling facility." icon = 'icons/obj/drinks.dmi' icon_state = "smallbottle" - item_state = "bottle" + inhand_icon_state = "bottle" list_reagents = list("water" = 49.5, "fluorine" = 0.5) //see desc, don't think about it too hard - materials = list(MAT_GLASS = 0) + materials = list() /obj/item/reagent_containers/glass/beaker/waterbottle/empty list_reagents = list() diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 827291fa0ac..46371afea07 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -5,8 +5,8 @@ name = "hypospray" desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." icon = 'icons/obj/hypo.dmi' - item_state = "hypo" icon_state = "hypo" + inhand_icon_state = "hypo" belt_icon = "hypospray" possible_transfer_amounts = list(1,2,3,4,5,10,15,20,25,30) resistance_flags = ACID_PROOF @@ -180,7 +180,7 @@ name = "empty autoinjector" desc = "A rapid and safe way to inject chemicals into humanoids. This one is empty." icon_state = "autoinjector" - item_state = "autoinjector" + inhand_icon_state = "autoinjector" belt_icon = "autoinjector" amount_per_transfer_from_this = 10 possible_transfer_amounts = null @@ -189,7 +189,6 @@ ignore_hypospray_immunity = TRUE penetrate_everything = TRUE // Autoinjectors bypass everything. container_type = DRAWABLE - flags = null /obj/item/reagent_containers/hypospray/autoinjector/mob_act(mob/target, mob/living/user) if(!reagents.total_volume) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index c5f5fb3c38a..3c7487d08e2 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -6,8 +6,7 @@ /obj/item/reagent_containers/pill name = "pill" desc = "A pill." - icon_state = null - item_state = "pill" + inhand_icon_state = "pill" possible_transfer_amounts = null visible_transfer_rate = FALSE volume = 100 diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 413cfe31555..12f0970f73e 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -3,7 +3,6 @@ desc = "A spray bottle, with an unscrewable top." icon = 'icons/obj/janitor.dmi' icon_state = "cleaner" - item_state = "cleaner" belt_icon = "space_cleaner" flags = NOBLUDGEON container_type = OPENCONTAINER @@ -135,7 +134,6 @@ name = "advanced space cleaner" desc = "BLAM!-brand non-foaming space cleaner!" icon_state = "adv_cleaner" - item_state = "adv_cleaner" volume = 500 spray_maxrange = 3 spray_currentrange = 3 @@ -190,7 +188,6 @@ desc = "Manufactured by UhangInc, used to blind and down an opponent quickly." icon = 'icons/obj/items.dmi' icon_state = "pepperspray" - item_state = "pepperspray" belt_icon = null volume = 40 spray_maxrange = 4 @@ -204,7 +201,6 @@ desc = "A seemingly innocent sunflower...with a twist." icon = 'icons/obj/hydroponics/harvest.dmi' icon_state = "sunflower" - item_state = "sunflower" belt_icon = null adjustable = FALSE amount_per_transfer_from_this = 1 @@ -217,7 +213,6 @@ desc = "A utility used to spray large amounts of reagents in a given area." icon = 'icons/obj/guns/projectile.dmi' icon_state = "chemsprayer" - item_state = "chemsprayer" w_class = WEIGHT_CLASS_NORMAL spray_maxrange = 7 spray_currentrange = 7 @@ -270,7 +265,6 @@ desc = "Kills those pesky weeds!" icon = 'icons/obj/hydroponics/equipment.dmi' icon_state = "plantbgone" - item_state = "plantbgone" belt_icon = null volume = 100 list_reagents = list("glyphosate" = 100) @@ -282,7 +276,6 @@ lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' icon_state = "syndie_spraycan" - item_state = "syndie_spraycan" container_type = AMOUNT_VISIBLE list_reagents = list("sticky_tar" = 100) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 15ee906a614..66e7bed40dd 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -2,8 +2,8 @@ name = "syringe" desc = "A syringe." icon = 'icons/goonstation/objects/syringe.dmi' - item_state = "syringe_0" icon_state = "0" + inhand_icon_state = "syringe_0" belt_icon = "syringe" possible_transfer_amounts = null volume = 15 @@ -204,7 +204,7 @@ else rounded_vol = 0 icon_state = "[rounded_vol]" - item_state = "syringe_[rounded_vol]" + inhand_icon_state = "syringe_[rounded_vol]" /obj/item/reagent_containers/syringe/update_overlays() . = ..() diff --git a/code/modules/recycling/belt-placer.dm b/code/modules/recycling/belt-placer.dm index dbc357bea31..45ad538e91f 100644 --- a/code/modules/recycling/belt-placer.dm +++ b/code/modules/recycling/belt-placer.dm @@ -3,7 +3,6 @@ name = "conveyor belt placer" desc = "This device facilitates the rapid deployment of conveyor belts." icon_state = "belt_placer" - item_state = "belt_placer" w_class = WEIGHT_CLASS_BULKY //Because belts are large things, you know? can_hold = list(/obj/item/conveyor_construct) flags = CONDUCT @@ -19,7 +18,6 @@ name = "bluespace conveyor belt placer" desc = "This device facilitates the rapid deployment of conveyor belts via the incorporation of experimental Bluespace technology." icon_state = "bluespace_belt_placer" - item_state = "bluespace_belt_placer" w_class = WEIGHT_CLASS_NORMAL storage_slots = 50 max_combined_w_class = 200 //50 belts diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 1847af5d4ce..e6e61617921 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -248,9 +248,9 @@ desc = "Used to set the destination of properly wrapped packages." icon = 'icons/obj/device.dmi' icon_state = "dest_tagger" - + worn_icon_state = "electronic" + inhand_icon_state = "electronic" w_class = WEIGHT_CLASS_TINY - item_state = "electronic" flags = CONDUCT slot_flags = ITEM_SLOT_BELT ///Value of the tag diff --git a/code/modules/research/anomaly/anomaly.dm b/code/modules/research/anomaly/anomaly.dm index 35d72f565aa..47158e2a5e6 100644 --- a/code/modules/research/anomaly/anomaly.dm +++ b/code/modules/research/anomaly/anomaly.dm @@ -3,7 +3,7 @@ name = "anomaly core" desc = "The neutralized core of an anomaly. It'd probably be valuable for research." icon_state = "anomaly_core" - item_state = "electronic" + inhand_icon_state = "electronic" resistance_flags = FIRE_PROOF receiving = TRUE var/anomaly_type = /obj/effect/anomaly diff --git a/code/modules/ruins/lavalandruin_code/sin_ruins.dm b/code/modules/ruins/lavalandruin_code/sin_ruins.dm index ce13fcd6aa7..0e527ca4cf8 100644 --- a/code/modules/ruins/lavalandruin_code/sin_ruins.dm +++ b/code/modules/ruins/lavalandruin_code/sin_ruins.dm @@ -182,7 +182,8 @@ desc = "Their success will be yours." icon = 'icons/obj/wizard.dmi' icon_state = "render" - item_state = "knife" + worn_icon_state = "knife" + inhand_icon_state = "knife" force = 18 w_class = WEIGHT_CLASS_NORMAL new_attack_chain = TRUE diff --git a/code/modules/shuttle/assault_pod.dm b/code/modules/shuttle/assault_pod.dm index b3e1d6365e5..9652bb35876 100644 --- a/code/modules/shuttle/assault_pod.dm +++ b/code/modules/shuttle/assault_pod.dm @@ -21,10 +21,10 @@ /obj/item/assault_pod name = "Assault Pod Targetting Device" + desc = "Used to select a landing zone for assault pods." icon = 'icons/obj/device.dmi' icon_state = "gangtool-red" - item_state = "walkietalkie" - desc = "Used to select a landing zone for assault pods." + inhand_icon_state = "radio" var/shuttle_id = "steel_rain" var/dwidth = 3 var/dheight = 0 @@ -32,7 +32,6 @@ var/height = 7 var/lz_dir = 1 - /obj/item/assault_pod/attack_self__legacy__attackchain(mob/living/user) var/target_area target_area = tgui_input_list(user, "Area to land", "Select a Landing Zone", SSmapping.teleportlocs) diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index d75c2161065..ef70f506d83 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -61,8 +61,8 @@ name = "DNA Sampler" desc = "Can be used to take chemical and genetic samples of pretty much anything." icon = 'icons/obj/hypo.dmi' - item_state = "sampler_hypo" icon_state = "sampler_hypo" + inhand_icon_state = "hypo" flags = NOBLUDGEON var/list/animals = list() var/list/plants = list() diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 77507bea315..d04f2b78897 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -538,10 +538,9 @@ Impossibly thin and flawlessly sharp, it should slice through organic materials with no trouble; \ even from a few steps away. However, results against anything more durable will heavily vary." icon = 'icons/obj/weapons/energy_melee.dmi' + icon_state = "razorwire" righthand_file = 'icons/mob/inhands/implants_righthand.dmi' lefthand_file = 'icons/mob/inhands/implants_lefthand.dmi' - icon_state = "razorwire" - item_state = "razorwire" w_class = WEIGHT_CLASS_BULKY sharp = TRUE force = 18 @@ -556,7 +555,6 @@ . = ..() var/random_colour = pick("razorwire", "razorwire_teal", "razorwire_yellow", "razorwire_purple", "razorwire_green") icon_state = random_colour - item_state = random_colour update_icon() razorwire_skin_options["Reliable Red"] = "razorwire" razorwire_skin_options["Troubling Teal"] = "razorwire_teal" @@ -597,7 +595,6 @@ if(choice && reskin_radial_check(M)) icon_state = razorwire_skin_options[choice] - item_state = razorwire_skin_options[choice] update_icon() M.update_inv_r_hand() M.update_inv_l_hand() @@ -634,12 +631,11 @@ /obj/item/gun/projectile/revolver/doublebarrel/shell_launcher name = "shell launch system" desc = "A mounted cannon seated comfortably in a forearm compartment. This humanitarian device is capable of firing essentially any shotgun shell." - icon_state = "shell_cannon_weapon" + icon_state = "shell_cannon" righthand_file = 'icons/mob/inhands/implants_righthand.dmi' lefthand_file = 'icons/mob/inhands/implants_lefthand.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 - item_state = "shell_cannon" weapon_weight = WEAPON_LIGHT mag_type = /obj/item/ammo_box/magazine/internal/shot/shell_cannon unique_reskin = FALSE @@ -765,7 +761,6 @@ name = "vortex feedback arm" desc = "A modification to a users arm, allowing them to use a vortex core energy feedback, to parry, reflect, and even empower projectile attacks. Rumors that it runs on the user's blood are unconfirmed." icon_state = "v1_arm" - item_state = "v1_arm" icon = 'icons/obj/items.dmi' sprite_sheets_inhand = list("Drask" = 'icons/mob/clothing/species/drask/held.dmi', "Vox" = 'icons/mob/clothing/species/vox/held.dmi') force = 20 //bonk, not sharp @@ -943,7 +938,6 @@ /obj/item/melee/mantis_blade/syndicate name = "'Naginata' mantis blade" icon_state = "syndie_mantis" - item_state = "syndie_mantis" force = 15 armor_penetration_percentage = 30 @@ -954,7 +948,6 @@ /obj/item/melee/mantis_blade/nt name = "'Scylla' mantis blade" icon_state = "mantis" - item_state = "mantis" force = 12 /obj/item/melee/mantis_blade/nt/Initialize(mapload) diff --git a/code/modules/surgery/organs/autosurgeon.dm b/code/modules/surgery/organs/autosurgeon.dm index 32b0b49f914..177ab68ed39 100644 --- a/code/modules/surgery/organs/autosurgeon.dm +++ b/code/modules/surgery/organs/autosurgeon.dm @@ -5,7 +5,6 @@ desc = "A device that automatically inserts an implant or organ into the user without the hassle of extensive surgery. It has a screwdriver slot for removing accidentally added items." icon = 'icons/obj/device.dmi' icon_state = "autoimplanter" - item_state = "" w_class = WEIGHT_CLASS_SMALL var/uses = INFINITE diff --git a/code/modules/surgery/organs/organ_extractor.dm b/code/modules/surgery/organs/organ_extractor.dm index 8874d4fbc26..3bab8e2f6ec 100644 --- a/code/modules/surgery/organs/organ_extractor.dm +++ b/code/modules/surgery/organs/organ_extractor.dm @@ -3,7 +3,6 @@ desc = "A device that can remove organs from a target, and store them inside. Stored organs can be implanted into the user. Synthesizes chemicals to keep the organ fresh." icon = 'icons/obj/surgery.dmi' icon_state = "organ_extractor" - item_state = "" w_class = WEIGHT_CLASS_SMALL origin_tech = "biotech=6;materials=5;syndicate=2" var/obj/item/organ/internal/storedorgan diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index c00a1dc3982..115733ed3f3 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -132,7 +132,6 @@ desc = "A sterilized stainless steel cutting implement for making precise surgical incisions." icon = 'icons/obj/surgery.dmi' icon_state = "scalpel" - item_state = "scalpel" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' flags = CONDUCT diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm index c40efc00b41..6f422d64bec 100644 --- a/code/modules/telesci/bscrystal.dm +++ b/code/modules/telesci/bscrystal.dm @@ -4,7 +4,6 @@ desc = "A glowing bluespace crystal, not much is known about how they work. It looks very delicate." icon = 'icons/obj/stacks/minerals.dmi' icon_state = "bluespace_crystal" //This is the raw ore from lavaland, so should look like the ore. - item_state = "bluespace_crystal" w_class = WEIGHT_CLASS_TINY materials = list(MAT_BLUESPACE = MINERAL_MATERIAL_AMOUNT) origin_tech = "bluespace=6;materials=3" diff --git a/code/modules/telesci/rcs.dm b/code/modules/telesci/rcs.dm index 54dec6d0356..5875ceab0f0 100644 --- a/code/modules/telesci/rcs.dm +++ b/code/modules/telesci/rcs.dm @@ -10,7 +10,6 @@ desc = "A device used to teleport crates and closets to cargo telepads." icon = 'icons/obj/telescience.dmi' icon_state = "rcs" - item_state = "rcs" flags = CONDUCT force = 10.0 throwforce = 10.0 @@ -21,7 +20,6 @@ var/obj/item/stock_parts/cell/high/rcell = null /// Selected telepad var/obj/machinery/pad = null - /// Currently teleporting something? var/teleporting = FALSE /// How much power does each teleport use? diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm index fdd2770d7c2..a052c23e49e 100644 --- a/code/modules/telesci/telepad.dm +++ b/code/modules/telesci/telepad.dm @@ -96,7 +96,7 @@ desc = "Use to warp in a cargo telepad." icon = 'icons/obj/radio.dmi' icon_state = "beacon" - item_state = "signaler" + inhand_icon_state = "signaler" origin_tech = "bluespace=3" /obj/item/telepad_beacon/attack_self__legacy__attackchain(mob/user as mob) diff --git a/code/modules/vehicle/tg_vehicles/scooter.dm b/code/modules/vehicle/tg_vehicles/scooter.dm index 42b24237c82..7c286550ee5 100644 --- a/code/modules/vehicle/tg_vehicles/scooter.dm +++ b/code/modules/vehicle/tg_vehicles/scooter.dm @@ -341,10 +341,10 @@ name = "skateboard" desc = "A skateboard. It can be placed on its wheels and ridden, or used as a radical weapon." icon = 'icons/obj/tgvehicles.dmi' + icon_state = "skateboard_held" + inhand_icon_state = "skateboard" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' - icon_state = "skateboard_held" - item_state = "skateboard" force = 12 throwforce = 4 w_class = WEIGHT_CLASS_BULKY @@ -367,7 +367,7 @@ name = "pro skateboard" desc = "An EightO brand professional skateboard. It looks sturdy and well made." icon_state = "skateboardpro_held" - item_state = "skateboardpro" + inhand_icon_state = "skateboardpro" board_item_type = /obj/tgvehicle/scooter/skateboard/pro /obj/item/melee/skateboard/hoverboard @@ -375,12 +375,12 @@ desc = "A blast from the past, so retro!" w_class = WEIGHT_CLASS_NORMAL icon_state = "hoverboard_red_held" - item_state = "hoverboard_red" + inhand_icon_state = "hoverboard_red" board_item_type = /obj/tgvehicle/scooter/skateboard/hoverboard /obj/item/melee/skateboard/hoverboard/admin name = "Board Of Directors" desc = "The engineering complexity of a spaceship concentrated inside of a board. Just as expensive, too." icon_state = "hoverboard_nt_held" - item_state = "hoverboard_nt" + inhand_icon_state = "hoverboard_nt" board_item_type = /obj/tgvehicle/scooter/skateboard/hoverboard/admin diff --git a/docs/coding/quickstart.md b/docs/coding/quickstart.md index b22fd6c9187..6ee874d1980 100644 --- a/docs/coding/quickstart.md +++ b/docs/coding/quickstart.md @@ -413,13 +413,13 @@ definition values. We will take the mailman outfit as a template. name = "mailman's jumpsuit" desc = "'Special delivery!'" icon_state = "mailman" - item_state = "b_suit" + inhand_icon_state = "b_suit" item_color = "mailman" ``` As seen here a jumpsuit has multiple values you can define. The `name` is pretty straight forward. `desc` is the description of the item. `icon_state` is the -name the sprite has in the DMI file. `item_state` is the name of the sprite of +name the sprite has in the DMI file. `inhand_icon_state` is the name of the sprite of the suit while held in your hands has in the DMI file. `item_color` is the name of the sprite in the `icons/mob/uniform.dmi` file. This value will indicate what sprite will be used when a person wears this jumpsuit. (I know `item_color` is a diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi index 1ec3472b114..53486c76a70 100644 Binary files a/icons/mob/clothing/hands.dmi and b/icons/mob/clothing/hands.dmi differ diff --git a/icons/mob/clothing/species/drask/gloves.dmi b/icons/mob/clothing/species/drask/gloves.dmi index 55b6f7094c4..80bf08b865f 100644 Binary files a/icons/mob/clothing/species/drask/gloves.dmi and b/icons/mob/clothing/species/drask/gloves.dmi differ diff --git a/icons/mob/clothing/species/grey/gloves.dmi b/icons/mob/clothing/species/grey/gloves.dmi index d9648d7c72b..f166f1da41c 100644 Binary files a/icons/mob/clothing/species/grey/gloves.dmi and b/icons/mob/clothing/species/grey/gloves.dmi differ diff --git a/icons/mob/clothing/species/kidan/gloves.dmi b/icons/mob/clothing/species/kidan/gloves.dmi index 31fd8d7ca70..4c8c2d18dd1 100644 Binary files a/icons/mob/clothing/species/kidan/gloves.dmi and b/icons/mob/clothing/species/kidan/gloves.dmi differ diff --git a/icons/mob/clothing/species/vox/gloves.dmi b/icons/mob/clothing/species/vox/gloves.dmi index cf2a2890a23..1fc74ba014f 100644 Binary files a/icons/mob/clothing/species/vox/gloves.dmi and b/icons/mob/clothing/species/vox/gloves.dmi differ diff --git a/icons/mob/inhands/bedsheet_lefthand.dmi b/icons/mob/inhands/bedsheet_lefthand.dmi index 9c54f82f8f1..f402920f9f1 100644 Binary files a/icons/mob/inhands/bedsheet_lefthand.dmi and b/icons/mob/inhands/bedsheet_lefthand.dmi differ diff --git a/icons/mob/inhands/bedsheet_righthand.dmi b/icons/mob/inhands/bedsheet_righthand.dmi index 0534a6dc503..064208abafb 100644 Binary files a/icons/mob/inhands/bedsheet_righthand.dmi and b/icons/mob/inhands/bedsheet_righthand.dmi differ diff --git a/icons/mob/inhands/chairs_lefthand.dmi b/icons/mob/inhands/chairs_lefthand.dmi index 2e6e9a2798e..048e71b63ca 100644 Binary files a/icons/mob/inhands/chairs_lefthand.dmi and b/icons/mob/inhands/chairs_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi index e63930820f5..1d77edb0f41 100644 Binary files a/icons/mob/inhands/clothing_lefthand.dmi and b/icons/mob/inhands/clothing_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing_righthand.dmi b/icons/mob/inhands/clothing_righthand.dmi index 919b3c9fa9e..66a0573d37d 100644 Binary files a/icons/mob/inhands/clothing_righthand.dmi and b/icons/mob/inhands/clothing_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/belt_lefthand.dmi b/icons/mob/inhands/equipment/belt_lefthand.dmi index 0fc92bab20d..0659459712b 100644 Binary files a/icons/mob/inhands/equipment/belt_lefthand.dmi and b/icons/mob/inhands/equipment/belt_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/belt_righthand.dmi b/icons/mob/inhands/equipment/belt_righthand.dmi index 43a1168215e..538b62021e7 100644 Binary files a/icons/mob/inhands/equipment/belt_righthand.dmi and b/icons/mob/inhands/equipment/belt_righthand.dmi differ diff --git a/icons/mob/inhands/fluff_lefthand.dmi b/icons/mob/inhands/fluff_lefthand.dmi index b560e156f5e..dd26e12f374 100644 Binary files a/icons/mob/inhands/fluff_lefthand.dmi and b/icons/mob/inhands/fluff_lefthand.dmi differ diff --git a/icons/mob/inhands/fluff_righthand.dmi b/icons/mob/inhands/fluff_righthand.dmi index fadcbcf6741..b845071008f 100644 Binary files a/icons/mob/inhands/fluff_righthand.dmi and b/icons/mob/inhands/fluff_righthand.dmi differ diff --git a/icons/mob/inhands/guns_lefthand.dmi b/icons/mob/inhands/guns_lefthand.dmi index c259f143014..444a8f0497c 100644 Binary files a/icons/mob/inhands/guns_lefthand.dmi and b/icons/mob/inhands/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/guns_righthand.dmi b/icons/mob/inhands/guns_righthand.dmi index 7cfb7bde2cb..c754d104e53 100644 Binary files a/icons/mob/inhands/guns_righthand.dmi and b/icons/mob/inhands/guns_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 4e2e4891492..3b5ff24c6c5 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 7b34ffd3cd8..e45138484d8 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/inhands/sheet_lefthand.dmi b/icons/mob/inhands/sheet_lefthand.dmi index 5c9a0445e20..3e2b1e756d1 100644 Binary files a/icons/mob/inhands/sheet_lefthand.dmi and b/icons/mob/inhands/sheet_lefthand.dmi differ diff --git a/icons/mob/inhands/sheet_righthand.dmi b/icons/mob/inhands/sheet_righthand.dmi index 889b3f3b86f..2475c84e828 100644 Binary files a/icons/mob/inhands/sheet_righthand.dmi and b/icons/mob/inhands/sheet_righthand.dmi differ diff --git a/icons/mob/inhands/weapons_lefthand.dmi b/icons/mob/inhands/weapons_lefthand.dmi index 7966c89f259..612856e7e23 100644 Binary files a/icons/mob/inhands/weapons_lefthand.dmi and b/icons/mob/inhands/weapons_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons_righthand.dmi b/icons/mob/inhands/weapons_righthand.dmi index 754d2e01101..e632e133264 100644 Binary files a/icons/mob/inhands/weapons_righthand.dmi and b/icons/mob/inhands/weapons_righthand.dmi differ diff --git a/icons/obj/assemblies/new_assemblies.dmi b/icons/obj/assemblies/new_assemblies.dmi index de0967dbe3c..6adf9b52349 100644 Binary files a/icons/obj/assemblies/new_assemblies.dmi and b/icons/obj/assemblies/new_assemblies.dmi differ diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 80cc91625b5..28291510e78 100644 Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 25d563e1f3e..77219e835e9 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi index ef5c8a97767..e393fe1e31a 100644 Binary files a/icons/obj/radio.dmi and b/icons/obj/radio.dmi differ diff --git a/icons/obj/weapons/magical_weapons.dmi b/icons/obj/weapons/magical_weapons.dmi index 154cd879015..abced572a9a 100644 Binary files a/icons/obj/weapons/magical_weapons.dmi and b/icons/obj/weapons/magical_weapons.dmi differ diff --git a/icons/obj/weapons/melee.dmi b/icons/obj/weapons/melee.dmi index 73d28ad6eeb..b6e63a420e1 100644 Binary files a/icons/obj/weapons/melee.dmi and b/icons/obj/weapons/melee.dmi differ diff --git a/tools/UpdatePaths/Scripts/29829_items_var_rename.txt b/tools/UpdatePaths/Scripts/29829_items_var_rename.txt new file mode 100644 index 00000000000..d2f88613a72 --- /dev/null +++ b/tools/UpdatePaths/Scripts/29829_items_var_rename.txt @@ -0,0 +1 @@ +/obj/item/@SUBTYPES{item_state=@ANY;icon_override=@ANY} : /obj/item/@SUBTYPES{@OLD;item_state=@SKIP;icon_override=@SKIP;worn_icon=@OLD:icon_override;worn_icon_state=@OLD:item_state;inhand_icon_state=@OLD:item_state}