diff --git a/game/game.py b/game/game.py index 385261b8..0d8b9682 100644 --- a/game/game.py +++ b/game/game.py @@ -190,9 +190,9 @@ class Game: def is_player_attack(self, event): if isinstance(event, Event): - return event.attacker_name == self.player_name + return event and event.attacker_name and event.attacker_name == self.player_name else: - return event.name == self.player_name + return event and event.name and event.name == self.player_name def pass_turn(self, no_action=False, ignored_cps: typing.Collection[ControlPoint] = None): diff --git a/game/operation/operation.py b/game/operation/operation.py index 4bee75b0..c0ce5e67 100644 --- a/game/operation/operation.py +++ b/game/operation/operation.py @@ -236,18 +236,19 @@ class Operation: # Inject Plugins Lua Scripts listOfPluginsScripts = [] - try: - with open("./resources/scripts/plugins/__plugins.lst", "r") as a_file: - for line in a_file: - name = line.strip() - if not name.startswith( '#' ): - trigger = TriggerStart(comment="Load " + name) - listOfPluginsScripts.append(name) - fileref = self.current_mission.map_resource.add_resource_file("./resources/scripts/plugins/" + name) - trigger.add_action(DoScriptFile(fileref)) - self.current_mission.triggerrules.triggers.append(trigger) - except Exception as e: - print(e) + plugin_file_path = Path("./resources/scripts/plugins/__plugins.lst") + if plugin_file_path.exists(): + for line in plugin_file_path.read_text().splitlines(): + name = line.strip() + if not name.startswith( '#' ): + trigger = TriggerStart(comment="Load " + name) + listOfPluginsScripts.append(name) + fileref = self.current_mission.map_resource.add_resource_file("./resources/scripts/plugins/" + name) + trigger.add_action(DoScriptFile(fileref)) + self.current_mission.triggerrules.triggers.append(trigger) + else: + logging.info( + f"Not loading plugins, {plugin_file_path} does not exist") # Inject Mist Script if not done already in the plugins if not "mist.lua" in listOfPluginsScripts and not "mist_4_3_74.lua" in listOfPluginsScripts: # don't load the script twice diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 3daace57..cba58371 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -83,7 +83,7 @@ class NewGameWizard(QtWidgets.QWizard): print("Enemy name : " + enemy_name) print("Player name : " + player_name) print("Midgame : " + str(midgame)) - start_generator.generate_inital_units(conflictTheater, enemy_name, True, multiplier) + start_generator.generate_initial_units(conflictTheater, enemy_name, True, multiplier) print("-- Initial units generated") game = Game(player_name=player_name, diff --git a/theater/start_generator.py b/theater/start_generator.py index b029ae92..d459cbb1 100644 --- a/theater/start_generator.py +++ b/theater/start_generator.py @@ -27,7 +27,7 @@ COUNT_BY_TASK = { } -def generate_inital_units(theater: ConflictTheater, enemy_country: str, sams: bool, multiplier: float): +def generate_initial_units(theater: ConflictTheater, enemy_country: str, sams: bool, multiplier: float): for cp in theater.enemy_points(): if cp.captured: continue