Skip to content

Commit

Permalink
Add NT Ritual Robe (discordia-space#8420)
Browse files Browse the repository at this point in the history
* Add NT Ritual Robe

Functionally useless until Rituals is fully implemented, just a cool robe.

* Update NeoTheology.dm
  • Loading branch information
Mycah142 committed Feb 9, 2024
1 parent 9cd93f4 commit c0119ae
Show file tree
Hide file tree
Showing 8 changed files with 168 additions and 1 deletion.
10 changes: 10 additions & 0 deletions code/datums/autolathe/biomatter.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@
name = "Soap"
build_path = /obj/item/soap/nanotrasen

/datum/design/bioprinter/candles
name = "Box of Candles"
build_path = /obj/item/storage/fancy/candle_box
materials = list(MATERIAL_BIOMATTER = 15, MATERIAL_CARDBOARD = 1)


//[NUTRIMENTS]
/datum/design/bioprinter/ez
name = "EZ-Nutrient"
Expand Down Expand Up @@ -85,6 +91,10 @@
name = "NT Church Garment"
build_path = /obj/item/clothing/under/rank/church

/datum/design/bioprinter/nt_clothes/ritual_robe
name = "NT Ritual Robe"
build_path = /obj/item/clothing/suit/storage/toggle/robe/ritual_robe

/datum/design/bioprinter/nt/spacehelmet/medicus
name = "NT Medicus Helmet"
build_path = /obj/item/clothing/head/space/medicus
Expand Down
11 changes: 11 additions & 0 deletions code/game/objects/items/weapons/design_disks/NeoTheology.dm
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,17 @@
/datum/design/autolathe/device/headset_church
)

/obj/item/computer_hardware/hard_drive/portable/design/nt_ritual
disk_name = "NeoTheology Supplies - \"Ritualis Supplies\""
icon_state = "neotheology"
spawn_blacklisted = TRUE

license = -1
designs = list(
/datum/design/bioprinter/nt_clothes/ritual_robe,
/datum/design/bioprinter/candles
)

// Basic melee
/obj/item/computer_hardware/hard_drive/portable/design/nt_melee
disk_name = "NeoTheology Armory - \"Hastatii Arms\""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
new /obj/item/tool/sword/nt/longsword(src)
new /obj/item/tool/knife/dagger/nt(src)
new /obj/item/storage/box/ids(src)

new /obj/item/computer_hardware/hard_drive/portable/design/nt_ritual(src)

/obj/structure/closet/secure_closet/acolyte
name = "acolyte closet"
Expand Down
47 changes: 47 additions & 0 deletions code/modules/clothing/suits/neotheology.dm
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,50 @@
)
unacidable = TRUE
spawn_blacklisted = TRUE

//The following are being implemented as fashion options, but are intended for functional mechanics with NT "Rituals" rework. They are intentionally nonviable for anything but cosmetic use.
/obj/item/clothing/head/robe/ritual_robe
name = "ritual robe hood"
icon_state = "nt_ritualrobe_hood"
item_state = "nt_ritualrobe_hood"
desc = "A hood to cover one's features while chanting hymns or holy sacrements."
permeability_coefficient = 0.01
armor = list(
melee = 2,
bullet = 2,
energy = 5,
bomb = 0,
bio = 100,
rad = 0
)
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR|HIDEFACE
body_parts_covered = HEAD|FACE|EYES|EARS
item_flags = FLEXIBLEMATERIAL
siemens_coefficient = 0.9
style = STYLE_HIGH //Spooky = cool = stylish
spawn_blacklisted = TRUE

