diff --git a/code/datums/spells/ethereal_jaunt.dm b/code/datums/spells/ethereal_jaunt.dm index 46c15db0aa9..f47732af871 100644 --- a/code/datums/spells/ethereal_jaunt.dm +++ b/code/datums/spells/ethereal_jaunt.dm @@ -10,6 +10,8 @@ range = -1 include_user = 1 + + var phaseshift = 0 var/jaunt_duration = 50 //in deciseconds /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded @@ -25,26 +27,45 @@ animation.icon_state = "liquify" animation.layer = 5 animation.master = holder - flick("liquify",animation) - target.loc = holder - target.client.eye = holder - var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread() - steam.set_up(10, 0, mobloc) - steam.start() - sleep(jaunt_duration) - mobloc = get_turf(target.loc) - animation.loc = mobloc - steam.location = mobloc - steam.start() - target.canmove = 0 - sleep(20) - flick("reappear",animation) - sleep(5) - target.loc = mobloc - target.canmove = 1 - target.client.eye = target - del(animation) - del(holder) + if(phaseshift == 1) + animation.dir = target.dir + flick("phase_shift",animation) + target.loc = holder + target.client.eye = holder + sleep(jaunt_duration) + mobloc = get_turf(target.loc) + animation.loc = mobloc + target.canmove = 0 + sleep(20) + animation.dir = target.dir + flick("phase_shift2",animation) + sleep(5) + target.loc = mobloc + target.canmove = 1 + target.client.eye = target + del(animation) + del(holder) + else + flick("liquify",animation) + target.loc = holder + target.client.eye = holder + var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread() + steam.set_up(10, 0, mobloc) + steam.start() + sleep(jaunt_duration) + mobloc = get_turf(target.loc) + animation.loc = mobloc + steam.location = mobloc + steam.start() + target.canmove = 0 + sleep(20) + flick("reappear",animation) + sleep(5) + target.loc = mobloc + target.canmove = 1 + target.client.eye = target + del(animation) + del(holder) /obj/effect/dummy/spell_jaunt name = "water" diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm index 311be1b3ba9..b712e931318 100644 --- a/code/datums/spells/wizard.dm +++ b/code/datums/spells/wizard.dm @@ -317,5 +317,5 @@ invocation_type = "none" range = -1 include_user = 1 - + phaseshift = 1 jaunt_duration = 50 //in deciseconds diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index 38752c9cb9b..0ff58c88097 100644 Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