fixed multiple issues

This commit is contained in:
mamoniot
2022-12-23 18:52:44 -05:00
parent 9282c09267
commit 33cd647042
9 changed files with 55 additions and 45 deletions

View File

@@ -566,7 +566,6 @@ local function send_alert_for_train(train, icon, message)
icon,
{message},
true)
player.play_sound({path = ALERT_SOUND})
end
end
end
@@ -623,7 +622,7 @@ local send_stuck_train_alert_icon = {name = LOST_TRAIN_NAME, type = "fluid"}
function send_alert_stuck_train(map_data, train)
send_alert_for_train(train, send_stuck_train_alert_icon, "cybersyn-messages.stuck-train")
map_data.active_alerts = map_data.active_alerts or {}
map_data.active_alerts[train] = 1
map_data.active_alerts[train.id] = {train, 1}
end
local send_nonempty_train_in_depot_alert_icon = {name = NONEMPTY_TRAIN_NAME, type = "fluid"}
@@ -631,8 +630,9 @@ local send_nonempty_train_in_depot_alert_icon = {name = NONEMPTY_TRAIN_NAME, typ
---@param train LuaTrain
function send_alert_nonempty_train_in_depot(map_data, train)
send_alert_for_train(train, send_nonempty_train_in_depot_alert_icon, "cybersyn-messages.nonempty-train")
send_alert_sounds(train)
map_data.active_alerts = map_data.active_alerts or {}
map_data.active_alerts[train] = 2
map_data.active_alerts[train.id] = {train, 2}
end
local send_lost_train_alert_icon = {name = LOST_TRAIN_NAME, type = "fluid"}
@@ -640,36 +640,41 @@ local send_lost_train_alert_icon = {name = LOST_TRAIN_NAME, type = "fluid"}
---@param train LuaTrain
function send_alert_depot_of_train_broken(map_data, train)
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.depot-broken")
send_alert_sounds(train)
map_data.active_alerts = map_data.active_alerts or {}
map_data.active_alerts[train] = 3
map_data.active_alerts[train.id] = {train, 3}
end
---@param map_data MapData
---@param train LuaTrain
function send_alert_station_of_train_broken(map_data, train)
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.station-broken")
send_alert_sounds(train)
map_data.active_alerts = map_data.active_alerts or {}
map_data.active_alerts[train] = 4
map_data.active_alerts[train.id] = {train, 4}
end
---@param map_data MapData
---@param train LuaTrain
function send_alert_refueler_of_train_broken(map_data, train)
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.refueler-broken")
send_alert_sounds(train)
map_data.active_alerts = map_data.active_alerts or {}
map_data.active_alerts[train] = 5
map_data.active_alerts[train.id] = {train, 5}
end
---@param map_data MapData
---@param train LuaTrain
function send_alert_train_at_incorrect_station(map_data, train)
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.train-at-incorrect")
send_alert_sounds(train)
map_data.active_alerts = map_data.active_alerts or {}
map_data.active_alerts[train] = 6
map_data.active_alerts[train.id] = {train, 6}
end
---@param map_data MapData
---@param train LuaTrain
function send_alert_cannot_path_between_surfaces(map_data, train)
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.cannot-path-between-surfaces")
send_alert_sounds(train)
map_data.active_alerts = map_data.active_alerts or {}
map_data.active_alerts[train] = 7
map_data.active_alerts[train.id] = {train, 7}
end
---@param train LuaTrain
@@ -680,21 +685,27 @@ end
---@param map_data MapData
function process_active_alerts(map_data)
for train, id in pairs(map_data.active_alerts) do
if id == 1 then
send_alert_for_train(train, send_stuck_train_alert_icon, "cybersyn-messages.stuck-train")
elseif id == 2 then
send_alert_for_train(train, send_nonempty_train_in_depot_alert_icon, "cybersyn-messages.nonempty-train")
elseif id == 3 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.depot-broken")
elseif id == 4 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.station-broken")
elseif id == 5 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.refueler-broken")
elseif id == 6 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.train-at-incorrect")
elseif id == 7 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.cannot-path-between-surfaces")
for train_id, data in pairs(map_data.active_alerts) do
local train = data[1]
if train.valid then
local id = data[2]
if id == 1 then
send_alert_for_train(train, send_stuck_train_alert_icon, "cybersyn-messages.stuck-train")
elseif id == 2 then
send_alert_for_train(train, send_nonempty_train_in_depot_alert_icon, "cybersyn-messages.nonempty-train")
elseif id == 3 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.depot-broken")
elseif id == 4 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.station-broken")
elseif id == 5 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.refueler-broken")
elseif id == 6 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.train-at-incorrect")
elseif id == 7 then
send_alert_for_train(train, send_lost_train_alert_icon, "cybersyn-messages.cannot-path-between-surfaces")
end
else
map_data.active_alerts[train_id] = nil
end
end
end