obj/crack
proc
Tick()
for(var/turf/floor/t in listOfExposedFloors)
t.ChangeColor()
spawn(5)
Tick()
turf/floor
proc
ChangeColor()
icon -= rgb(0,10,10)
Problem description:
The above code results in DreamSeeker growing by about 2000k every second. Is that expected? DreamSeeker keeps crashing every so often as well.
In profiler, when Tick is called 35 times, ChangeColor() is called about 4000 times as expected with 112 turfs in the list.
Why not use atom.color, or add an overlay?
You need to be caching and reusing data, not generating fresh, unique data for every single tile.