diff --git a/src/powder.c b/src/powder.c index bb891c4f3..ca98e4338 100644 --- a/src/powder.c +++ b/src/powder.c @@ -1910,18 +1910,18 @@ void update_particles_i(pixel *vid, int start, int inc) parts[i].life --; } } - nx = rand()%5-2; - ny = rand()%5-2; - if(x+nx>=0 && y+ny>0 && - x+nx>8].type==t&&(parts[i].life>parts[r>>8].life)&&parts[i].life>0)//diffusion - { - parts[r>>8].life ++; - parts[i].life --; - } + nx = rand()%5-2; + ny = rand()%5-2; + if(x+nx>=0 && y+ny>0 && + x+nx>8].type==t&&(parts[i].life>parts[r>>8].life)&&parts[i].life>0&&!((r>>8)>=NPART || !r))//diffusion + { + parts[r>>8].life ++; + parts[i].life --; } + } } else if(t==PT_LCRY) {