diff options
Diffstat (limited to 'src/simulation')
| -rw-r--r-- | src/simulation/Simulation.cpp | 5 | ||||
| -rw-r--r-- | src/simulation/Simulation.h | 1 | ||||
| -rw-r--r-- | src/simulation/elements/EMP.cpp | 6 |
3 files changed, 9 insertions, 3 deletions
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 23c1a21..c5a07e5 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -1860,6 +1860,7 @@ void Simulation::create_arc(int sx, int sy, int dx, int dy, int midpoints, int v void Simulation::clear_sim(void) { int i, x, y; + emp_decor = 0; signs.clear(); currentTick = 0; memset(bmap, 0, sizeof(bmap)); @@ -4394,6 +4395,10 @@ void Simulation::update_particles()//doesn't update the particles themselves, bu gravWallChanged = false; } } + if(emp_decor>0) + emp_decor -= emp_decor/25+2; + if(emp_decor < 0) + emp_decor = 0; } memset(pmap, 0, sizeof(pmap)); diff --git a/src/simulation/Simulation.h b/src/simulation/Simulation.h index 0dafe33..7737c2b 100644 --- a/src/simulation/Simulation.h +++ b/src/simulation/Simulation.h @@ -76,6 +76,7 @@ public: int elementCount[PT_NUM]; int ISWIRE; int force_stacking_check; + int emp_decor; //Gol sim int CGOL; int ISGOL; diff --git a/src/simulation/elements/EMP.cpp b/src/simulation/elements/EMP.cpp index 175e7e7..e21f69c 100644 --- a/src/simulation/elements/EMP.cpp +++ b/src/simulation/elements/EMP.cpp @@ -68,9 +68,9 @@ int Element_EMP::update(UPDATE_FUNC_ARGS) if (!ok) return 0; parts[i].life=220; - //emp_decor+=3; TODO: Fix - //if (emp_decor>40) - // emp_decor=40; + sim->emp_decor += 3; + if (sim->emp_decor > 40) + sim->emp_decor = 40; for (r=0; r<=sim->parts_lastActiveIndex; r++) { t=parts[r].type; |
