Skip to content

Commit

Permalink
Removes Chaplain Magic (#2936)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## 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)
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## 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

<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding. -->

## 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:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
  • Loading branch information
FalloutFalcon authored Jun 12, 2024
1 parent 4626817 commit c998ee9
Show file tree
Hide file tree
Showing 33 changed files with 38 additions and 623 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@
pixel_x = -5;
pixel_y = 12
},
/obj/item/clothing/head/helmet/chaplain/ancient{
/obj/item/clothing/head/witchunter{
pixel_y = 13;
pixel_x = -5
},
Expand Down
3 changes: 1 addition & 2 deletions _maps/RandomRuins/SpaceRuins/spacemall.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
6 changes: 3 additions & 3 deletions _maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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" = (
Expand Down Expand Up @@ -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" = (
Expand Down
2 changes: 1 addition & 1 deletion _maps/shuttles/roumain/srm_elder.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2617,7 +2617,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,
Expand Down
2 changes: 1 addition & 1 deletion check_regex.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ standards:

- exactly:
[
268,
265,
"non-bitwise << uses",
'(?<!\d)(?<!\d\s)(?<!<)<<(?!=|\s\d|\d|<|\/)',
]
Expand Down
5 changes: 0 additions & 5 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -445,11 +445,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
#define FALL_NO_MESSAGE (1<<1) //Used to suppress the "[A] falls through [old_turf]" messages where it'd make little sense at all, like going downstairs.
#define FALL_STOP_INTERCEPTING (1<<2) //Used in situations where halting the whole "intercept" loop would be better, like supermatter dusting (and thus deleting) the atom.

//Religion

#define HOLY_ROLE_PRIEST 1 //default priestly role
#define HOLY_ROLE_HIGHPRIEST 2 //the one who designates the religion

#define ALIGNMENT_GOOD "good"
#define ALIGNMENT_NEUT "neutral"
#define ALIGNMENT_EVIL "evil"
Expand Down
1 change: 0 additions & 1 deletion code/datums/mind.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
var/damnation_type = 0
var/datum/mind/soulOwner //who owns the soul. Under normal circumstances, this will point to src
var/hasSoul = TRUE // If false, renders the character unable to sell their soul.
var/holy_role = NONE //is this person a chaplain or admin role allowed to use bibles, Any rank besides 'NONE' allows for this.

var/mob/living/enslaved_to //If this mind's master is another mob
var/datum/language_holder/language_holder
Expand Down
2 changes: 0 additions & 2 deletions code/game/gamemodes/cult/cult.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
if(!istype(M))
return FALSE
if(M.mind)
if(ishuman(M) && (M.mind.holy_role))
return FALSE
if(specific_cult && specific_cult.is_sacrifice_target(M.mind))
return FALSE
if(M.mind.enslaved_to && !iscultist(M.mind.enslaved_to))
Expand Down
207 changes: 3 additions & 204 deletions code/game/objects/items/holy_weapons.dm
Original file line number Diff line number Diff line change
@@ -1,150 +1,12 @@
// CHAPLAIN CUSTOM ARMORS //

/obj/item/clothing/head/helmet/chaplain
name = "crusader helmet"
desc = "Deus Vult."
icon_state = "knight_templar"
item_state = "knight_templar"
armor = list("melee" = 50, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80)
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
strip_delay = 80
dog_fashion = null

/obj/item/clothing/suit/armor/riot/chaplain
name = "crusader armour"
desc = "God wills it!"
icon_state = "chaplain_templar"
item_state = "knight_templar"
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)
slowdown = 0
clothing_flags = NONE

/obj/item/choice_beacon/holy
name = "armaments beacon"
desc = "Contains a set of armaments for the chaplain."

/obj/item/choice_beacon/holy/canUseBeacon(mob/living/user)
if(user.mind && user.mind.holy_role)
return ..()
else
playsound(src, 'sound/machines/buzz-sigh.ogg', 40, TRUE)
return FALSE

/obj/item/choice_beacon/holy/generate_display_names()
var/static/list/holy_item_list
if(!holy_item_list)
holy_item_list = list()
var/list/templist = typesof(/obj/item/storage/box/holy)
for(var/V in templist)
var/atom/A = V
holy_item_list[initial(A.name)] = A
return holy_item_list

/obj/item/choice_beacon/holy/spawn_option(obj/choice,mob/living/M)
if(!GLOB.holy_armor_type)
..()
playsound(src, 'sound/effects/pray_chaplain.ogg', 40, TRUE)
SSblackbox.record_feedback("tally", "chaplain_armor", 1, "[choice]")
GLOB.holy_armor_type = choice
else
to_chat(M, "<span class='warning'>A selection has already been made. Self-Destructing...</span>")
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"
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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, "<span class='boldnotice'>You are blessed by Carp-Sie. Wild space carp will no longer attack you.</span>")
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."
Expand Down
Loading

0 comments on commit c998ee9

Please sign in to comment.