Files
Polaris/code/defines/procs/gamehelpers.dm
noisomehollow@lycos.com e7d8a28fd4 #Reverted default religion to Space Christianity. SS13 is not 40k and the Imperium is not mentioned anywhere in the [tgstation] backstory as far as I know. It's fine if that's what you want to worship but it does not make a lot of sense for it to be the default option.
#A few specific religions will now spawn unique books (they all use the Bible sprite). Feel free to expand on this.
#AIs and cyborgs will now get the code phrases if they are a traitor. Rev heads will no-longer get them. Finally, rev heads will properly equip their items if admin-made.
#Added field generator code improvements by Aygar.
#Added a general turf proc to kill mobs/creatures in a tile, kill_creatures(). Might be useful in the future if more creatures are added.
#Added a general teleport proc, get_teleport_loc(). Supports only 4 directions of movement.
#More code improvements to ninjas. Admins will now only spawn player ghosts as ninjas. No more admin ninjas.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1577 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-13 08:30:05 +00:00

116 lines
2.6 KiB
Plaintext

/proc/dopage(src,target)
var/href_list
var/href
href_list = params2list("src=\ref[src]&[target]=1")
href = "src=\ref[src];[target]=1"
src:temphtml = null
src:Topic(href, href_list)
return null
/proc/get_area(O)
var/location = O
var/i
for(i=1, i<=20, i++)
if(!isarea(location))
location = location:loc
else
return location
return 0
/proc/get_area_name(N) //get area by it's name
for(var/area/A in world)
if(A.name == N)
return A
return 0
/proc/in_range(source, user)
if(get_dist(source, user) <= 1)
return 1
else
if (istype(user, /mob/living/carbon))
if (user:mutations & PORTALS && get_dist(source, user) <= 7)
var/X = source:x
var/Y = source:y
var/Z = source:z
spawn(0)
//I really shouldnt put this here but i dont have a better idea
var/obj/overlay/O = new /obj/overlay ( locate(X,Y,Z) )
O.name = "sparkles"
O.anchored = 1
O.density = 0
O.layer = FLY_LAYER
O.dir = pick(cardinal)
O.icon = 'effects.dmi'
O.icon_state = "nothing"
flick("empdisable",O)
spawn(5)
del(O)
return 1
return 0 //not in range and not telekinetic
/proc/circlerange(center=usr,radius=3)
var/turf/centerturf = get_turf(center)
var/list/turfs = new/list()
var/rsq = radius * (radius+0.5)
for(var/atom/T in range(radius, centerturf))
var/dx = T.x - centerturf.x
var/dy = T.y - centerturf.y
if(dx*dx + dy*dy <= rsq)
turfs += T
//turfs += centerturf
return turfs
/proc/circleview(center=usr,radius=3)
var/turf/centerturf = get_turf(center)
var/list/turfs = new/list()
var/rsq = radius * (radius+0.5)
for(var/atom/T in view(radius, centerturf))
var/dx = T.x - centerturf.x
var/dy = T.y - centerturf.y
if(dx*dx + dy*dy <= rsq)
turfs += T
//turfs += centerturf
return turfs
/proc/get_dist_euclidian(atom/Loc1 as turf|mob|obj,atom/Loc2 as turf|mob|obj)
var/dx = Loc1.x - Loc2.x
var/dy = Loc1.y - Loc2.y
var/dist = sqrt(dx**2 + dy**2)
return dist
/proc/circlerangeturfs(center=usr,radius=3)
var/turf/centerturf = get_turf(center)
var/list/turfs = new/list()
var/rsq = radius * (radius+0.5)
for(var/turf/T in range(radius, centerturf))
var/dx = T.x - centerturf.x
var/dy = T.y - centerturf.y
if(dx*dx + dy*dy <= rsq)
turfs += T
return turfs
/proc/circleviewturfs(center=usr,radius=3)
var/turf/centerturf = get_turf(center)
var/list/turfs = new/list()
var/rsq = radius * (radius+0.5)
for(var/turf/T in view(radius, centerturf))
var/dx = T.x - centerturf.x
var/dy = T.y - centerturf.y
if(dx*dx + dy*dy <= rsq)
turfs += T
return turfs