diff options
Diffstat (limited to 'src/simulation/elements/O2.cpp')
| -rw-r--r-- | src/simulation/elements/O2.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/simulation/elements/O2.cpp b/src/simulation/elements/O2.cpp index 1167e76..4a48512 100644 --- a/src/simulation/elements/O2.cpp +++ b/src/simulation/elements/O2.cpp @@ -81,14 +81,19 @@ int Element_O2::update(UPDATE_FUNC_ARGS) if (rand()%5 < 1) { int j; - sim->part_change_type(i,x,y,PT_PLSM); - parts[i].life = rand()%150+50; + sim->create_part(i,x,y,PT_BRMT); + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = 15000; j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); if (j != -1) parts[j].temp = 15000; - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_BRMT); if (j != -1) parts[j].temp = 15000; - j = sim->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 = sim->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 = sim->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; sim->pv[y/CELL][x/CELL] += 300; } } |
