Merge pull request #1576 from Fox-McCloud/entered-optimizations

Turf/Entered() Optimizations
This commit is contained in:
TheDZD
2015-07-27 12:17:30 -04:00
2 changed files with 20 additions and 50 deletions
+1 -3
View File
@@ -43,7 +43,7 @@
tracks.AddTracks(bloodDNA,comingdir,goingdir,bloodcolor)
/turf/simulated/Entered(atom/A, atom/OL)
..()
if(ishuman(A))
var/mob/living/carbon/human/M = A
if(M.lying) return
@@ -148,8 +148,6 @@
M.inertia_dir = 0
return
..()
//returns 1 if made bloody, returns 0 otherwise
/turf/simulated/add_blood(mob/living/carbon/human/M as mob)
if (!..())
+19 -47
View File
@@ -35,10 +35,9 @@
/turf/New()
..()
for(var/atom/movable/AM as mob|obj in src)
spawn( 0 )
src.Entered(AM)
return
for(var/atom/movable/AM in src)
Entered(AM)
return
/turf/Destroy()
return QDEL_HINT_HARDDEL_NOW
@@ -105,51 +104,24 @@
return 1 //Nothing found to block so return success!
/turf/Entered(atom/atom as mob|obj)
..()
//vvvvv Infared beam stuff vvvvv
if ((atom && atom.density && !( istype(atom, /obj/effect/beam) )))
for(var/obj/effect/beam/i_beam/I in src)
spawn( 0 )
if (I)
I.hit()
break
//^^^^^ Infared beam stuff ^^^^^
if(!istype(atom, /atom/movable))
return
var/atom/movable/M = atom
if(!M.simulated) return
var/loopsanity = 100
/turf/Entered(atom/movable/M)
if(ismob(M))
if(!M:lastarea)
M:lastarea = get_area(M.loc)
if(M:lastarea.has_gravity == 0)
inertial_drift(M)
/*
if(M.flags & NOGRAV)
inertial_drift(M)
*/
var/mob/O = M
if(!O.lastarea)
O.lastarea = get_area(O.loc)
var/has_gravity = O.mob_has_gravity(src)
O.update_gravity(has_gravity)
if(!has_gravity)
inertial_drift(O)
else if(!istype(src, /turf/space))
M:inertia_dir = 0
..()
var/objects = 0
for(var/atom/A as mob|obj|turf|area in range(1))
if(!A.simulated) return
if(objects > loopsanity) break
objects++
spawn( 0 )
if ((A && M))
A.HasProximity(M, 1)
return
return
O.inertia_dir = 0
var/loopsanity = 100
for(var/atom/A in range(1))
if(loopsanity == 0)
break
loopsanity--
A.HasProximity(M, 1)
/turf/proc/adjacent_fire_act(turf/simulated/floor/source, temperature, volume)
return