From ceea2c54e56bc4ea12dd3d446185aa5d9848585e Mon Sep 17 00:00:00 2001 From: Aylong <69762909+Aylong220@users.noreply.github.com> Date: Wed, 16 Aug 2023 22:11:39 +0300 Subject: [PATCH] tweak: Better stacks (#21861) * tweak: Better stacks * review changes * del return * that's it --- code/game/objects/items/stacks/sheets/sheet_types.dm | 1 + code/game/objects/items/stacks/stack.dm | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 1bf2557ab69..d0b83b09f01 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -514,6 +514,7 @@ GLOBAL_LIST_INIT(brass_recipes, list ( throw_range = 3 turf_type = /turf/simulated/floor/clockwork table_type = /obj/structure/table/reinforced/brass + dynamic_icon_state = TRUE /obj/item/stack/tile/brass/narsie_act() new /obj/item/stack/sheet/runed_metal(loc, amount) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 4c90397ecc1..41f546f3e66 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -55,11 +55,12 @@ . = ..() 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. + var/state = CEILING((amount/max_amount) * 3, 1) + if(state <= 1) + icon_state = initial(icon_state) return - icon_state = initial(icon_state) + + icon_state = "[initial(icon_state)]_[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