summaryrefslogtreecommitdiff
path: root/src/elements
diff options
context:
space:
mode:
authorJacob1 <jfu614@gmail.com>2012-06-21 22:01:32 (GMT)
committer jacksonmj <mj-pt@jacksonmj.co.uk>2012-06-22 23:10:39 (GMT)
commit287822229fec43c49f6952797ac249b4558fcb26 (patch)
treeffe0efab7e09db3b062cbd4f9570a049656b1d55 /src/elements
parent135e91b84dbc2c49319e73bce63aab2d7a22eb71 (diff)
downloadpowder-287822229fec43c49f6952797ac249b4558fcb26.zip
powder-287822229fec43c49f6952797ac249b4558fcb26.tar.gz
fix compression during fusion
Conflicts: src/powder.c
Diffstat (limited to 'src/elements')
-rw-r--r--src/elements/O2.c10
-rw-r--r--src/elements/co2.c9
-rw-r--r--src/elements/h2.c11
-rw-r--r--src/elements/nble.c12
4 files changed, 19 insertions, 23 deletions
diff --git a/src/elements/O2.c b/src/elements/O2.c
index 8b9cece..37dcd8d 100644
--- a/src/elements/O2.c
+++ b/src/elements/O2.c
@@ -49,14 +49,14 @@ int update_O2(UPDATE_FUNC_ARGS)
if (rand()%5 < 1)
{
int j;
- part_change_type(i,x,y,PT_PLSM);
- parts[i].life = rand()%150+50;
+ create_part(i,x,y,PT_BRMT);
+
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = 15000;
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); if (j != -1) parts[j].temp = 15000;
- j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_BRMT); if (j != -1) parts[j].temp = 15000;
- j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_SING); if (j != -1) { parts[j].temp = 15000; parts[i].life = rand()%25+50; }
+ j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PLSM); if (j != -1) parts[j].temp = 15000;
+ if (rand()%5 < 2) { j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_SING); if (j != -1) { parts[j].temp = 15000; parts[i].life = rand()%25+50; } }
- parts[i].temp += 15000;
+ parts[i].temp = 15000;
pv[y/CELL][x/CELL] += 300;
}
}
diff --git a/src/elements/co2.c b/src/elements/co2.c
index adf85f5..486269e 100644
--- a/src/elements/co2.c
+++ b/src/elements/co2.c
@@ -50,15 +50,14 @@ int update_CO2(UPDATE_FUNC_ARGS) {
if (rand()%5 < 1)
{
int j;
- kill_part(i);
+ create_part(i,x,y,PT_O2);
+
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = 15000;
if (!(rand()%50)) { j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = 15000; }
- j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_O2); if (j != -1) parts[j].temp = 15000;
- if (rand()%1000 < 1) { j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_SING); if (j != -1) { parts[j].temp = 15000; parts[i].life = 3; } }
+ //if (rand()%1000 < 1) { j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_SING); if (j != -1) { parts[j].temp = 15000; parts[i].life = 3; } }
- parts[i].temp += 15000;
+ parts[i].temp = 15000;
pv[y/CELL][x/CELL] += 100;
- return 1;
}
}
return 0;
diff --git a/src/elements/h2.c b/src/elements/h2.c
index 86c3be3..5be3ecc 100644
--- a/src/elements/h2.c
+++ b/src/elements/h2.c
@@ -58,14 +58,13 @@ int update_H2(UPDATE_FUNC_ARGS)
{
int j;
float temp = parts[i].temp;
- part_change_type(i,x,y,PT_PLSM);
- parts[i].life = rand()%150+50;
+ create_part(i,x,y,PT_NBLE);
+
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = temp;
if (!(rand()%10)) { j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = temp; }
- j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT);
- if (j != -1) { parts[j].ctype = 0xFFFF00; parts[j].temp = temp; }
+ j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); if (j != -1) { parts[j].ctype = 0xFFFF00; parts[j].temp = temp; }
- j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NBLE); if (j != -1) parts[j].temp = temp;
+ j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PLSM); if (j != -1) parts[j].temp = temp;
if (rand()%2)
{
@@ -73,7 +72,7 @@ int update_H2(UPDATE_FUNC_ARGS)
if (j != -1) { parts[j].tmp = 1; parts[j].temp = temp; }
}
- parts[i].temp += 750+rand()%500;
+ parts[i].temp = temp+750+rand()%500;
pv[y/CELL][x/CELL] += 30;
}
}
diff --git a/src/elements/nble.c b/src/elements/nble.c
index 0c118ed..31f6fc8 100644
--- a/src/elements/nble.c
+++ b/src/elements/nble.c
@@ -23,17 +23,15 @@ int update_NBLE(UPDATE_FUNC_ARGS)
{
int j;
float temp = parts[i].temp;
- part_change_type(i,x,y,PT_PLSM);
- parts[i].life = rand()%150+50;
+ create_part(i,x,y,PT_CO2);
+
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = temp;
if (!(rand()%25)) { j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = temp; }
- j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT);
- if (j != -1) { parts[j].ctype = 0xFF0000; parts[j].temp = temp; }
+ j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); if (j != -1) { parts[j].ctype = 0xFF0000; parts[j].temp = temp; }
- j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_CO2);
- if (j != -1) parts[j].temp = temp;
+ j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PLSM); if (j != -1) parts[j].temp = temp;
- parts[i].temp += 1750+rand()%500;
+ parts[i].temp = temp+1750+rand()%500;
pv[y/CELL][x/CELL] += 50;
}
}