stationeers_ic10/storm_warning.ic10
2022-11-17 15:33:44 +01:00

41 lines
1.1 KiB
Plaintext

# needs a Weather Station
# a siren and an announcer (2x Kit (Speaker))
# and a display of some sort (Kit (Console))
alias Weather d0 # Weather Station
alias Readout d1 # Kit (Console)
alias Announcer d2 # Kit (Speaker)
alias Siren d3 # Kit (Speaker)
alias StormMode r0
alias Minutes r1
alias SirenHigh r2
alias SirenLow r3
alias SirenOn r4
s Announcer Mode 18 # "StormIncoming"
s Siren Mode 10 # "Alarm8"
start:
yield
l StormMode Weather Mode # check weather
s Announcer On 0 # reset Announcer
beq StormMode 1 countdown # countdown if incoming
j start # else return to start
countdown:
yield
l StormMode Weather Mode # check weather
s Announcer On 1 # announce storm
# get countdown value
l Minutes Weather NextWeatherEventTime
div Minutes Minutes 60 # convert to minutes
trunc Minutes Minutes # drop decimals
s Readout Setting Minutes # send to display
slt SirenHigh Minutes 3 # got less than 3m?
sgt SirenLow Minutes 0 # got more than 60s?
and SirenOn SirenHigh SirenLow # sound siren?
s Siren On SirenOn # start siren if 1<minutes<3
beq StormMode 1 countdown # still waiting? go back
j start # reset and start waiting again