Merge pull request #10340 from Kyep/chaplain_1

Chaplain tweaks
This commit is contained in:
variableundefined
2018-11-29 14:22:03 +08:00
committed by GitHub
14 changed files with 167 additions and 59 deletions
+51 -17
View File
@@ -11,6 +11,7 @@
var/reskinned = FALSE
var/reskin_selectable = TRUE //set to FALSE if a subtype is meant to not normally be available as a reskin option (fluff ones will get re-added through their list)
var/list/fluff_transformations = list() //does it have any special transformations only accessible to it? Should only be subtypes of /obj/item/nullrod
var/sanctify_force = 0
/obj/item/nullrod/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is killing [user.p_them()]self with \the [src.name]! It looks like [user.p_theyre()] trying to get closer to god!</span>")
@@ -25,12 +26,29 @@
to_chat(M, "<span class='warning'>The nullrod's power interferes with your own!</span>")
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
/obj/item/nullrod/pickup(mob/living/user)
. = ..()
if(sanctify_force)
if(!user.mind || !user.mind.isholy)
user.adjustBruteLoss(force)
user.adjustFireLoss(sanctify_force)
user.Weaken(5)
user.unEquip(src, 1)
user.visible_message("<span class='warning'>[src] slips out of the grip of [user] as they try to pick it up, bouncing upwards and smacking [user.p_them()] in the face!</span>", \
"<span class='warning'>[src] slips out of your grip as you pick it up, bouncing upwards and smacking you in the face!</span>")
playsound(get_turf(user), 'sound/effects/hit_punch.ogg', 50, 1, -1)
throw_at(get_edge_target_turf(user, pick(alldirs)), rand(1, 3), 5)
/obj/item/nullrod/attack_self(mob/user)
if(reskinned)
return
if(user.mind && (user.mind.assigned_role == "Chaplain" || user.mind.special_role == SPECIAL_ROLE_ERT))
if(user.mind && (user.mind.isholy) && !reskinned)
reskin_holy_weapon(user)
/obj/item/nullrod/examine(mob/living/user)
. = ..()
if(sanctify_force)
to_chat(user, "<span class='notice'>It bears the inscription: 'Sanctified weapon of the inquisitors. Only the worthy may wield. Nobody shall expect us.'</span>")
/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)
@@ -60,11 +78,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"
@@ -126,7 +160,7 @@
hitsound = 'sound/weapons/chainsaw.ogg'
/obj/item/nullrod/claymore/glowing
name = "force weapon"
name = "force blade"
icon_state = "swordon"
item_state = "swordon"
desc = "The blade glows with the power of faith. Or possibly a battery."
@@ -147,7 +181,7 @@
slot_flags = SLOT_BELT
/obj/item/nullrod/claymore/saber
name = "light energy sword"
name = "light energy blade"
hitsound = 'sound/weapons/blade1.ogg'
icon_state = "swordblue"
item_state = "swordblue"
@@ -155,13 +189,13 @@
slot_flags = SLOT_BELT
/obj/item/nullrod/claymore/saber/red
name = "dark energy sword"
name = "dark energy blade"
icon_state = "swordred"
item_state = "swordred"
desc = "Woefully ineffective when used on steep terrain."
/obj/item/nullrod/claymore/saber/pirate
name = "nautical energy sword"
name = "nautical energy cutlass"
icon_state = "cutlass1"
item_state = "cutlass1"
desc = "Convincing HR that your religion involved piracy was no mean feat."
@@ -279,7 +313,7 @@
/obj/item/nullrod/whip
name = "holy whip"
desc = "What a terrible night to be in spess"
desc = "A whip, blessed with the power to banish evil shadowy creatures. What a terrible night to be in spess."
icon_state = "chain"
item_state = "chain"
slot_flags = SLOT_BELT
@@ -298,11 +332,11 @@
if(is_shadow(H))
var/phrase = pick("Die monster! You don't belong in this world!!!", "You steal men's souls and make them your slaves!!!", "Your words are as empty as your soul!!!", "Mankind ill needs a savior such as you!!!")
user.say("[phrase]")
H.adjustBruteLoss(8) //Bonus damage
H.adjustBruteLoss(12) //Bonus damage
/obj/item/nullrod/fedora
name = "athiest's fedora"
desc = "The brim of the hat is as sharp as your wit. Throwing it at someone would hurt almost as much as disproving the existence of God."
name = "binary fedora"
desc = "The brim of the hat is as sharp as the division between 0 and 1. It makes a mighty throwing weapon."
icon_state = "fedora"
item_state = "fedora"
slot_flags = SLOT_HEAD
@@ -310,7 +344,7 @@
force = 0
throw_speed = 4
throw_range = 7
throwforce = 20
throwforce = 25 // Yes, this is high, since you can typically only use it once in a fight.
/obj/item/nullrod/armblade
name = "dark blessing"
@@ -335,7 +369,7 @@
/obj/item/nullrod/carp/attack_self(mob/living/user)
if(used_blessing)
return
if(user.mind && (user.mind.assigned_role != "Chaplain" && user.mind.special_role != SPECIAL_ROLE_ERT))
if(user.mind && !user.mind.isholy)
return
to_chat(user, "You are blessed by Carp-Sie. Wild space carp will no longer attack you.")
user.faction |= "carp"
@@ -408,7 +442,7 @@
if(!iscarbon(M))
return ..()
if(!user.mind || (user.mind.assigned_role != "Chaplain" && user.mind.special_role != SPECIAL_ROLE_ERT))
if(!user.mind || !user.mind.isholy)
to_chat(user, "<span class='notice'>You are not close enough with [ticker.Bible_deity_name] to use [src].</span>")
return
@@ -420,7 +454,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)
@@ -470,7 +504,7 @@
/obj/item/nullrod/salt/attack_self(mob/user)
if(!user.mind || (user.mind.assigned_role != "Chaplain" && user.mind.special_role != SPECIAL_ROLE_ERT ))
if(!user.mind || !user.mind.isholy)
to_chat(user, "<span class='notice'>You are not close enough with [ticker.Bible_deity_name] to use [src].</span>")
return
@@ -38,10 +38,6 @@
return
/obj/item/storage/bible/attack(mob/living/M as mob, mob/living/user as mob)
var/chaplain = 0
if(user.mind && (user.mind.assigned_role == "Chaplain"))
chaplain = 1
add_attack_logs(user, M, "Hit with [src]")
if(!iscarbon(user))
M.LAssailant = null
@@ -51,7 +47,7 @@
if(!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
return
if(!chaplain)
if(!user.mind || !user.mind.isholy)
to_chat(user, "<span class='warning'>The book sizzles in your hands.</span>")
user.take_organ_damage(0,10)
return
@@ -62,14 +58,7 @@
user.Paralyse(20)
return
// if(..() == BLOCKED)
// return
if(M.stat !=2)
/*if((M.mind in ticker.mode.cult) && (prob(20)))
to_chat(M, "<span class='warning'>The power of [src.deity_name] clears your mind of heresy!</span>")
to_chat(user, "<span class='warning'>You see how [M]'s eyes become clear, the cult no longer holds control over [M.p_them()]!</span>")
ticker.mode.remove_cultist(M.mind)*/
if((istype(M, /mob/living/carbon/human) && prob(60)))
bless(M)
for(var/mob/O in viewers(M, null))
@@ -94,11 +83,11 @@
return
if(istype(A, /turf/simulated/floor))
to_chat(user, "<span class='notice'>You hit the floor with the bible.</span>")
if(user.mind && (user.mind.assigned_role == "Chaplain"))
if(user.mind && (user.mind.isholy))
for(var/obj/effect/rune/R in A)
if(R.invisibility)
R.talismanreveal()
if(user.mind && (user.mind.assigned_role == "Chaplain"))
if(user.mind && (user.mind.isholy))
if(A.reagents && A.reagents.has_reagent("water")) //blesses all the water in the holder
to_chat(user, "<span class='notice'>You bless [A].</span>")
var/water2holy = A.reagents.get_reagent_amount("water")
@@ -20,9 +20,10 @@
new /obj/item/clothing/head/witchhunter_hat(src)
new /obj/item/clothing/suit/holidaypriest(src)
new /obj/item/clothing/under/wedding/bride_white(src)
new /obj/item/storage/backpack/cultpack (src)
new /obj/item/storage/backpack/cultpack(src)
new /obj/item/clothing/head/helmet/riot/knight/templar(src)
new /obj/item/clothing/suit/armor/riot/knight/templar(src)
new /obj/item/soulstone/anybody/chaplain(src)
new /obj/item/storage/fancy/candle_box/eternal(src)
new /obj/item/storage/fancy/candle_box/eternal(src)
new /obj/item/storage/fancy/candle_box/eternal(src)