summaryrefslogtreecommitdiff
path: root/src/simulation/elements/FIRE.cpp
diff options
context:
space:
mode:
authorcracker64 <cracker642@gmail.com>2013-03-01 05:41:53 (GMT)
committer cracker64 <cracker642@gmail.com>2013-03-01 05:41:53 (GMT)
commit0d70547cf059b5bd0a7a4a0acd9251fb94c6115e (patch)
tree99a0b212eeecee83662d963da052b439375acbf3 /src/simulation/elements/FIRE.cpp
parent5873d6958641af21b92fcb039d26c336331f19e7 (diff)
downloadpowder-0d70547cf059b5bd0a7a4a0acd9251fb94c6115e.zip
powder-0d70547cf059b5bd0a7a4a0acd9251fb94c6115e.tar.gz
More fixes to fix fixes and new fixes to fix stuff.
Diffstat (limited to 'src/simulation/elements/FIRE.cpp')
-rw-r--r--src/simulation/elements/FIRE.cpp51
1 files changed, 30 insertions, 21 deletions
diff --git a/src/simulation/elements/FIRE.cpp b/src/simulation/elements/FIRE.cpp
index 37745ab..35c7758 100644
--- a/src/simulation/elements/FIRE.cpp
+++ b/src/simulation/elements/FIRE.cpp
@@ -50,31 +50,40 @@ Element_FIRE::Element_FIRE()
int Element_FIRE::update(UPDATE_FUNC_ARGS)
{
int r, rx, ry, rt, t = parts[i].type;
- if (t==PT_PLSM && parts[i].ctype == PT_NBLE && parts[i].life <=1)
+ switch (t)
{
- sim->part_change_type(i,x,y,PT_NBLE);
- parts[i].life = 0;
- }
- else if (t==PT_FIRE && parts[i].life <=1)
- {
- if ((parts[i].tmp&0x3) == 3){
- sim->part_change_type(i,x,y,PT_DSTW);
- parts[i].life = 0;
- parts[i].ctype = PT_FIRE;
- }
- else if (parts[i].temp<625)
+ case PT_PLSM:
+ if (parts[i].life <=1)
{
- sim->part_change_type(i,x,y,PT_SMKE);
- parts[i].life = rand()%20+250;
+ if (parts[i].ctype == PT_NBLE)
+ {
+ sim->part_change_type(i,x,y,PT_NBLE);
+ parts[i].life = 0;
+ }
+ else if ((parts[i].tmp&0x3) == 3){
+ sim->part_change_type(i,x,y,PT_DSTW);
+ parts[i].life = 0;
+ parts[i].ctype = PT_FIRE;
+ }
}
- }
- else if (t==PT_PLSM && parts[i].life <=1)
- {
- if ((parts[i].tmp&0x3) == 3){
- sim->part_change_type(i,x,y,PT_DSTW);
- parts[i].life = 0;
- parts[i].ctype = PT_FIRE;
+ break;
+ case PT_FIRE:
+ if (parts[i].life <=1)
+ {
+ if ((parts[i].tmp&0x3) == 3){
+ sim->part_change_type(i,x,y,PT_DSTW);
+ parts[i].life = 0;
+ parts[i].ctype = PT_FIRE;
+ }
+ else if (parts[i].temp<625)
+ {
+ sim->part_change_type(i,x,y,PT_SMKE);
+ parts[i].life = rand()%20+250;
+ }
}
+ break;
+ default:
+ break;
}
for (rx=-2; rx<3; rx++)
for (ry=-2; ry<3; ry++)