diff --git a/ATTRIBUTIONS.md b/ATTRIBUTIONS.md index 41fe7592fe..ad1401ed82 100644 --- a/ATTRIBUTIONS.md +++ b/ATTRIBUTIONS.md @@ -53,4 +53,9 @@ **File:** `sound/ambience/startup.ogg` and `sound/ambience/shutdown.ogg`
**Title:** Spaceship starup and shutdown
**Creator:** viznoman (https://freesound.org/people/viznoman/sounds/267308/)
-**License:** [CC BY 3.0](http://creativecommons.org/licenses/by/3.0/)
\ No newline at end of file +**License:** [CC BY 3.0](http://creativecommons.org/licenses/by/3.0/)
+
+**File:** `icons/obj/pillows.dmi`
+**Title:** pillows.dmi
+**Creator:** Lamella-0587 (https://github.com/Skyrat-SS13/Skyrat-tg/pull/6740)
+**License:** [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)
\ No newline at end of file diff --git a/code/datums/supplypacks/recreation_vr.dm b/code/datums/supplypacks/recreation_vr.dm index 8eb64c7c29..d59fdabb15 100644 --- a/code/datums/supplypacks/recreation_vr.dm +++ b/code/datums/supplypacks/recreation_vr.dm @@ -106,3 +106,68 @@ cost = 25 containertype = /obj/structure/closet/crate containername = "Snack planets crate" + +/datum/supply_pack/recreation/pinkpillows + name = "Pink Pillow Crate" + contains = list( + /obj/item/weapon/bedsheet/pillow = 6 + ) + cost = 10 + containertype = /obj/structure/closet/crate + +/datum/supply_pack/recreation/tealpillows + name = "Teal Pillow Crate" + contains = list( + /obj/item/weapon/bedsheet/pillow/teal = 6 + ) + cost = 10 + containertype = /obj/structure/closet/crate + +/datum/supply_pack/recreation/whitepillows + name = "White Pillow Crate" + contains = list( + /obj/item/weapon/bedsheet/pillow/white = 6 + ) + cost = 10 + containertype = /obj/structure/closet/crate + +/datum/supply_pack/recreation/blackpillows + name = "Black Pillow Crate" + contains = list( + /obj/item/weapon/bedsheet/pillow/black = 6 + ) + cost = 10 + containertype = /obj/structure/closet/crate + +/datum/supply_pack/recreation/redpillows + name = "Red Pillow Crate" + contains = list( + /obj/item/weapon/bedsheet/pillow/red = 6 + ) + cost = 10 + containertype = /obj/structure/closet/crate + +/datum/supply_pack/recreation/greenpillows + name = "Green Pillow Crate" + contains = list( + /obj/item/weapon/bedsheet/pillow/green = 6 + ) + cost = 10 + containertype = /obj/structure/closet/crate + +/datum/supply_pack/recreation/orangepillows + name = "Orange Pillow Crate" + contains = list( + /obj/item/weapon/bedsheet/pillow/orange = 6 + ) + cost = 10 + containertype = /obj/structure/closet/crate + +/datum/supply_pack/recreation/yellowpillows + name = "Yellow Pillow Crate" + contains = list( + /obj/item/weapon/bedsheet/pillow/yellow = 6 + ) + cost = 10 + containertype = /obj/structure/closet/crate + diff --git a/code/game/objects/structures/pillows.dm b/code/game/objects/structures/pillows.dm new file mode 100644 index 0000000000..fa97543f09 --- /dev/null +++ b/code/game/objects/structures/pillows.dm @@ -0,0 +1,260 @@ +//Pillows with sprites ported from skyrat + +/obj/item/weapon/bedsheet/pillow + name = "pillow" + desc = "A surprisingly soft stuffed pillow." + icon = 'icons/obj/pillows.dmi' + icon_state = "pillow_pink_square" + slot_flags = 0 + var/pile_type = "/obj/structure/bed/pillowpile" + throw_range = 7 + +/obj/item/weapon/bedsheet/pillow/attack_self(mob/user as mob) + user.drop_item() + if(icon_state == initial(icon_state)) + icon_state = "[icon_state]_placed" + add_fingerprint(user) + +/obj/item/weapon/bedsheet/pillow/pickup(mob/user) + ..() + icon_state = initial(icon_state) + +/obj/item/weapon/bedsheet/pillow/attackby(var/obj/item/component, mob/user as mob) + if (istype(component,src)) + to_chat(user, "You assemble a pillow pile!") + user.drop_item() + qdel(component) + var/turf/T = get_turf(src) + new pile_type(T) + user.drop_from_inventory(src) + qdel(src) + else + to_chat(user, "You can't assemble a pillow pile out of mismatched stuff, it'd look hideous!") + +//Pillow Piles, they're piles of pillows! layer = BELOW_MOB_LAYER + +/obj/structure/bed/pillowpile + name = "pillow pile" + desc = "A massive pile of pillows!" + icon = 'icons/obj/pillows.dmi' + icon_state = "pillowpile_large_pink" + var/pillowpilefront = "/obj/structure/bed/pillowpilefront" + var/sourcepillow = "/obj/item/weapon/bedsheet/pillow" + +/obj/structure/bed/pillowpilefront + name = "pillow pile" + desc = "A massive pile of pillows!" + icon = 'icons/obj/pillows.dmi' + icon_state = "pillowpile_large_pink_overlay" + layer = ABOVE_MOB_LAYER + plane = MOB_PLANE + var/sourcepillow = "/obj/item/weapon/bedsheet/pillow" + +/obj/structure/bed/pillowpile/New() + ..() + var/turf/T = get_turf(src) + new pillowpilefront(T) + +/obj/structure/bed/pillowpilefront/update_icon() + return + +/obj/structure/bed/pillowpile/update_icon() + return + +/obj/structure/bed/pillowpile/attack_hand(mob/user) + to_chat(user, "Now disassembling the large pillow pile...") + if(do_after(user, 30)) + if(!src) return + to_chat(user, "You dissasembled the large pillow pile!") + new sourcepillow(src.loc) + qdel(src) + +/obj/structure/bed/pillowpilefront/attack_hand(mob/user) + to_chat(user, "Now disassembling the front of the pillow pile...") + if(do_after(user, 30)) + if(!src) return + to_chat(user, "You dissasembled the the front of the pillow pile!") + new sourcepillow(src.loc) + qdel(src) + +//Colours + +//teal + +/obj/item/weapon/bedsheet/pillow/teal + icon_state = "pillow_teal_square" + pile_type = "/obj/structure/bed/pillowpile/teal" + +/obj/structure/bed/pillowpile/teal + icon_state = "pillowpile_large_teal" + pillowpilefront = "/obj/structure/bed/pillowpilefront/teal" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/teal" + +/obj/structure/bed/pillowpilefront/teal + icon_state = "pillowpile_large_teal_overlay" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/teal" + +//yellow + +/obj/item/weapon/bedsheet/pillow/yellow + icon_state = "pillow_yellow_square" + pile_type = "/obj/structure/bed/pillowpile/yellow" + +/obj/structure/bed/pillowpile/yellow + icon_state = "pillowpile_large_yellow" + pillowpilefront = "/obj/structure/bed/pillowpilefront/yellow" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/yellow" + +/obj/structure/bed/pillowpilefront/yellow + icon_state = "pillowpile_large_yellow_overlay" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/yellow" + +//white + +/obj/item/weapon/bedsheet/pillow/white + icon_state = "pillow_white_square" + pile_type = "/obj/structure/bed/pillowpile/white" + +/obj/structure/bed/pillowpile/white + icon_state = "pillowpile_large_white" + pillowpilefront = "/obj/structure/bed/pillowpilefront/white" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/white" + +/obj/structure/bed/pillowpilefront/white + icon_state = "pillowpile_large_white_overlay" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/white" + +//black + +/obj/item/weapon/bedsheet/pillow/black + icon_state = "pillow_black_square" + pile_type = "/obj/structure/bed/pillowpile/black" + +/obj/structure/bed/pillowpile/black + icon_state = "pillowpile_large_black" + pillowpilefront = "/obj/structure/bed/pillowpilefront/black" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/black" + +/obj/structure/bed/pillowpilefront/black + icon_state = "pillowpile_large_black_overlay" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/black" + +//green + +/obj/item/weapon/bedsheet/pillow/green + icon_state = "pillow_green_square" + pile_type = "/obj/structure/bed/pillowpile/green" + +/obj/structure/bed/pillowpile/green + icon_state = "pillowpile_large_green" + pillowpilefront = "/obj/structure/bed/pillowpilefront/green" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/green" + +/obj/structure/bed/pillowpilefront/green + icon_state = "pillowpile_large_green_overlay" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/green" + +//red + +/obj/item/weapon/bedsheet/pillow/red + icon_state = "pillow_red_square" + pile_type = "/obj/structure/bed/pillowpile/red" + +/obj/structure/bed/pillowpile/red + icon_state = "pillowpile_large_red" + pillowpilefront = "/obj/structure/bed/pillowpilefront/red" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/red" + +/obj/structure/bed/pillowpilefront/red + icon_state = "pillowpile_large_red_overlay" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/red" + +//orange + +/obj/item/weapon/bedsheet/pillow/orange + icon_state = "pillow_orange_square" + pile_type = "/obj/structure/bed/pillowpile/orange" + +/obj/structure/bed/pillowpile/orange + icon_state = "pillowpile_large_orange" + pillowpilefront = "/obj/structure/bed/pillowpilefront/orange" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/orange" + +/obj/structure/bed/pillowpilefront/orange + icon_state = "pillowpile_large_orange_overlay" + sourcepillow = "/obj/item/weapon/bedsheet/pillow/orange" + +//crafting + +/datum/crafting_recipe/pillowpink + name = "pillow (pink)" + result = /obj/item/weapon/bedsheet/pillow + reqs = list( + list(/obj/item/stack/material/cloth = 6) + ) + time = 60 + category = CAT_MISC + +/datum/crafting_recipe/pillowteal + name = "pillow (teal)" + result = /obj/item/weapon/bedsheet/pillow/teal + reqs = list( + list(/obj/item/stack/material/cloth = 6) + ) + time = 60 + category = CAT_MISC + +/datum/crafting_recipe/pillowwhite + name = "pillow (white)" + result = /obj/item/weapon/bedsheet/pillow/white + reqs = list( + list(/obj/item/stack/material/cloth = 6) + ) + time = 60 + category = CAT_MISC + +/datum/crafting_recipe/pillowblack + name = "pillow (black)" + result = /obj/item/weapon/bedsheet/pillow/black + reqs = list( + list(/obj/item/stack/material/cloth = 6) + ) + time = 60 + category = CAT_MISC + +/datum/crafting_recipe/pillowgreen + name = "pillow (green)" + result = /obj/item/weapon/bedsheet/pillow/green + reqs = list( + list(/obj/item/stack/material/cloth = 6) + ) + time = 60 + category = CAT_MISC + +/datum/crafting_recipe/pillowyellow + name = "pillow (yellow)" + result = /obj/item/weapon/bedsheet/pillow/yellow + reqs = list( + list(/obj/item/stack/material/cloth = 6) + ) + time = 60 + category = CAT_MISC + +/datum/crafting_recipe/pillowred + name = "pillow (red)" + result = /obj/item/weapon/bedsheet/pillow/red + reqs = list( + list(/obj/item/stack/material/cloth = 6) + ) + time = 60 + category = CAT_MISC + +/datum/crafting_recipe/pilloworange + name = "pillow (orange)" + result = /obj/item/weapon/bedsheet/pillow/orange + reqs = list( + list(/obj/item/stack/material/cloth = 6) + ) + time = 60 + category = CAT_MISC + diff --git a/icons/obj/pillows.dmi b/icons/obj/pillows.dmi new file mode 100644 index 0000000000..276e8cb3c5 Binary files /dev/null and b/icons/obj/pillows.dmi differ diff --git a/vorestation.dme b/vorestation.dme index 9be61e5122..31d4f9942e 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1625,6 +1625,7 @@ #include "code\game\objects\structures\morgue.dm" #include "code\game\objects\structures\morgue_vr.dm" #include "code\game\objects\structures\new_signs.dm" +#include "code\game\objects\structures\pillows.dm" #include "code\game\objects\structures\plasticflaps.dm" #include "code\game\objects\structures\railing.dm" #include "code\game\objects\structures\reflectors_ch.dm"