mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
bolts of resurrection kill the undead (#47170)
* Update magic.dm * Update magic.dm * Update wand.dm * Update wand.dm * Update magic.dm * booleanization * bonus booleanization
This commit is contained in:
@@ -67,11 +67,20 @@
|
||||
|
||||
/obj/item/gun/magic/wand/death/zap_self(mob/living/user)
|
||||
..()
|
||||
to_chat(user, "<span class='warning'>You irradiate yourself with pure energy! \
|
||||
charges--
|
||||
if(user.anti_magic_check())
|
||||
user.visible_message("<span class='warning'>[src] has no effect on [user]!</span>")
|
||||
return
|
||||
if(isliving(user))
|
||||
var/mob/living/L = user
|
||||
if(L.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead
|
||||
user.revive(full_heal = TRUE)
|
||||
to_chat(user, "<span class='notice'>You feel great!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='warning'>You irradiate yourself with pure negative energy! \
|
||||
[pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?")]\
|
||||
</span>")
|
||||
user.adjustOxyLoss(500)
|
||||
charges--
|
||||
user.death(0)
|
||||
|
||||
/obj/item/gun/magic/wand/death/debug
|
||||
desc = "In some obscure circles, this is known as the 'cloning tester's friend'."
|
||||
@@ -99,11 +108,15 @@
|
||||
if(user.anti_magic_check())
|
||||
user.visible_message("<span class='warning'>[src] has no effect on [user]!</span>")
|
||||
return
|
||||
user.revive(full_heal = 1)
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
C.regenerate_limbs()
|
||||
C.regenerate_organs()
|
||||
if(isliving(user))
|
||||
var/mob/living/L = user
|
||||
if(L.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead
|
||||
to_chat(user, "<span class='warning'>You irradiate yourself with pure positive energy! \
|
||||
[pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?")]\
|
||||
</span>")
|
||||
user.death(0)
|
||||
return
|
||||
user.revive(full_heal = TRUE)
|
||||
to_chat(user, "<span class='notice'>You feel great!</span>")
|
||||
|
||||
/obj/item/gun/magic/wand/resurrection/debug //for testing
|
||||
|
||||
@@ -18,7 +18,20 @@
|
||||
if(M.anti_magic_check())
|
||||
M.visible_message("<span class='warning'>[src] vanishes on contact with [target]!</span>")
|
||||
return BULLET_ACT_BLOCK
|
||||
M.death(0)
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
if(L.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead
|
||||
if(L.hellbound && L.stat == DEAD)
|
||||
return BULLET_ACT_BLOCK
|
||||
if(L.revive(full_heal = TRUE))
|
||||
L.grab_ghost(force = TRUE) // even suicides
|
||||
to_chat(L, "<span class='notice'>You rise with a start, you're undead!!!</span>")
|
||||
else if(L.stat != DEAD)
|
||||
to_chat(L, "<span class='notice'>You feel great!</span>")
|
||||
else
|
||||
L.death(0)
|
||||
else
|
||||
M.death(0)
|
||||
|
||||
/obj/projectile/magic/resurrection
|
||||
name = "bolt of resurrection"
|
||||
@@ -30,20 +43,19 @@
|
||||
/obj/projectile/magic/resurrection/on_hit(mob/living/carbon/target)
|
||||
. = ..()
|
||||
if(isliving(target))
|
||||
if(target.hellbound)
|
||||
return BULLET_ACT_BLOCK
|
||||
if(target.anti_magic_check())
|
||||
target.visible_message("<span class='warning'>[src] vanishes on contact with [target]!</span>")
|
||||
return BULLET_ACT_BLOCK
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
C.regenerate_limbs()
|
||||
C.regenerate_organs()
|
||||
if(target.revive(full_heal = 1))
|
||||
target.grab_ghost(force = TRUE) // even suicides
|
||||
to_chat(target, "<span class='notice'>You rise with a start, you're alive!!!</span>")
|
||||
else if(target.stat != DEAD)
|
||||
to_chat(target, "<span class='notice'>You feel great!</span>")
|
||||
if(target.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead
|
||||
target.death(0)
|
||||
else
|
||||
if(target.hellbound && target.stat == DEAD)
|
||||
return BULLET_ACT_BLOCK
|
||||
if(target.revive(full_heal = TRUE))
|
||||
target.grab_ghost(force = TRUE) // even suicides
|
||||
to_chat(target, "<span class='notice'>You rise with a start, you're alive!!!</span>")
|
||||
else if(target.stat != DEAD)
|
||||
to_chat(target, "<span class='notice'>You feel great!</span>")
|
||||
|
||||
/obj/projectile/magic/teleport
|
||||
name = "bolt of teleportation"
|
||||
|
||||
Reference in New Issue
Block a user