diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 023d90c92..c87f16ac1 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -2933,7 +2933,7 @@ int Simulation::create_part(int p, int x, int y, int tv) case PT_DTEC: parts[i].tmp2 = 2; case PT_TSNS: - parts[i].tmp2 = 2; + parts[i].tmp2 = 1; break; default: if (t==PT_FIGH) diff --git a/src/simulation/elements/DTEC.cpp b/src/simulation/elements/DTEC.cpp index 38161cfbc..6d67cf22a 100644 --- a/src/simulation/elements/DTEC.cpp +++ b/src/simulation/elements/DTEC.cpp @@ -84,7 +84,9 @@ int Element_DTEC::update(UPDATE_FUNC_ARGS) if (x+rx>=0 && y+ry>0 && x+rxphotons[y+ry][x+rx]; + if(!r) continue; if (parts[r>>8].type == parts[i].ctype && (parts[i].ctype != PT_LIFE || parts[i].tmp == parts[r>>8].tmp)) parts[i].life = 1; diff --git a/src/simulation/elements/TSNS.cpp b/src/simulation/elements/TSNS.cpp index 5c8a23b32..ceedbb4ab 100644 --- a/src/simulation/elements/TSNS.cpp +++ b/src/simulation/elements/TSNS.cpp @@ -78,7 +78,9 @@ int Element_TSNS::update(UPDATE_FUNC_ARGS) if (x+rx>=0 && y+ry>0 && x+rxphotons[y+ry][x+rx]; + if(!r) continue; if (parts[r>>8].temp >= parts[i].temp && parts[r>>8].type != PT_TSNS) parts[i].life = 1;