Files
VOREStation/code/game/gamemodes/wizard/spell12.dm
T

89 lines
2.2 KiB
Plaintext

/mob/proc/teleport()
set category = "Spells"
set name = "Teleport"
set desc="Teleport"
if(usr.stat)
usr << "Not when you're incapicated."
return
if(!istype(usr:wear_suit, /obj/item/clothing/suit/wizrobe))
usr << "I don't feel strong enough without my robe."
return
if(!istype(usr:shoes, /obj/item/clothing/shoes/sandal))
usr << "I don't feel strong enough without my sandals."
return
if(!istype(usr:head, /obj/item/clothing/head/wizard))
usr << "I don't feel strong enough without my hat."
return
var/A
usr.verbs -= /mob/proc/teleport
spawn(450)
usr.verbs += /mob/proc/teleport
var/list/theareas = new/list()
for(var/area/AR in world)
if(theareas.Find(AR.name)) continue
var/turf/picked = pick(get_area_turfs(AR.type))
if (picked.z == src.z)
theareas += AR.name
theareas[AR.name] = AR
A = input("Area to jump to", "BOOYEA", A) in theareas
var/area/thearea = theareas[A]
usr.say("SCYAR NILA [uppertext(A)]")
var/datum/effects/system/harmless_smoke_spread/smoke = new /datum/effects/system/harmless_smoke_spread()
smoke.set_up(5, 0, usr.loc)
smoke.attach(usr)
smoke.start()
var/list/L = list()
for(var/turf/T in get_area_turfs(thearea.type))
if(T.z != src.z) continue
if(!T.density)
var/clear = 1
for(var/obj/O in T)
if(O.density)
clear = 0
break
if(clear)
L+=T
usr.loc = pick(L)
smoke.start()
/mob/proc/teleportscroll()
if(usr.stat)
usr << "Not when you're incapicated."
return
var/A
var/list/theareas = new/list()
for(var/area/AR in world)
if(theareas.Find(AR.name)) continue
var/turf/picked = pick(get_area_turfs(AR.type))
if (picked.z == src.z)
theareas += AR.name
theareas[AR.name] = AR
A = input("Area to jump to", "BOOYEA", A) in theareas
var/area/thearea = theareas[A]
var/datum/effects/system/harmless_smoke_spread/smoke = new /datum/effects/system/harmless_smoke_spread()
smoke.set_up(5, 0, usr.loc)
smoke.attach(usr)
smoke.start()
var/list/L = list()
for(var/turf/T in get_area_turfs(thearea.type))
if(T.z != src.z) continue
if(!T.density)
var/clear = 1
for(var/obj/O in T)
if(O.density)
clear = 0
break
if(clear)
L+=T
usr.loc = pick(L)
smoke.start()