diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 0d6704207629..78af76796650 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -914,8 +914,8 @@ cases. Override_icon_state should be a list.*/ SEND_SIGNAL(src, COMSIG_ITEM_ZOOM, user) var/zoom_device = zoomdevicename ? "\improper [zoomdevicename] of [src]" : "\improper [src]" - user.visible_message(SPAN_NOTICE("[user] peers through \the [zoom_device]."), - SPAN_NOTICE("You peer through \the [zoom_device].")) + user.visible_message(SPAN_NOTICE("[user] peers through [zoom_device]."), + SPAN_NOTICE("You peer through [zoom_device].")) zoom = !zoom /obj/item/proc/get_icon_state(mob/user_mob, slot) diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 9b0cf37299eb..d6db8811d1ae 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -5,6 +5,7 @@ desc = "A folded bag designed for the storage and transportation of cadavers." icon = 'icons/obj/bodybag.dmi' icon_state = "bodybag_folded" + item_state = "bodybag" w_class = SIZE_SMALL var/unfolded_path = /obj/structure/closet/bodybag @@ -33,6 +34,7 @@ desc = "A folded, reusable bag designed to prevent additional damage to an occupant." icon = 'icons/obj/cryobag.dmi' icon_state = "bodybag_folded" + item_state = "cryobag" unfolded_path = /obj/structure/closet/bodybag/cryobag matter = list("plastic" = 7500) var/used = 0 diff --git a/code/game/objects/items/books/book.dm b/code/game/objects/items/books/book.dm index effcb7524b83..b44c6a2cea34 100644 --- a/code/game/objects/items/books/book.dm +++ b/code/game/objects/items/books/book.dm @@ -5,6 +5,10 @@ name = "book" icon = 'icons/obj/items/books.dmi' icon_state ="book" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) throw_speed = SPEED_FAST throw_range = 5 /// upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever) diff --git a/code/game/objects/items/books/manuals.dm b/code/game/objects/items/books/manuals.dm index 3140d0e30ca9..e7a9aa988c04 100644 --- a/code/game/objects/items/books/manuals.dm +++ b/code/game/objects/items/books/manuals.dm @@ -11,7 +11,8 @@ /obj/item/book/manual/engineering_construction name = "Station Repairs and Construction" - icon_state ="bookEngineering" + icon_state = "book_engineering" + item_state = "book_engineering" author = "Engineering Encyclopedia" title = "Station Repairs and Construction" @@ -31,7 +32,8 @@ /obj/item/book/manual/engineering_hacking name = "Hacking" - icon_state ="bookHacking" + icon_state = "book_hacking" + item_state = "book_hacking" author = "Engineering Encyclopedia" title = "Hacking" @@ -51,7 +53,8 @@ /obj/item/book/manual/ripley_build_and_repair name = "APLU \"Ripley\" Construction and Operation Manual" - icon_state ="book" + icon_state = "book_dark" + item_state = "book_dark" author = "Randall Varn, Einstein Engines Senior Mechanic" title = "APLU \"Ripley\" Construction and Operation Manual" @@ -128,7 +131,8 @@ /obj/item/book/manual/research_and_development name = "Research and Development 101" - icon_state = "rdbook" + icon_state = "book_white" + item_state = "book_white" author = "Dr. L. Ight" title = "Research and Development 101" @@ -149,7 +153,8 @@ /obj/item/book/manual/security_space_law name = "Standard Operating Procedure" desc = "A set of USCM guidelines for keeping law and order on their vessels." - icon_state = "bookSpaceLaw" + icon_state = "book_sop" + item_state = "book_sop" author = "USCM High Command" title = "Standard Operating Procedure" @@ -170,7 +175,8 @@ /obj/item/book/manual/marine_law name = "Marine Law" desc = "A set of guidelines for keeping law and order on military vessels." - icon_state = "bookSpaceLaw" + icon_state = "book_law" + item_state = "book_law" author = "USCM High Command" title = "Marine Law" @@ -191,7 +197,8 @@ /obj/item/book/manual/surgery name = "Surgical Reference Manual" desc = "A quick reference manual for surgical procedures." - icon_state = "bookMedical" + icon_state = "book_medical" + item_state = "book_medical" author = "Weyland-Yutani Medicine Department" title = "Surgical Reference Manual" @@ -212,7 +219,8 @@ /obj/item/book/manual/medical_diagnostics_manual name = "WY Medical Diagnostics Manual" desc = "First, do no harm. A detailed medical practitioner's guide." - icon_state = "bookMedical" + icon_state = "book_medical" + item_state = "book_medical" author = "Weyland-Yutani Medicine Department" title = "WY Medical Diagnostics Manual" @@ -257,7 +265,8 @@ /obj/item/book/manual/engineering_guide name = "Engineering Textbook" - icon_state ="bookEngineering2" + icon_state = "book_engineering" + item_state = "book_engineering" author = "Engineering Encyclopedia" title = "Engineering Textbook" @@ -276,7 +285,8 @@ /obj/item/book/manual/chef_recipes name = "Chef Recipes" - icon_state = "cooked_book" + icon_state = "book_green" + item_state = "book_green" author = "Victoria Ponsonby" title = "Chef Recipes" @@ -335,7 +345,8 @@ /obj/item/book/manual/barman_recipes name = "Barman Recipes" - icon_state = "barbook" + icon_state = "book_red" + item_state = "book_red" author = "Sir John Rose" title = "Barman Recipes" @@ -434,7 +445,8 @@ /obj/item/book/manual/nuclear name = "Fission Mailed: Nuclear Sabotage 101" - icon_state ="bookNuclear" + icon_state = "book_particle" + item_state = "book_particle" author = "The Colonial Liberation Front" title = "Fission Mailed: Nuclear Sabotage 101" @@ -486,7 +498,8 @@ /obj/item/book/manual/atmospipes name = "Pipes and You: Getting To Know Your Scary Tools" - icon_state = "pipingbook" + icon_state = "book_piping" + item_state = "book_piping" author = "Maria Crash, Senior Atmospherics Technician" title = "Pipes and You: Getting To Know Your Scary Tools" dat = {" @@ -594,7 +607,8 @@ /obj/item/book/manual/evaguide name = "EVA Gear and You: Not Spending All Day Inside" - icon_state = "evabook" + icon_state = "book_blue" + item_state = "book_blue" author = "Maria Crash, Senior Atmospherics Technician" title = "EVA Gear and You: Not Spending All Day Inside" dat = {" @@ -666,7 +680,8 @@ /obj/item/book/manual/hydroponics_beekeeping name = "The Ins and Outs of Apiculture - A Precise Art" - icon_state ="bookHydroponicsBees" + icon_state = "book_green" + item_state = "book_green" author = "Beekeeper Dave" title = "The Ins and Outs of Apiculture - A Precise Art" dat = {" @@ -698,7 +713,8 @@ /obj/item/book/manual/orbital_cannon_manual name = "USCM Orbital Bombardment System Manual" - icon_state = "bookEngineering" + icon_state = "book_engineering" + item_state = "book_engineering" author = "USCM R&D" title = "USCM Orbital Bombardment System Manual" diff --git a/code/game/objects/items/devices/binoculars.dm b/code/game/objects/items/devices/binoculars.dm index dd8b417f8e69..c04f37796600 100644 --- a/code/game/objects/items/devices/binoculars.dm +++ b/code/game/objects/items/devices/binoculars.dm @@ -4,6 +4,7 @@ desc = "A military-issued pair of binoculars." icon = 'icons/obj/items/binoculars.dmi' icon_state = "binoculars" + item_state = "binoculars" pickup_sound = 'sound/handling/wirecutter_pickup.ogg' drop_sound = 'sound/handling/wirecutter_drop.ogg' flags_atom = FPRINT|CONDUCT @@ -14,6 +15,7 @@ throw_speed = SPEED_VERY_FAST /// If FALSE won't change icon_state to a camo marine bino. var/uses_camo = TRUE + var/raised = FALSE //matter = list("metal" = 50,"glass" = 50) @@ -30,8 +32,29 @@ if(SEND_SIGNAL(user, COMSIG_BINOCULAR_ATTACK_SELF, src)) return + if(raised) + set_raised(FALSE, user) + else + set_raised(TRUE, user) + zoom(user, 11, 12) +/obj/item/device/binoculars/proc/set_raised(to_raise, mob/living/carbon/human/user) + if(!istype(user)) + return + + if(!to_raise) + raised = FALSE + item_state = icon_state + else if(!COOLDOWN_FINISHED(user, zoom_cooldown)) + item_state = icon_state + else + raised = TRUE + item_state = item_state + "_eyes" + + user.update_inv_r_hand() + user.update_inv_l_hand() + /obj/item/device/binoculars/dropped(/obj/item/item, mob/user) . = ..() on_unset_interaction(user) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index de2a328de370..29d7537a467b 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/items/lighting.dmi' icon_state = "flashlight" - item_state = "flashlight" + item_state = "" w_class = SIZE_SMALL flags_atom = FPRINT|CONDUCT flags_equip_slot = SLOT_WAIST @@ -518,8 +518,13 @@ /obj/item/device/flashlight/lantern name = "lantern" icon_state = "lantern" + item_state = "" desc = "A mining lantern." light_range = 6 // luminosity when on + light_color = "#d69c46" + +/obj/item/device/flashlight/lantern/on + on = TRUE //Signal Flare /obj/item/device/flashlight/flare/signal diff --git a/code/game/objects/items/explosives/explosive.dm b/code/game/objects/items/explosives/explosive.dm index 0be81ba8a0ed..97172f5648d3 100644 --- a/code/game/objects/items/explosives/explosive.dm +++ b/code/game/objects/items/explosives/explosive.dm @@ -29,6 +29,10 @@ var/use_dir = FALSE var/angle = 360 var/has_blast_wave_dampener = FALSE; //Whether or not the casing can be toggle between different falloff_mode + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) /obj/item/explosive/Initialize() . = ..() diff --git a/code/game/objects/items/explosives/grenades/grenade.dm b/code/game/objects/items/explosives/grenades/grenade.dm index b2f95646a966..9a4fa354b20f 100644 --- a/code/game/objects/items/explosives/grenades/grenade.dm +++ b/code/game/objects/items/explosives/grenades/grenade.dm @@ -5,6 +5,10 @@ icon = 'icons/obj/items/weapons/grenade.dmi' icon_state = "grenade" item_state = "grenade" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) throw_speed = SPEED_VERY_FAST throw_range = 7 flags_atom = FPRINT|CONDUCT diff --git a/code/game/objects/items/explosives/plastic.dm b/code/game/objects/items/explosives/plastic.dm index c6a3dfaed5f9..dc0ac548ed44 100644 --- a/code/game/objects/items/explosives/plastic.dm +++ b/code/game/objects/items/explosives/plastic.dm @@ -316,6 +316,7 @@ name = "breaching charge" desc = "An explosive device used to break into areas while protecting the user from the blast as well as deploying deadly shrapnel on the other side." icon_state = "satchel-charge" + item_state = "satchel-charge" overlay_image = "satchel-active" w_class = SIZE_SMALL angle = 55 diff --git a/code/game/objects/items/frames/table_rack.dm b/code/game/objects/items/frames/table_rack.dm index 95ab43869774..61ce5fa8eacf 100644 --- a/code/game/objects/items/frames/table_rack.dm +++ b/code/game/objects/items/frames/table_rack.dm @@ -81,6 +81,7 @@ desc = "A kit for a table, including a large, flat metal surface and four legs. This kit has side panels. Some assembly required." icon = 'icons/obj/items/items.dmi' icon_state = "reinf_tableparts" + item_state = "reinf_tableparts" matter = list("metal" = 15000) //A reinforced table. Two sheets of metal and four rods table_type = /obj/structure/surface/table/reinforced @@ -102,6 +103,7 @@ name = "wooden table parts" desc = "A kit for a table, including a large, flat wooden surface and four legs. Some assembly required." icon_state = "wood_tableparts" + item_state = "wood_tableparts" flags_atom = FPRINT matter = null table_type = /obj/structure/surface/table/woodentable @@ -127,12 +129,14 @@ name = "poor wooden table parts" desc = "A kit for a poorly crafted table, including a large, flat wooden surface and four legs. Some assembly required." icon_state = "pwood_tableparts" + item_state = "pwood_tableparts" table_type = /obj/structure/surface/table/woodentable/poor /obj/item/frame/table/wood/fancy name = "fancy wooden table parts" desc = "A kit for a finely crafted mahogany table, including a large, flat wooden surface and four legs. Some assembly required." icon_state = "fwood_tableparts" + item_state = "fwood_tableparts" table_type = /obj/structure/surface/table/woodentable/fancy /* @@ -143,6 +147,7 @@ name = "gamble table parts" desc = "A kit for a table, including a large, flat wooden and carpet surface and four legs. Some assembly required." icon_state = "gamble_tableparts" + item_state = "gamble_tableparts" flags_atom = null matter = null table_type = /obj/structure/surface/table/gamblingtable @@ -169,6 +174,7 @@ /obj/item/frame/table/almayer name = "gray table parts" icon_state = "table_parts" + item_state = "tableparts" table_type = /obj/structure/surface/table/almayer diff --git a/code/game/objects/items/reagent_containers/dropper.dm b/code/game/objects/items/reagent_containers/dropper.dm index f36145e285cd..7f0ef977b2b5 100644 --- a/code/game/objects/items/reagent_containers/dropper.dm +++ b/code/game/objects/items/reagent_containers/dropper.dm @@ -65,6 +65,7 @@ if (src.reagents.total_volume<=0) filled = 0 icon_state = "dropper[filled]" + item_state = "dropper0" return for(var/mob/O in viewers(GLOB.world_view_size, user)) @@ -86,6 +87,7 @@ if (src.reagents.total_volume<=0) filled = 0 icon_state = "dropper[filled]" + item_state = "dropper0" else @@ -107,6 +109,7 @@ filled = 1 icon_state = "dropper[filled]" + item_state = "dropper1" return diff --git a/code/game/objects/items/reagent_containers/food/drinks.dm b/code/game/objects/items/reagent_containers/food/drinks.dm index 0a350aa851e2..68cef79cb3d7 100644 --- a/code/game/objects/items/reagent_containers/food/drinks.dm +++ b/code/game/objects/items/reagent_containers/food/drinks.dm @@ -146,7 +146,7 @@ name = "Space Milk" desc = "It's milk. White and nutritious goodness!" icon_state = "milk" - item_state = "carton" + item_state = "milk" center_of_mass = "x=16;y=9" /obj/item/reagent_container/food/drinks/milk/Initialize() @@ -172,7 +172,7 @@ name = "soy milk" desc = "It's soy milk. White and nutritious goodness!" icon_state = "soymilk" - item_state = "carton" + item_state = "soymilk" center_of_mass = "x=16;y=9" /obj/item/reagent_container/food/drinks/soymilk/Initialize() @@ -183,6 +183,7 @@ name = "\improper Coffee" desc = "Careful, the beverage you're about to enjoy is extremely hot." icon_state = "coffee" + item_state = "coffee" center_of_mass = "x=15;y=10" /obj/item/reagent_container/food/drinks/coffee/Initialize() @@ -196,7 +197,7 @@ name = "\improper 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 = "tea" - item_state = "coffee" + item_state = "tea" center_of_mass = "x=16;y=14" /obj/item/reagent_container/food/drinks/tea/Initialize() @@ -218,7 +219,7 @@ name = "\improper Dutch hot coco" desc = "Made in Space South America." icon_state = "hot_coco" - item_state = "coffee" + item_state = "hot_coco" center_of_mass = "x=15;y=13" /obj/item/reagent_container/food/drinks/h_chocolate/Initialize() @@ -240,6 +241,7 @@ name = "paper cup" desc = "A paper water cup." icon_state = "water_cup_e" + item_state = "water_cup_e" possible_transfer_amounts = null volume = 10 center_of_mass = "x=16;y=12" @@ -302,6 +304,7 @@ name = "metal flask" desc = "A metal flask with a decent liquid capacity." icon_state = "flask" + item_state = "flask" volume = 60 center_of_mass = "x=17;y=8" @@ -309,6 +312,7 @@ name = "\improper USCM flask" desc = "A metal flask embossed with the USCM logo and probably filled with a slurry of water, motor oil, and medicinal alcohol." icon_state = "flask_uscm" + item_state = "flask_uscm" volume = 60 center_of_mass = "x=17;y=8" @@ -321,6 +325,7 @@ name = "\improper Weyland-Yutani flask" desc = "A metal flask embossed with Weyland-Yutani's signature logo that some corporate bootlicker probably ordered to be stocked in USS military vessels' canteen vendors." icon_state = "flask_wy" + item_state = "flask_wy" volume = 60 center_of_mass = "x=17;y=8" @@ -332,6 +337,7 @@ name = "canteen" desc = "You take a sip from your trusty USCM canteen..." icon_state = "canteen" + item_state = "canteen" volume = 60 center_of_mass = "x=17;y=8" @@ -343,6 +349,7 @@ name = "brown leather flask" desc = "A flask with a leather band around the sides, often seen filled with whiskey and carried by rugged, gritty detectives." icon_state = "brownflask" + item_state = "brownflask" volume = 60 center_of_mass = "x=17;y=8" @@ -355,6 +362,7 @@ name = "black leather flask" desc = "A flask with a slick black leather band around the sides. For those who can't be bothered to hang out at the bar to drink." icon_state = "blackflask" + item_state = "blackflask" volume = 60 center_of_mass = "x=17;y=7" @@ -369,6 +377,7 @@ name = "coffee mug" desc = "A ceramic coffee mug. Practically guaranteed to fall and spill scalding-hot drink onto your brand-new shirt. Ouch." icon_state = "coffeecup" + item_state = "coffecup" volume = 30 center_of_mass = "x=15;y=13" @@ -376,9 +385,11 @@ name = "USCM coffee mug" desc = "A red, white and blue coffee mug depicting the emblem of the USCM. Patriotic and bold, and commonly seen among veterans as a novelty." icon_state = "uscmcup" + item_state = "uscmcup" /obj/item/reagent_container/food/drinks/coffeecup/wy name = "Weyland-Yutani coffee mug" desc = "A matte gray coffee mug bearing the Weyland-Yutani logo on its front. Either issued as corporate standard, or bought as a souvenir for people who love the Company oh so dearly. Probably the former." icon_state = "wycup" + item_state = "wycup" diff --git a/code/game/objects/items/reagent_containers/food/drinks/bottle.dm b/code/game/objects/items/reagent_containers/food/drinks/bottle.dm index 75b5aadfc43b..63c7f3fa7f8c 100644 --- a/code/game/objects/items/reagent_containers/food/drinks/bottle.dm +++ b/code/game/objects/items/reagent_containers/food/drinks/bottle.dm @@ -123,6 +123,7 @@ name = "\improper Griffeater Gin" desc = "A bottle of high-quality gin, produced in the New London Space Station." icon_state = "ginbottle" + center_of_mass = "x=16;y=4" /obj/item/reagent_container/food/drinks/bottle/gin/Initialize() @@ -133,6 +134,7 @@ name = "\improper Uncle Git's Special Reserve" desc = "A premium single-malt whiskey, gently matured for four years by hillbillies in the backwaters of Alabama." icon_state = "whiskeybottle" + item_state = "whiskeybottle" center_of_mass = "x=16;y=3" /obj/item/reagent_container/food/drinks/bottle/whiskey/Initialize() @@ -143,6 +145,7 @@ name = "\improper Weyland-Yutani Sake" desc = "Sake made with ancient techniques passed down for thousands of years. Fermented in Iowa by the Weyland-Yutani Corporation." icon_state = "sakebottle" + item_state = "sakebottle" center_of_mass = "x=17;y=7" /obj/item/reagent_container/food/drinks/bottle/sake/Initialize() @@ -266,6 +269,7 @@ name = "Captain Pete's Cuban Spiced Rum" desc = "Named after the famed Captain 'Cuban' Pete, this rum is about as volatile as his final mission." icon_state = "rumbottle" + item_state = "rumbottle" center_of_mass = "x=16;y=8" /obj/item/reagent_container/food/drinks/bottle/rum/Initialize() @@ -296,6 +300,7 @@ name = "Robert Robust's Coffee Liqueur" desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK" icon_state = "kahluabottle" + item_state = "kahluabottle" center_of_mass = "x=17;y=3" /obj/item/reagent_container/food/drinks/bottle/kahlua/Initialize() @@ -445,7 +450,6 @@ name = "Orange Juice" desc = "Full of vitamins and deliciousness!" icon_state = "orangejuice" - item_state = "carton" center_of_mass = "x=16;y=7" isGlass = 0 @@ -465,7 +469,6 @@ 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" center_of_mass = "x=16;y=8" isGlass = 0 @@ -477,7 +480,6 @@ 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" center_of_mass = "x=16;y=8" isGlass = 0 @@ -489,7 +491,6 @@ name = "Lime Juice" desc = "Sweet-sour goodness." icon_state = "limejuice" - item_state = "carton" center_of_mass = "x=16;y=8" isGlass = 0 diff --git a/code/game/objects/items/reagent_containers/food/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm index 4e00f32a9b13..4f22d5d5f1a4 100644 --- a/code/game/objects/items/reagent_containers/food/snacks.dm +++ b/code/game/objects/items/reagent_containers/food/snacks.dm @@ -357,6 +357,7 @@ name = "cookie" desc = "A delicious and crumbly chocolate chip cookie. Don't feed to parrots." icon_state = "COOKIE!!!" + item_state = "COOKIE!!!" filling_color = "#DBC94F" /obj/item/reagent_container/food/snacks/cookie/Initialize() @@ -3132,6 +3133,7 @@ name = "Packaged Burrito" desc = "A hard microwavable burrito. There's no time given for how long to cook it. Packaged by the Weyland-Yutani Corporation." icon_state = "packaged-burrito" + item_state = "pburrito" bitesize = 2 package = 1 flags_obj = OBJ_NO_HELMET_BAND|OBJ_IS_HELMET_GARB @@ -3149,11 +3151,13 @@ to_chat(user, SPAN_NOTICE("You pull off the wrapping from the squishy burrito!")) package = 0 icon_state = "open-burrito" + item_state = "burrito" /obj/item/reagent_container/food/snacks/packaged_burger name = "Packaged Cheeseburger" desc = "A soggy microwavable burger. There's no time given for how long to cook it. Packaged by the Weyland-Yutani Corporation." icon_state = "burger" + item_state = "pburger" bitesize = 3 package = 1 @@ -3178,6 +3182,7 @@ name = "Packaged Hotdog" desc = "A singular squishy, room temperature, hot dog. There's no time given for how long to cook it, so you assume its probably good to go. Packaged by the Weyland-Yutani Corporation." icon_state = "packaged-hotdog" + item_state = "photdog" flags_obj = OBJ_NO_HELMET_BAND|OBJ_IS_HELMET_GARB bitesize = 2 package = 1 @@ -3196,6 +3201,7 @@ to_chat(user, SPAN_NOTICE("You pull off the wrapping from the squishy hotdog!")) package = 0 icon_state = "open-hotdog" + item_state = "hotdog" /obj/item/reagent_container/food/snacks/upp name = "\improper UPP ration" @@ -3243,6 +3249,7 @@ name = "Kepler Crisps" desc = "'They're disturbingly good!' Now with 0% trans fat and added genuine sea salts." icon_state = "kepler" + item_state = "kepler" bitesize = 2 trash = /obj/item/trash/kepler @@ -3255,6 +3262,7 @@ name = "Kepler Flamehot" desc = "'They're disturbingly good!' Due to an exceptionally well-timed ad campaign with the release of Kepler Flamehot in 2165, the Kepler brand was able to overtake other confectionary Weyland products by quarter three of that year. Contains 0% trans fat." icon_state = "flamehotkepler" + item_state = "flamehotkepler" bitesize = 2 trash = /obj/item/trash/kepler/flamehot @@ -3281,6 +3289,7 @@ new wrapper (user.loc) icon_state = "[initial(icon_state)]-o" + item_state = "[initial(item_state)]-o" package = 0 //CM SNACKS @@ -3288,6 +3297,7 @@ name = "Boonie Bars" desc = "Two delicious bars of minty chocolate. \"Sometimes things are just... out of reach.\"" icon_state = "boonie" + item_state = "boonie" wrapper = /obj/item/trash/boonie /obj/item/reagent_container/food/snacks/wrapped/booniebars/Initialize() @@ -3299,6 +3309,7 @@ name = "CHUNK box" desc = "A bar of \"The CHUNK\" brand chocolate. \"The densest chocolate permitted to exist according to federal law. We are legally required to ask you not to use this blunt object for anything other than nutrition.\"" icon_state = "chunk" + item_state = "chunk" hitsound = "swing_hit" force = 15 throwforce = 10 @@ -3316,6 +3327,7 @@ name = "HUNK crate" desc = "A 'crate', as the marketing called it, of \"The HUNK\" brand chocolate. An early version of the CHUNK box, the HUNK bar was hit by a class action lawsuit and forced to go into bankruptcy and get bought out by the Company when hundreds of customers had their teeth crack from simply attempting to eat the bar." icon_state = "hunk" + item_state = "hunk" w_class = SIZE_MEDIUM force = 35 throwforce = 50 @@ -3332,6 +3344,7 @@ name = "Barcardine Bars" desc = "A bar of chocolate, it smells like the medical bay. \"Chocolate always helps the pain go away.\"" icon_state = "barcardine" + item_state = "barcardine" wrapper = /obj/item/trash/barcardine /obj/item/reagent_container/food/snacks/wrapped/barcardine/Initialize() diff --git a/code/game/objects/items/reagent_containers/glass.dm b/code/game/objects/items/reagent_containers/glass.dm index 0ffcb30bf89d..7aae76eedbd7 100644 --- a/code/game/objects/items/reagent_containers/glass.dm +++ b/code/game/objects/items/reagent_containers/glass.dm @@ -319,6 +319,7 @@ name = "large beaker" desc = "A large beaker. Can hold up to 120 units." icon_state = "beakerlarge" + item_state = "beakerlarge" matter = list("glass" = 5000) volume = 120 amount_per_transfer_from_this = 10 @@ -328,6 +329,7 @@ name = "large silver beaker" desc = "A large silver beaker. Can hold up to 240 units. The beaker itself acts as a silver catalyst." icon_state = "beakersilver" + item_state = "beakersilver" volume = 240 matter = list("silver" = 5000) amount_per_transfer_from_this = 10 @@ -347,6 +349,7 @@ name = "high-capacity beaker" desc = "A beaker with an enlarged holding capacity, made with blue-tinted plexiglass in order to withstand greater pressure. Can hold up to 300 units." icon_state = "beakerbluespace" + item_state = "beakerbluespace" matter = list("glass" = 10000) volume = 300 amount_per_transfer_from_this = 10 @@ -357,6 +360,7 @@ name = "vial" desc = "A small glass vial. Can hold up to 30 units." icon_state = "vial" + item_state = "vial" volume = 30 amount_per_transfer_from_this = 10 matter = list() @@ -486,7 +490,7 @@ desc = "A canister containing pressurized hydrogen. Can be used to refill storage tanks." icon = 'icons/obj/items/tank.dmi' icon_state = "canister_hydrogen" - item_state = "anesthetic" + item_state = "canister_hydrogen" amount_per_transfer_from_this = 100 possible_transfer_amounts = list(50,100,200,300,400) volume = 400 @@ -506,24 +510,28 @@ name = "Ammonia canister" desc = "A canister containing pressurized ammonia. Can be used to refill storage tanks." icon_state = "canister_ammonia" + item_state = "canister_ammonia" reagent = "ammonia" /obj/item/reagent_container/glass/canister/methane name = "Methane canister" desc = "A canister containing pressurized methane. Can be used to refill storage tanks." icon_state = "canister_methane" + item_state = "canister_methane" reagent = "methane" /obj/item/reagent_container/glass/canister/pacid name = "Polytrinic acid canister" desc = "A canister containing pressurized polytrinic acid. Can be used to refill storage tanks." icon_state = "canister_pacid" + item_state = "canister_pacid" reagent = "pacid" /obj/item/reagent_container/glass/canister/oxygen name = "Oxygen canister" desc = "A canister containing pressurized oxygen. Can be used to refill storage tanks." icon_state = "canister_oxygen" + item_state = "canister_oxygen" reagent = "oxygen" /obj/item/reagent_container/glass/pressurized_canister // See the Pressurized Reagent Canister Pouch @@ -632,6 +640,7 @@ name = "mop bucket" desc = "A larger bucket, typically used with a mop. Holds 240 units" icon_state = "mopbucket" + item_state = "mopbucket" matter = list("metal" = 4000) w_class = SIZE_LARGE amount_per_transfer_from_this = 20 @@ -643,6 +652,7 @@ name = "janitorial bucket" desc = "It's a large bucket that fits in a janitorial cart. Holds 500 units." icon_state = "janibucket" + item_state = "janibucket" matter = list("metal" = 8000) volume = 500 diff --git a/code/game/objects/items/reagent_containers/glass/bottle.dm b/code/game/objects/items/reagent_containers/glass/bottle.dm index f1eab588fd20..29fa82aacdae 100644 --- a/code/game/objects/items/reagent_containers/glass/bottle.dm +++ b/code/game/objects/items/reagent_containers/glass/bottle.dm @@ -5,7 +5,7 @@ desc = "A small bottle." icon = 'icons/obj/items/chemistry.dmi' icon_state = "bottle-1" - item_state = "atoxinbottle" + item_state = "bottle-1" amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5, 10, 15, 25, 30, 40, 60) flags_atom = FPRINT|OPENCONTAINER diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index c4a496a12366..5fe2ecaaee86 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -149,6 +149,7 @@ singular_name = "trauma kit" desc = "A trauma kit for severe injuries." icon_state = "traumakit" + item_state = "brutekit" heal_brute = 12 stack_id = "advanced bruise pack" @@ -216,6 +217,7 @@ singular_name = "burn kit" desc = "A treatment kit for severe burns." icon_state = "burnkit" + item_state = "burnkit" heal_burn = 12 stack_id = "burn kit" @@ -265,6 +267,7 @@ singular_name = "medical splint" desc = "A collection of different splints and securing gauze. What, did you think we only broke legs out here?" icon_state = "splint" + item_state = "splint" amount = 5 max_amount = 5 stack_id = "splint" diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 805f0ecf4030..3b785e71c5be 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -593,8 +593,10 @@ GLOBAL_LIST_EMPTY_TYPED(radio_packs, /obj/item/storage/backpack/marine/satchel/r if(internal_transmitter.caller) icon_state = "[base_icon]_ring" + item_state = "rto_backpack_ring" else icon_state = base_icon + item_state = "rto_backpack" /obj/item/storage/backpack/marine/satchel/rto/forceMove(atom/dest) . = ..() diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 256210b69f4c..d1a4a0f97897 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -27,7 +27,6 @@ desc = "It's the heavy-duty black polymer kind. Time to take out the trash!" icon = 'icons/obj/janitor.dmi' icon_state = "trashbag0" - item_state = "trashbag" w_class = SIZE_LARGE max_w_class = SIZE_MEDIUM @@ -39,19 +38,24 @@ storage_flags = STORAGE_GATHER_SIMULTAENOUSLY|STORAGE_QUICK_GATHER|STORAGE_CLICK_GATHER flags_equip_slot = NONE -/obj/item/storage/bag/trash/update_icon() +/obj/item/storage/bag/trash/update_icon(mob/living/carbon/human/user) var/sum_storage_cost = 0 for(var/obj/item/item in contents) sum_storage_cost += item.get_storage_cost() if(!sum_storage_cost) icon_state = "trashbag0" + item_state = "trashbag0" else if(sum_storage_cost < floor(max_storage_space * 0.35)) icon_state = "trashbag1" + item_state = "trashbag1" else if(sum_storage_cost < floor(max_storage_space * 0.7)) icon_state = "trashbag2" + item_state = "trashbag2" else icon_state = "trashbag3" + item_state = "trashbag3" + // ----------------------------- // Plastic Bag diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 0647d214be97..90c4be0a433f 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -487,7 +487,11 @@ desc = "A small box of 'Space-Proof' premium matches." icon = 'icons/obj/items/cigarettes.dmi' icon_state = "matchbox" - item_state = "zippo" + item_state = "matchbox" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) w_class = SIZE_TINY flags_equip_slot = SLOT_WAIST flags_obj = parent_type::flags_obj|OBJ_IS_HELMET_GARB @@ -799,6 +803,7 @@ name = "\improper USCM MRE" desc = "A Meal, Ready-to-Eat. A single-meal combat ration designed to provide a soldier with enough nutrients for a day of strenuous work. Its expiration date is at least 20 years ahead of your combat life expectancy." icon_state = "mealpack" + item_state = "mealpack" icon = 'icons/obj/items/storage/mre.dmi' w_class = SIZE_SMALL can_hold = list() diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 79d38603dc7e..fea683d0527f 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -26,6 +26,7 @@ /obj/item/storage/fancy/update_icon() icon_state = "[icon_type]box[length(contents)]" + item_state = "[icon_type]box[length(contents)]" /obj/item/storage/fancy/remove_from_storage(obj/item/W, atom/new_location) . = ..() @@ -326,7 +327,6 @@ name = "\improper Lucky Strikes matchbook" desc = "A small book of cheap paper matches. Good luck getting them to light. Made by Lucky Strikes, but you'll be anything but lucky when you burn your hand trying to light a match on this." icon_state = "mpacket" - item_state = "zippo" storage_slots = 6 can_hold = list() icon_type = "match" @@ -382,6 +382,7 @@ /obj/item/storage/fancy/vials icon = 'icons/obj/items/vialbox.dmi' icon_state = "vialbox0" + item_state = "vialbox0" icon_type = "vial" name = "vial storage box" desc = "A place to store your fragile vials when you are not using them." @@ -428,7 +429,7 @@ desc = "A locked box for keeping things away from children." icon = 'icons/obj/items/vialbox.dmi' icon_state = "vialbox0" - item_state = "syringe_kit" + item_state = "vialbox0" max_w_class = SIZE_MEDIUM can_hold = list(/obj/item/reagent_container/glass/beaker/vial) max_storage_space = 14 //The sum of the w_classes of all the items in this storage item. diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index a684586675a6..3f5a3cca74e6 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -337,7 +337,7 @@ desc = "It's an airtight container for storing medication." icon_state = "pill_canister" icon = 'icons/obj/items/chemistry.dmi' - item_state = "contsolid" + item_state = "pill_canister" w_class = SIZE_SMALL matter = list("plastic" = 500) can_hold = list( @@ -559,6 +559,7 @@ /obj/item/storage/pill_bottle/kelotane name = "\improper Kelotane pill bottle" icon_state = "pill_canister2" + item_state = "pill_canister2" pill_type_to_fill = /obj/item/reagent_container/pill/kelotane maptext_label = "Kl" @@ -568,6 +569,7 @@ /obj/item/storage/pill_bottle/antitox name = "\improper Dylovene pill bottle" icon_state = "pill_canister6" + item_state = "pill_canister6" pill_type_to_fill = /obj/item/reagent_container/pill/antitox maptext_label = "Dy" @@ -578,6 +580,7 @@ /obj/item/storage/pill_bottle/inaprovaline name = "\improper Inaprovaline pill bottle" icon_state = "pill_canister3" + item_state = "pill_canister3" pill_type_to_fill = /obj/item/reagent_container/pill/inaprovaline maptext_label = "In" @@ -587,6 +590,7 @@ /obj/item/storage/pill_bottle/tramadol name = "\improper Tramadol pill bottle" icon_state = "pill_canister5" + item_state = "pill_canister5" pill_type_to_fill = /obj/item/reagent_container/pill/tramadol maptext_label = "Tr" @@ -596,6 +600,7 @@ /obj/item/storage/pill_bottle/spaceacillin name = "\improper Spaceacillin pill bottle" icon_state = "pill_canister4" + item_state = "pill_canister4" pill_type_to_fill = /obj/item/reagent_container/pill/spaceacillin maptext_label = "Sp" @@ -605,6 +610,7 @@ /obj/item/storage/pill_bottle/bicaridine name = "\improper Bicaridine pill bottle" icon_state = "pill_canister11" + item_state = "pill_canister11" pill_type_to_fill = /obj/item/reagent_container/pill/bicaridine maptext_label = "Bi" @@ -614,6 +620,7 @@ /obj/item/storage/pill_bottle/dexalin name = "\improper Dexalin pill bottle" icon_state = "pill_canister1" + item_state = "píll_canister1" pill_type_to_fill = /obj/item/reagent_container/pill/dexalin maptext_label = "Dx" @@ -624,6 +631,7 @@ /obj/item/storage/pill_bottle/alkysine name = "\improper Alkysine pill bottle" icon_state = "pill_canister7" + item_state = "pill_canister7" pill_type_to_fill = /obj/item/reagent_container/pill/alkysine maptext_label = "Al" @@ -634,6 +642,7 @@ /obj/item/storage/pill_bottle/imidazoline name = "\improper Imidazoline pill bottle" icon_state = "pill_canister9" + item_state = "pill_canister9" pill_type_to_fill = /obj/item/reagent_container/pill/imidazoline maptext_label = "Im" @@ -644,6 +653,7 @@ /obj/item/storage/pill_bottle/peridaxon name = "\improper Peridaxon pill bottle" icon_state = "pill_canister10" + item_state = "pill_canister10" pill_type_to_fill = /obj/item/reagent_container/pill/peridaxon maptext_label = "Pr" @@ -654,6 +664,7 @@ /obj/item/storage/pill_bottle/russianRed name = "\improper Russian red pill bottle" icon_state = "pill_canister" + item_state = "pill_canister" pill_type_to_fill = /obj/item/reagent_container/pill/russianRed maptext_label = "Rr" @@ -664,6 +675,7 @@ /obj/item/storage/pill_bottle/ultrazine name = "pill bottle" icon_state = "pill_canister11" + item_state = "pill_canister11" max_storage_space = 5 skilllock = SKILL_MEDICAL_DEFAULT //CL can open it var/idlock = TRUE @@ -734,6 +746,7 @@ /obj/item/storage/pill_bottle/stimulant name = "\improper Stimulant pill bottle" icon_state = "pill_canister12" + item_state = "píll_canister12" pill_type_to_fill = /obj/item/reagent_container/pill/stimulant maptext_label = "ST" diff --git a/code/game/objects/items/storage/toolkit.dm b/code/game/objects/items/storage/toolkit.dm index d54201f73650..6e68f4adae5b 100644 --- a/code/game/objects/items/storage/toolkit.dm +++ b/code/game/objects/items/storage/toolkit.dm @@ -3,7 +3,7 @@ desc = "An combat engineering toolkit intended to carry electrical and mechanical supplies into combat. With engineering training you can fit this in a backpack." icon = 'icons/obj/items/storage/kits.dmi' icon_state = "toolkit" - item_state = "fulton" + item_state = "toolkit" throw_speed = SPEED_FAST throw_range = 8 use_sound = "toolbox" diff --git a/code/game/objects/items/tools/cleaning_tools.dm b/code/game/objects/items/tools/cleaning_tools.dm index 9fab254a7153..a1bf1db0392c 100644 --- a/code/game/objects/items/tools/cleaning_tools.dm +++ b/code/game/objects/items/tools/cleaning_tools.dm @@ -155,9 +155,11 @@ /obj/item/tool/soap/weyland_yutani desc = "A Weyland-Yutani brand bar of soap. Smells of phoron." icon_state = "soapnt" + item_state = "soapnt" /obj/item/tool/soap/deluxe icon_state = "soapdeluxe" + item_state = "soapdeluxe" /obj/item/tool/soap/deluxe/Initialize() . = ..() @@ -166,3 +168,4 @@ /obj/item/tool/soap/syndie desc = "An untrustworthy bar of soap. Smells of fear." icon_state = "soapsyndie" + item_state = "soapsyndie" diff --git a/code/game/objects/items/tools/flame_tools.dm b/code/game/objects/items/tools/flame_tools.dm index 8af7d15e0ff3..a03b9e48a280 100644 --- a/code/game/objects/items/tools/flame_tools.dm +++ b/code/game/objects/items/tools/flame_tools.dm @@ -38,6 +38,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM i = 2 else i = 3 icon_state = "candle[i][heat_source ? "_lit" : ""]" + item_state = "candle[i][heat_source ? "_lit" : ""]" /obj/item/tool/candle/Destroy() if(heat_source) @@ -93,7 +94,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM name = "match" desc = "A simple match stick, used for lighting fine smokables." icon = 'icons/obj/items/cigarettes.dmi' + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) icon_state = "match" + item_state = "match" var/burnt = 0 var/smoketime = 10 SECONDS var/burnt_name = "burnt match" @@ -143,6 +149,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM playsound(src.loc,"match",15, 1, 3) damtype = "burn" icon_state = "[initial(icon_state)]_lit" + item_state = "[initial(item_state)]_lit" turn_light(toggle_on = TRUE) START_PROCESSING(SSobj, src) update_icon() @@ -153,7 +160,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM burnt = 1 damtype = "brute" icon_state = "[initial(icon_state)]_burnt" - item_state = "cigoff" + item_state = "[initial(item_state)]_burnt" turn_light(toggle_on = FALSE) name = burnt_name desc = "A match. This one has seen better days." @@ -163,6 +170,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM name = "paper match" desc = "A simple match stick, used for lighting fine smokables." icon_state = "papermatch" + item_state = "papermatch" burnt_name = "burnt paper match" ////////////////// @@ -172,8 +180,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM name = "cigarette" desc = "A roll of tobacco and fillers, wrapped in paper with a filter at the end. Apparently, inhaling the smoke makes you feel happier." icon_state = "cigoff" - throw_speed = SPEED_AVERAGE item_state = "cigoff" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) + throw_speed = SPEED_AVERAGE w_class = SIZE_TINY flags_armor_protection = 0 flags_equip_slot = SLOT_EAR | SLOT_FACE @@ -686,6 +698,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon = 'icons/obj/items/items.dmi' icon_state = "lighter_g" item_state = "lighter_g" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) light_color = LIGHT_COLOR_LAVA var/icon_on = "lighter_g_on" var/icon_off = "lighter_g" diff --git a/code/game/objects/items/tools/kitchen_tools.dm b/code/game/objects/items/tools/kitchen_tools.dm index a29bf97cacd3..929ade331071 100644 --- a/code/game/objects/items/tools/kitchen_tools.dm +++ b/code/game/objects/items/tools/kitchen_tools.dm @@ -69,22 +69,26 @@ name = "fork" desc = "It's a fork. Sure is pointy." icon_state = "fork" + item_state = "fork" /obj/item/tool/kitchen/utensil/pfork name = "plastic fork" desc = "Yay, no washing up to do." icon_state = "pfork" + item_state = "pfork" /obj/item/tool/kitchen/utensil/spoon name = "spoon" desc = "It's a spoon. You can see your own upside-down face in it." icon_state = "spoon" + item_state = "spoon" attack_verb = list("attacked", "poked") /obj/item/tool/kitchen/utensil/pspoon name = "plastic spoon" desc = "It's a plastic spoon. How dull." icon_state = "pspoon" + item_state = "pspoon" attack_verb = list("attacked", "poked") /* diff --git a/code/game/objects/items/tools/misc_tools.dm b/code/game/objects/items/tools/misc_tools.dm index b016f0e67b33..b81a5f524d3a 100644 --- a/code/game/objects/items/tools/misc_tools.dm +++ b/code/game/objects/items/tools/misc_tools.dm @@ -58,10 +58,10 @@ if(isturf(A)) to_chat(user, SPAN_WARNING("The label won't stick to that.")) return - if(istype(A, /obj/item/storage/pill_bottle)) + if(istype(A, /obj/item/storage/pill_bottle)) var/obj/item/storage/pill_bottle/target_pill_bottle = A target_pill_bottle.choose_color(user) - + if(!label || !length(label)) remove_label(A, user) return @@ -157,6 +157,10 @@ icon = 'icons/obj/items/paper.dmi' icon_state = "pen" item_state = "pen" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) flags_equip_slot = SLOT_WAIST|SLOT_EAR|SLOT_SUIT_STORE throwforce = 0 w_class = SIZE_TINY diff --git a/code/game/objects/items/tools/surgery_tools.dm b/code/game/objects/items/tools/surgery_tools.dm index 0c5b3925ca34..360e6a53d9c2 100644 --- a/code/game/objects/items/tools/surgery_tools.dm +++ b/code/game/objects/items/tools/surgery_tools.dm @@ -218,7 +218,7 @@ ///How much bone gel is needed to mend bones var/mend_bones_fix_cost = 5 -/obj/item/tool/surgery/bonegel/update_icon() +/obj/item/tool/surgery/bonegel/update_icon(mob/user) . = ..() if(remaining_gel >= 100) icon_state = base_icon_state @@ -321,6 +321,7 @@ name = "\proper surgical line" desc = "A roll of military-grade surgical line, able to seamlessly sew up any wound. Also works as a robust fishing line for maritime deployments." icon_state = "line_brute" + item_state = "line_brute" force = 0 throwforce = 1 w_class = SIZE_SMALL @@ -339,6 +340,7 @@ desc = "An applicator for synthetic skin field grafts. The stuff reeks, itches like the dickens, hurts going on, and the color is \ a perfectly averaged multiethnic tone that doesn't blend with anyone's complexion. But at least you don't have to stay in sickbay." icon_state = "line_burn" + item_state = "line_burn" force = 0 throwforce = 1 w_class = SIZE_SMALL diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 3b415cf0f9e8..b085da5471e6 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -55,7 +55,7 @@ /obj/item/clothing/suit/fire/firefighter icon_state = "firesuit" - item_state = "firefighter" + item_state = "fire_suit" /* * Bomb protection diff --git a/code/modules/cm_marines/equipment/gear.dm b/code/modules/cm_marines/equipment/gear.dm index 6e11181e249e..3dda2d741e95 100644 --- a/code/modules/cm_marines/equipment/gear.dm +++ b/code/modules/cm_marines/equipment/gear.dm @@ -7,7 +7,7 @@ desc = "A Flashlight designed to be held in the hand, or attached to a rifle, has better bulb compared to a normal flashlight." icon_state = "combat_flashlight" item_state = "flashlight" - light_range = 5 //Pretty luminous, but still a flashlight that fits in a pocket + light_range = 6 //Pretty luminous, but still a flashlight that fits in a pocket //MARINE SNIPER TARPS diff --git a/code/modules/cm_marines/equipment/guncases.dm b/code/modules/cm_marines/equipment/guncases.dm index 33cfeed00307..65130eafcc7c 100644 --- a/code/modules/cm_marines/equipment/guncases.dm +++ b/code/modules/cm_marines/equipment/guncases.dm @@ -3,6 +3,7 @@ desc = "It has space for firearm(s). Sometimes magazines or other munitions as well." icon = 'icons/obj/items/storage/kits.dmi' icon_state = "guncase" + item_state = "guncase" w_class = SIZE_HUGE max_w_class = SIZE_HUGE //shouldn't be a problem since we can only store the guns and ammo. storage_slots = 1 @@ -313,6 +314,7 @@ name = "\improper M707 anti-materiel rifle case" desc = "A gun case containing the M707 \"Vulture\" anti-materiel rifle and its requisite spotting tools." icon_state = "guncase_blue" + item_state = "guncase_blue" storage_slots = 7 can_hold = list( /obj/item/weapon/gun/boltaction/vulture, diff --git a/code/modules/cm_marines/equipment/mortar/mortar_shells.dm b/code/modules/cm_marines/equipment/mortar/mortar_shells.dm index 1d6cb3be0a3c..61053531c404 100644 --- a/code/modules/cm_marines/equipment/mortar/mortar_shells.dm +++ b/code/modules/cm_marines/equipment/mortar/mortar_shells.dm @@ -3,6 +3,10 @@ desc = "An unlabeled 80mm mortar shell, probably a casing." icon = 'icons/obj/structures/mortar.dmi' icon_state = "mortar_ammo_cas" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) w_class = SIZE_HUGE flags_atom = FPRINT|CONDUCT var/datum/cause_data/cause_data @@ -29,6 +33,7 @@ name = "\improper 80mm high explosive mortar shell" desc = "An 80mm mortar shell, loaded with a high explosive charge." icon_state = "mortar_ammo_he" + item_state = "mortar_ammo_he" /obj/item/mortar_shell/he/detonate(turf/T) explosion(T, 0, 3, 5, 7, explosion_cause_data = cause_data) @@ -37,6 +42,7 @@ name = "\improper 80mm fragmentation mortar shell" desc = "An 80mm mortar shell, loaded with a fragmentation charge." icon_state = "mortar_ammo_frag" + item_state = "mortar_ammo_frag" /obj/item/mortar_shell/frag/detonate(turf/T) create_shrapnel(T, 60, cause_data = cause_data) @@ -47,6 +53,7 @@ name = "\improper 80mm incendiary mortar shell" desc = "An 80mm mortar shell, loaded with a Type B napalm charge. Perfect for long-range area denial." icon_state = "mortar_ammo_inc" + item_state = "mortar_ammo_inc" var/radius = 5 var/flame_level = BURN_TIME_TIER_5 + 5 //Type B standard, 50 base + 5 from chemfire code. var/burn_level = BURN_LEVEL_TIER_2 @@ -62,6 +69,7 @@ name = "\improper 80mm flare/camera mortar shell" desc = "An 80mm mortar shell, loaded with an illumination flare / camera combo, attached to a parachute." icon_state = "mortar_ammo_flr" + item_state = "mortar_ammo_flr" /obj/item/mortar_shell/flare/detonate(turf/T) new /obj/item/device/flashlight/flare/on/illumination(T) @@ -72,6 +80,7 @@ name = "\improper 80mm custom mortar shell" desc = "An 80mm mortar shell." icon_state = "mortar_ammo_custom" + item_state = "mortar_ammo_custom_locked" matter = list("metal" = 18750) //5 sheets var/obj/item/explosive/warhead/mortar/warhead var/obj/item/reagent_container/glass/fuel @@ -168,7 +177,7 @@ /obj/item/mortar_shell/flamer_fire_act(dam, datum/cause_data/flame_cause_data) addtimer(VARSET_CALLBACK(src, burning, FALSE), 5 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_DELETE_ME) - + if(burning) return burning = TRUE @@ -200,7 +209,7 @@ addtimer(CALLBACK(src, PROC_REF(explode), cause_data), 5 SECONDS) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), (src)), 5.5 SECONDS) - + /obj/item/mortar_shell/proc/explode(flame_cause_data) cell_explosion(src, 100, 25, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, flame_cause_data) diff --git a/code/modules/cm_marines/equipment/mortar/mortars.dm b/code/modules/cm_marines/equipment/mortar/mortars.dm index 161be4813832..96a3fc3059b3 100644 --- a/code/modules/cm_marines/equipment/mortar/mortars.dm +++ b/code/modules/cm_marines/equipment/mortar/mortars.dm @@ -408,6 +408,11 @@ desc = "A manual, crew-operated mortar system intended to rain down 80mm goodness on anything it's aimed at. Needs to be set down first" icon = 'icons/obj/structures/mortar.dmi' icon_state = "mortar_m402_carry" + item_state = "mortar_m402_carry" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) unacidable = TRUE w_class = SIZE_HUGE //No dumping this in a backpack. Carry it, fatso diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 9f00aa3a659a..2dd2d548eb1c 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -3,6 +3,10 @@ icon = 'icons/obj/items/paper.dmi' icon_state = "clipboard" item_state = "clipboard" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) throwforce = 0 w_class = SIZE_SMALL throw_speed = SPEED_VERY_FAST diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 0250b9c7d41e..797b3a05d9b4 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -3,6 +3,10 @@ desc = "A folder." icon = 'icons/obj/items/paper.dmi' icon_state = "folder" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) w_class = SIZE_SMALL var/updateicon = 0//If they spawn with premade papers, update icon diff --git a/code/modules/paperwork/notepad.dm b/code/modules/paperwork/notepad.dm index bbfec5428830..39f2a8b9dad3 100644 --- a/code/modules/paperwork/notepad.dm +++ b/code/modules/paperwork/notepad.dm @@ -3,7 +3,10 @@ gender = PLURAL icon = 'icons/obj/items/notepads.dmi' icon_state = "notebook" - item_state = "paper" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) throwforce = 0 w_class = SIZE_TINY throw_range = 2 @@ -22,6 +25,7 @@ if(!cover_color) cover_color = pick(cover_colors) icon_state = initial(icon_state) + "_[cover_color]" + item_state = initial(icon_state) + "_[cover_color]" for(var/i = 1 to paper_left) new /obj/item/paper(src) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index e1610fb3401a..6b69924475aa 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -11,6 +11,10 @@ icon = 'icons/obj/items/paper.dmi' icon_state = "paper" item_state = "paper" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) pickup_sound = 'sound/handling/paper_pickup.ogg' drop_sound = 'sound/handling/paper_drop.ogg' throwforce = 0 diff --git a/code/modules/projectiles/guns/flamer/flamer.dm b/code/modules/projectiles/guns/flamer/flamer.dm index 64592044006f..95cf16df819b 100644 --- a/code/modules/projectiles/guns/flamer/flamer.dm +++ b/code/modules/projectiles/guns/flamer/flamer.dm @@ -68,11 +68,12 @@ else . += "There's no tank in [src]!" -/obj/item/weapon/gun/flamer/update_icon() +/obj/item/weapon/gun/flamer/update_icon(mob/user) ..() // Have to redo this here because we don't want the empty sprite when the tank is empty (just when it's not in the gun) var/new_icon_state = base_gun_icon + if(has_empty_icon && !current_mag) new_icon_state += "_e" icon_state = new_icon_state diff --git a/code/modules/projectiles/magazines/flamer.dm b/code/modules/projectiles/magazines/flamer.dm index 2bdc0546c2c9..d806245c6295 100644 --- a/code/modules/projectiles/magazines/flamer.dm +++ b/code/modules/projectiles/magazines/flamer.dm @@ -8,6 +8,10 @@ icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi' icon_state = "flametank_custom" item_state = "flametank" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) max_rounds = 100 default_ammo = /datum/ammo/flamethrower //doesn't actually need bullets. But we'll get null ammo error messages if we don't w_class = SIZE_MEDIUM //making sure you can't sneak this onto your belt. diff --git a/code/modules/projectiles/magazines/revolvers.dm b/code/modules/projectiles/magazines/revolvers.dm index f4dfea4e20fb..ad8433fc5dfa 100644 --- a/code/modules/projectiles/magazines/revolvers.dm +++ b/code/modules/projectiles/magazines/revolvers.dm @@ -10,6 +10,10 @@ icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi' icon_state = "m44" item_state = "generic_speedloader" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) w_class = SIZE_SMALL max_rounds = 7 gun_type = /obj/item/weapon/gun/revolver/m44 diff --git a/code/modules/projectiles/magazines/rifles.dm b/code/modules/projectiles/magazines/rifles.dm index 60be8ed6c1ad..93d855ff9bf1 100644 --- a/code/modules/projectiles/magazines/rifles.dm +++ b/code/modules/projectiles/magazines/rifles.dm @@ -11,6 +11,10 @@ icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi' icon_state = "m41a" item_state = "generic_mag" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) w_class = SIZE_MEDIUM default_ammo = /datum/ammo/bullet/rifle max_rounds = 40 diff --git a/code/modules/projectiles/magazines/shotguns.dm b/code/modules/projectiles/magazines/shotguns.dm index 61070690e9ac..11028d7b03c5 100644 --- a/code/modules/projectiles/magazines/shotguns.dm +++ b/code/modules/projectiles/magazines/shotguns.dm @@ -20,6 +20,10 @@ GLOBAL_LIST_INIT(shotgun_boxes_12g, list( icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi' icon_state = "slugs" item_state = "slugs" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) default_ammo = /datum/ammo/bullet/shotgun/slug caliber = "12g" gun_type = /obj/item/weapon/gun/shotgun diff --git a/code/modules/projectiles/magazines/smgs.dm b/code/modules/projectiles/magazines/smgs.dm index b89aee06f6be..176c2756988d 100644 --- a/code/modules/projectiles/magazines/smgs.dm +++ b/code/modules/projectiles/magazines/smgs.dm @@ -2,6 +2,10 @@ name = "\improper default SMG magazine" desc = "A submachinegun magazine." item_state = "generic_mag" + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) default_ammo = /datum/ammo/bullet/smg max_rounds = 30 diff --git a/icons/mob/humans/onmob/back.dmi b/icons/mob/humans/onmob/back.dmi index f7dffb722a89..bcc66457c954 100644 Binary files a/icons/mob/humans/onmob/back.dmi and b/icons/mob/humans/onmob/back.dmi differ diff --git a/icons/mob/humans/onmob/head_0.dmi b/icons/mob/humans/onmob/head_0.dmi index 862953a27be3..74563ea78bb6 100644 Binary files a/icons/mob/humans/onmob/head_0.dmi and b/icons/mob/humans/onmob/head_0.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_0.dmi b/icons/mob/humans/onmob/items_lefthand_0.dmi index f949062be7b7..2e7d3bf0a681 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_0.dmi and b/icons/mob/humans/onmob/items_lefthand_0.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_1.dmi b/icons/mob/humans/onmob/items_lefthand_1.dmi index bc243d0228c3..9d035c23ebf7 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_1.dmi and b/icons/mob/humans/onmob/items_lefthand_1.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_0.dmi b/icons/mob/humans/onmob/items_righthand_0.dmi index 1f70077321ee..d0b52f7448b6 100644 Binary files a/icons/mob/humans/onmob/items_righthand_0.dmi and b/icons/mob/humans/onmob/items_righthand_0.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_1.dmi b/icons/mob/humans/onmob/items_righthand_1.dmi index 29f8cd8e1043..aa3072ea3676 100644 Binary files a/icons/mob/humans/onmob/items_righthand_1.dmi and b/icons/mob/humans/onmob/items_righthand_1.dmi differ diff --git a/icons/obj/items/books.dmi b/icons/obj/items/books.dmi index 9b53dc652807..0a7e26b7db74 100644 Binary files a/icons/obj/items/books.dmi and b/icons/obj/items/books.dmi differ diff --git a/icons/obj/items/items.dmi b/icons/obj/items/items.dmi index 81a0e526f1b7..398ad5d683a0 100644 Binary files a/icons/obj/items/items.dmi and b/icons/obj/items/items.dmi differ diff --git a/icons/obj/items/notepads.dmi b/icons/obj/items/notepads.dmi index 007be4dc0e71..286037e21a96 100644 Binary files a/icons/obj/items/notepads.dmi and b/icons/obj/items/notepads.dmi differ diff --git a/icons/obj/items/paper.dmi b/icons/obj/items/paper.dmi index b15d4be6076d..ee6cbcb05f92 100644 Binary files a/icons/obj/items/paper.dmi and b/icons/obj/items/paper.dmi differ