diff --git a/includes/powder.h b/includes/powder.h index 2f68526e9..2d14f9c14 100644 --- a/includes/powder.h +++ b/includes/powder.h @@ -649,6 +649,7 @@ static int lolzrule[9][9] = }; int portal[MAX_TEMP/100][8][80]; float portaltemp[MAX_TEMP/100][8][80]; +int portalctype[MAX_TEMP/100][8][80]; int wireless[MAX_TEMP/100][2]; extern int isplayer; diff --git a/src/powder.c b/src/powder.c index 303ed5892..b999b3690 100644 --- a/src/powder.c +++ b/src/powder.c @@ -3321,6 +3321,7 @@ void update_particles_i(pixel *vid, int start, int inc) { portal[parts[i].tmp][count-1][nnx] = parts[r>>8].type; portaltemp[parts[i].tmp][count-1][nnx] = parts[r>>8].temp; + portalctype[parts[i].tmp][count-1][nnx] = parts[r>>8].ctype; if(parts[r>>8].type==PT_SPRK) parts[r>>8].type = parts[r>>8].ctype; else @@ -3372,8 +3373,10 @@ void update_particles_i(pixel *vid, int start, int inc) { create_part(-1,x+nx,y+ny,portal[parts[i].tmp][randomness-1][nnx]); parts[pmap[y+ny][x+nx]>>8].temp = portaltemp[parts[i].tmp][randomness-1][nnx]; + parts[pmap[y+ny][x+nx]>>8].ctype = portalctype[parts[i].tmp][randomness-1][nnx]; portal[parts[i].tmp][randomness-1][nnx] = 0; portaltemp[parts[i].tmp][randomness-1][nnx] = 0; + portalctype[parts[i].tmp][randomness-1][nnx] = 0; break; } }