/obj/item/clothing/suit/storage/toggle/robe/ritual_robe
name = "Ritual robe"
desc = "A robe to cover one's features while chanting hymns or holy sacrements. Has a couple pockets for trinkets."
hood = /obj/item/clothing/head/robe/ritual_robe
icon_state = "nt_robe"
icon_up = "nt_robe"
icon_down = "nt_robe_down"
action_button_name = "Toggle Hood"
permeability_coefficient = 0.01
armor = list(
melee = 2,
bullet = 2,
energy = 5,
bomb = 0,
bio = 100,
rad = 0
)
flags_inv = HIDEJUMPSUIT|HIDETAIL|HIDESHOES
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
item_flags = COVER_PREVENT_MANIPULATION|DRAG_AND_DROP_UNEQUIP
siemens_coefficient = 0.9
style = STYLE_HIGH //Spooky = cool = stylish
spawn_blacklisted = TRUE
matter = list(MATERIAL_BIOMATTER = 50)
99 changes: 99 additions & 0 deletions code/modules/clothing/suits/storage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,105 @@
return
update_wear_icon() //so our overlays update

//Outerwear with a hoodie, used to put it up or down, like the Ritual Robe, but not a voidsuit. Adopted much from voidsuit.
/obj/item/clothing/suit/storage/toggle/robe
bad_type = /obj/item/clothing/suit/storage/toggle/robe
var/obj/item/clothing/head/robe/hood //Deployable Hood, if any.
var/icon_up
var/icon_down

/obj/item/clothing/suit/storage/toggle/robe/Initialize()
if(hood && ispath(hood))
hood = new hood(src)

/obj/item/clothing/suit/storage/toggle/robe/ui_action_click(mob/living/user, action_name)
if(..())
return TRUE
toggle_hood()

/obj/item/clothing/suit/storage/toggle/robe/clean_blood()
//So that you dont have to detach the components to clean them, also since you can't detach the helmet
if(hood) hood.clean_blood()

return ..()

/obj/item/clothing/suit/storage/toggle/robe/decontaminate()
if(hood) hood.decontaminate()

return ..()

/obj/item/clothing/suit/storage/toggle/robe/make_young()
..()
if(hood) hood.make_young()

/obj/item/clothing/suit/storage/toggle/robe/equipped(mob/M)
..()

if(is_held())
lower_hood()

var/mob/living/carbon/human/H = M

if(!istype(H)) return

if(H.wear_suit != src)
return

if(hood)
toggle_hood()

/obj/item/clothing/suit/storage/toggle/robe/dropped()
..()
lower_hood()

/obj/item/clothing/suit/storage/toggle/robe/proc/lower_hood()
var/mob/living/carbon/human/H

if(hood)
hood.canremove = 1
H = hood.loc
if(istype(H))
if(hood && H.head == hood)
H.drop_from_inventory(hood)
hood.forceMove(src)
icon_state = icon_down
if(hood.overslot)
hood.remove_overslot_contents(H)

/obj/item/clothing/suit/storage/toggle/robe/verb/toggle_hood()
set name = "Toggle Hood"
set category = "Object"
set src in usr

if(!isliving(loc))
return

if(!hood)
to_chat(usr, "There is no hood attached.")
return

var/mob/living/carbon/human/H = usr

if(!istype(H)) return
if(H.stat) return
if(H.wear_suit != src) return

if(H.head == hood)
to_chat(H, SPAN_NOTICE("You lower your hood."))
hood.canremove = 1
H.drop_from_inventory(hood)
hood.forceMove(src)
icon_state = icon_down
playsound(src.loc, "rustle", 75, 1)
else
if(H.head)
to_chat(H, SPAN_DANGER("You cannot raise your hood while wearing \the [H.head]."))
return
if(H.equip_to_slot_if_possible(hood, slot_head))
hood.canremove = 0
to_chat(H, "<span class='info'>You raise your hood, obscuring your face.</span>")
icon_state = icon_up
playsound(src.loc, "rustle", 75, 1)

/obj/item/clothing/suit/storage/vest/merc/New()
..()
Expand Down
Binary file modified icons/inventory/head/icon.dmi
Binary file not shown.
Binary file modified icons/inventory/head/mob.dmi
Binary file not shown.
Binary file modified icons/inventory/suit/icon.dmi
Binary file not shown.

0 comments on commit c0119ae

Please sign in to comment.