summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/simulation/Simulation.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp
index b311465..07bde47 100644
--- a/src/simulation/Simulation.cpp
+++ b/src/simulation/Simulation.cpp
@@ -2190,6 +2190,11 @@ int Simulation::try_move(int i, int x, int y, int nx, int ny)
if(parts[i].sld && r && parts[i].sld == parts[r>>8].sld)
return 1;
+ if(!e && r && parts[r>>8].sld) {
+ parts[r>>8].vx += parts[i].vx;
+ parts[r>>8].vy += parts[i].vy;
+ }
+
/* half-silvered mirror */
if (!e && parts[i].type==PT_PHOT &&
(((r&0xFF)==PT_BMTL && rand()<RAND_MAX/2) ||