diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-21 12:00:31 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-21 12:00:31 (GMT) |
| commit | b6736f967e9889c7fc8a68b11abd5be1ad4cc5d7 (patch) | |
| tree | 693cf90faed1cef2ec0e7ff6859e062134316859 /src/simulation | |
| parent | e25d934856fdd7c2288e3a515cac907a0451e9c4 (diff) | |
| download | powder-b6736f967e9889c7fc8a68b11abd5be1ad4cc5d7.zip powder-b6736f967e9889c7fc8a68b11abd5be1ad4cc5d7.tar.gz | |
Add EMP flash, fixes #137
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; |
