Well, it seems like I accidentally solved the problem xD.
It looks like I only need to change

Quote:

p.flags = BRIGHT | MOVE;


to

Quote:

p.flags |= BRIGHT | MOVE;


Then I dont need this function (but still thanks for it laugh )
Quote:
//p.skill_a += 1 * time_step;
//if (p.skill_a >= 30) {p.lifespan = 0;}

and the Particles cap at around 37-38 in my case.

I have no idea how that worked shocked