diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 3dfc9e4a502..16a492ef5ab 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -595,14 +595,20 @@ new /obj/item/ammo_casing/shotgun/beanbag(src) new /obj/item/ammo_casing/shotgun/beanbag(src) +#define NODESIGN "None" +#define NANOTRASEN "NanotrasenStandard" +#define SYNDI "SyndiSnacks" +#define HEART "Heart" +#define SMILE "SmileyFace" + /obj/item/weapon/storage/box/papersack name = "paper sack" desc = "A sack neatly crafted out of paper." - icon_state = "paperbag" - item_state = "paperbag" + icon_state = "paperbag_None" + item_state = "paperbag_None" burn_state = FLAMMABLE foldable = null - var/design = 0 /* 0 = No design, 1 = Nanotrasen Standard, 2 = Syndisnacks, 3 = Heart, 4 = Smiley Face */ + var/design = NODESIGN /obj/item/weapon/storage/box/papersack/update_icon() if(contents.len == 0) @@ -615,46 +621,46 @@ if(contents.len) user << "You can't modify this [src] with items still inside!" return - var/list/designs = list("None", "Nanotrasen Standard", "SyndiSnacks", "Heart", "Smiley Face", "Cancel") - var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[design + 1]) in designs + var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE, "Cancel") + var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[1]) in designs if(get_dist(usr, src) > 1) usr << "You have moved too far away!" return - design = designs.Find(switchDesign) - 1 - if(design < 5) - usr << "You make some modifications to the [src] using your pen." - switch(design) - if(0) - icon_state = "paperbag" - item_state = "paperbag" + var/choice = designs.Find(switchDesign) + if(design == designs[choice] || designs[choice] == "Cancel") + return 0 + usr << "You make some modifications to the [src] using your pen." + design = designs[choice] + icon_state = "paperbag_[design]" + item_state = "paperbag_[design]" + switch(designs[choice]) + if(NODESIGN) desc = "A sack neatly crafted out of paper." - if(1) - icon_state = "paperbag_nt" - item_state = "paperbag_nt" - desc = "A Nanotrasen standard paper lunch sack for loyal employees on the go." - if(2) - icon_state = "paperbag_syndi" - item_state = "paperbag_syndi" - desc = "The design on this paper sack is a remnant of the secrative 'SydiSnacks' program." - if(3) - icon_state = "paperbag_heart" - item_state = "paperbag_heart" + if(NANOTRASEN) + desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go." + if(SYNDI) + desc = "The design on this paper sack is a remnant of the secrative 'SyndieSnacks' program." + if(HEART) desc = "A paper sack with a heart etched onto the side." - if(4) - icon_state = "paperbag_smile" - item_state = "paperbag_smile" + if(SMILE) desc = "A paper sack with a crude smile etched onto the side." return 0 else if(W.is_sharp()) if(!contents.len) - if(item_state == "paperbag") + if(item_state == "paperbag_None") user.show_message("You cut eyeholes into the [src].", 1) new /obj/item/clothing/head/papersack(user.loc) qdel(src) return 0 - else if(item_state == "paperbag_smile") + else if(item_state == "paperbag_SmileyFace") user.show_message("You cut eyeholes into the [src] and modify the design.", 1) new /obj/item/clothing/head/papersack/smiley(user.loc) qdel(src) return 0 return ..() + +#undef NODESIGN +#undef NANOTRASEN +#undef SYNDI +#undef HEART +#undef SMILE diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 63ebd420114..c41513cc686 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