Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 73 additions & 13 deletions code/datums/gods/patrons/divine_pantheon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,26 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
if(!cross.obj_broken)
return TRUE

if(istype(follower.wear_wrists, associated_psycross) || istype(follower.wear_neck, associated_psycross) || istype(follower.get_active_held_item(), associated_psycross))
return TRUE
var/list/check_items = list(
follower.wear_wrists,
follower.wear_neck,
follower.get_active_held_item()
)

var/list/valid_crosses

if(islist(associated_psycross))
valid_crosses = associated_psycross
else
valid_crosses = list(associated_psycross)

for(var/obj/item/check_item in check_items)
if(!check_item)
continue

for(var/cross_type in valid_crosses)
if(istype(check_item, cross_type))
return TRUE


to_chat(follower, span_danger("I need an amulet of my patron, or a nearby Pantheon Cross, for my prayers to be heard..."))
Expand All @@ -53,7 +71,10 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"THE TEN PROTECT US!",
"I SERVE THE DIVINE TEN!",
)
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine,
/obj/item/clothing/neck/psycross/wood/divine
)


/datum/patron/divine/astrata
Expand All @@ -72,7 +93,11 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"I SERVE THE GLORY OF THE SUN!",
)
storyteller = /datum/storyteller/astrata
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/astrata
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/astrata,
/obj/item/clothing/neck/psycross/wood/divine/astrata
)


/datum/patron/divine/noc
name = NOC
Expand All @@ -90,7 +115,11 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"I SEEK THE MYSTERIES OF THE MOON!",
)
storyteller = /datum/storyteller/noc
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/noc
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/noc,
/obj/item/clothing/neck/psycross/wood/divine/noc
)


/datum/patron/divine/dendor
name = DENDOR
Expand All @@ -108,7 +137,11 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"I ANSWER THE CALL OF THE WILD!",
)
storyteller = /datum/storyteller/dendor
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/dendor
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/dendor,
/obj/item/clothing/neck/psycross/wood/divine/dendor
)


/datum/patron/divine/abyssor
name = ABYSSOR
Expand All @@ -126,7 +159,11 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"I AM DRAWN BY THE PULL OF THE TIDE!",
)
storyteller = /datum/storyteller/abyssor
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/abyssor
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/abyssor,
/obj/item/clothing/neck/psycross/wood/divine/abyssor
)


/datum/patron/divine/necra
name = NECRA
Expand All @@ -144,7 +181,11 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"I FEAR NOT DEATH, MY LADY AWAITS ME!",
)
storyteller = /datum/storyteller/necra
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/necra
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/necra,
/obj/item/clothing/neck/psycross/wood/divine/necra
)


/datum/patron/divine/ravox
name = RAVOX
Expand All @@ -162,7 +203,11 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"THE DRUMS OF WAR BEAT IN MY CHEST!",
)
storyteller = /datum/storyteller/ravox
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/ravox
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/ravox,
/obj/item/clothing/neck/psycross/wood/divine/ravox
)


/datum/patron/divine/xylix
name = XYLIX
Expand All @@ -187,7 +232,11 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"EORA BRINGS US TOGETHER!",
)
storyteller = /datum/storyteller/xylix
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/xylix
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/xylix,
/obj/item/clothing/neck/psycross/wood/divine/xylix
)


/datum/patron/divine/pestra
name = PESTRA
Expand All @@ -205,7 +254,11 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"MY AFFLICTION IS MY TESTAMENT!",
)
storyteller = /datum/storyteller/pestra
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/pestra
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/pestra,
/obj/item/clothing/neck/psycross/wood/divine/pestra
)


/datum/patron/divine/pestra/preference_accessible(datum/preferences/prefs)
. = ..()
Expand All @@ -231,7 +284,11 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"I AM AN INSTRUMENT OF CREATION!",
)
storyteller = /datum/storyteller/malum
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/malum
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/malum,
/obj/item/clothing/neck/psycross/wood/divine/malum
)


/datum/patron/divine/eora
name = EORA
Expand All @@ -249,4 +306,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list(
"I LOVE YOU, EVEN AS YOU TRESPASS AGAINST ME!",
)
storyteller = /datum/storyteller/eora
associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/eora
associated_psycross = list(
/obj/item/clothing/neck/psycross/silver/divine/eora,
/obj/item/clothing/neck/psycross/wood/divine/eora
)
94 changes: 93 additions & 1 deletion code/modules/clothing/neck/psycross.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,100 @@
icon_state = "psycross_wood"
//dropshrink = 0.75
slot_flags = ITEM_SLOT_NECK|ITEM_SLOT_HIP|ITEM_SLOT_WRISTS
sellprice = 10
sellprice = 5
experimental_onhip = TRUE
misc_flags = CRAFTING_TEST_EXCLUDE

/obj/item/clothing/neck/psycross/wood
name = "unfinished amulet"
desc = "Free your God's emblem from this chunk of lumber."
icon_state = "unfinished_wood"

/obj/item/clothing/neck/psycross/wood/attack_self(mob/user)
if(!user) return

