Special thanks to MrStonedOne.
This commit is contained in:
TalkingCactus
2016-08-30 14:13:55 -04:00
parent 37644b7109
commit 058095b2f5
3 changed files with 15 additions and 5 deletions
+8
View File
@@ -67,6 +67,14 @@
return 0
return L[A.type]
//returns a new list with only atoms that are in typecache L
/proc/typecache_filter_list(list/atoms, list/typecache)
. = list()
for (var/thing in atoms)
var/atom/A = thing
if (typecache[A.type])
. += A
//Like typesof() or subtypesof(), but returns a typecache instead of a list
/proc/typecacheof(path, ignore_root_path)
if(ispath(path))
+1 -1
View File
@@ -543,7 +543,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
return 0
if(current.opacity)
return 0
for(var/atom/A in current)
for(var/thing in current)
if(A.opacity)
return 0
current = get_step_towards(current, target_turf)
@@ -87,14 +87,16 @@
if(!search_objects)
var/list/Mobs = hearers(vision_range, targets_from) - src //Remove self, so we don't suicide
. += Mobs
for(var/M in mechas_list)
if(get_dist(M, targets_from) <= vision_range && can_see(targets_from, M, vision_range))
. += M
var/static/hostile_machines = typecacheof(list(/obj/machinery/porta_turret, /obj/mecha))
for(var/HM in typecache_filter_list(range(vision_range, targets_from), hostile_machines))
if(can_see(targets_from, HM, vision_range))
. += HM
else
var/list/Objects = oview(vision_range, targets_from)
. += Objects
/mob/living/simple_animal/hostile/proc/FindTarget(var/list/possible_targets, var/HasTargetsList = 0)//Step 2, filter down possible targets to things we actually care about
. = list()
if(!HasTargetsList)