# lootDB from models.loots.loot import Loot from models.heroes.monster import Monster from models.heroes.hero import Hero # pour éviter les pb d'import circulaire from typing import TYPE_CHECKING if TYPE_CHECKING: from database.mainDB import MainDB class LootDB: def __init__(self, db: "MainDB") -> None: self.db = db def get_loots_by_hero_and_loot_type(self, hero: Hero, loot_type: int) -> list: query = """ SELECT l.* FROM loots l INNER JOIN characters_has_loots chl ON l.id = chl.loot_type WHERE chl.character_type = ? AND l.types_id = ?; """ values = (hero.type, loot_type) self.db.sql_query(query, values) results = self.db.cursor.fetchall() loots = [] for result in results: loots.append(self.define_loot(result)) return loots def define_loot(self, result: list) -> dict: id = result[0] title = result[1] type = result[2] loot_value = result[3] value = result[4] description = result[5] drop_rate = result[6] loot = Loot(title, description, type, loot_value, value, drop_rate) loot.id = id return loot