Turns isholy into a trait and adds a trait mind helper (#23107)

* Converts isHoly into a trait

* Moves holy from body to mind

* Uncurses the source of curses

* Updates source to roundstart trait

* Contrabang fixes

* Forgot one

* Add trait mind helper

* Request changed Dgamerr/Contra

* Fixes issue

* Nullchecks minds
This commit is contained in:
ppi13
2023-11-03 20:07:20 +00:00
committed by GitHub
parent 4647342219
commit abe4110704
15 changed files with 37 additions and 29 deletions
@@ -37,7 +37,7 @@
/obj/item/nullrod/attack(mob/M, mob/living/carbon/user)
..()
var/datum/antagonist/vampire/V = M.mind?.has_antag_datum(/datum/antagonist/vampire)
if(ishuman(M) && V && user.mind.isholy)
if(ishuman(M) && V && HAS_MIND_TRAIT(M, TRAIT_HOLY))
if(!V.get_ability(/datum/vampire_passive/full))
to_chat(M, "<span class='warning'>The nullrod's power interferes with your own!</span>")
V.adjust_nullification(30 + sanctify_force, 15 + sanctify_force)
@@ -45,7 +45,7 @@
/obj/item/nullrod/pickup(mob/living/user)
. = ..()
if(sanctify_force)
if(!user.mind || !user.mind.isholy)
if(!user.mind || !HAS_MIND_TRAIT(user, TRAIT_HOLY))
user.adjustBruteLoss(force)
user.adjustFireLoss(sanctify_force)
user.Weaken(10 SECONDS)
@@ -57,7 +57,7 @@
/obj/item/nullrod/attack_self(mob/user)
if(user.mind?.isholy && !reskinned)
if(HAS_MIND_TRAIT(user, TRAIT_HOLY) && !reskinned)
reskin_holy_weapon(user)
/obj/item/nullrod/examine(mob/living/user)
@@ -469,7 +469,7 @@
/obj/item/nullrod/carp/attack_self(mob/living/user)
if(used_blessing)
return
if(user.mind && !user.mind.isholy)
if(user.mind && !HAS_MIND_TRAIT(user, TRAIT_HOLY))
return
to_chat(user, "You are blessed by Carp-Sie. Wild space carp will no longer attack you.")
user.faction |= "carp"
@@ -541,7 +541,7 @@
if(!iscarbon(M))
return ..()
if(!user.mind || !user.mind.isholy)
if(!user.mind || !HAS_MIND_TRAIT(user, TRAIT_HOLY))
to_chat(user, "<span class='notice'>You are not close enough with [SSticker.Bible_deity_name] to use [src].</span>")
return
@@ -594,7 +594,7 @@
/obj/item/nullrod/salt/attack_self(mob/user)
if(!user.mind || !user.mind.isholy)
if(!user.mind || !HAS_MIND_TRAIT(user, TRAIT_HOLY))
to_chat(user, "<span class='notice'>You are not close enough with [SSticker.Bible_deity_name] to use [src].</span>")
return
@@ -84,7 +84,7 @@
if(!(ishuman(user) || SSticker) && SSticker.mode.name != "monkey")
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
return
if(!user.mind?.isholy)
if(!HAS_MIND_TRAIT(user, TRAIT_HOLY))
to_chat(user, "<span class='warning'>The book sizzles in your hands.</span>")
user.take_organ_damage(0, 10)
return
@@ -118,16 +118,16 @@
if(isfloorturf(target))
to_chat(user, "<span class='notice'>You hit the floor with the bible.</span>")
if(user.mind?.isholy)
if(HAS_MIND_TRAIT(user, TRAIT_HOLY))
for(var/obj/O in target)
O.cult_reveal()
if(istype(target, /obj/machinery/door/airlock))
to_chat(user, "<span class='notice'>You hit the airlock with the bible.</span>")
if(user.mind?.isholy)
if(HAS_MIND_TRAIT(user, TRAIT_HOLY))
var/obj/airlock = target
airlock.cult_reveal()
if(user.mind?.isholy && target.reagents)
if(HAS_MIND_TRAIT(user, TRAIT_HOLY) && target.reagents)
if(target.reagents.has_reagent("water")) //blesses all the water in the holder
to_chat(user, "<span class='notice'>You bless [target].</span>")
var/water2holy = target.reagents.get_reagent_amount("water")
@@ -142,7 +142,7 @@
/obj/item/storage/bible/attack_self(mob/user)
. = ..()
if(!customisable || !user.mind?.isholy)
if(!customisable || !HAS_MIND_TRAIT(user, TRAIT_HOLY))
return
var/list/skins = list()
@@ -183,7 +183,7 @@
SSticker.Bible_item_state = item_state
/obj/item/storage/bible/proc/radial_check(mob/user)
if(!user?.mind.isholy || !ishuman(user))
if(!HAS_MIND_TRAIT(user, TRAIT_HOLY) || !ishuman(user))
return FALSE
var/mob/living/carbon/human/H = user
if(!src || !H.is_in_hands(src) || H.incapacitated())