Updated PAPR passthrough behavior
This commit is contained in:
parent
6f70192742
commit
8efefb0264
@ -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)
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user