summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-08-29 12:34:59 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-08-29 12:34:59 (GMT)
commit9c458b885112c28af8a3b7c7964e563692620c32 (patch)
treea5b7a661db5fc5845baf75ab3b1db2169f2cc181 /src
parent65445c51f11d9f7d0db626c0797a622294da67ce (diff)
downloadpowder-9c458b885112c28af8a3b7c7964e563692620c32.zip
powder-9c458b885112c28af8a3b7c7964e563692620c32.tar.gz
Some element interactions for CBNW and CO2, also fixes Gas only wall
Diffstat (limited to 'src')
-rw-r--r--src/elements/cbnw.c2
-rw-r--r--src/elements/co2.c6
-rw-r--r--src/powder.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/src/elements/cbnw.c b/src/elements/cbnw.c
index 7329f96..701f9ae 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 e9114a8..afe4af3 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 3f68c18..4f763a3 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)))
{