// Function from file: LINDA_fire.dm public bool perform_exposure( ) { Ent_Static location = null; GasMixture affected = null; dynamic A = null; dynamic item = null; location = this.loc; if (!(location is Tile_Simulated) || !Lang13.Bool(((dynamic)location).air)) { return(false); } if ((this.volume ?? 0) > 2375) { this.bypassing = true; } else { this.bypassing = false; } if (this.bypassing) { if (!this.just_spawned) { this.volume = ((dynamic)location).air.fuel_burnt * 40000; this.temperature = ((dynamic)location).air.temperature; } } else { affected = ((GasMixture)((dynamic)location).air).remove_ratio((this.volume ?? 0) / Convert.ToDouble(((dynamic)location).air.volume)); affected.temperature = this.temperature; affected.react(); this.temperature = affected.temperature; this.volume = affected.fuel_burnt * 40000; location.assume_air(affected); } foreach (dynamic _a in Lang13.Enumerate(this.loc)) { A = _a; item = A; if (Lang13.Bool(item) && item != this) { ((Ent_Static)item).fire_act(null, this.temperature, this.volume); } } return(false); }
// Function from file: other_reagents.dm public override void reaction_turf(dynamic T = null, double?volume = null) { int CT = 0; Mob_Living_SimpleAnimal_Slime M = null; dynamic hotspot = null; GasMixture G = null; if (!(T is Tile_Simulated)) { return; } CT = this.cooling_temperature; if ((volume ?? 0) >= 10) { ((Tile_Simulated)T).MakeSlippery(); } foreach (dynamic _a in Lang13.Enumerate(T, typeof(Mob_Living_SimpleAnimal_Slime))) { M = _a; M.apply_water(); } hotspot = Lang13.FindIn(typeof(Obj_Effect_Hotspot), T); if (Lang13.Bool(hotspot) && !(T is Tile_Space)) { if (Lang13.Bool(T.air)) { G = T.air; G.temperature = Num13.MaxInt(Num13.MinInt(Convert.ToInt32(G.temperature - CT * 1000), Convert.ToInt32(G.temperature / CT)), 0); G.react(); GlobalFuncs.qdel(hotspot); } } return; }