diff --git a/PHI-CL/changelog.txt b/PHI-CL/changelog.txt index 4f08785..a2b0154 100644 --- a/PHI-CL/changelog.txt +++ b/PHI-CL/changelog.txt @@ -1,3 +1,10 @@ +--------------------------------------------------------------------------------------------------- +Version: 3.0.138 +Date: 2026-05-31 + + Changes: + - [GM] Control stage code layout restructure. + --------------------------------------------------------------------------------------------------- Version: 3.0.137 Date: 2026-05-24 diff --git a/PHI-CL/control.lua b/PHI-CL/control.lua index f633775..7e7bd12 100644 --- a/PHI-CL/control.lua +++ b/PHI-CL/control.lua @@ -50,21 +50,25 @@ end) if settings.startup['PHI-MI'].value or (settings.startup['PHI-GM'].value and settings.startup['PHI-GM'].value ~= '') then script.on_event(defines.events.on_player_created, function(event) + if not event.player_index or not game.players[event.player_index] then + return + end + gui_create(game.players[event.player_index]) end) script.on_event(defines.events.on_gui_opened, function(event) - local player = game.players[event.player_index] - - if event.entity and player.opened and player.opened == event.entity then - gui_update(player, event.entity) + if not event.player_index or not event.entity or not game.players[event.player_index] or not game.players[event.player_index].opened or game.players[event.player_index].opened ~= event.entity then + return end + + gui_update(game.players[event.player_index], event.entity) end) script.on_event(defines.events.on_gui_selection_state_changed, combinator.on_gui_selection_state_changed) script.on_event({defines.events.on_player_rotated_entity, defines.events.on_player_flipped_entity}, function(event) - if not event.player_index or not event.entity or game.players[event.player_index].opened ~= event.entity then + if not event.player_index or not event.entity or not game.players[event.player_index] or not game.players[event.player_index].opened or game.players[event.player_index].opened ~= event.entity then return end @@ -74,6 +78,10 @@ if settings.startup['PHI-MI'].value or (settings.startup['PHI-GM'].value and set script.on_event({defines.events.on_built_entity, defines.events.on_robot_built_entity, defines.events.on_space_platform_built_entity, defines.events.script_raised_built, defines.events.script_raised_revive}, entity_build) script.on_event(defines.events.on_entity_cloned, function(event) + if not event.destination then + return + end + entity_build({entity=event.destination}) end) diff --git a/PHI-CL/info.json b/PHI-CL/info.json index f086168..fc5edb4 100644 --- a/PHI-CL/info.json +++ b/PHI-CL/info.json @@ -1,8 +1,8 @@ { "name": "PHI-CL", - "version": "3.0.137", + "version": "3.0.138", "factorio_version": "2.0", - "date": "2026-05-24", + "date": "2026-05-31", "title": "Phidias Collection", "author": "PHIDIAS0303", "contributers": "",