summaryrefslogtreecommitdiff
path: root/src/simulation/elements/SLTW.cpp
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2012-12-18 20:17:57 (GMT)
committer jacob1 <jfu614@gmail.com>2012-12-18 20:17:57 (GMT)
commit9a2df6b8242f27838e91adf1d2253c9090c4b7f5 (patch)
treeb7d7a4f5b956d5e38257f5ebe2c9149baff7249f /src/simulation/elements/SLTW.cpp
parentb236c75209c45bddf51f6911593d27779dd621e2 (diff)
downloadpowder-9a2df6b8242f27838e91adf1d2253c9090c4b7f5.zip
powder-9a2df6b8242f27838e91adf1d2253c9090c4b7f5.tar.gz
fix sltw + liquid rubiduim explosion, make it work like water's
Diffstat (limited to 'src/simulation/elements/SLTW.cpp')
-rw-r--r--src/simulation/elements/SLTW.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/simulation/elements/SLTW.cpp b/src/simulation/elements/SLTW.cpp
index c422a9f..1a7586f 100644
--- a/src/simulation/elements/SLTW.cpp
+++ b/src/simulation/elements/SLTW.cpp
@@ -61,17 +61,18 @@ int Element_SLTW::update(UPDATE_FUNC_ARGS)
sim->part_change_type(r>>8,x+rx,y+ry,PT_SLTW);
if ((r&0xFF)==PT_PLNT&&5>(rand()%1000))
sim->kill_part(r>>8);
- if (((r&0xFF)==PT_RBDM||(r&0xFF)==PT_LRBD) && !sim->legacy_enable && parts[i].temp>(273.15f+12.0f) && 1>(rand()%500))
+ if (((r&0xFF)==PT_RBDM||(r&0xFF)==PT_LRBD) && (sim->legacy_enable||parts[i].temp>(273.15f+12.0f)) && 1>(rand()%500))
{
sim->part_change_type(i,x,y,PT_FIRE);
parts[i].life = 4;
+ parts[i].ctype = PT_WATR;
}
- if ((r&0xFF)==PT_FIRE){
+ if ((r&0xFF)==PT_FIRE && parts[r>>8].ctype!=PT_WATR){
sim->kill_part(r>>8);
- if(1>(rand()%150)){
- sim->kill_part(i);
- return 1;
- }
+ if(1>(rand()%150)){
+ sim->kill_part(i);
+ return 1;
+ }
}
}
return 0;