From 7f7821f8789d5affc65029da286abe5e4705707d Mon Sep 17 00:00:00 2001 From: MetalStormGhost Date: Tue, 11 Jun 2024 19:35:45 +0300 Subject: [PATCH] Stop the execution of the pretense_extra_zone_connections in case no more connected points can be found in the campaign. Should fix an error which prevents campaign generation. --- game/pretense/pretenseluagenerator.py | 44 +++++++++++++++------------ 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/game/pretense/pretenseluagenerator.py b/game/pretense/pretenseluagenerator.py index afdf688c..d2ee4c85 100644 --- a/game/pretense/pretenseluagenerator.py +++ b/game/pretense/pretenseluagenerator.py @@ -1779,25 +1779,31 @@ class PretenseLuaGenerator(LuaGenerator): for extra_connection in range( self.game.settings.pretense_extra_zone_connections ): - if ( - cp.is_fleet - and cp.captured - and self.game.settings.pretense_controllable_carrier - ): - break - elif ( - closest_cps[extra_connection].is_fleet - and closest_cps[extra_connection].captured - and self.game.settings.pretense_controllable_carrier - ): - break - elif len(closest_cps) > extra_connection: - lua_string_connman += self.generate_pretense_zone_connection( - connected_points, - cp.name, - closest_cps[extra_connection].name, - ) - else: + try: + if ( + cp.is_fleet + and cp.captured + and self.game.settings.pretense_controllable_carrier + ): + break + elif ( + closest_cps[extra_connection].is_fleet + and closest_cps[extra_connection].captured + and self.game.settings.pretense_controllable_carrier + ): + break + elif len(closest_cps) > extra_connection: + lua_string_connman += ( + self.generate_pretense_zone_connection( + connected_points, + cp.name, + closest_cps[extra_connection].name, + ) + ) + else: + break + except IndexError: + # No more connected points, so no need to continue the loop break lua_string_supply = "local redSupply = {\n"