// Function from file: LINDA_system.dm public bool CanAtmosPass(dynamic T = null) { bool R = false; Obj O = null; int D = 0; Obj O2 = null; int D2 = 0; int D3 = 0; if (!(T is Tile)) { return(false); } if (this.blocks_air || T.blocks_air) { R = true; } foreach (dynamic _a in Lang13.Enumerate(this.contents, typeof(Obj))) { O = _a; if (!O.CanAtmosPass(T)) { R = true; if (O.BlockSuperconductivity()) { D = Map13.GetDistance(this, T); this.atmos_supeconductivity |= D; D = Map13.GetDistance(T, this); T.atmos_supeconductivity |= D; return(false); } } } foreach (dynamic _b in Lang13.Enumerate(T.contents, typeof(Obj))) { O2 = _b; if (!O2.CanAtmosPass(this)) { R = true; if (O2.BlockSuperconductivity()) { D2 = Map13.GetDistance(this, T); this.atmos_supeconductivity |= D2; D2 = Map13.GetDistance(T, this); T.atmos_supeconductivity |= D2; return(false); } } } D3 = Map13.GetDistance(this, T); this.atmos_supeconductivity &= ~D3; D3 = Map13.GetDistance(T, this); T.atmos_supeconductivity &= ~D3; if (!R) { return(true); } return(false); }