From 8efefb0264bde23bde966bed5be76b2e1fad1047 Mon Sep 17 00:00:00 2001 From: Rebmiami <59275598+Rebmiami@users.noreply.github.com> Date: Mon, 11 Dec 2023 18:41:37 -0500 Subject: [PATCH] Updated PAPR passthrough behavior --- src/simulation/Simulation.cpp | 4 ++-- src/simulation/SimulationData.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 537d6fd4b..30f27acc4 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -3330,9 +3330,9 @@ void Simulation::RecalcFreeParticles(bool do_life_dec) photons[y][x] = PMAP(i, t); else { - // Particles are sometimes allowed to go inside INVS and FILT + // Particles are sometimes allowed to go inside INVS, FILT, and PAPR // To make particles collide correctly when inside these elements, these elements must not overwrite an existing pmap entry from particles inside them - if (!pmap[y][x] || (t!=PT_INVIS && t!= PT_FILT)) + if (!pmap[y][x] || (t!=PT_INVIS && t!= PT_FILT && t != PT_PAPR)) pmap[y][x] = PMAP(i, t); // (there are a few exceptions, including energy particles - currently no limit on stacking those) if (t!=PT_THDR && t!=PT_EMBR && t!=PT_FIGH && t!=PT_PLSM) diff --git a/src/simulation/SimulationData.cpp b/src/simulation/SimulationData.cpp index a125f3925..f7b3a86db 100644 --- a/src/simulation/SimulationData.cpp +++ b/src/simulation/SimulationData.cpp @@ -187,7 +187,7 @@ void SimulationData::init_can_move() can_move[movingType][PT_SAWD] = 0; // Let most non-solids pass through PAPR - if (elements[movingType].Properties & (TYPE_GAS | TYPE_PART | TYPE_LIQUID)) + if (elements[movingType].Properties & (TYPE_GAS | TYPE_PART | TYPE_LIQUID) && (movingType != PT_FIRE && movingType != PT_SMKE)) can_move[movingType][PT_PAPR] = 2; } //a list of lots of things PHOT can move through