Wowxel/bots/fighting/FightingAgent.py

47 lines
1.4 KiB
Python

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()