diff --git a/src/elements/acid.c b/src/elements/acid.c index 1759decac..24bb3217c 100644 --- a/src/elements/acid.c +++ b/src/elements/acid.c @@ -1,7 +1,7 @@ #include int update_ACID(UPDATE_FUNC_ARGS) { - int r,rx,ry; + int r, rx, ry, trade, np; for (rx=-2; rx<3; rx++) for (ry=-2; ry<3; ry++) if (x+rx>=0 && y+ry>0 && x+rx=0 && y+ry>0 && x+rx>8)>=NPART || !r) + continue; + if ((r&0xFF)==PT_ACID&&(parts[i].life>parts[r>>8].life)&&parts[i].life>0)//diffusion + { + int temp = parts[i].life - parts[r>>8].life; + if (temp ==1) + { + parts[r>>8].life ++; + parts[i].life --; + } + else if (temp>0) + { + parts[r>>8].life += temp/2; + parts[i].life -= temp/2; + } + } + } + } return 0; }