diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 17173750bd6..092832f89d1 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -924,3 +924,77 @@ /obj/item/storage/box/folders/blue starts_with = list(/obj/item/folder/sec = 5) +/obj/item/storage/box/papersack + name = "paper sack" + desc = "A neatly sack crafted out of paper." + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand.dmi', + slot_r_hand_str = 'icons/mob/items/righthand.dmi', + ) + item_state = "papersack" + icon_state = "paperbag_None" + use_sound = 'sound/bureaucracy/papercrumple.ogg' + drop_sound = 'sound/items/drop/paper.ogg' + pickup_sound = 'sound/items/storage/wrapper.ogg' + foldable = null + max_w_class = ITEMSIZE_NORMAL + max_storage_space = 8 + use_to_pickup = TRUE + chewable = TRUE + var/opened = TRUE + var/static/list/papersack_designs + var/choice = "None" + +/obj/item/storage/box/papersack/update_icon() + . = ..() + if(length(contents) == 0) + icon_state = "paperbag_[choice]" + else if(length(contents) < 8) + icon_state = "paperbag_[choice]-food" + +/obj/item/storage/box/papersack/attackby(obj/item/O, mob/user) + if(O.ispen()) + if(!papersack_designs) + papersack_designs = sortList(list( + "None" = image(icon = src.icon, icon_state = "paperbag_None"), + "NanotrasenStandard" = image(icon = src.icon, icon_state = "paperbag_NanotrasenStandard"), + "Idris" = image(icon = src.icon, icon_state = "paperbag_Idris"), + "Heart" = image(icon = src.icon, icon_state = "paperbag_Heart"), + "SmileyFace" = image(icon = src.icon, icon_state = "paperbag_SmileyFace") + )) + + choice = show_radial_menu(user, src, papersack_designs, radius = 42, tooltips = TRUE) + if(!choice) + return + switch(choice) + if("None") + desc = "A sack neatly crafted out of paper." + if("NanotrasenStandard") + desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go." + if("Idris") + desc = "A premium paper bag produced by Idris Incorporated." + if("Heart") + desc = "A paper sack with a heart etched onto the side." + if("SmileyFace") + desc = "A paper sack with a crude smile etched onto the side." + else + return + to_chat(user, SPAN_NOTICE("You make some modifications to [src] using your pen.")) + update_icon() + return + + else if(O.isscrewdriver()) + if(length(contents) == 0) + to_chat(user, SPAN_NOTICE("You begin poking holes in \the [src].")) + if (do_after(user, 10/O.toolspeed, act_target = src)) + if(choice == "SmileyFace") + var/obj/item/clothing/head/papersack/smiley/S = new() + user.put_in_hands(S) + else + var/obj/item/clothing/head/papersack/PS = new() + user.put_in_hands(PS) + qdel(src) + else + to_chat(user, SPAN_WARNING("\The [src] needs to be empty before you can do that!")) + else + ..() \ No newline at end of file diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 0928f963952..a445c1d4a5f 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -622,3 +622,15 @@ sprite_sheets = list( "Tajara" = 'icons/mob/species/tajaran/helmet.dmi' ) + +/obj/item/clothing/head/papersack + name = "paper sack hat" + desc = "A paper sack with crude holes cut out for eyes. Useful for hiding one's identity or ugliness." + icon_state = "papersack" + flags_inv = BLOCKHEADHAIR + +/obj/item/clothing/head/papersack/smiley + name = "paper sack hat" + desc = "A paper sack with crude holes cut out for eyes and a sketchy smile drawn on the front. Not creepy at all." + icon_state = "papersack_smile" + flags_inv = BLOCKHEADHAIR diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index 39663e46848..95b2b9674f2 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -186,6 +186,7 @@ new /datum/stack_recipe("candle pack", /obj/item/storage/box/fancy/candle_box/empty), new /datum/stack_recipe("crayon box", /obj/item/storage/box/fancy/crayons/empty), new /datum/stack_recipe("pizza box", /obj/item/pizzabox), + new /datum/stack_recipe("papersack", /obj/item/storage/box/papersack), new /datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), new /datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg) )) diff --git a/html/changelogs/desven-papersacks.yml b/html/changelogs/desven-papersacks.yml new file mode 100644 index 00000000000..6b5fd682155 --- /dev/null +++ b/html/changelogs/desven-papersacks.yml @@ -0,0 +1,14 @@ +# Your name. +author: Desven & TheGreyWolf + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds paper bags, which are like one time lunchbag you can use to carry food around." + - maptweak: "Adds an extra light fixture at the kitchen, also adds the paper bags to the kitchen." diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index f567acf2b45..617ec7c0273 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index a06f7895158..106128fa179 100644 Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index 68898496421..c72bf56f30a 100644 Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 2ee61834312..c3c61be6df6 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index fe3f3e03d3d..2fb28331bdc 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index dcbca7ea942..edd25261d3e 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -50034,6 +50034,11 @@ pixel_x = 1; pixel_y = 2 }, +/obj/item/storage/box/papersack, +/obj/item/storage/box/papersack, +/obj/item/storage/box/papersack, +/obj/item/storage/box/papersack, +/obj/item/storage/box/papersack, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "bPa" = ( @@ -59861,6 +59866,12 @@ "ekr" = ( /turf/simulated/wall/r_wall, /area/maintenance/engineering_ladder) +"elI" = ( +/obj/machinery/light{ + icon_state = "tube1" + }, +/turf/simulated/wall, +/area/crew_quarters/kitchen) "enl" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/effect/decal/cleanable/dirt, @@ -102271,7 +102282,7 @@ bLD bMi fKb bNG -bOt +elI keq bOR xTH