Well, it seems like I accidentally solved the problem xD.
It looks like I only need to change
to
p.flags |= BRIGHT | MOVE;
Then I dont need this function (but still thanks for it

)
//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
