mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Merge pull request #1576 from Fox-McCloud/entered-optimizations
Turf/Entered() Optimizations
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user