Skip to content

Commit

Permalink
added malphy's canopics (#3078)
Browse files Browse the repository at this point in the history
* added malphy's canopics

* updated with proper sizes/behaviour

* Update storage.dm

unintended change

* updated inhand icon paths

* updated inhand icon paths AGAIN
  • Loading branch information
Veth-s authored Aug 27, 2024
1 parent 7693f26 commit 3a9fe32
Show file tree
Hide file tree
Showing 7 changed files with 274 additions and 0 deletions.
248 changes: 248 additions & 0 deletions monkestation/code/modules/veth_misc_items/canopics/canopics.dm
Original file line number Diff line number Diff line change
@@ -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
Binary file not shown.
Binary file not shown.
25 changes: 25 additions & 0 deletions monkestation/code/modules/veth_misc_items/canopics/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Title: <!--Title of your addition-->

<!-- uppercase, underscore_connected name of your module, that you use to mark files-->
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
<!-- Any master file changes you've made to existing master files or if you've added a new master file. Please mark either as #NEW or #CHANGE -->

### Included files that are not contained in this module:

- N/A
<!-- Likewise, be it a non-modular file or a modular one that's not contained within the folder belonging to this specific module, it should be mentioned here -->

### Credits:

<!-- Here go the credits to you, dear coder, and in case of collaborative work or ports, credits to the original source of the code -->
<!-- Original Coders -->
Made by Veth
Sprited by Twiggy
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -7716,6 +7716,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"
Expand Down

0 comments on commit 3a9fe32

Please sign in to comment.