diff --git a/code/datums/elements/lootable/trash.dm b/code/datums/elements/lootable/trash.dm index 6ce7fe95245..63cdeb32aa5 100644 --- a/code/datums/elements/lootable/trash.dm +++ b/code/datums/elements/lootable/trash.dm @@ -153,4 +153,7 @@ /obj/item/clothing/gloves/bluespace, /obj/item/gun/energy/mouseray, /obj/item/clothing/accessory/collar/shock/bluespace/modified, - /obj/item/gun/energy/sizegun/backfire) + /obj/item/gun/energy/sizegun/backfire, + /obj/item/storage/box/monkeycubes, + /obj/item/storage/box/monkeycubes/pets/NT_standard, + /obj/item/storage/box/monkeycubes/pets/NT_special) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 2b3bf4d8751..02df4b47520 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -333,6 +333,51 @@ desc = "Drymate brand neaera cubes, shipped from Qerr'balak. Just add water!" starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube = 4) +// Pet cubes! +/obj/item/storage/box/monkeycubes/pets + icon_state = "petcubebox" + starts_with = null // Don't add monkeys, we run our own setup + var/pet_list = list("Ian" = /mob/living/simple_mob/animal/passive/dog/corgi/Ian) // Should be capped at 7 per box! + +/obj/item/storage/box/monkeycubes/pets/Initialize(mapload) + . = ..() + // spawn each pet in the box + var/first = TRUE + for(var/pet in pet_list) + if(first) + desc += " Contains: " + first = FALSE + else + desc += ", " + var/obj/item/reagent_containers/food/snacks/monkeycube/pet/wrapped/C = new(src) + C.name ="[pet] pet cube" + C.pet_path = pet_list[pet] + desc += "[pet]" + +/obj/item/storage/box/monkeycubes/pets/NT_standard + name = "pet cube box (NT standard)" + desc = "Drymate brand pet cubes, formulated for NT stations everywhere. Just add water!" + pet_list = list("Ian" = /mob/living/simple_mob/animal/passive/dog/corgi/Ian, + "Renault" = /mob/living/simple_mob/animal/passive/fox/renault, + "Runtime" = /mob/living/simple_mob/animal/passive/cat/runtime, + "Scruffy" = /mob/living/simple_mob/animal/sif/shantak/scruffy, + "Poly" = /mob/living/simple_mob/animal/passive/bird/parrot/poly, + "Kendrick" = /mob/living/simple_mob/slime/xenobio/rainbow/kendrick, + "Fleming" = /mob/living/simple_mob/animal/passive/mouse/white/virology, + ) + +/obj/item/storage/box/monkeycubes/pets/NT_special + name = "pet cube box (NT special)" + desc = "Drymate brand pet cubes, formulated for NT stations everywhere. Just add water!" + pet_list = list("Lisa" = /mob/living/simple_mob/animal/passive/dog/corgi/Lisa, + "Tom" = /mob/living/simple_mob/animal/passive/mouse/brown/Tom, + "Jones" = /mob/living/simple_mob/animal/passive/cat/jones, + "Bones" = /mob/living/simple_mob/animal/passive/cat/bones, + "Noodle" = /mob/living/simple_mob/animal/passive/snake/python/noodle, + "Apple" = /mob/living/simple_mob/animal/passive/mouse/white/apple, + "Poppy" = /mob/living/simple_mob/animal/passive/opossum/poppy, + ) + /obj/item/storage/box/ids name = "box of spare IDs" desc = "Has so many empty IDs." @@ -523,3 +568,60 @@ desc = span_bold("Instructions:") + " " + span_italics("Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes.") icon_state = "donk_kit" starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/sinpocket = 7) + +/obj/item/storage/box/explorerkeys + name = "box of volunteer headsets" + desc = "A box full of volunteer headsets, for issuing out to exploration volunteers." + starts_with = list(/obj/item/radio/headset/explorer = 7) + +/obj/item/storage/box/commandkeys + name = "box of command keys" + desc = "A box full of command keys, for command to give out as necessary." + starts_with = list(/obj/item/encryptionkey/headset_com = 7) + +/obj/item/storage/box/servicekeys + name = "box of service keys" + desc = "A box full of service keys, for the HoP to give out as necessary." + starts_with = list(/obj/item/encryptionkey/headset_service = 7) + +/obj/item/storage/box/survival/space + name = "boxed emergency suit and helmet" + icon_state = "survival_comp3" + starts_with = list( + /obj/item/clothing/suit/space/emergency, + /obj/item/clothing/head/helmet/space/emergency, + /obj/item/clothing/mask/breath, + /obj/item/tank/emergency/oxygen/double + ) + +/obj/item/storage/secure/briefcase/trashmoney + starts_with = list(/obj/item/spacecash/c200 = 10) + +/obj/item/storage/box/brainzsnax + name = "\improper BrainzSnax box" + icon_state = "brainzsnax_box" + desc = "A box designed to hold canned food. This one has BrainzSnax branding printed on it." + can_hold = list(/obj/item/reagent_containers/food/snacks/canned) + max_storage_space = ITEMSIZE_COST_NORMAL * 6 + starts_with = list(/obj/item/reagent_containers/food/snacks/canned/brainzsnax = 6) + +/obj/item/storage/box/brainzsnax/red + starts_with = list(/obj/item/reagent_containers/food/snacks/canned/brainzsnax/red = 6) + +/obj/item/storage/box/freezer + can_hold = list(/obj/item/organ, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/glass, /obj/item/reagent_containers/food) + +/obj/item/storage/box/altevian_ammo + name = "SAM .48 ammo box" + desc = "A box of ratty ammo." + icon_state = "secbox" + starts_with = list(/obj/item/ammo_magazine/sam48 = 3) + max_storage_space = ITEMSIZE_COST_NORMAL * 3 + drop_sound = 'sound/items/drop/ammobox.ogg' + pickup_sound = 'sound/items/pickup/ammobox.ogg' + +/obj/item/storage/box/weapon_cells + name = "box of weapon cells" + desc = "A box full of weapon power cells. For all your portable energy storage needs." + icon_state = "secbox" + starts_with = list(/obj/item/cell/device/weapon = 7) diff --git a/code/game/objects/items/weapons/storage/boxes_vr.dm b/code/game/objects/items/weapons/storage/boxes_vr.dm deleted file mode 100644 index 687b45bc419..00000000000 --- a/code/game/objects/items/weapons/storage/boxes_vr.dm +++ /dev/null @@ -1,56 +0,0 @@ -/obj/item/storage/box/explorerkeys - name = "box of volunteer headsets" - desc = "A box full of volunteer headsets, for issuing out to exploration volunteers." - starts_with = list(/obj/item/radio/headset/explorer = 7) - -/obj/item/storage/box/commandkeys - name = "box of command keys" - desc = "A box full of command keys, for command to give out as necessary." - starts_with = list(/obj/item/encryptionkey/headset_com = 7) - -/obj/item/storage/box/servicekeys - name = "box of service keys" - desc = "A box full of service keys, for the HoP to give out as necessary." - starts_with = list(/obj/item/encryptionkey/headset_service = 7) - -/obj/item/storage/box/survival/space - name = "boxed emergency suit and helmet" - icon_state = "survival_comp3" - starts_with = list( - /obj/item/clothing/suit/space/emergency, - /obj/item/clothing/head/helmet/space/emergency, - /obj/item/clothing/mask/breath, - /obj/item/tank/emergency/oxygen/double - ) - -/obj/item/storage/secure/briefcase/trashmoney - starts_with = list(/obj/item/spacecash/c200 = 10) - -/obj/item/storage/box/brainzsnax - name = "\improper BrainzSnax box" - icon_state = "brainzsnax_box" - desc = "A box designed to hold canned food. This one has BrainzSnax branding printed on it." - can_hold = list(/obj/item/reagent_containers/food/snacks/canned) - max_storage_space = ITEMSIZE_COST_NORMAL * 6 - starts_with = list(/obj/item/reagent_containers/food/snacks/canned/brainzsnax = 6) - -/obj/item/storage/box/brainzsnax/red - starts_with = list(/obj/item/reagent_containers/food/snacks/canned/brainzsnax/red = 6) - -/obj/item/storage/box/freezer - can_hold = list(/obj/item/organ, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/glass, /obj/item/reagent_containers/food) - -/obj/item/storage/box/altevian_ammo - name = "SAM .48 ammo box" - desc = "A box of ratty ammo." - icon_state = "secbox" - starts_with = list(/obj/item/ammo_magazine/sam48 = 3) - max_storage_space = ITEMSIZE_COST_NORMAL * 3 - drop_sound = 'sound/items/drop/ammobox.ogg' - pickup_sound = 'sound/items/pickup/ammobox.ogg' - -/obj/item/storage/box/weapon_cells - name = "box of weapon cells" - desc = "A box full of weapon power cells. For all your portable energy storage needs." - icon_state = "secbox" - starts_with = list(/obj/item/cell/device/weapon = 7) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 8d493598015..a215aebfca6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -34,7 +34,9 @@ /obj/item/gun/energy/gun/compact, /obj/item/storage/box/commandkeys, /obj/item/storage/box/servicekeys, - /obj/item/flash) + /obj/item/flash, + /obj/item/storage/box/monkeycubes/pets/NT_standard, + /obj/item/storage/box/monkeycubes/pets/NT_special) /obj/structure/closet/secure_closet/hop2 name = "head of personnel's attire" diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index 42995218c75..7b3c08844cc 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -2022,6 +2022,23 @@ name = "neaera cube" monkey_type = SPECIES_MONKEY_SKRELL +// Pet cubes! +/obj/item/reagent_containers/food/snacks/monkeycube/pet + var/pet_path = null + +/obj/item/reagent_containers/food/snacks/monkeycube/pet/wrapped + desc = "Still wrapped in some paper." + icon_state = "monkeycubewrap" + flags = 0 + wrapped = 1 + +/obj/item/reagent_containers/food/snacks/monkeycube/pet/Expand() + src.visible_message("\The [src] expands!") + if(pet_path) + new pet_path(get_turf(src)) + qdel(src) + return 1 + /obj/item/reagent_containers/food/snacks/spellburger name = "Spell Burger" desc = "This is absolutely Ei Nath." diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 0133201cba5..142af9afd37 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/vorestation.dme b/vorestation.dme index feecddb7be6..6e2a5a9da90 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1703,7 +1703,6 @@ #include "code\game\objects\items\weapons\storage\belt_vr.dm" #include "code\game\objects\items\weapons\storage\bible.dm" #include "code\game\objects\items\weapons\storage\boxes.dm" -#include "code\game\objects\items\weapons\storage\boxes_vr.dm" #include "code\game\objects\items\weapons\storage\briefcase.dm" #include "code\game\objects\items\weapons\storage\egg_vr.dm" #include "code\game\objects\items\weapons\storage\fancy.dm"