var/list/options = list(
"Undivided" = /obj/item/clothing/neck/psycross/wood/divine,
"Astrata" = /obj/item/clothing/neck/psycross/wood/divine/astrata,
"Noc" = /obj/item/clothing/neck/psycross/wood/divine/noc,
"Dendor" = /obj/item/clothing/neck/psycross/wood/divine/dendor,
"Abyssor" = /obj/item/clothing/neck/psycross/wood/divine/abyssor,
"Necra" = /obj/item/clothing/neck/psycross/wood/divine/necra,
"Ravox" = /obj/item/clothing/neck/psycross/wood/divine/ravox,
"Xylix" = /obj/item/clothing/neck/psycross/wood/divine/xylix,
"Eora" = /obj/item/clothing/neck/psycross/wood/divine/eora,
"Pestra" = /obj/item/clothing/neck/psycross/wood/divine/pestra,
"Malum" = /obj/item/clothing/neck/psycross/wood/divine/malum,
"Psydon" = /obj/item/clothing/neck/psycross
)

var/choice = input(user, "Choose what to carve:", "Amulet Crafting") as null|anything in options
if(!choice) return

var/typepath = options[choice]
var/obj/item/new_item = new typepath(user.loc)

if(!user.put_in_hands(new_item))
new_item.loc = get_turf(user)

qdel(src)

/obj/item/clothing/neck/psycross/wood/divine
name = "wooden amulet of the Ten"
desc = "The Ten eternal, strength in unity. Stalwart for centuries against the darkness."
icon_state = "undivided_wood"

/obj/item/clothing/neck/psycross/wood/divine/astrata
name = "wooden amulet of Astrata"
desc = "Blessed be everything the light of the sun touches, for it is protected by Her grace."
icon_state = "astrata_wood"

/obj/item/clothing/neck/psycross/wood/divine/noc
name = "wooden amulet of Noc"
desc = "Diligence, study, pursuit of truth and wisdom. Let nothing deter you from it."
icon_state = "noc_wood"

/obj/item/clothing/neck/psycross/wood/divine/dendor
name = "wooden amulet of Dendor"
desc = "Nature is a body of which we are but its entrails."
icon_state = "dendor_wood"

/obj/item/clothing/neck/psycross/wood/divine/abyssor
name = "wooden amulet of Abyssor"
desc = "Oceanshaper and guardian of the seas, make them remember his name."
icon_state = "abyssor_wood"

/obj/item/clothing/neck/psycross/wood/divine/necra
name = "wooden amulet of Necra"
desc = "Where, grave, thy victory? I triumph still while the Veiled Lady abides by me."
icon_state = "necra_wood"

/obj/item/clothing/neck/psycross/wood/divine/ravox
name = "wooden amulet of Ravox"
desc = "Struggle. Challenge. And rise to struggle again. That is the sword of he who yet lives to fight again."
icon_state = "ravox_wood"

/obj/item/clothing/neck/psycross/wood/divine/xylix
name = "wooden amulet of Xylix"
desc = "Be not fooled, and be not afraid to."
icon_state = "xylix_wood"

/obj/item/clothing/neck/psycross/wood/divine/eora
name = "wooden amulet of Eora"
desc = "And I love thee because thou art love."
icon_state = "eora_wood"

/obj/item/clothing/neck/psycross/wood/divine/pestra
name = "wooden amulet of Pestra"
desc = "When pure, alcohol is best used as a cleanser of wounds and a cleanser of the palate."
icon_state = "pestra_wood"


/obj/item/clothing/neck/psycross/wood/divine/malum
name = "wooden amulet of Malum"
desc = "Blessed be our works, made in His name."
icon_state = "malum_wood"


// Hunt
/obj/item/clothing/neck/psycross/great_hunt
Expand Down
11 changes: 6 additions & 5 deletions code/modules/crafting/quality_of_crafting/crafting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -521,18 +521,19 @@
starting_atom = /obj/item/natural/fibers
output = /obj/item/broom

/datum/repeatable_crafting_recipe/crafting/wpsycross
name = "wooden psycross"
/datum/repeatable_crafting_recipe/crafting/unfinishedamulet
name = "unfinished amulet"
requirements = list(
/obj/item/grown/log/tree/small= 1,
/obj/item/grown/log/tree/stick= 3,
/obj/item/natural/fibers = 2,
)
tool_usage = list(
/obj/item/weapon/knife = list(span_notice("starts to whittle"), span_notice("start to whittle"), 'sound/items/wood_sharpen.ogg'),
)
attacked_atom = /obj/item/grown/log/tree/small
attacked_atom = /obj/item/grown/log/tree/stick
starting_atom = /obj/item/weapon/knife
allow_inverse_start = FALSE
output = /obj/item/clothing/neck/psycross
output = /obj/item/clothing/neck/psycross/wood
craft_time = 5 SECONDS

/datum/repeatable_crafting_recipe/crafting/bone_amulet
Expand Down
Binary file modified icons/roguetown/clothing/neck.dmi
Binary file not shown.
Binary file modified icons/roguetown/clothing/onmob/neck.dmi
Binary file not shown.
Loading