diff --git a/src/elements/bang.c b/src/elements/bang.c new file mode 100644 index 000000000..54fea4fe3 --- /dev/null +++ b/src/elements/bang.c @@ -0,0 +1,72 @@ +#include + +int update_BANG(UPDATE_FUNC_ARGS) { + int r, rx, ry; + if(parts[i].tmp==0) + { + for (rx=-1; rx<2; rx++) + for (ry=-1; ry<2; ry++) + if (x+rx>=0 && y+ry>0 && x+rx=3) + { + //Explode!! + pv[y/CELL][x/CELL] += 0.5f; + if(!(rand()%3)) + { + if(!(rand()%2)) + { + parts[i].tmp = 0; + create_part(i, x, y, PT_FIRE); + } + else + { + parts[i].tmp = 0; + create_part(i, x, y, PT_SMKE); + } + } + else + { + if(!(rand()%15)) + { + int nb = create_part(i, x, y, PT_BOMB); + if (nb!=-1) { + parts[nb].tmp = 1; + parts[nb].life = 50; + //parts[nb].temp = MAX_TEMP; + parts[nb].vx = rand()%20-10; + parts[nb].vy = rand()%20-10; + } + } + else + { + kill_part(i); + } + } + return 1; + } + return 0; +}