1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-03-17 20:58:13 +02:00

Mtn v3 - user requested feature

You can now toggle auto upgrade when placing vehicles.
This commit is contained in:
Gerkiz 2022-01-14 16:16:58 +01:00
parent 2c4711c0bb
commit 9c7dc00021
3 changed files with 66 additions and 3 deletions

View File

@ -1,9 +1,11 @@
[ic]
transfer_car=Transfer Car
car_settings=Car Settings
allow_anyone=Allow everyone to enter: ON
allow_anyone=Allow everyone to enter: On
auto_upgrade=Auto Upgrade Vehicle: On
add_player=Add Player
off=Off
on=On
select_player=Select Player
discard=Discard
save=Save

View File

@ -40,7 +40,8 @@ local function get_trusted_system(player)
players = {
[player.name] = true
},
allow_anyone = 'right'
allow_anyone = 'right',
auto_upgrade = 'left'
}
end
@ -168,6 +169,18 @@ local function get_player_surface(player)
return false
end
local function get_player_entity_upgrade_surface(player)
local cars = IC.get('cars')
for k, car in pairs(cars) do
if car.owner == player.index and type(car.entity) == 'boolean' then
return car.name, true
elseif car.owner == player.index then
return car.name, false
end
end
return false, false
end
local function get_player_entity(player)
local cars = IC.get('cars')
for k, car in pairs(cars) do
@ -1051,10 +1064,15 @@ function Public.create_car(event)
return player.print('Multi-surface is not supported at the moment.', Color.warning)
end
local storage = get_trusted_system(player)
if
get_owner_car_name(player) == 'car' and ce.name == 'tank' or get_owner_car_name(player) == 'car' and ce.name == 'spidertron' or
get_owner_car_name(player) == 'tank' and ce.name == 'spidertron'
then
if storage.auto_upgrade and storage.auto_upgrade == 'right' then
return
end
upgrade_surface(player, ce)
render_owner_text(renders, player, ce)
player.print('Your car-surface has been upgraded!', Color.success)

View File

@ -26,6 +26,7 @@ local main_toolbar_name = Gui.uid_name()
local add_player_name = Gui.uid_name()
local transfer_car_name = Gui.uid_name()
local allow_anyone_to_enter_name = Gui.uid_name()
local auto_upgrade_name = Gui.uid_name()
local kick_player_name = Gui.uid_name()
local destroy_surface_name = Gui.uid_name()
@ -48,7 +49,8 @@ local function create_player_table(player)
players = {
[player.name] = true
},
allow_anyone = 'right'
allow_anyone = 'right',
auto_upgrade = 'left'
}
end
return trust_system[player.index]
@ -376,6 +378,17 @@ local function draw_main_frame(player)
right_label_caption = ({'ic.off'})
}
)
local auto_upgrade =
inside_table.add(
{
type = 'switch',
name = auto_upgrade_name,
switch_state = player_list.auto_upgrade,
allow_none_state = false,
left_label_caption = ({'ic.auto_upgrade'}),
right_label_caption = ({'ic.off'})
}
)
local player_table =
inside_table.add {
@ -429,6 +442,7 @@ local function draw_main_frame(player)
transfer_car_frame = transfer_car_frame,
destroy_surface_frame = destroy_surface_frame,
allow_anyone_to_enter = allow_anyone_to_enter,
auto_upgrade = auto_upgrade,
player = player
}
draw_players(data)
@ -596,6 +610,35 @@ Gui.on_click(
end
)
Gui.on_click(
auto_upgrade_name,
function(event)
local player = event.player
if not player or not player.valid or not player.character then
return
end
local player_list = create_player_table(player)
local screen = player.gui.screen
local frame = screen[main_frame_name]
if frame and frame.valid then
if player_list.auto_upgrade == 'right' then
player_list.auto_upgrade = 'left'
player.print('[IC] Auto upgrade is now enabled!', Color.success)
else
player_list.auto_upgrade = 'right'
player.print('[IC] Auto upgrade is now disabled!', Color.warning)
end
if player.gui.screen[main_frame_name] then
toggle(player, true)
end
end
end
)
Gui.on_click(
save_add_player_button_name,
function(event)