ports hyper's genetics
This commit is contained in:
@@ -463,30 +463,45 @@
|
||||
if(cooldown < world.time)
|
||||
SSblackbox.record_feedback("amount", "immortality_talisman_uses", 1)
|
||||
cooldown = world.time + 600
|
||||
user.visible_message("<span class='danger'>[user] vanishes from reality, leaving a hole in [user.p_their()] place!</span>")
|
||||
var/obj/effect/immortality_talisman/Z = new(get_turf(src.loc))
|
||||
Z.name = "hole in reality"
|
||||
Z.desc = "It's shaped an awful lot like [user.name]."
|
||||
Z.setDir(user.dir)
|
||||
user.forceMove(Z)
|
||||
user.notransform = 1
|
||||
user.status_flags |= GODMODE
|
||||
addtimer(CALLBACK(src, .proc/return_to_reality, user, Z), 100)
|
||||
new /obj/effect/immortality_talisman(get_turf(user), user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is not ready yet!</span>")
|
||||
|
||||
/obj/item/immortality_talisman/proc/return_to_reality(mob/user, obj/effect/immortality_talisman/Z)
|
||||
user.status_flags &= ~GODMODE
|
||||
user.notransform = 0
|
||||
user.forceMove(get_turf(Z))
|
||||
user.visible_message("<span class='danger'>[user] pops back into reality!</span>")
|
||||
Z.can_destroy = TRUE
|
||||
qdel(Z)
|
||||
|
||||
/obj/effect/immortality_talisman
|
||||
name = "hole in reality"
|
||||
desc = "It's shaped an awful lot like a person."
|
||||
icon_state = "blank"
|
||||
icon = 'icons/effects/effects.dmi'
|
||||
var/can_destroy = FALSE
|
||||
var/vanish_description = "vanishes from reality"
|
||||
var/can_destroy = TRUE
|
||||
|
||||
/obj/effect/immortality_talisman/Initialize(mapload, mob/new_user)
|
||||
. = ..()
|
||||
if(new_user)
|
||||
vanish(new_user)
|
||||
|
||||
/obj/effect/immortality_talisman/proc/vanish(mob/user)
|
||||
user.visible_message("<span class='danger'>[user] [vanish_description], leaving a hole in [user.p_their()] place!</span>")
|
||||
|
||||
desc = "It's shaped an awful lot like [user.name]."
|
||||
setDir(user.dir)
|
||||
|
||||
user.forceMove(src)
|
||||
user.notransform = TRUE
|
||||
user.status_flags |= GODMODE
|
||||
|
||||
can_destroy = FALSE
|
||||
|
||||
addtimer(CALLBACK(src, .proc/unvanish, user), 10 SECONDS)
|
||||
|
||||
/obj/effect/immortality_talisman/proc/unvanish(mob/user)
|
||||
user.status_flags &= ~GODMODE
|
||||
user.notransform = FALSE
|
||||
user.forceMove(get_turf(src))
|
||||
|
||||
user.visible_message("<span class='danger'>[user] pops back into reality!</span>")
|
||||
can_destroy = TRUE
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/immortality_talisman/attackby()
|
||||
return
|
||||
@@ -503,6 +518,9 @@
|
||||
else
|
||||
. = ..()
|
||||
|
||||
/obj/effect/immortality_talisman/void
|
||||
vanish_description = "is dragged into the void"
|
||||
|
||||
|
||||
//Shared Bag
|
||||
|
||||
|
||||
Reference in New Issue
Block a user