diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index 88474abbd7c..674a5e91cda 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -13,6 +13,7 @@ var/list/fluff_transformations = list() //does it have any special transformations only accessible to it? Should only be subtypes of /obj/item/nullrod var/alignment_required var/alignment_prohibited + var/sanctify_force = 0 /obj/item/nullrod/suicide_act(mob/user) user.visible_message("[user] is killing [user.p_them()]self with \the [src.name]! It looks like [user.p_theyre()] trying to get closer to god!") @@ -27,10 +28,24 @@ to_chat(M, "The nullrod's power interferes with your own!") M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) +/obj/item/nullrod/pickup(mob/living/user) + . = ..() + if(sanctify_force && (!user.mind || !user.mind.isholy)) + user.adjustBruteLoss(force) + user.adjustFireLoss(sanctify_force) + user.Weaken(5) + user.unEquip(src, 1) + to_chat(user, "[src] slips out of your grip as you pick it up, bouncing upwards and smacking you in the face!") + /obj/item/nullrod/attack_self(mob/user) if(user.mind && (user.mind.isholy) && !reskinned) reskin_holy_weapon(user) +/obj/item/nullrod/examine(mob/living/user) + . = ..() + if(sanctify_force) + to_chat(user, "It bears the inscription: 'Sanctified weapon of the inquisitors. Only the worthy may wield. Nobody shall expect us.'") + /obj/item/nullrod/proc/reskin_holy_weapon(mob/M) var/list/holy_weapons_list = typesof(/obj/item/nullrod) for(var/entry in holy_weapons_list) @@ -64,11 +79,27 @@ holy_weapon.reskinned = TRUE M.unEquip(src) M.put_in_active_hand(holy_weapon) + if(sanctify_force) + holy_weapon.sanctify_force = sanctify_force + holy_weapon.name = "sanctified " + holy_weapon.name qdel(src) -/obj/item/nullrod/fluff //fluff subtype to be used for all donator nullrods +/obj/item/nullrod/afterattack(atom/movable/AM, mob/user, proximity) + . = ..() + if(!sanctify_force) + return + if(isliving(AM)) + var/mob/living/L = AM + L.adjustFireLoss(sanctify_force) // Bonus fire damage for sanctified (ERT) versions of nullrod + +/obj/item/nullrod/fluff // fluff subtype to be used for all donator nullrods reskin_selectable = FALSE +/obj/item/nullrod/ert // ERT subtype, applies sanctified property to any derived rod + name = "inquisitor null rod" + reskin_selectable = FALSE + sanctify_force = 10 + /obj/item/nullrod/godhand name = "god hand" icon_state = "disintegrate" @@ -438,7 +469,7 @@ praying = 1 if(do_after(user, 150, target = M)) - if(ishuman(M)) // This probably should not work on vulps. They're unholy abominations. + if(ishuman(M)) var/mob/living/carbon/human/target = M if(target.mind) diff --git a/code/modules/response_team/ert_outfits.dm b/code/modules/response_team/ert_outfits.dm index be0a6808c39..7c3eb001960 100644 --- a/code/modules/response_team/ert_outfits.dm +++ b/code/modules/response_team/ert_outfits.dm @@ -146,7 +146,7 @@ /obj/item/organ/internal/cyberimp/chest/nutriment, /obj/item/organ/internal/cyberimp/eyes/hud/security ) - + backpack_contents = list( /obj/item/clothing/head/helmet/space/hardsuit/ert/security = 1, /obj/item/clothing/mask/gas/sechailer = 1, @@ -380,7 +380,7 @@ backpack_contents = list( /obj/item/clothing/mask/gas/sechailer/swat = 1, /obj/item/storage/box/zipties = 1, - /obj/item/flashlight/seclite = 1 + /obj/item/flashlight/holy_torch = 1 ) /datum/outfit/job/centcom/response_team/paranormal/amber @@ -395,7 +395,7 @@ suit = /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor head = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/inquisitor suit_store = /obj/item/gun/energy/gun - r_pocket = /obj/item/nullrod + r_pocket = /obj/item/nullrod/ert glasses = /obj/item/clothing/glasses/sunglasses cybernetic_implants = list( @@ -411,7 +411,7 @@ l_pocket = /obj/item/grenade/clusterbuster/holy shoes = /obj/item/clothing/shoes/magboots/advance glasses = /obj/item/clothing/glasses/night - r_pocket = /obj/item/nullrod + r_pocket = /obj/item/nullrod/ert cybernetic_implants = list( /obj/item/organ/internal/cyberimp/chest/nutriment/plus,