jfd02 / TFT-OCR-BOT

A bot that plays Teamfight Tactics using OCR. Keeps track of bench, board, items, and plays the user defined team comp.
GNU General Public License v3.0
328 stars 91 forks source link

Priority of Items for champions. Items/champions categories. #312

Closed DirtyTalkings closed 3 months ago

DirtyTalkings commented 3 months ago

Is it possible to prioritize items for champions? Example: I have 2 main characters and they are marked as like the Final Composition and the bot gives them the main items. The rest of the items are not important to me and the bot would give the rest of the items to no-main champions depending on category. This would help solve the problem with non-craftable items. Example: add tank/damage/mage categories to champions and items. Add non-craftable items to the selected category and if I have a tank champion to which I do not want to give items, the bot itself will give a non-craftable-tank item or a tank item from pieces.

anthony5301 commented 3 months ago

We already have this function. For example: COMP = { "Galio": { "board_position": 25, "items": ["BrambleVest", "DragonsClaw", "WarmogsArmor"], "level": 2, "final_comp": True }, "Kaisa": { "board_position": 5, "items": ["InfinityEdge", "LastWhisper", "SpearofShojin"], "level": 3, "final_comp": True }, "Sivir": { "board_position": 4, "items": ["SpearofShojin", "StatikkShiv"], "level": 2, "final_comp": True },

If both three champion on the board, bot will first try to give the item to Gailo, and check what item that Galio needs. Then try to build the first items, if we don't have any components of the first item, we will move to the second item and third item. Then second champion=> items1>2>3 Then third champion=> items1>2>3

So you can just adjust the order of champion and items to prioritize the items. The augment has the same logic, will check which augments are higher in comps.py and choose it.