Files
mod-playerbots/src/strategy/actions/EquipAction.h
2024-03-19 17:06:14 +08:00

47 lines
1.2 KiB
C++

/*
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU GPL v2 license, you may redistribute it and/or modify it under version 2 of the License, or (at your option), any later version.
*/
#ifndef _PLAYERBOT_EQUIPACTION_H
#define _PLAYERBOT_EQUIPACTION_H
#include "ChatHelper.h"
#include "InventoryAction.h"
class FindItemVisitor;
class Item;
class PlayerbotAI;
class EquipAction : public InventoryAction
{
public:
EquipAction(PlayerbotAI* botAI, std::string const name = "equip") : InventoryAction(botAI, name) { }
bool Execute(Event event) override;
void EquipItems(ItemIds ids);
private:
void EquipItem(FindItemVisitor* visitor);
uint8 GetSmallestBagSlot();
void EquipItem(Item* item);
};
class EquipUpgradesAction : public EquipAction
{
public:
EquipUpgradesAction(PlayerbotAI* botAI, std::string const name = "equip upgrades") : EquipAction(botAI, name) { }
bool Execute(Event event) override;
};
class EquipUpgradeAction : public EquipAction
{
public:
EquipUpgradeAction(PlayerbotAI* botAI, std::string const name = "equip upgrade") : EquipAction(botAI, name) { }
bool Execute(Event event) override;
};
#endif