That's transpiled from:@:icx_main("base-weather-monitor.ic10") class TestWeatherMonitor { @:icx_pin("db") static var self:Device; @:icx_pin(0) @:keep static var weatherMonitor:Device; @:icx_pin(5) @:keep static var intercomIC:Device; static var SND_ALERT:Float = 17; static var SND_STORM_INCOMING:Float = 18; static public function main() { while (true) { Stationeers.yield(); if (Stationeers.load(weatherMonitor, Mode) != 0) { Stationeers.store(self, Setting, Stationeers.load(weatherMonitor, NextWeatherEventTime)); while (Stationeers.load(intercomIC, Setting) != 0) { Stationeers.yield(); Stationeers.store(self, Setting, Stationeers.load(weatherMonitor, NextWeatherEventTime)); } Stationeers.store(intercomIC, Setting, SND_ALERT); // Alert Alert Alert while (Stationeers.load(intercomIC, Setting) != 0) { Stationeers.yield(); Stationeers.store(self, Setting, Stationeers.load(weatherMonitor, NextWeatherEventTime)); } Stationeers.store(intercomIC, Setting, SND_STORM_INCOMING); // Storm Incoming while (Stationeers.load(weatherMonitor, Mode) != 0) { Stationeers.store(self, Setting, Stationeers.load(weatherMonitor, NextWeatherEventTime)); Stationeers.sleep(1); } } } } }