import time from threading import Thread from core.Logger import Logger from core.Player import CLASSES, SPE class FightingAgent: def __init__(self, monitor, player) -> None: self.isCombatModeEnabled = False self.monitor = monitor self.player = player self.classRoutine = None self.logger = Logger("Combat Agent", player.debug) self.hasTarget = False self.combatClass = self.loadCombatClass() def loadCombatClass(self): return 42 def getRoutine(self): if (self.player.playerClass == CLASSES.HUNTER.name and self.player.playerSpe == SPE.MARKSMANSHIP.name): from bots.fighting.hunter.marksmanship.Routine import Routine self.classRoutine = Routine(self.monitor, self.player) else: self.logger.log("Cannot find a Routine for your class and spe") def startFighting(self): self.getRoutine() self.player.checkConnection() if self.classRoutine is not None: self.isCombatModeEnabled = True while self.isCombatModeEnabled is True : self.classRoutine.start() time.sleep(0.1) self.logger.log("Combat mode is now disabled...") def stopFighting(self): self.isCombatModeEnabled = False def run(self): self.logger.log("Combat mode is now enabled...") fightingThread = Thread( target=self.startFighting, args=(), name="fighting thread", daemon=True) fightingThread.start()