diff --git a/src/simulation/elements/ARAY.cpp b/src/simulation/elements/ARAY.cpp index 96d75b923..d41f0eb81 100644 --- a/src/simulation/elements/ARAY.cpp +++ b/src/simulation/elements/ARAY.cpp @@ -98,10 +98,13 @@ int Element_ARAY::update(UPDATE_FUNC_ARGS) break; } } else if ((r&0xFF)==PT_FILT) {//get color if passed through FILT - colored = Element_FILT::interactWavelengths(&parts[r>>8], colored); - if (!colored) - break; - //this if prevents BRAY from stopping on certain materials + if (parts[r>>8].tmp != 6) + { + colored = Element_FILT::interactWavelengths(&parts[r>>8], colored); + if (!colored) + break; + } + //this if prevents BRAY from stopping on certain materials } else if ((r&0xFF)!=PT_STOR && (r&0xFF)!=PT_INWR && ((r&0xFF)!=PT_SPRK || parts[r>>8].ctype!=PT_INWR) && (r&0xFF)!=PT_ARAY && (r&0xFF)!=PT_WIFI && !((r&0xFF)==PT_SWCH && parts[r>>8].life>=10)) { if (nyy!=0 || nxx!=0) { sim->create_part(-1, x+nxi+nxx, y+nyi+nyy, PT_SPRK);