diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-04-18 17:40:14 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-04-18 17:40:14 (GMT) |
| commit | bf935ac7d8900d62db5007f0a6be13a0afb1491b (patch) | |
| tree | 902448d4169ce3a37bda2c91a0f8cece575914ef /src/elements | |
| parent | 4ddf723167aa4d07b16ef1aaac6b4dff16c87a42 (diff) | |
| download | powder-bf935ac7d8900d62db5007f0a6be13a0afb1491b.zip powder-bf935ac7d8900d62db5007f0a6be13a0afb1491b.tar.gz | |
TPT: fusion step 2 + modify temp/pressure of step 1 803ded3b33
Diffstat (limited to 'src/elements')
| -rw-r--r-- | src/elements/h2.cpp | 17 | ||||
| -rw-r--r-- | src/elements/nble.cpp | 27 |
2 files changed, 36 insertions, 8 deletions
diff --git a/src/elements/h2.cpp b/src/elements/h2.cpp index 7298ebc..8ebc1a9 100644 --- a/src/elements/h2.cpp +++ b/src/elements/h2.cpp @@ -43,23 +43,24 @@ int update_H2(UPDATE_FUNC_ARGS) if (rand()%5 < 1) { int j; + float temp = parts[i].temp; sim->part_change_type(i,x,y,PT_PLSM); parts[i].life = rand()%150+50; - sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); - sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); - if (j) parts[j].ctype = 0xFFFF00; + if (j != -1) { parts[j].ctype = 0xFFFF00; parts[j].temp = temp; } j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NBLE); - if (j) parts[j].tmp = 1; + if (j != -1) { parts[j].tmp = 1; parts[j].temp = temp; } + if (rand()%2) { j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NBLE); - if (j) parts[j].tmp = 1; + if (j != -1) { parts[j].tmp = 1; parts[j].temp = temp; } } - if (parts[i].temp < 4273.15) - parts[i].temp = 4273.15; - sim->pv[y/CELL][x/CELL] += 50; + parts[i].temp += 6000; + sim->pv[y/CELL][x/CELL] += 30; } } return 0; diff --git a/src/elements/nble.cpp b/src/elements/nble.cpp new file mode 100644 index 0000000..c35859f --- /dev/null +++ b/src/elements/nble.cpp @@ -0,0 +1,27 @@ +#include "simulation/Element.h" + +int update_NBLE(UPDATE_FUNC_ARGS) +{ + if (parts[i].temp > 5273.15 && sim->pv[y/CELL][x/CELL] > 50.0f) + { + parts[i].tmp = 1; + if (rand()%5 < 1) + { + int j; + float temp = parts[i].temp; + sim->part_change_type(i,x,y,PT_PLSM); + parts[i].life = rand()%150+50; + sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); + sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); + j = sim->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 = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_CO2); + if (j != -1) parts[j].temp = temp; + + parts[i].temp += 10000; + sim->pv[y/CELL][x/CELL] += 30; + } + } + return 0; +} |
