diff --git a/monkestation/code/modules/veth_misc_items/canopics/canopics.dm b/monkestation/code/modules/veth_misc_items/canopics/canopics.dm new file mode 100644 index 000000000000..df5971943839 --- /dev/null +++ b/monkestation/code/modules/veth_misc_items/canopics/canopics.dm @@ -0,0 +1,248 @@ +//canopic box sprited by twiggy, coded by veth +/obj/item/storage/box/canopic_box + name = "Canopic Box" + desc = "An ornate stone box inscribed with ancient hieroglyphs." + icon = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic_box.dmi' + icon_state = "canopic_box" + inhand_icon_state = "canopic_box" + lefthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic_box.dmi' + righthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic_box.dmi' + resistance_flags = FIRE_PROOF + drop_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_drop.ogg' + pickup_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_pickup.ogg' + foldable_result = FALSE + +/datum/crafting_recipe/canopic_box + name = "Canopic box" + result = /obj/item/storage/box/canopic_box + time = 2 SECONDS + tool_paths = FALSE + reqs = list( + /obj/item/stack/sheet/sandblock = 5, + /obj/item/stack/sheet/mineral/wood = 10, + /obj/item/stack/sheet/leather = 2, + /obj/item/stack/sheet/mineral/gold = 1, + /obj/item/stack/sheet/mineral/silver = 1) + category = CAT_CONTAINERS + +//jackal canopic sprited by twiggy, coded by veth +/obj/item/storage/box/canopic_jackal/Initialize(mapload) + . = ..() + atom_storage.max_slots = 1 + atom_storage.set_holdable(list( + /obj/item/organ/internal/heart, + /obj/item/organ/internal/lungs, + /obj/item/organ/internal/liver, + /obj/item/organ/internal/appendix, + /obj/item/organ/internal/tongue, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/stomach, + /obj/item/organ/internal/ears, + )) + atom_storage.exception_hold = list( + /obj/item/organ/internal/heart, + /obj/item/organ/internal/lungs, + /obj/item/organ/internal/liver, + /obj/item/organ/internal/appendix, + /obj/item/organ/internal/tongue, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/stomach, + /obj/item/organ/internal/ears, + ) + atom_storage.can_hold = typecacheof(/obj/item/organ/internal) + atom_storage.can_hold_description = "This jar can hold organs!" + atom_storage.max_total_storage = WEIGHT_CLASS_TINY*10 + update_appearance() + +/obj/item/storage/box/canopic_jackal + name = "Jackal Canopic jar" + desc = "An ornate stone canopic, inscribed with ancient hieroglyphs. These used to be used to store organs." + w_class = WEIGHT_CLASS_TINY + icon = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + icon_state = "canopic_jackal" + inhand_icon_state = "canopic_jackal" + lefthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + righthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + resistance_flags = FIRE_PROOF + drop_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_drop.ogg' + pickup_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_pickup.ogg' + foldable_result = FALSE +/datum/crafting_recipe/canopic_jackal + name = "Jackal Canopic jar" + result = /obj/item/storage/box/canopic_jackal + time = 2 SECONDS + tool_paths = FALSE + reqs = list( + /obj/item/stack/sheet/sandblock = 1, + /obj/item/stack/sheet/mineral/wood = 1, + /obj/item/stack/sheet/leather = 1, + /obj/item/stack/sheet/mineral/gold = 1, + /obj/item/stack/sheet/mineral/silver = 1) + category = CAT_CONTAINERS +//human canopic sprited by twiggy, coded by veth +/obj/item/storage/box/canopic_human + name = "Human Canopic jar" + desc = "An ornate stone canopic, inscribed with ancient hieroglyphs. These used to be used to store organs." + w_class = WEIGHT_CLASS_TINY + icon = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + icon_state = "canopic_human" + inhand_icon_state = "canopic_human" + lefthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + righthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + resistance_flags = FIRE_PROOF + drop_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_drop.ogg' + pickup_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_pickup.ogg' + foldable_result = FALSE +/obj/item/storage/box/canopic_human/Initialize(mapload) + . = ..() + + atom_storage.max_slots = 1 + atom_storage.set_holdable(list( + /obj/item/organ/internal/heart, + /obj/item/organ/internal/lungs, + /obj/item/organ/internal/liver, + /obj/item/organ/internal/appendix, + /obj/item/organ/internal/tongue, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/stomach, + /obj/item/organ/internal/ears, + )) + atom_storage.exception_hold = list( + /obj/item/organ/internal/heart, + /obj/item/organ/internal/lungs, + /obj/item/organ/internal/liver, + /obj/item/organ/internal/appendix, + /obj/item/organ/internal/tongue, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/stomach, + /obj/item/organ/internal/ears, + ) + atom_storage.can_hold = typecacheof(/obj/item/organ/internal) + atom_storage.can_hold_description = "This jar can hold organs!" + atom_storage.max_total_storage = WEIGHT_CLASS_TINY*10 + update_appearance() + +/datum/crafting_recipe/canopic_human + name = "Human Canopic jar" + result = /obj/item/storage/box/canopic_human + time = 2 SECONDS + tool_paths = FALSE + reqs = list( + /obj/item/stack/sheet/sandblock = 1, + /obj/item/stack/sheet/mineral/wood = 1, + /obj/item/stack/sheet/leather = 1, + /obj/item/stack/sheet/mineral/gold = 1, + /obj/item/stack/sheet/mineral/silver = 1) + category = CAT_CONTAINERS +//monke canopic sprited by twiggy, coded by veth +/obj/item/storage/box/canopic_monke/Initialize(mapload) + . = ..() + atom_storage.max_slots = 1 + atom_storage.set_holdable(list( + /obj/item/organ/internal/heart, + /obj/item/organ/internal/lungs, + /obj/item/organ/internal/liver, + /obj/item/organ/internal/appendix, + /obj/item/organ/internal/tongue, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/stomach, + /obj/item/organ/internal/ears, + )) + atom_storage.exception_hold = list( + /obj/item/organ/internal/heart, + /obj/item/organ/internal/lungs, + /obj/item/organ/internal/liver, + /obj/item/organ/internal/appendix, + /obj/item/organ/internal/tongue, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/stomach, + /obj/item/organ/internal/ears, + ) + atom_storage.can_hold = typecacheof(/obj/item/organ/internal) + atom_storage.can_hold_description = "This jar can hold organs!" + atom_storage.max_total_storage = WEIGHT_CLASS_TINY*10 + update_appearance() + +/obj/item/storage/box/canopic_monke //creates the object + name = "Monke canopic jar" + desc = "An ornate stone canopic, inscribed with ancient hieroglyphs. These used to be used to store organs." + w_class = WEIGHT_CLASS_TINY + icon = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + icon_state = "canopic_monke" + inhand_icon_state = "canopic_monke" + lefthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + righthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + resistance_flags = FIRE_PROOF + drop_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_drop.ogg' + pickup_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_pickup.ogg' + foldable_result = FALSE + +/datum/crafting_recipe/canopic_monke //creates the crafting recipe + name = "Monke Canopic jar" + result = /obj/item/storage/box/canopic_monke + time = 2 SECONDS + tool_paths = FALSE + reqs = list( + /obj/item/stack/sheet/sandblock = 1, + /obj/item/stack/sheet/mineral/wood = 1, + /obj/item/stack/sheet/leather = 1, + /obj/item/stack/sheet/mineral/gold = 1, + /obj/item/stack/sheet/mineral/silver = 1) + category = CAT_CONTAINERS + + + +//hawk canopic sprited by twiggy, coded by veth +/obj/item/storage/box/canopic_hawk/Initialize(mapload) + . = ..() + atom_storage.max_slots = 1 + atom_storage.set_holdable(list( + /obj/item/organ/internal/heart, + /obj/item/organ/internal/lungs, + /obj/item/organ/internal/liver, + /obj/item/organ/internal/appendix, + /obj/item/organ/internal/tongue, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/stomach, + /obj/item/organ/internal/ears, + )) + atom_storage.exception_hold = list( + /obj/item/organ/internal/heart, + /obj/item/organ/internal/lungs, + /obj/item/organ/internal/liver, + /obj/item/organ/internal/appendix, + /obj/item/organ/internal/tongue, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/stomach, + /obj/item/organ/internal/ears, + ) + atom_storage.can_hold = typecacheof(/obj/item/organ/internal) + atom_storage.can_hold_description = "This jar can hold organs!" + atom_storage.max_total_storage = WEIGHT_CLASS_TINY*10 + update_appearance() + +/obj/item/storage/box/canopic_hawk //creates the object + name = "Hawk Canopic jar" + desc = "An ornate stone canopic, inscribed with ancient hieroglyphs. These used to be used to store organs." + w_class = WEIGHT_CLASS_TINY + icon = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + icon_state = "canopic_hawk" + inhand_icon_state = "canopic_hawk" + lefthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + righthand_file = 'monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi' + resistance_flags = FIRE_PROOF + drop_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_drop.ogg' + pickup_sound = 'monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_pickup.ogg' + foldable_result = FALSE +/datum/crafting_recipe/canopic_hawk //creates the crafting recipe + name = "hawk canopic jar" + result = /obj/item/storage/box/canopic_hawk + time = 2 SECONDS + tool_paths = FALSE + reqs = list( + /obj/item/stack/sheet/sandblock = 1, + /obj/item/stack/sheet/mineral/wood = 1, + /obj/item/stack/sheet/leather = 1, + /obj/item/stack/sheet/mineral/gold = 1, + /obj/item/stack/sheet/mineral/silver = 1) + category = CAT_CONTAINERS diff --git a/monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi b/monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi new file mode 100644 index 000000000000..8e56c6be4ed4 Binary files /dev/null and b/monkestation/code/modules/veth_misc_items/canopics/icons/canopic.dmi differ diff --git a/monkestation/code/modules/veth_misc_items/canopics/icons/canopic_box.dmi b/monkestation/code/modules/veth_misc_items/canopics/icons/canopic_box.dmi new file mode 100644 index 000000000000..4f1944503bfa Binary files /dev/null and b/monkestation/code/modules/veth_misc_items/canopics/icons/canopic_box.dmi differ diff --git a/monkestation/code/modules/veth_misc_items/canopics/readme.md b/monkestation/code/modules/veth_misc_items/canopics/readme.md new file mode 100644 index 000000000000..124565d5da76 --- /dev/null +++ b/monkestation/code/modules/veth_misc_items/canopics/readme.md @@ -0,0 +1,25 @@ +## Title: + + +MODULE ID: CANOPICS + +### Description: +This PR adds canopics requested by Malphy to the game. +https://discord.com/channels/748354466335686736/1170798993308139571 + +### Master file additions + +- N/A + + +### Included files that are not contained in this module: + +- N/A + + +### Credits: + + + +Made by Veth +Sprited by Twiggy diff --git a/monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_drop.ogg b/monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_drop.ogg new file mode 100644 index 000000000000..70d2abcc774a Binary files /dev/null and b/monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_drop.ogg differ diff --git a/monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_pickup.ogg b/monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_pickup.ogg new file mode 100644 index 000000000000..a52eec4cf681 Binary files /dev/null and b/monkestation/code/modules/veth_misc_items/canopics/sounds/canopic_pickup.ogg differ diff --git a/tgstation.dme b/tgstation.dme index 746301676fe2..b5ce82eb4a6e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7711,6 +7711,7 @@ #include "monkestation\code\modules\vehicles\mecha\mecha_actions.dm" #include "monkestation\code\modules\vehicles\mecha\equipment\tools\other_tools.dm" #include "monkestation\code\modules\vending\megaseed.dm" +#include "monkestation\code\modules\veth_misc_items\canopics\canopics.dm" #include "monkestation\code\modules\viking\viking_armour.dm" #include "monkestation\code\modules\viking\viking_axes.dm" #include "monkestation\code\modules\virology\__base_procs.dm"