mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-16 05:02:42 +00:00
Rewrote the job selection system to use bitflags and the jobs are now objects. Fixed a path conflict with effect which caused a few things to be unable to be clicked on. Commented out the job.txt, Urist if you still want it to load from the .txt give me a yell and I can update it to work with the job objects. Fixed up the bits that were missing the slightly updated mob organ attack code. Moved the traps file into unused. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2340 316c924e-a436-60f5-8080-3fe189b3f50e
90 lines
2.2 KiB
Plaintext
90 lines
2.2 KiB
Plaintext
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt
|
|
name = "Ethereal Jaunt"
|
|
desc = "This spell creates your ethereal form, temporarily making you invisible and able to pass through walls."
|
|
|
|
school = "transmutation"
|
|
charge_max = 300
|
|
clothes_req = 1
|
|
invocation = "none"
|
|
invocation_type = "none"
|
|
range = -1
|
|
include_user = 1
|
|
|
|
var/jaunt_duration = 50 //in deciseconds
|
|
|
|
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded
|
|
for(var/mob/target in targets)
|
|
spawn(0)
|
|
var/mobloc = get_turf(target.loc)
|
|
var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( mobloc )
|
|
var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc )
|
|
animation.name = "water"
|
|
animation.density = 0
|
|
animation.anchored = 1
|
|
animation.icon = 'mob.dmi'
|
|
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)
|
|
|
|
/obj/effect/dummy/spell_jaunt
|
|
name = "water"
|
|
icon = 'effects.dmi'
|
|
icon_state = "nothing"
|
|
var/canmove = 1
|
|
density = 0
|
|
anchored = 1
|
|
|
|
/obj/effect/dummy/spell_jaunt/relaymove(var/mob/user, direction)
|
|
if (!src.canmove) return
|
|
var/turf/newLoc = get_step(src,direction)
|
|
if(!(newLoc.flags & NOJAUNT))
|
|
loc = newLoc
|
|
/*
|
|
switch(direction)
|
|
if(NORTH)
|
|
src.y++
|
|
if(SOUTH)
|
|
src.y--
|
|
if(EAST)
|
|
src.x++
|
|
if(WEST)
|
|
src.x--
|
|
if(NORTHEAST)
|
|
src.y++
|
|
src.x++
|
|
if(NORTHWEST)
|
|
src.y++
|
|
src.x--
|
|
if(SOUTHEAST)
|
|
src.y--
|
|
src.x++
|
|
if(SOUTHWEST)
|
|
src.y--
|
|
src.x-- */
|
|
src.canmove = 0
|
|
spawn(2) src.canmove = 1
|
|
|
|
/obj/effect/dummy/spell_jaunt/ex_act(blah)
|
|
return
|
|
/obj/effect/dummy/spell_jaunt/bullet_act(blah)
|
|
return |