Some element interactions for CBNW and CO2, also fixes Gas only wall

This commit is contained in:
Simon Robertshaw 2011-08-29 13:34:59 +01:00
parent 65445c51f1
commit 9c458b8851
3 changed files with 6 additions and 6 deletions

View File

@ -32,7 +32,7 @@ int update_CBNW(UPDATE_FUNC_ARGS) {
if ((r&0xFF)==PT_SALT && parts[i].tmp == 0 && 1>(rand()%250)) if ((r&0xFF)==PT_SALT && parts[i].tmp == 0 && 1>(rand()%250))
{ {
//Start explode //Start explode
parts[i].tmp = (rand()%100)+50; parts[i].tmp = rand()%50;//(rand()%100)+50;
} }
if ((r&0xFF)==PT_CBNW) if ((r&0xFF)==PT_CBNW)
{ {

View File

@ -16,11 +16,11 @@ int update_CO2(UPDATE_FUNC_ARGS) {
return 1; return 1;
} }
} }
/*if ((r&0xFF)==PT_CNCT && 1>(rand()%500)) Concrete+Water to paste, not very popular if (((r&0xFF)==PT_WATR || (r&0xFF)==PT_DSTW) && 1>(rand()%250))
{ {
part_change_type(i,x,y,PT_PSTE); part_change_type(i,x,y,PT_CBNW);
kill_part(r>>8); kill_part(r>>8);
}*/ }
} }
return 0; return 0;
} }

View File

@ -169,7 +169,7 @@ int eval_move(int pt, int nx, int ny, unsigned *rr)
} }
if (bmap[ny/CELL][nx/CELL]) if (bmap[ny/CELL][nx/CELL])
{ {
if (bmap[ny/CELL][nx/CELL]==WL_ALLOWGAS && ptypes[pt].falldown!=0 && pt!=PT_FIRE && pt!=PT_SMKE) if (bmap[ny/CELL][nx/CELL]==WL_ALLOWGAS && !(ptypes[pt].properties&TYPE_GAS))// && ptypes[pt].falldown!=0 && pt!=PT_FIRE && pt!=PT_SMKE)
return 0; return 0;
if (bmap[ny/CELL][nx/CELL]==WL_ALLOWLIQUID && ptypes[pt].falldown!=2) if (bmap[ny/CELL][nx/CELL]==WL_ALLOWLIQUID && ptypes[pt].falldown!=2)
return 0; return 0;
@ -1582,7 +1582,7 @@ void update_particles_i(pixel *vid, int start, int inc)
(bmap[y/CELL][x/CELL]==WL_DESTROYALL) || (bmap[y/CELL][x/CELL]==WL_DESTROYALL) ||
(bmap[y/CELL][x/CELL]==WL_ALLOWLIQUID && ptypes[t].falldown!=2) || (bmap[y/CELL][x/CELL]==WL_ALLOWLIQUID && ptypes[t].falldown!=2) ||
(bmap[y/CELL][x/CELL]==WL_ALLOWSOLID && ptypes[t].falldown!=1) || (bmap[y/CELL][x/CELL]==WL_ALLOWSOLID && ptypes[t].falldown!=1) ||
(bmap[y/CELL][x/CELL]==WL_ALLOWGAS && ptypes[t].falldown!=0 && parts[i].type!=PT_FIRE && parts[i].type!=PT_SMKE && parts[i].type!=PT_HFLM) || (bmap[y/CELL][x/CELL]==WL_ALLOWGAS && !(ptypes[t].properties&TYPE_GAS)) || //&& ptypes[t].falldown!=0 && parts[i].type!=PT_FIRE && parts[i].type!=PT_SMKE && parts[i].type!=PT_HFLM) ||
(bmap[y/CELL][x/CELL]==WL_DETECT && (t==PT_METL || t==PT_SPRK)) || (bmap[y/CELL][x/CELL]==WL_DETECT && (t==PT_METL || t==PT_SPRK)) ||
(bmap[y/CELL][x/CELL]==WL_EWALL && !emap[y/CELL][x/CELL])) && (t!=PT_STKM) && (t!=PT_STKM2))) (bmap[y/CELL][x/CELL]==WL_EWALL && !emap[y/CELL][x/CELL])) && (t!=PT_STKM) && (t!=PT_STKM2)))
{ {