From e0815964ce51d4e1f9e284b2ae3ac7b4c5039260 Mon Sep 17 00:00:00 2001
From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Date: Mon, 20 May 2024 03:58:20 -0500
Subject: [PATCH] Removes Chaplain Magic (#2936)
## About The Pull Request
Removes a lot of magic effects the chaplain like purifying cult runes
and healing people by smacking them on the head and immunity to cult
conversion
Makes the only chaplain amour witchhunter because templars are generic
(I know witchhunters are still pretty generic but it fits more with the
srm)
## Why It's Good For The Game
We don't plan on ever using any of this content.
Makes room for less cruft based chaplain content
## Changelog
:cl:
del: Removed alot of chaplain stuff we will never use
del: The chaplain is now just as magic as the average person
/:cl:
---
.../lavaland_surface_SPOOKYCRASH.dmm | 2 +-
.../lavaland_surface_lava_canyon.dmm | 2 +-
_maps/RandomRuins/SpaceRuins/spacemall.dmm | 3 +-
.../WasteRuins/wasteplanet_pandora.dmm | 6 +-
_maps/shuttles/roumain/srm_elder.dmm | 2 +-
check_regex.yaml | 2 +-
code/__DEFINES/misc.dm | 5 -
code/datums/mind.dm | 1 -
code/game/gamemodes/cult/cult.dm | 2 -
code/game/objects/items/holy_weapons.dm | 207 +--------------
code/game/objects/items/storage/book.dm | 248 +-----------------
.../crates_lockers/closets/job_closets.dm | 2 +-
code/modules/antagonists/cult/runes.dm | 7 -
code/modules/antagonists/revenant/revenant.dm | 11 -
.../antagonists/wizard/equipment/artefact.dm | 8 -
code/modules/clothing/head/jobs.dm | 9 +
code/modules/clothing/head/misc_special.dm | 7 -
code/modules/clothing/spacesuits/hardsuit.dm | 5 -
.../clothing/spacesuits/miscellaneous.dm | 13 -
code/modules/clothing/suits/jobs.dm | 7 +
code/modules/holiday/halloween.dm | 11 -
code/modules/hydroponics/grown/melon.dm | 16 --
code/modules/jobs/job_types/chaplain.dm | 4 -
.../mining/lavaland/necropolis_chests.dm | 4 -
.../mob/living/carbon/human/examine.dm | 4 -
.../carbon/human/species_types/vampire.dm | 5 -
.../living/simple_animal/hostile/skeleton.dm | 4 +-
.../chemistry/reagents/alcohol_reagents.dm | 7 -
code/modules/religion/religion_sects.dm | 2 -
code/modules/religion/religion_structures.dm | 60 -----
code/modules/vending/wardrobes.dm | 2 +-
31 files changed, 39 insertions(+), 629 deletions(-)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_SPOOKYCRASH.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_SPOOKYCRASH.dmm
index 4f4464b57c7c8..da7751618d04d 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_SPOOKYCRASH.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_SPOOKYCRASH.dmm
@@ -241,7 +241,7 @@
},
/obj/effect/mob_spawn/human/corpse/damaged,
/obj/item/clothing/under/rank/civilian/chaplain,
-/obj/item/clothing/head/helmet/chaplain/witchunter_hat,
+/obj/item/clothing/head/witchunter,
/obj/effect/decal/cleanable/blood,
/obj/effect/decal/cleanable/glass,
/turf/open/floor/mineral/titanium/blue,
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm
index ea2d614717da5..9d99287fb7b2b 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm
@@ -153,7 +153,7 @@
/obj/item/melee/cleric_mace{
pixel_x = 5
},
-/obj/item/clothing/head/helmet/chaplain/ancient{
+/obj/item/clothing/head/witchunter{
pixel_y = 13;
pixel_x = -5
},
diff --git a/_maps/RandomRuins/SpaceRuins/spacemall.dmm b/_maps/RandomRuins/SpaceRuins/spacemall.dmm
index eb669d4116eaf..9ee8380fcc5bf 100644
--- a/_maps/RandomRuins/SpaceRuins/spacemall.dmm
+++ b/_maps/RandomRuins/SpaceRuins/spacemall.dmm
@@ -2809,10 +2809,9 @@
/obj/item/clothing/head/collectable/chef,
/obj/item/clothing/head/collectable/HoP,
/obj/item/clothing/head/collectable/rabbitears,
-/obj/item/clothing/head/helmet/chaplain,
+/obj/item/clothing/head/witchunter,
/obj/item/clothing/neck/cloak/trans,
/obj/item/clothing/neck/cloak/cap,
-/obj/item/clothing/head/helmet/chaplain/witchunter_hat,
/obj/item/clothing/neck/beads,
/obj/item/clothing/neck/necklace/dope,
/obj/item/clothing/neck/stripedredscarf,
diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm
index b6298e29f39dc..1e15705ea8b2d 100644
--- a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm
+++ b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm
@@ -424,7 +424,7 @@
"qo" = (
/obj/structure/closet/cabinet,
/obj/item/spear/bonespear,
-/obj/item/clothing/suit/armor/riot/chaplain/studentuni,
+/obj/item/clothing/suit/armor/witchhunter,
/obj/item/reagent_containers/food/snacks/grown/berries/death,
/turf/open/floor/wood/waste,
/area/ruin/wasteplanet)
@@ -461,7 +461,7 @@
/area/ruin/wasteplanet)
"qU" = (
/obj/structure/closet/cabinet,
-/obj/item/clothing/suit/armor/riot/chaplain/studentuni,
+/obj/item/clothing/suit/armor/witchhunter,
/turf/open/floor/wood/waste,
/area/ruin/wasteplanet)
"rh" = (
@@ -492,7 +492,7 @@
"sV" = (
/obj/structure/closet/cabinet,
/obj/item/claymore/bone,
-/obj/item/clothing/suit/armor/riot/chaplain/studentuni,
+/obj/item/clothing/suit/armor/witchhunter,
/turf/open/floor/wood/waste,
/area/ruin/wasteplanet)
"tB" = (
diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm
index ff5841d98df55..e5eacf4bbc954 100644
--- a/_maps/shuttles/roumain/srm_elder.dmm
+++ b/_maps/shuttles/roumain/srm_elder.dmm
@@ -2629,7 +2629,7 @@
/obj/item/clothing/under/suit/roumain,
/obj/item/clothing/suit/armor/roumain,
/obj/item/clothing/head/cowboy/sec/roumain,
-/obj/item/clothing/suit/armor/riot/chaplain/witchhunter,
+/obj/item/clothing/suit/armor/witchhunter,
/obj/item/flashlight/lantern,
/obj/structure/closet/secure_closet/hunter,
/obj/item/lighter,
diff --git a/check_regex.yaml b/check_regex.yaml
index 538d570daea4f..3b5e13a650e58 100644
--- a/check_regex.yaml
+++ b/check_regex.yaml
@@ -38,7 +38,7 @@ standards:
- exactly:
[
- 269,
+ 266,
"non-bitwise << uses",
'(?A selection has already been made. Self-Destructing...")
- return
-
-
/obj/item/storage/box/holy
- name = "Templar Kit"
-
-/obj/item/storage/box/holy/PopulateContents()
- new /obj/item/clothing/head/helmet/chaplain(src)
- new /obj/item/clothing/suit/armor/riot/chaplain(src)
-
-/obj/item/storage/box/holy/student
- name = "Profane Scholar Kit"
-
-/obj/item/storage/box/holy/student/PopulateContents()
- new /obj/item/clothing/suit/armor/riot/chaplain/studentuni(src)
- new /obj/item/clothing/head/helmet/chaplain/cage(src)
-
-/obj/item/clothing/suit/armor/riot/chaplain/studentuni
- name = "student robe"
- desc = "The uniform of a bygone institute of learning."
- icon_state = "chaplain_studentuni"
- item_state = "studentuni"
- body_parts_covered = ARMS|CHEST
- allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
-
-/obj/item/clothing/head/helmet/chaplain/cage
- name = "cage"
- desc = "A cage that restrains the will of the self, allowing one to see the profane world for what it is."
- flags_inv = HIDEHAIR //bald
- mob_overlay_icon = 'icons/mob/large-worn-icons/64x64/head.dmi'
- icon_state = "cage"
- item_state = "cage"
- worn_x_dimension = 64
- worn_y_dimension = 64
-
-/obj/item/storage/box/holy/sentinel
- name = "Stone Sentinel Kit"
-
-/obj/item/storage/box/holy/sentinel/PopulateContents()
- new /obj/item/clothing/suit/armor/riot/chaplain/ancient(src)
- new /obj/item/clothing/head/helmet/chaplain/ancient(src)
-
-/obj/item/clothing/head/helmet/chaplain/ancient
- name = "ancient helmet"
- desc = "None may pass!"
- icon_state = "knight_ancient"
- item_state = "knight_ancient"
-
-/obj/item/clothing/suit/armor/riot/chaplain/ancient
- name = "ancient armour"
- desc = "Defend the treasure..."
- icon_state = "chaplain_ancient"
- item_state = "knight_ancient"
-
-/obj/item/storage/box/holy/witchhunter
name = "Witchhunter Kit"
-/obj/item/storage/box/holy/witchhunter/PopulateContents()
- new /obj/item/clothing/suit/armor/riot/chaplain/witchhunter(src)
- new /obj/item/clothing/head/helmet/chaplain/witchunter_hat(src)
-
-/obj/item/clothing/suit/armor/riot/chaplain/witchhunter
- name = "witchunter garb"
- desc = "This worn outfit saw much use back in the day."
- icon_state = "chaplain_witchhunter"
- item_state = "witchhunter"
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
-
-/obj/item/clothing/head/helmet/chaplain/witchunter_hat
- name = "witchunter hat"
- desc = "This hat saw much use back in the day."
- icon_state = "witchhunterhat"
- item_state = "witchhunterhat"
- flags_cover = HEADCOVERSEYES
- flags_inv = HIDEEYES|HIDEHAIR
-
-/obj/item/storage/box/holy/adept
- name = "Divine Adept Kit"
-
-/obj/item/storage/box/holy/adept/PopulateContents()
- new /obj/item/clothing/suit/armor/riot/chaplain/adept(src)
- new /obj/item/clothing/head/helmet/chaplain/adept(src)
-
-/obj/item/clothing/head/helmet/chaplain/adept
- name = "adept hood"
- desc = "Its only heretical when others do it."
- icon_state = "crusader"
- item_state = "crusader"
- flags_cover = HEADCOVERSEYES
- flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS
+/obj/item/storage/box/holy/PopulateContents()
+ new /obj/item/clothing/head/witchunter(src)
+ new /obj/item/clothing/suit/armor/witchhunter(src)
-/obj/item/clothing/suit/armor/riot/chaplain/adept
- name = "adept robes"
- desc = "The ideal outfit for burning the unfaithful."
- icon_state = "chaplain_crusader"
- item_state = "crusader"
/obj/item/storage/box/holy/follower
name = "Followers of the Chaplain Kit"
@@ -203,62 +65,6 @@
var/reskinned = FALSE
var/chaplain_spawnable = TRUE
-/obj/item/nullrod/Initialize()
- . = ..()
- AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE)
-
-/obj/item/nullrod/attack_self(mob/user)
- if(user.mind && (user.mind.holy_role) && !reskinned)
- reskin_holy_weapon(user)
-
-/**
- * reskin_holy_weapon: Shows a user a list of all available nullrod reskins and based on his choice replaces the nullrod with the reskinned version
- *
- * Arguments:
- * * M The mob choosing a nullrod reskin
- */
-/obj/item/nullrod/proc/reskin_holy_weapon(mob/M)
- if(GLOB.holy_weapon_type)
- return
- var/list/display_names = list()
- var/list/nullrod_icons = list()
- for(var/V in typesof(/obj/item/nullrod))
- var/obj/item/nullrod/rodtype = V
- if(initial(rodtype.chaplain_spawnable))
- display_names[initial(rodtype.name)] = rodtype
- nullrod_icons += list(initial(rodtype.name) = image(icon = initial(rodtype.icon), icon_state = initial(rodtype.icon_state)))
-
- nullrod_icons = sortList(nullrod_icons)
- var/choice = show_radial_menu(M, src , nullrod_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), M), radius = 42, require_near = TRUE)
- if(!choice || !check_menu(M))
- return
-
- var/A = display_names[choice] // This needs to be on a separate var as list member access is not allowed for new
- var/obj/item/nullrod/holy_weapon = new A
- GLOB.holy_weapon_type = holy_weapon.type
-
- SSblackbox.record_feedback("tally", "chaplain_weapon", 1, "[choice]")
-
- if(holy_weapon)
- holy_weapon.reskinned = TRUE
- qdel(src)
- M.put_in_active_hand(holy_weapon)
-
-/**
- * check_menu: Checks if we are allowed to interact with a radial menu
- *
- * Arguments:
- * * user The mob interacting with a menu
- */
-/obj/item/nullrod/proc/check_menu(mob/user)
- if(!istype(user))
- return FALSE
- if(QDELETED(src) || reskinned)
- return FALSE
- if(user.incapacitated() || !user.is_holding(src))
- return FALSE
- return TRUE
-
/obj/item/nullrod/godhand
icon_state = "disintegrate"
item_state = "disintegrate"
@@ -648,13 +454,6 @@
hitsound = 'sound/weapons/bite.ogg'
var/used_blessing = FALSE
-/obj/item/nullrod/carp/attack_self(mob/living/user)
- if(used_blessing)
- else if(user.mind && (user.mind.holy_role))
- to_chat(user, "You are blessed by Carp-Sie. Wild space carp will no longer attack you.")
- user.faction |= "carp"
- used_blessing = TRUE
-
/obj/item/nullrod/claymore/bostaff //May as well make it a "claymore" and inherit the blocking
name = "monk's staff"
desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts, it is now used to harass the clown."
diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm
index 45fee1d676600..67dba503642d3 100644
--- a/code/game/objects/items/storage/book.dm
+++ b/code/game/objects/items/storage/book.dm
@@ -1,3 +1,10 @@
+//need to refactor this.
+GLOBAL_LIST_INIT(biblenames, list("Bible", "Quran", "Scrapbook", "Burning Bible", "Clown Bible", "Banana Bible", "Creeper Bible", "White Bible", "Holy Light", "The God Delusion", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "Melted Bible", "Necronomicon", "Insulationism", "Guru Granth Sahib"))
+//If you get these two lists not matching in size, there will be runtimes and I will hurt you in ways you couldn't even begin to imagine
+// if your bible has no custom itemstate, use one of the existing ones
+GLOBAL_LIST_INIT(biblestates, list("bible", "koran", "scrapbook", "burning", "honk1", "honk2", "creeper", "white", "holylight", "atheist", "tome", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon", "insuls", "gurugranthsahib"))
+GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", "honk1", "honk2", "creeper", "white", "holylight", "atheist", "tome", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon", "kingyellow", "gurugranthsahib"))
+
/obj/item/storage/book
name = "hollowed book"
desc = "I guess someone didn't like it."
@@ -17,18 +24,6 @@
/obj/item/storage/book/attack_self(mob/user)
to_chat(user, "The pages of [title] have been cut out!")
-GLOBAL_LIST_INIT(biblenames, list("Bible", "Quran", "Scrapbook", "Burning Bible", "Clown Bible", "Banana Bible", "Creeper Bible", "White Bible", "Holy Light", "The God Delusion", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "Melted Bible", "Necronomicon", "Insulationism", "Guru Granth Sahib"))
-//If you get these two lists not matching in size, there will be runtimes and I will hurt you in ways you couldn't even begin to imagine
-// if your bible has no custom itemstate, use one of the existing ones
-GLOBAL_LIST_INIT(biblestates, list("bible", "koran", "scrapbook", "burning", "honk1", "honk2", "creeper", "white", "holylight", "atheist", "tome", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon", "insuls", "gurugranthsahib"))
-GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", "honk1", "honk2", "creeper", "white", "holylight", "atheist", "tome", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon", "kingyellow", "gurugranthsahib"))
-
-/mob/proc/bible_check() //The bible, if held, might protect against certain things
- var/obj/item/storage/book/bible/B = locate() in src
- if(is_holding(B))
- return B
- return 0
-
/obj/item/storage/book/bible
name = "bible"
desc = "Apply to head repeatedly."
@@ -41,205 +36,6 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning",
var/deity_name = "Christ"
force_string = "holy"
-/obj/item/storage/book/bible/Initialize()
- . = ..()
- AddComponent(/datum/component/anti_magic, FALSE, TRUE)
-
-/obj/item/storage/book/bible/attack_self(mob/living/carbon/human/H)
- if(!istype(H))
- return
- if(!H.can_read(src))
- return FALSE
- // If H is the Chaplain, we can set the icon_state of the bible (but only once!)
- if(!GLOB.bible_icon_state && H.mind.holy_role == HOLY_ROLE_HIGHPRIEST)
- var/dat = "
Pick Bible StylePick a bible style
"
- for(var/i in 1 to GLOB.biblestates.len)
- var/icon/bibleicon = icon('icons/obj/storage.dmi', GLOB.biblestates[i])
- var/nicename = GLOB.biblenames[i]
- H << browse_rsc(bibleicon, nicename)
- dat += {" | [nicename] |
"}
- dat += "
"
- H << browse(dat, "window=editicon;can_close=0;can_minimize=0;size=250x650")
-
-/obj/item/storage/book/bible/Topic(href, href_list)
- if(!usr.canUseTopic(src, BE_CLOSE))
- return
- if(href_list["seticon"] && !GLOB.bible_icon_state)
- var/iconi = text2num(href_list["seticon"])
- var/biblename = GLOB.biblenames[iconi]
- icon_state = GLOB.biblestates[iconi]
- item_state = GLOB.bibleitemstates[iconi]
-
- if(icon_state == "honk1" || icon_state == "honk2")
- var/mob/living/carbon/human/H = usr
- H.dna.add_mutation(CLOWNMUT)
- H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(H), ITEM_SLOT_MASK)
- if(icon_state == "insuls")
- var/mob/living/carbon/human/H =usr
- var/obj/item/clothing/gloves/color/fyellow/insuls = new
- insuls.name = "insuls"
- insuls.desc = "A mere copy of the true insuls."
- insuls.siemens_coefficient = 0.99999
- H.equip_to_slot(insuls, ITEM_SLOT_GLOVES)
- GLOB.bible_icon_state = icon_state
- GLOB.bible_item_state = item_state
-
- SSblackbox.record_feedback("text", "religion_book", 1, "[biblename]")
- usr << browse(null, "window=editicon")
-
-/obj/item/storage/book/bible/proc/bless(mob/living/L, mob/living/user)
- if(GLOB.religious_sect)
- return GLOB.religious_sect.sect_bless(L,user)
- if(!ishuman(L))
- return
- var/mob/living/carbon/human/H = L
- for(var/X in H.bodyparts)
- var/obj/item/bodypart/BP = X
- if(!IS_ORGANIC_LIMB(BP))
- to_chat(user, "[src.deity_name] refuses to heal this metallic taint!")
- return 0
-
- var/heal_amt = 10
- var/list/hurt_limbs = H.get_damaged_bodyparts(1, 1, null, BODYTYPE_ORGANIC)
-
- if(hurt_limbs.len)
- for(var/X in hurt_limbs)
- var/obj/item/bodypart/affecting = X
- if(affecting.heal_damage(heal_amt, heal_amt, null, BODYTYPE_ORGANIC))
- H.update_damage_overlays()
- H.visible_message("[user] heals [H] with the power of [deity_name]!")
- to_chat(H, "May the power of [deity_name] compel you to be healed!")
- playsound(src.loc, "punch", 25, TRUE, -1)
- SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing)
- return 1
-
-/obj/item/storage/book/bible/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE)
-
- if (!user.IsAdvancedToolUser())
- to_chat(user, "You don't have the dexterity to do this!")
- return
-
- if (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
- to_chat(user, "[src] slips out of your hand and hits your head.")
- user.take_bodypart_damage(10)
- user.Unconscious(400)
- return
-
- var/chaplain = 0
- if(user.mind && (user.mind.holy_role))
- chaplain = 1
-
- if(!chaplain)
- to_chat(user, "The book sizzles in your hands.")
- user.take_bodypart_damage(0,10)
- return
-
- if (!heal_mode)
- return ..()
-
- var/smack = 1
-
- if (M.stat != DEAD)
- if(chaplain && user == M)
- to_chat(user, "You can't heal yourself!")
- return
-
- if(prob(60) && bless(M, user))
- smack = 0
- else if(iscarbon(M))
- var/mob/living/carbon/C = M
- if(!istype(C.head, /obj/item/clothing/head/helmet))
- C.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5, 60)
- to_chat(C, "You feel dumber.")
-
- if(smack)
- M.visible_message("[user] beats [M] over the head with [src]!", \
- "[user] beats [M] over the head with [src]!")
- playsound(src.loc, "punch", 25, TRUE, -1)
- log_combat(user, M, "attacked", src)
-
- else
- M.visible_message("[user] smacks [M]'s lifeless corpse with [src].")
- playsound(src.loc, "punch", 25, TRUE, -1)
-
-/obj/item/storage/book/bible/afterattack(atom/A, mob/user, proximity)
- . = ..()
- if(!proximity)
- return
- if(isfloorturf(A))
- to_chat(user, "You hit the floor with the bible.")
- if(user.mind && (user.mind.holy_role))
- for(var/obj/effect/rune/R in orange(2,user))
- R.invisibility = 0
- if(user?.mind?.holy_role)
- if(A.reagents && A.reagents.has_reagent(/datum/reagent/water)) // blesses all the water in the holder
- to_chat(user, "You bless [A].")
- var/water2holy = A.reagents.get_reagent_amount(/datum/reagent/water)
- A.reagents.del_reagent(/datum/reagent/water)
- A.reagents.add_reagent(/datum/reagent/water/holywater,water2holy)
- if(A.reagents && A.reagents.has_reagent(/datum/reagent/fuel/unholywater)) // yeah yeah, copy pasted code - sue me
- to_chat(user, "You purify [A].")
- var/unholy2clean = A.reagents.get_reagent_amount(/datum/reagent/fuel/unholywater)
- A.reagents.del_reagent(/datum/reagent/fuel/unholywater)
- A.reagents.add_reagent(/datum/reagent/water/holywater,unholy2clean)
- if(istype(A, /obj/item/storage/book/bible) && !istype(A, /obj/item/storage/book/bible/syndicate))
- to_chat(user, "You purify [A], conforming it to your belief.")
- var/obj/item/storage/book/bible/B = A
- B.name = name
- B.icon_state = icon_state
- B.item_state = item_state
- if(istype(A, /obj/item/cult_bastard) && !iscultist(user))
- var/obj/item/cult_bastard/sword = A
- to_chat(user, "You begin to exorcise [sword].")
- playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,TRUE)
- if(do_after(user, 40, target = sword))
- playsound(src,'sound/effects/pray_chaplain.ogg',60,TRUE)
- for(var/obj/item/soulstone/SS in sword.contents)
- SS.usability = TRUE
- for(var/mob/living/simple_animal/shade/EX in SS)
- SSticker.mode.remove_cultist(EX.mind, 1, 0)
- EX.icon_state = "ghost1"
- EX.name = "Purified [EX.name]"
- SS.release_shades(user)
- qdel(SS)
- new /obj/item/nullrod/claymore(get_turf(sword))
- user.visible_message("[user] purifies [sword]!")
- qdel(sword)
- else if(istype(A, /obj/item/soulstone) && !iscultist(user))
- var/obj/item/soulstone/SS = A
- if(SS.purified)
- return
- to_chat(user, "You begin to exorcise [SS].")
- playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,TRUE)
- if(do_after(user, 40, target = SS))
- playsound(src,'sound/effects/pray_chaplain.ogg',60,TRUE)
- SS.usability = TRUE
- SS.purified = TRUE
- SS.icon_state = "purified_soulstone"
- for(var/mob/M in SS.contents)
- if(M.mind)
- SS.icon_state = "purified_soulstone2"
- if(iscultist(M))
- SSticker.mode.remove_cultist(M.mind, FALSE, FALSE)
- for(var/mob/living/simple_animal/shade/EX in SS)
- EX.icon_state = "ghost1"
- EX.name = "Purified [initial(EX.name)]"
- user.visible_message("[user] purifies [SS]!")
- else if(istype(A, /obj/item/nullrod/scythe/talking))
- var/obj/item/nullrod/scythe/talking/sword = A
- to_chat(user, "You begin to exorcise [sword]...")
- playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,TRUE)
- if(do_after(user, 40, target = sword))
- playsound(src,'sound/effects/pray_chaplain.ogg',60,TRUE)
- for(var/mob/living/simple_animal/shade/S in sword.contents)
- to_chat(S, "You were destroyed by the exorcism!")
- qdel(S)
- sword.possessed = FALSE //allows the chaplain (or someone else) to reroll a new spirit for their sword
- sword.name = initial(sword.name)
- REMOVE_TRAIT(sword, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT) //in case the "sword" is a possessed dummy
- user.visible_message("[user] exorcises [sword]!", \
- "You successfully exorcise [sword]!")
-
/obj/item/storage/book/bible/koran
name = "Koran"
icon_state = "koran"
@@ -253,34 +49,6 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning",
new /obj/item/reagent_containers/food/drinks/bottle/whiskey(src)
/obj/item/storage/book/bible/syndicate
+ name = "Syndicate Tome"
icon_state ="ebook"
deity_name = "The Syndicate"
- throw_speed = 2
- throwforce = 18
- throw_range = 7
- force = 18
- hitsound = 'sound/weapons/sear.ogg'
- damtype = BURN
- name = "Syndicate Tome"
- attack_verb = list("attacked", "burned", "blessed", "damned", "scorched")
- var/uses = 1
-
-/obj/item/storage/book/bible/syndicate/attack_self(mob/living/carbon/human/H)
- if (uses)
- H.mind.holy_role = HOLY_ROLE_PRIEST
- uses -= 1
- to_chat(H, "You try to open the book AND IT BITES YOU!")
- playsound(src.loc, 'sound/effects/snap.ogg', 50, TRUE)
- H.apply_damage(5, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM))
- to_chat(H, "Your name appears on the inside cover, in blood.")
- var/ownername = H.real_name
- desc += "The name [ownername] is written in blood inside the cover."
-
-/obj/item/storage/book/bible/syndicate/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE)
- if (user.a_intent == INTENT_HELP)
- return ..()
- else
- return ..(M,user,heal_mode = FALSE)
-
-/obj/item/storage/book/bible/syndicate/add_blood_DNA(list/blood_dna)
- return FALSE
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index 0e65a5aeb7604..dac919bb428c4 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -98,7 +98,7 @@
icon_door = "black"
/obj/structure/closet/wardrobe/chaplain_black/PopulateContents()
- new /obj/item/choice_beacon/holy(src)
+ new /obj/item/storage/box/holy(src)
new /obj/item/clothing/accessory/pocketprotector/cosmetology(src)
new /obj/item/clothing/under/rank/civilian/chaplain(src)
new /obj/item/clothing/shoes/sneakers/black(src)
diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm
index 7355880e6da10..5058dc73f0810 100644
--- a/code/modules/antagonists/cult/runes.dm
+++ b/code/modules/antagonists/cult/runes.dm
@@ -61,10 +61,6 @@ Runes can either be invoked by one's self or with many different cultists. Each
if(do_after(user, 15, target = src))
to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune.")
qdel(src)
- else if(istype(I, /obj/item/nullrod))
- user.say("BEGONE FOUL MAGIKS!!", forced = "nullrod")
- to_chat(user, "You disrupt the magic of [src] with [I].")
- qdel(src)
/obj/effect/rune/attack_hand(mob/living/user)
. = ..()
@@ -502,9 +498,6 @@ structure_check() searches for nearby cultist structures required for the invoca
if(do_after(user, 50, target = src)) //Prevents accidental erasures.
log_game("Summon Narsie rune erased by [key_name(user)] with [I.name]")
message_admins("[ADMIN_LOOKUPFLW(user)] erased a Narsie rune with [I.name]")
- else if(istype(I, /obj/item/nullrod)) //Begone foul magiks. You cannot hinder me.
- log_game("Summon Narsie rune erased by [key_name(user)] using a null rod")
- message_admins("[ADMIN_LOOKUPFLW(user)] erased a Narsie rune with a null rod")
else
..()
diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm
index 76da8304df094..084176f4b8c41 100644
--- a/code/modules/antagonists/revenant/revenant.dm
+++ b/code/modules/antagonists/revenant/revenant.dm
@@ -190,17 +190,6 @@
return BULLET_ACT_FORCE_PIERCE
return ..()
-//damage, gibbing, and dying
-/mob/living/simple_animal/revenant/attackby(obj/item/W, mob/living/user, params)
- . = ..()
- if(istype(W, /obj/item/nullrod))
- visible_message("[src] violently flinches!", \
- "As \the [W] passes through you, you feel your essence draining away!")
- adjustBruteLoss(25) //hella effective
- inhibited = TRUE
- update_action_buttons_icon()
- addtimer(CALLBACK(src, PROC_REF(reset_inhibit)), 30)
-
/mob/living/simple_animal/revenant/proc/reset_inhibit()
inhibited = FALSE
update_action_buttons_icon()
diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm
index a95ef0d1b5790..a20b905b590d4 100644
--- a/code/modules/antagonists/wizard/equipment/artefact.dm
+++ b/code/modules/antagonists/wizard/equipment/artefact.dm
@@ -58,14 +58,6 @@
if(spawn_amt_left <= 0)
qdel(src)
-/obj/effect/rend/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/nullrod))
- user.visible_message("[user] seals \the [src] with \the [I].")
- qdel(src)
- return
- else
- return ..()
-
/obj/effect/rend/singularity_pull()
return
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index f81b5a8b82598..8521bdca2cff6 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -272,3 +272,12 @@
#undef DRILL_SHOUTING
#undef DRILL_YELLING
#undef DRILL_CANADIAN
+
+/obj/item/clothing/head/witchunter
+ name = "witchunter hat"
+ desc = "This hat saw much use back in the day."
+ icon_state = "witchhunterhat"
+ item_state = "witchhunterhat"
+ flags_cover = HEADCOVERSEYES
+ flags_inv = HIDEEYES|HIDEHAIR
+ armor = list("melee" = 30, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80)
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index b9e828ab39749..c04b61563f53c 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -315,13 +315,6 @@
var/datum/brain_trauma/mild/phobia/conspiracies/paranoia
var/warped = FALSE
-/obj/item/clothing/head/foilhat/Initialize(mapload)
- . = ..()
- if(!warped)
- AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, 6, TRUE, null, CALLBACK(src, PROC_REF(warp_up)))
- else
- warp_up()
-
/obj/item/clothing/head/foilhat/equipped(mob/living/carbon/human/user, slot)
. = ..()
if(slot != ITEM_SLOT_HEAD || warped)
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index c07841cdba5ad..3ebe1c2244a78 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -585,11 +585,6 @@
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/wizard
-/obj/item/clothing/suit/space/hardsuit/wizard/Initialize()
- . = ..()
- AddComponent(/datum/component/anti_magic, TRUE, FALSE, FALSE, ITEM_SLOT_OCLOTHING, INFINITY, FALSE)
-
-
//Medical hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/medical
name = "medical hardsuit helmet"
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index 5f6cb871f51be..946fbaa804f5f 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -332,10 +332,6 @@ Contains:
actions_types = list()
resistance_flags = FIRE_PROOF
-/obj/item/clothing/suit/space/hardsuit/ert/paranormal/Initialize()
- . = ..()
- AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_OCLOTHING)
-
/obj/item/clothing/suit/space/hardsuit/ert/paranormal
name = "paranormal response team hardsuit"
desc = "Powerful wards are built into this hardsuit, protecting the user from all manner of paranormal threats."
@@ -345,10 +341,6 @@ Contains:
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF
-/obj/item/clothing/suit/space/hardsuit/ert/paranormal/Initialize()
- . = ..()
- AddComponent(/datum/component/anti_magic, TRUE, TRUE, TRUE, ITEM_SLOT_OCLOTHING)
-
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor
name = "inquisitor's hardsuit"
icon_state = "hardsuit-inq"
@@ -373,11 +365,6 @@ Contains:
resistance_flags = FIRE_PROOF
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/regenerative_core/legion, /obj/item/kitchen/knife, /obj/item/kinetic_crusher, /obj/item/resonator, /obj/item/melee/transforming/cleaving_saw)
-
-/obj/item/clothing/suit/space/hardsuit/berserker/Initialize()
- . = ..()
- AddComponent(/datum/component/anti_magic, TRUE, TRUE, TRUE, ITEM_SLOT_OCLOTHING)
-
/obj/item/clothing/suit/space/hardsuit/berserker/RemoveHelmet()
var/obj/item/clothing/head/helmet/space/hardsuit/berserker/helm = helmet
if(helm?.berserk_active)
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index 79aaf15c4d349..56018c288b6ad 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -286,3 +286,10 @@
body_parts_covered = HEAD
flags_inv = HIDEHAIR|HIDEEARS|HIDEFACE|HIDEFACIALHAIR
+/obj/item/clothing/suit/armor/witchhunter
+ name = "witchunter garb"
+ desc = "This worn outfit saw much use back in the day."
+ icon_state = "chaplain_witchhunter"
+ item_state = "witchhunter"
+ body_parts_covered = CHEST|GROIN|LEGS|ARMS
+ allowed = list(/obj/item/storage/book/bible, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
diff --git a/code/modules/holiday/halloween.dm b/code/modules/holiday/halloween.dm
index e95bdb2063a8c..d5b0c0ff66381 100644
--- a/code/modules/holiday/halloween.dm
+++ b/code/modules/holiday/halloween.dm
@@ -243,17 +243,6 @@
if(prob(5))
playsound(loc, 'sound/spookoween/insane_low_laugh.ogg', 300, TRUE)
-/mob/living/simple_animal/hostile/clown_insane/attackby(obj/item/O, mob/user)
- if(istype(O, /obj/item/nullrod))
- if(prob(5))
- visible_message("[src] finally found the peace it deserves. You hear honks echoing off into the distance.")
- playsound(loc, 'sound/spookoween/insane_low_laugh.ogg', 300, TRUE)
- qdel(src)
- else
- visible_message("[src] seems to be resisting the effect!")
- return
- return ..()
-
/mob/living/simple_animal/hostile/clown_insane/handle_temperature_damage()
return
diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm
index 1378fb0253fc8..1c6b19313ee4c 100644
--- a/code/modules/hydroponics/grown/melon.dm
+++ b/code/modules/hydroponics/grown/melon.dm
@@ -52,19 +52,3 @@
dried_type = null
wine_power = 70 //Water to wine, baby.
wine_flavor = "divinity"
-
-/obj/item/reagent_containers/food/snacks/grown/holymelon/Initialize()
- . = ..()
- var/uses = 1
- if(seed)
- uses = round(seed.potency / 20)
- AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_HANDS, uses, TRUE, CALLBACK(src, PROC_REF(block_magic)), CALLBACK(src, PROC_REF(expire))) //deliver us from evil o melon god
-
-/obj/item/reagent_containers/food/snacks/grown/holymelon/proc/block_magic(mob/user, major)
- if(major)
- to_chat(user, "[src] hums slightly, and seems to decay a bit.")
-
-/obj/item/reagent_containers/food/snacks/grown/holymelon/proc/expire(mob/user)
- to_chat(user, "[src] rapidly turns into ash!")
- qdel(src)
- new /obj/effect/decal/cleanable/ash(drop_location())
diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm
index 8706974767944..ab4ceb6968c04 100644
--- a/code/modules/jobs/job_types/chaplain.dm
+++ b/code/modules/jobs/job_types/chaplain.dm
@@ -16,8 +16,6 @@
var/obj/item/storage/book/bible/booze/B = new
if(GLOB.religion)
- if(H.mind)
- H.mind.holy_role = HOLY_ROLE_PRIEST
B.deity_name = GLOB.deity
B.name = GLOB.bible_name
B.icon_state = GLOB.bible_icon_state
@@ -30,8 +28,6 @@
if(GLOB.religious_sect)
GLOB.religious_sect.on_conversion(H)
return
- if(H.mind)
- H.mind.holy_role = HOLY_ROLE_HIGHPRIEST
var/new_religion = DEFAULT_RELIGION
if(M.client && M.client.prefs.custom_names["religion"])
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 42cc2a74d6a4d..b2a7cf2dd5ca2 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -590,10 +590,6 @@
if(input)
src.warcry = input
-/obj/item/immortality_talisman/Initialize()
- . = ..()
- AddComponent(/datum/component/anti_magic, TRUE, TRUE, TRUE)
-
/datum/action/item_action/hands_free/immortality
name = "Immortality"
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 59f97d172ad16..98df5e85879a7 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -311,10 +311,6 @@
msg += ""
- if(HAS_TRAIT(user, TRAIT_SPIRITUAL) && mind?.holy_role)
- msg += "[t_He] [t_has] a holy aura about [t_him].\n"
- SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "religious_comfort", /datum/mood_event/religiously_comforted)
-
switch(stat)
if(UNCONSCIOUS, HARD_CRIT)
msg += "[t_He] [t_is]n't responding to anything around [t_him] and seem[p_s()] to be asleep.\n"
diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm
index 070894a92bee9..5caf871a7f23f 100644
--- a/code/modules/mob/living/carbon/human/species_types/vampire.dm
+++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm
@@ -53,11 +53,6 @@
C.adjust_fire_stacks(6)
C.IgniteMob()
-/datum/species/vampire/check_species_weakness(obj/item/weapon, mob/living/attacker)
- if(istype(weapon, /obj/item/nullrod/whip))
- return 1 //Whips deal 2x damage to vampires. Vampire killer.
- return 0
-
/obj/item/organ/tongue/vampire
name = "vampire tongue"
actions_types = list(/datum/action/item_action/organ_action/vampire)
diff --git a/code/modules/mob/living/simple_animal/hostile/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/skeleton.dm
index 477233566f351..02ac0ee6bf562 100644
--- a/code/modules/mob/living/simple_animal/hostile/skeleton.dm
+++ b/code/modules/mob/living/simple_animal/hostile/skeleton.dm
@@ -72,8 +72,8 @@
melee_damage_upper = 30
deathmessage = "collapses into a pile of bones, its gear clanging as it hits the ground!"
loot = list(/obj/effect/decal/remains/human,
- /obj/item/clothing/suit/armor/riot/chaplain,
- /obj/item/clothing/head/helmet/chaplain,
+ /obj/item/clothing/suit/armor/witchhunter,
+ /obj/item/clothing/head/witchunter,
/obj/item/claymore/weak{name = "holy sword"})
/mob/living/simple_animal/hostile/skeleton/ice
diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
index 123afbcf387c9..5902665e85c9c 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
@@ -2162,13 +2162,6 @@ All effects don't start immediately, but rather get worse over time; the rate is
glass_name = "Trappist Beer"
glass_desc = "boozy Catholicism in a glass."
-/datum/reagent/consumable/ethanol/trappist/on_mob_life(mob/living/carbon/M)
- if(M.mind.holy_role)
- M.adjustFireLoss(-2.5, 0)
- M.jitteriness = max(0, M.jitteriness-1)
- M.stuttering = max(0, M.stuttering-1)
- return ..()
-
/datum/reagent/consumable/ethanol/blazaam
name = "Blazaam"
description = "A strange drink that few people seem to remember existing. Doubles as a Berenstain remover."
diff --git a/code/modules/religion/religion_sects.dm b/code/modules/religion/religion_sects.dm
index 92327a2ed6890..3ddce78ae6e53 100644
--- a/code/modules/religion/religion_sects.dm
+++ b/code/modules/religion/religion_sects.dm
@@ -135,8 +135,6 @@
if(iscyborg(L))
var/mob/living/silicon/robot/R = L
var/charge_amt = 50
- if(L.mind?.holy_role == HOLY_ROLE_HIGHPRIEST)
- charge_amt *= 2
R.cell?.charge += charge_amt
R.visible_message("[user] charges [R] with the power of [GLOB.deity]!")
to_chat(R, "You are charged by the power of [GLOB.deity]!")
diff --git a/code/modules/religion/religion_structures.dm b/code/modules/religion/religion_structures.dm
index f9c449c56e9ba..e9d76ca8bf5a8 100644
--- a/code/modules/religion/religion_structures.dm
+++ b/code/modules/religion/religion_structures.dm
@@ -18,10 +18,6 @@
var/can_i_see = FALSE
if(isobserver(user))
can_i_see = TRUE
- else if(isliving(user))
- var/mob/living/L = user
- if(L.mind?.holy_role)
- can_i_see = TRUE
if(!can_i_see || !sect_to_altar)
return
@@ -57,62 +53,6 @@
pushed_mob.forceMove(loc)
return ..()
-/obj/structure/altar_of_gods/attackby(obj/item/C, mob/user, params)
- //If we can sac, we do nothing but the sacrifice instead of typical attackby behavior (IE damage the structure)
- if(sect_to_altar?.can_sacrifice(C,user))
- sect_to_altar.on_sacrifice(C,user)
- return TRUE
- . = ..()
- //everything below is assumed you're bibling it up
- if(!istype(C, /obj/item/storage/book/bible))
- return
- if(sect_to_altar)
- if(!sect_to_altar.rites_list)
- to_chat(user, "Your sect doesn't have any rites to perform!")
- return
- var/rite_select = input(user,"Select a rite to perform!","Select a rite",null) in sect_to_altar.rites_list
- if(!rite_select || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
- to_chat(user,"You cannot perform the rite at this time.")
- return
- var/selection2type = sect_to_altar.rites_list[rite_select]
- performing_rite = new selection2type(src)
- if(!performing_rite.perform_rite(user, src))
- QDEL_NULL(performing_rite)
- else
- performing_rite.invoke_effect(user, src)
- sect_to_altar.adjust_favor(-performing_rite.favor_cost)
- QDEL_NULL(performing_rite)
- return
-
- if(user.mind.holy_role != HOLY_ROLE_HIGHPRIEST)
- to_chat(user, "You are not the high priest, and therefore cannot select a religious sect.")
- return
-
- var/list/available_options = generate_available_sects(user)
- if(!available_options)
- return
-
- var/sect_select = input(user,"Select a sect (You CANNOT revert this decision!)","Select a Sect",null) in available_options
- if(!sect_select || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
- to_chat(user,"You cannot select a sect at this time.")
- return
- var/type_selected = available_options[sect_select]
- GLOB.religious_sect = new type_selected()
- for(var/i in GLOB.player_list)
- if(!isliving(i))
- continue
- var/mob/living/am_i_holy_living = i
- if(!am_i_holy_living.mind?.holy_role)
- continue
- GLOB.religious_sect.on_conversion(am_i_holy_living)
- sect_to_altar = GLOB.religious_sect
- if(sect_to_altar.altar_icon)
- icon = sect_to_altar.altar_icon
- if(sect_to_altar.altar_icon_state)
- icon_state = sect_to_altar.altar_icon_state
-
-
-
/obj/structure/altar_of_gods/proc/generate_available_sects(mob/user) //eventually want to add sects you get from unlocking certain achievements
. = list()
for(var/i in subtypesof(/datum/religion_sect))
diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm
index bbc53154aac60..da3fdb1340101 100644
--- a/code/modules/vending/wardrobes.dm
+++ b/code/modules/vending/wardrobes.dm
@@ -375,7 +375,7 @@
icon_state = "chapdrobe"
product_ads = "Are you being bothered by cultists or pesky revenants? Then come and dress like the holy man!;Clothes for men of the cloth!"
vend_reply = "Thank you for using the ChapDrobe!"
- products = list(/obj/item/choice_beacon/holy = 1,
+ products = list(/obj/item/storage/box/holy = 1,
/obj/item/storage/backpack/cultpack = 1,
/obj/item/clothing/head/beret/service = 1, //WS edit - berets
/obj/item/clothing/accessory/pocketprotector/cosmetology = 1,