Don't delete SPRK/METL in detector wall, don't allow drawing metal on detector wall
This fixes the only valid bug on the "Glitches" wiki page. All the rest were already fixed (multi-head stkm) or are not bugs (lava ice, "destroying" dmnd with dray)
This commit is contained in:
parent
6b3d5b9ce5
commit
323a850e16
@ -3153,6 +3153,8 @@ int Simulation::create_part(int p, int x, int y, int t, int v)
|
|||||||
}
|
}
|
||||||
else if (IsWallBlocking(x, y, t))
|
else if (IsWallBlocking(x, y, t))
|
||||||
return -1;
|
return -1;
|
||||||
|
else if (bmap[y/CELL][x/CELL]==WL_DETECT && elements[t].Properties & TYPE_SOLID)
|
||||||
|
return -1;
|
||||||
else if (photons[y][x] && (elements[t].Properties & TYPE_ENERGY))
|
else if (photons[y][x] && (elements[t].Properties & TYPE_ENERGY))
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -3416,7 +3418,6 @@ void Simulation::UpdateParticles(int start, int end)
|
|||||||
(bmap[y/CELL][x/CELL]==WL_ALLOWPOWDER && !(elements[t].Properties&TYPE_PART)) ||
|
(bmap[y/CELL][x/CELL]==WL_ALLOWPOWDER && !(elements[t].Properties&TYPE_PART)) ||
|
||||||
(bmap[y/CELL][x/CELL]==WL_ALLOWGAS && !(elements[t].Properties&TYPE_GAS)) || //&& elements[t].Falldown!=0 && parts[i].type!=PT_FIRE && parts[i].type!=PT_SMKE && parts[i].type!=PT_CFLM) ||
|
(bmap[y/CELL][x/CELL]==WL_ALLOWGAS && !(elements[t].Properties&TYPE_GAS)) || //&& elements[t].Falldown!=0 && parts[i].type!=PT_FIRE && parts[i].type!=PT_SMKE && parts[i].type!=PT_CFLM) ||
|
||||||
(bmap[y/CELL][x/CELL]==WL_ALLOWENERGY && !(elements[t].Properties&TYPE_ENERGY)) ||
|
(bmap[y/CELL][x/CELL]==WL_ALLOWENERGY && !(elements[t].Properties&TYPE_ENERGY)) ||
|
||||||
(bmap[y/CELL][x/CELL]==WL_DETECT && (t==PT_METL || t==PT_SPRK)) ||
|
|
||||||
(bmap[y/CELL][x/CELL]==WL_EWALL && !emap[y/CELL][x/CELL])) && (t!=PT_STKM) && (t!=PT_STKM2) && (t!=PT_FIGH)))
|
(bmap[y/CELL][x/CELL]==WL_EWALL && !emap[y/CELL][x/CELL])) && (t!=PT_STKM) && (t!=PT_STKM2) && (t!=PT_FIGH)))
|
||||||
{
|
{
|
||||||
kill_part(i);
|
kill_part(i);
|
||||||
|
Loading…
Reference in New Issue
Block a user