diff --git a/code/game/objects/items/stacks/medical_packs.dm b/code/game/objects/items/stacks/medical_packs.dm index 54d092cafef..972f202ea32 100644 --- a/code/game/objects/items/stacks/medical_packs.dm +++ b/code/game/objects/items/stacks/medical_packs.dm @@ -118,11 +118,13 @@ name = "roll of gauze" singular_name = "gauze length" desc = "Some sterile gauze to wrap around bloody stumps." + icon = 'icons/obj/stacks/miscellaneous.dmi' icon_state = "gauze" origin_tech = "biotech=2" max_amount = 12 heal_brute = 10 stop_bleeding = 1800 + dynamic_icon_state = TRUE /obj/item/stack/medical/bruise_pack/attackby(obj/item/I, mob/user, params) if(I.sharp) @@ -168,6 +170,7 @@ /obj/item/stack/medical/bruise_pack/advanced name = "advanced trauma kit" + icon = 'icons/obj/items.dmi' singular_name = "advanced trauma kit" desc = "An advanced trauma kit for severe injuries." icon_state = "traumakit" @@ -175,6 +178,7 @@ max_amount = 6 heal_brute = 25 stop_bleeding = 0 + dynamic_icon_state = FALSE /obj/item/stack/medical/bruise_pack/advanced/cyborg energy_type = /datum/robot_energy_storage/medical/adv_brute_kit @@ -190,11 +194,13 @@ name = "ointment" desc = "Used to treat those nasty burns." gender = PLURAL + icon = 'icons/obj/stacks/miscellaneous.dmi' singular_name = "ointment" icon_state = "ointment" origin_tech = "biotech=2" healverb = "salve" heal_burn = 10 + dynamic_icon_state = TRUE /obj/item/stack/medical/ointment/attack(mob/living/M, mob/user) if(..()) @@ -219,9 +225,11 @@ name = "advanced burn kit" singular_name = "advanced burn kit" desc = "An advanced treatment kit for severe burns." + icon = 'icons/obj/items.dmi' icon_state = "burnkit" belt_icon = "burnkit" heal_burn = 25 + dynamic_icon_state = FALSE /obj/item/stack/medical/ointment/advanced/cyborg energy_type = /datum/robot_energy_storage/medical/adv_burn_kit @@ -244,6 +252,7 @@ drop_sound = 'sound/misc/moist_impact.ogg' mob_throw_hit_sound = 'sound/misc/moist_impact.ogg' hitsound = 'sound/misc/moist_impact.ogg' + dynamic_icon_state = FALSE /obj/item/stack/medical/bruise_pack/comfrey/heal(mob/living/M, mob/user) playsound(src, 'sound/misc/soggy.ogg', 30, TRUE) @@ -257,6 +266,7 @@ icon_state = "ambrosiavulgaris" color = "#4CC5C7" heal_burn = 12 + dynamic_icon_state = FALSE // Splints /obj/item/stack/medical/splint diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index ae1d94cb77b..c7aa2acd569 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -18,7 +18,8 @@ GLOBAL_LIST_INIT(rod_recipes, list ( name = "metal rod" desc = "Some rods. Can be used for building, or something." singular_name = "metal rod" - icon_state = "rods" + icon = 'icons/obj/stacks/minerals.dmi' + icon_state = "rods-5" item_state = "rods" flags = CONDUCT w_class = WEIGHT_CLASS_NORMAL @@ -65,10 +66,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( /obj/item/stack/rods/update_icon_state() var/amount = get_amount() - if((amount <= 5) && (amount > 0)) - icon_state = "rods-[amount]" - else - icon_state = "rods" + icon_state = "rods-[clamp(amount, 1, 5)]" /obj/item/stack/rods/welder_act(mob/user, obj/item/I) if(get_amount() < 2) diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 677d220cd5e..dfcefc3c3c8 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -1,7 +1,9 @@ /obj/item/stack/sheet/animalhide - name = "hide" + name = "sheet-hide" + icon = 'icons/obj/stacks/organic.dmi' desc = "Something went wrong." origin_tech = "biotech=3" + dynamic_icon_state = FALSE /obj/item/stack/sheet/animalhide/human name = "human skin" @@ -62,7 +64,8 @@ GLOBAL_LIST_INIT(lizard_recipes, list( name = "pile of fur" desc = "Vulp remains." singular_name = "fur piece" - icon_state = "sheet-fur" + icon = 'icons/obj/stacks/organic.dmi' + icon_state = "sheet-hide" origin_tech = "materials=2" max_amount = 50 @@ -88,6 +91,7 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( icon = 'icons/mob/alien.dmi' icon_state = "chitin" origin_tech = "" + dynamic_icon_state = FALSE /obj/item/xenos_claw name = "alien claw" @@ -107,6 +111,7 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( 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" origin_tech = "" @@ -115,6 +120,7 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( 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" origin_tech = "" @@ -125,6 +131,7 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( 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" origin_tech = "materials=2" @@ -152,7 +159,7 @@ GLOBAL_LIST_INIT(leather_recipes, list ( /obj/item/stack/sheet/sinew name = "watcher sinew" - icon = 'icons/obj/mining.dmi' + 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" @@ -170,13 +177,14 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( /obj/item/stack/sheet/animalhide/goliath_hide name = "goliath hide plates" desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/stacks/organic.dmi' icon_state = "goliath_hide" item_state = "goliath_hide" singular_name = "hide plate" flags = NOBLUDGEON w_class = WEIGHT_CLASS_NORMAL layer = MOB_LAYER + dynamic_icon_state = TRUE var/static/list/goliath_platable_armor_typecache = typecacheof(list( /obj/item/clothing/suit/space/hardsuit/mining, /obj/item/clothing/head/helmet/space/hardsuit/mining, @@ -225,13 +233,14 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( /obj/item/stack/sheet/animalhide/ashdrake name = "ash drake hide" desc = "The strong, scaled hide of an ash drake." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/stacks/organic.dmi' icon_state = "dragon_hide" item_state = "dragon_hide" singular_name = "drake plate" flags = NOBLUDGEON w_class = WEIGHT_CLASS_NORMAL layer = MOB_LAYER + dynamic_icon_state = TRUE //Step one - dehairing. diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index d775ada8da7..79a6b22c252 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -169,6 +169,7 @@ GLOBAL_LIST_INIT(snow_recipes, list( /obj/item/stack/sheet/mineral/sandbags name = "sandbags" + icon = 'icons/obj/stacks/miscellaneous.dmi' icon_state = "sandbags" singular_name = "sandbag" layer = LOW_ITEM_LAYER @@ -185,7 +186,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( /obj/item/emptysandbag name = "empty sandbag" desc = "A bag to be filled with sand." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/stacks/miscellaneous.dmi' icon_state = "sandbag" w_class = WEIGHT_CLASS_TINY @@ -319,7 +320,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( /obj/item/stack/sheet/mineral/bananium name = "bananium" - icon_state = "sheet-clown" + icon_state = "sheet-bananium" item_state = "sheet-clown" singular_name = "bananium sheet" origin_tech = "materials=4" @@ -337,7 +338,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( /obj/item/stack/sheet/mineral/tranquillite name = "tranquillite" - icon_state = "sheet-mime" + icon_state = "sheet-tranquillite" item_state = "sheet-mime" singular_name = "beret" origin_tech = "materials=4" diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 93898725fd3..c8c853d712e 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -245,6 +245,7 @@ GLOBAL_LIST_INIT(wood_recipes, list( 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" origin_tech = "materials=1;biotech=1" @@ -299,6 +300,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( 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" origin_tech = "materials=2" @@ -329,6 +331,7 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( singular_name = "durathread roll" icon_state = "sheet-durathread" item_state = "sheet-durathread" + icon = 'icons/obj/stacks/organic.dmi' resistance_flags = FLAMMABLE force = 0 throwforce = 0 @@ -345,6 +348,7 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( desc = "A bundle of raw cotton ready to be spun on the loom." singular_name = "raw cotton ball" icon_state = "sheet-cotton" + icon = 'icons/obj/stacks/organic.dmi' resistance_flags = FLAMMABLE force = 0 throwforce = 0 @@ -357,6 +361,7 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( desc = "A bundle of raw durathread ready to be spun on the loom." singular_name = "raw durathread ball" icon_state = "sheet-durathreadraw" + icon = 'icons/obj/stacks/organic.dmi' merge_type = /obj/item/stack/sheet/cotton/durathread pull_effort = 70 loom_result = /obj/item/stack/sheet/durathread @@ -410,6 +415,7 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( 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" origin_tech = "materials=1" @@ -500,7 +506,7 @@ GLOBAL_LIST_INIT(brass_recipes, list ( singular_name = "brass sheet" icon_state = "sheet-brass" item_state = "sheet-brass" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/stacks/minerals.dmi' resistance_flags = FIRE_PROOF | ACID_PROOF throwforce = 10 max_amount = 50 @@ -527,7 +533,7 @@ GLOBAL_LIST_INIT(brass_recipes, list ( */ /obj/item/stack/sheet/bone name = "bones" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/stacks/organic.dmi' icon_state = "bone" item_state = "bone" singular_name = "bone" diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index 689ed1a0ad6..0c337d5c18d 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -1,5 +1,6 @@ /obj/item/stack/sheet name = "sheet" + icon = 'icons/obj/stacks/minerals.dmi' w_class = WEIGHT_CLASS_NORMAL force = 5 throwforce = 5 @@ -16,6 +17,7 @@ usesound = 'sound/items/deconstruct.ogg' toolspeed = 1 var/wall_allowed = TRUE //determines if sheet can be used in wall construction or not. + dynamic_icon_state = TRUE /obj/item/stack/sheet/examine(mob/user) . = ..() diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 6b8918813ac..cf2086f11c0 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -29,9 +29,11 @@ var/recipe_height = 400 //Height of the recipe popup /// What sort of table is made when applying this stack to a frame? var/table_type + /// If this stack has a dynamic icon_state based on amount / max_amount + var/dynamic_icon_state = TRUE -/obj/item/stack/New(loc, new_amount, merge = TRUE) - ..() +/obj/item/stack/Initialize(mapload, new_amount, merge = TRUE) + . = ..() if(new_amount != null) amount = new_amount while(amount > max_amount) @@ -43,6 +45,17 @@ for(var/obj/item/stack/S in loc) if(S.merge_type == merge_type) merge(S) + update_icon(UPDATE_ICON_STATE) + +/obj/item/stack/update_icon_state() + . = ..() + if(!dynamic_icon_state) + return + var/temp_amount = get_amount() + if(temp_amount > 1) + icon_state = "[initial(icon_state)]_[min(temp_amount, 3)]" //2 if amount is 2, 3 if more. + return + icon_state = initial(icon_state) /obj/item/stack/Crossed(obj/O, oldloc) if(amount >= max_amount || ismob(loc)) // Prevents unnecessary call. Also prevents merging stack automatically in a mob's inventory @@ -84,7 +97,7 @@ source.add_charge(newamount * cost) else amount += newamount - update_icon() + update_icon(UPDATE_ICON_STATE) /obj/item/stack/attack_self(mob/user) list_recipes(user) @@ -279,7 +292,7 @@ amount -= used if(check) zero_amount() - update_icon() + update_icon(UPDATE_ICON_STATE) return TRUE /obj/item/stack/proc/get_amount() diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm index 425e295e06f..76dc09c723c 100644 --- a/code/game/objects/items/stacks/telecrystal.dm +++ b/code/game/objects/items/stacks/telecrystal.dm @@ -2,13 +2,14 @@ name = "telecrystal" desc = "It seems to be pulsing with suspiciously enticing energies." singular_name = "telecrystal" - icon = 'icons/obj/telescience.dmi' + icon = 'icons/obj/stacks/minerals.dmi' icon_state = "telecrystal" item_state = "telecrystal" w_class = WEIGHT_CLASS_TINY max_amount = 50 flags = NOBLUDGEON origin_tech = "materials=6;syndicate=1" + dynamic_icon_state = TRUE /obj/item/stack/telecrystal/attack(mob/target, mob/user) if(target == user) //You can't go around smacking people with crystals to find out if they have an uplink or not. diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index c312d7d1175..dfa2bd32f54 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -128,7 +128,7 @@ /obj/item/stack/wrapping_paper name = "wrapping paper" desc = "You can use this to wrap items in." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/stacks/miscellaneous.dmi' icon_state = "wrap_paper" singular_name = "wrapping paper" flags = NOBLUDGEON diff --git a/code/game/objects/items/weapons/misc_items.dm b/code/game/objects/items/weapons/misc_items.dm index a560f0e8f87..200c53b1ccf 100644 --- a/code/game/objects/items/weapons/misc_items.dm +++ b/code/game/objects/items/weapons/misc_items.dm @@ -39,7 +39,7 @@ /obj/item/c_tube name = "cardboard tube" desc = "A tube... of cardboard." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/stacks/miscellaneous.dmi' icon_state = "c_tube" throwforce = 1 w_class = WEIGHT_CLASS_TINY diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index 30c3db2d3c8..cbdc8107a9b 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -19,7 +19,8 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list( singular_name = "marker beacon" desc = "Prism-brand path illumination devices. Used by miners to mark paths and warn of danger." icon = 'icons/obj/lighting.dmi' - icon_state = "marker" + icon_state = "markerrandom" + base_icon_state = "marker" armor = list(MELEE = 50, BULLET = 75, LASER = 75, ENERGY = 75, BOMB = 25, BIO = 100, RAD = 100, FIRE = 25, ACID = 0) max_integrity = 50 merge_type = /obj/item/stack/marker_beacon @@ -42,7 +43,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list( . += "Alt-click to select a color. Current color is [picked_color]." /obj/item/stack/marker_beacon/update_icon_state() - icon_state = "[initial(icon_state)][lowertext(picked_color)]" + icon_state = "[base_icon_state][lowertext(picked_color)]" /obj/item/stack/marker_beacon/attack_self(mob/user) if(!isturf(user.loc)) diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 2700b1b4089..1612c393f07 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -7,7 +7,7 @@ /obj/item/stack/ore name = "rock" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/stacks/ores.dmi' icon_state = "ore" max_amount = 50 singular_name = "ore chunk" @@ -71,8 +71,8 @@ /obj/item/stack/ore/uranium name = "uranium ore" - icon_state = "Uranium ore" - item_state = "Uranium ore" + icon_state = "uranium_ore" + item_state = "uranium_ore" origin_tech = "materials=5" singular_name = "uranium ore chunk" points = 30 @@ -81,8 +81,8 @@ /obj/item/stack/ore/iron name = "iron ore" - icon_state = "Iron ore" - item_state = "Iron ore" + icon_state = "iron_ore" + item_state = "iron_ore" origin_tech = "materials=1" singular_name = "iron ore chunk" points = 1 @@ -91,8 +91,8 @@ /obj/item/stack/ore/glass name = "sand pile" - icon_state = "Glass ore" - item_state = "Glass ore" + icon_state = "sand" + item_state = "sand" origin_tech = "materials=1" singular_name = "sand pile" points = 1 @@ -146,8 +146,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/plasma name = "plasma ore" - icon_state = "Plasma ore" - item_state = "Plasma ore" + icon_state = "plasma_ore" + item_state = "plasma_ore" origin_tech = "plasmatech=2;materials=2" singular_name = "plasma ore chunk" points = 15 @@ -156,8 +156,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/silver name = "silver ore" - icon_state = "Silver ore" - item_state = "Silver ore" + icon_state = "silver_ore" + item_state = "silver_ore" origin_tech = "materials=3" singular_name = "silver ore chunk" points = 16 @@ -166,8 +166,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/gold name = "gold ore" - icon_state = "Gold ore" - item_state = "Gold ore" + icon_state = "gold_ore" + item_state = "gold_ore" origin_tech = "materials=4" singular_name = "gold ore chunk" points = 18 @@ -176,8 +176,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/diamond name = "diamond ore" - icon_state = "Diamond ore" - item_state = "Diamond ore" + icon_state = "diamond_ore" + item_state = "diamond_ore" origin_tech = "materials=6" singular_name = "diamond ore chunk" points = 50 @@ -186,8 +186,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/bananium name = "bananium ore" - icon_state = "Clown ore" - item_state = "Clown ore" + icon_state = "bananium_ore" + item_state = "bananium_ore" origin_tech = "materials=4" singular_name = "bananium ore chunk" points = 60 @@ -196,8 +196,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/tranquillite name = "tranquillite ore" - icon_state = "Mime ore" - item_state = "Mime ore" + icon_state = "tranquillite_ore" + item_state = "tranquillite_ore" origin_tech = "materials=4" singular_name = "transquillite ore chunk" points = 60 @@ -206,8 +206,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/titanium name = "titanium ore" - icon_state = "Titanium ore" - item_state = "Titanium ore" + icon_state = "titanium_ore" + item_state = "titanium_ore" singular_name = "titanium ore chunk" points = 50 materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 5038cc1309f..0b27a453fc5 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -141,7 +141,7 @@ /obj/item/stack/packageWrap name = "package wrapper" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/stacks/miscellaneous.dmi' icon_state = "deliveryPaper" singular_name = "package wrapper" flags = NOBLUDGEON diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm index ae8cd095e6a..81375626847 100644 --- a/code/modules/telesci/bscrystal.dm +++ b/code/modules/telesci/bscrystal.dm @@ -2,8 +2,8 @@ /obj/item/stack/ore/bluespace_crystal name = "bluespace crystal" desc = "A glowing bluespace crystal, not much is known about how they work. It looks very delicate." - icon = 'icons/obj/telescience.dmi' - icon_state = "bluespace_crystal" + icon = 'icons/obj/stacks/minerals.dmi' + icon_state = "refined_bluespace_crystal" item_state = "bluespace_crystal" w_class = WEIGHT_CLASS_TINY materials = list(MAT_BLUESPACE = MINERAL_MATERIAL_AMOUNT) @@ -47,6 +47,7 @@ // Artifical bluespace crystal, doesn't give you much research. /obj/item/stack/ore/bluespace_crystal/artificial name = "artificial bluespace crystal" + icon_state = "synthetic_bluespace_crystal" desc = "An artificially made bluespace crystal, it looks delicate." origin_tech = "bluespace=3;plasmatech=4" materials = list(MAT_BLUESPACE=MINERAL_MATERIAL_AMOUNT * 0.5) @@ -60,9 +61,8 @@ GLOBAL_LIST_INIT(bluespace_crystal_recipes, list(new/datum/stack_recipe("Breakdo /obj/item/stack/sheet/bluespace_crystal name = "bluespace polycrystal" - icon = 'icons/obj/telescience.dmi' - icon_state = "polycrystal" - item_state = "polycrystal" + icon_state = "bluespace_crystal" + item_state = "bluespace_crystal" desc = "A stable polycrystal, made of fused-together bluespace crystals. You could probably break one off." origin_tech = "bluespace=6;materials=3" merge_type = /obj/item/stack/sheet/bluespace_crystal diff --git a/icons/obj/chairs.dmi b/icons/obj/chairs.dmi index 59968a94abb..448917c7123 100644 Binary files a/icons/obj/chairs.dmi and b/icons/obj/chairs.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 81415b02b35..b7970a80eeb 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index d1f4c0a7b6b..4a74f194c51 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/stacks/minerals.dmi b/icons/obj/stacks/minerals.dmi new file mode 100644 index 00000000000..d16a6cb9e59 Binary files /dev/null and b/icons/obj/stacks/minerals.dmi differ diff --git a/icons/obj/stacks/miscellaneous.dmi b/icons/obj/stacks/miscellaneous.dmi new file mode 100644 index 00000000000..1a21a6ce950 Binary files /dev/null and b/icons/obj/stacks/miscellaneous.dmi differ diff --git a/icons/obj/stacks/ores.dmi b/icons/obj/stacks/ores.dmi new file mode 100644 index 00000000000..983677cba16 Binary files /dev/null and b/icons/obj/stacks/ores.dmi differ diff --git a/icons/obj/stacks/organic.dmi b/icons/obj/stacks/organic.dmi new file mode 100644 index 00000000000..59691c0eaa0 Binary files /dev/null and b/icons/obj/stacks/organic.dmi differ diff --git a/icons/obj/telescience.dmi b/icons/obj/telescience.dmi index 54fa879af0d..e7ba338a451 100644 Binary files a/icons/obj/telescience.dmi and b/icons/obj/telescience.dmi differ