From 9c458b885112c28af8a3b7c7964e563692620c32 Mon Sep 17 00:00:00 2001 From: Simon Robertshaw Date: Mon, 29 Aug 2011 13:34:59 +0100 Subject: [PATCH] Some element interactions for CBNW and CO2, also fixes Gas only wall --- src/elements/cbnw.c | 2 +- src/elements/co2.c | 6 +++--- src/powder.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/elements/cbnw.c b/src/elements/cbnw.c index 7329f96d6..701f9ae90 100644 --- a/src/elements/cbnw.c +++ b/src/elements/cbnw.c @@ -32,7 +32,7 @@ int update_CBNW(UPDATE_FUNC_ARGS) { if ((r&0xFF)==PT_SALT && parts[i].tmp == 0 && 1>(rand()%250)) { //Start explode - parts[i].tmp = (rand()%100)+50; + parts[i].tmp = rand()%50;//(rand()%100)+50; } if ((r&0xFF)==PT_CBNW) { diff --git a/src/elements/co2.c b/src/elements/co2.c index e9114a8cb..afe4af302 100644 --- a/src/elements/co2.c +++ b/src/elements/co2.c @@ -16,11 +16,11 @@ int update_CO2(UPDATE_FUNC_ARGS) { 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); - }*/ + } } return 0; } diff --git a/src/powder.c b/src/powder.c index 3f68c1842..4f763a3ad 100644 --- a/src/powder.c +++ b/src/powder.c @@ -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]==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; if (bmap[ny/CELL][nx/CELL]==WL_ALLOWLIQUID && ptypes[pt].falldown!=2) 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_ALLOWLIQUID && ptypes[t].falldown!=2) || (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_EWALL && !emap[y/CELL][x/CELL])) && (t!=PT_STKM) && (t!=PT_STKM2))) {