When particles are given negative growth values, their size starts to increase after it has shrunk down to its limit. I can understand why this happens, and it's not difficult to calculate how long it would take for a set of particles to reach their minimum size and then set the lifespan accordingly.
But is this really how it was intended to work? I feel like more often than not, people are not going to want their particles to increase in size when given a negative growth value. So, it would be more convenient if that were the default behavior.
Code Snippet (if applicable) to Reproduce Problem:
particles/test
width = 160
height = 160
count = 1
spawning = 1
lifespan = 50
grow = list(-0.2,-0.15)
position = list(0,0,0)
icon = 'ball.dmi'
mob/verb/test_particle()
var/obj/emitter = new(get_step(src,dir)) ; emitter.particles = new/particles/test()
Expected Results:
Continuously shrink down the particles until they disappears
Actual Results:
The particles start to expand once they reach their minimum size
When does the problem occur:
Every time.
When does the problem NOT occur?
It doesn't occur when the lifespan value of the particles is less or equal to the time it takes for the particles to shrink to it's limit
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
No.
Workarounds:
calculate how long it would take for a set of particles to reach their minimum size and then set the lifespan accordingly.