mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-11-29 15:58:20 +08:00
316 lines
18 KiB
C++
316 lines
18 KiB
C++
/*
|
|
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license, you may redistribute it
|
|
* and/or modify it under version 3 of the License, or (at your option), any later version.
|
|
*/
|
|
|
|
#ifndef _PLAYERBOT_CHATACTIONCONTEXTACTION_H
|
|
#define _PLAYERBOT_CHATACTIONCONTEXTACTION_H
|
|
|
|
#include "AddLootAction.h"
|
|
#include "AttackAction.h"
|
|
#include "BankAction.h"
|
|
#include "BuffAction.h"
|
|
#include "BuyAction.h"
|
|
#include "CastCustomSpellAction.h"
|
|
#include "ChangeChatAction.h"
|
|
#include "ChangeStrategyAction.h"
|
|
#include "ChangeTalentsAction.h"
|
|
#include "ChatShortcutActions.h"
|
|
#include "CheatAction.h"
|
|
#include "CustomStrategyEditAction.h"
|
|
#include "DebugAction.h"
|
|
#include "DestroyItemAction.h"
|
|
#include "DropQuestAction.h"
|
|
#include "EquipAction.h"
|
|
#include "FlagAction.h"
|
|
#include "Formations.h"
|
|
#include "GoAction.h"
|
|
#include "GossipHelloAction.h"
|
|
#include "GuildBankAction.h"
|
|
#include "GuildManagementActions.h"
|
|
#include "HelpAction.h"
|
|
#include "HireAction.h"
|
|
#include "InviteToGroupAction.h"
|
|
#include "LeaveGroupAction.h"
|
|
#include "ListQuestsActions.h"
|
|
#include "ListSpellsAction.h"
|
|
#include "LogLevelAction.h"
|
|
#include "LootStrategyAction.h"
|
|
#include "LootRollAction.h"
|
|
#include "MailAction.h"
|
|
#include "NamedObjectContext.h"
|
|
#include "NewRpgAction.h"
|
|
#include "PassLeadershipToMasterAction.h"
|
|
#include "PositionAction.h"
|
|
#include "QueryItemUsageAction.h"
|
|
#include "QueryQuestAction.h"
|
|
#include "RangeAction.h"
|
|
#include "ReleaseSpiritAction.h"
|
|
#include "RepairAllAction.h"
|
|
#include "ResetAiAction.h"
|
|
#include "ReviveFromCorpseAction.h"
|
|
#include "RewardAction.h"
|
|
#include "RtiAction.h"
|
|
#include "RtscAction.h"
|
|
#include "SaveManaAction.h"
|
|
#include "SellAction.h"
|
|
#include "SendMailAction.h"
|
|
#include "SetCraftAction.h"
|
|
#include "SetHomeAction.h"
|
|
#include "ShareQuestAction.h"
|
|
#include "SkipSpellsListAction.h"
|
|
#include "Stances.h"
|
|
#include "StatsAction.h"
|
|
#include "TaxiAction.h"
|
|
#include "TeleportAction.h"
|
|
#include "TellCastFailedAction.h"
|
|
#include "TellItemCountAction.h"
|
|
#include "TellLosAction.h"
|
|
#include "TellReputationAction.h"
|
|
#include "TellTargetAction.h"
|
|
#include "TradeAction.h"
|
|
#include "TrainerAction.h"
|
|
#include "UnequipAction.h"
|
|
#include "UseItemAction.h"
|
|
#include "UseMeetingStoneAction.h"
|
|
#include "WhoAction.h"
|
|
#include "WipeAction.h"
|
|
#include "WtsAction.h"
|
|
#include "OpenItemAction.h"
|
|
#include "UnlockItemAction.h"
|
|
#include "UnlockTradedItemAction.h"
|
|
#include "TameAction.h"
|
|
#include "TellGlyphsAction.h"
|
|
#include "EquipGlyphsAction.h"
|
|
#include "PetsAction.h"
|
|
|
|
class ChatActionContext : public NamedObjectContext<Action>
|
|
{
|
|
public:
|
|
ChatActionContext()
|
|
{
|
|
creators["open items"] = &ChatActionContext::open_items;
|
|
creators["unlock items"] = &ChatActionContext::unlock_items;
|
|
creators["unlock traded item"] = &ChatActionContext::unlock_traded_item;
|
|
creators["range"] = &ChatActionContext::range;
|
|
creators["stats"] = &ChatActionContext::stats;
|
|
creators["quests"] = &ChatActionContext::quests;
|
|
creators["leave"] = &ChatActionContext::leave;
|
|
creators["reputation"] = &ChatActionContext::reputation;
|
|
creators["log"] = &ChatActionContext::log;
|
|
creators["los"] = &ChatActionContext::los;
|
|
creators["rpg status"] = &ChatActionContext::rpg_status;
|
|
creators["rpg do quest"] = &ChatActionContext::rpg_do_quest;
|
|
creators["aura"] = &ChatActionContext::aura;
|
|
creators["drop"] = &ChatActionContext::drop;
|
|
creators["clean quest log"] = &ChatActionContext::clean_quest_log;
|
|
creators["share"] = &ChatActionContext::share;
|
|
creators["query quest"] = &ChatActionContext::query_quest;
|
|
creators["query item usage"] = &ChatActionContext::query_item_usage;
|
|
creators["ll"] = &ChatActionContext::ll;
|
|
creators["ss"] = &ChatActionContext::ss;
|
|
creators["add all loot"] = &ChatActionContext::add_all_loot;
|
|
creators["release"] = &ChatActionContext::release;
|
|
creators["repop"] = &ChatActionContext::repop;
|
|
creators["teleport"] = &ChatActionContext::teleport;
|
|
creators["taxi"] = &ChatActionContext::taxi;
|
|
creators["repair"] = &ChatActionContext::repair;
|
|
creators["use"] = &ChatActionContext::use;
|
|
creators["item count"] = &ChatActionContext::item_count;
|
|
creators["equip"] = &ChatActionContext::equip;
|
|
creators["equip upgrades"] = &ChatActionContext::equip_upgrades;
|
|
creators["unequip"] = &ChatActionContext::unequip;
|
|
creators["sell"] = &ChatActionContext::sell;
|
|
creators["buy"] = &ChatActionContext::buy;
|
|
creators["reward"] = &ChatActionContext::reward;
|
|
creators["trade"] = &ChatActionContext::trade;
|
|
creators["talents"] = &ChatActionContext::talents;
|
|
creators["spells"] = &ChatActionContext::spells;
|
|
creators["co"] = &ChatActionContext::co;
|
|
creators["nc"] = &ChatActionContext::nc;
|
|
creators["de"] = &ChatActionContext::dead;
|
|
creators["trainer"] = &ChatActionContext::trainer;
|
|
creators["maintenance"] = &ChatActionContext::maintenance;
|
|
creators["remove glyph"] = &ChatActionContext::remove_glyph;
|
|
creators["autogear"] = &ChatActionContext::autogear;
|
|
creators["equip upgrade"] = &ChatActionContext::equip_upgrade;
|
|
creators["attack my target"] = &ChatActionContext::attack_my_target;
|
|
creators["chat"] = &ChatActionContext::chat;
|
|
creators["home"] = &ChatActionContext::home;
|
|
creators["destroy"] = &ChatActionContext::destroy;
|
|
creators["reset botAI"] = &ChatActionContext::reset_ai;
|
|
creators["buff"] = &ChatActionContext::buff;
|
|
creators["help"] = &ChatActionContext::help;
|
|
creators["gb"] = &ChatActionContext::gb;
|
|
creators["bank"] = &ChatActionContext::bank;
|
|
creators["follow chat shortcut"] = &ChatActionContext::follow_chat_shortcut;
|
|
creators["stay chat shortcut"] = &ChatActionContext::stay_chat_shortcut;
|
|
creators["flee chat shortcut"] = &ChatActionContext::flee_chat_shortcut;
|
|
creators["runaway chat shortcut"] = &ChatActionContext::runaway_chat_shortcut;
|
|
creators["move from group chat shortcut"] = &ChatActionContext::move_from_group_chat_shortcut;
|
|
creators["grind chat shortcut"] = &ChatActionContext::grind_chat_shortcut;
|
|
creators["tank attack chat shortcut"] = &ChatActionContext::tank_attack_chat_shortcut;
|
|
creators["gossip hello"] = &ChatActionContext::gossip_hello;
|
|
creators["cast custom spell"] = &ChatActionContext::cast_custom_spell;
|
|
creators["cast custom nc spell"] = &ChatActionContext::cast_custom_nc_spell;
|
|
creators["invite"] = &ChatActionContext::invite;
|
|
creators["spell"] = &ChatActionContext::spell;
|
|
creators["rti"] = &ChatActionContext::rti;
|
|
creators["spirit healer"] = &ChatActionContext::spirit_healer;
|
|
creators["position"] = &ChatActionContext::position;
|
|
creators["tell target"] = &ChatActionContext::tell_target;
|
|
creators["summon"] = &ChatActionContext::summon;
|
|
creators["who"] = &ChatActionContext::who;
|
|
creators["save mana"] = &ChatActionContext::save_mana;
|
|
creators["max dps chat shortcut"] = &ChatActionContext::max_dps_chat_shortcut;
|
|
creators["tell attackers"] = &ChatActionContext::tell_attackers;
|
|
creators["tell target"] = &ChatActionContext::tell_target;
|
|
creators["formation"] = &ChatActionContext::formation;
|
|
creators["stance"] = &ChatActionContext::stance;
|
|
creators["sendmail"] = &ChatActionContext::sendmail;
|
|
creators["mail"] = &ChatActionContext::mail;
|
|
creators["go"] = &ChatActionContext::go;
|
|
creators["debug"] = &ChatActionContext::debug;
|
|
creators["cdebug"] = &ChatActionContext::debug;
|
|
creators["cs"] = &ChatActionContext::cs;
|
|
creators["wts"] = &ChatActionContext::wts;
|
|
creators["hire"] = &ChatActionContext::hire;
|
|
creators["craft"] = &ChatActionContext::craft;
|
|
creators["flag"] = &ChatActionContext::flag;
|
|
creators["give leader"] = &ChatActionContext::give_leader;
|
|
creators["cheat"] = &ChatActionContext::cheat;
|
|
creators["ginvite"] = &ChatActionContext::ginvite;
|
|
creators["guild promote"] = &ChatActionContext::guild_promote;
|
|
creators["guild demote"] = &ChatActionContext::guild_demote;
|
|
creators["guild remove"] = &ChatActionContext::guild_remove;
|
|
creators["guild leave"] = &ChatActionContext::guild_leave;
|
|
creators["rtsc"] = &ChatActionContext::rtsc;
|
|
creators["naxx chat shortcut"] = &ChatActionContext::naxx_chat_shortcut;
|
|
creators["bwl chat shortcut"] = &ChatActionContext::bwl_chat_shortcut;
|
|
creators["tell estimated dps"] = &ChatActionContext::tell_estimated_dps;
|
|
creators["join"] = &ChatActionContext::join;
|
|
creators["lfg"] = &ChatActionContext::lfg;
|
|
creators["calc"] = &ChatActionContext::calc;
|
|
creators["wipe"] = &ChatActionContext::wipe;
|
|
creators["tame"] = &ChatActionContext::tame;
|
|
creators["glyphs"] = &ChatActionContext::glyphs; // Added for custom Glyphs
|
|
creators["glyph equip"] = &ChatActionContext::glyph_equip; // Added for custom Glyphs
|
|
creators["pet"] = &ChatActionContext::pet;
|
|
creators["pet attack"] = &ChatActionContext::pet_attack;
|
|
creators["roll"] = &ChatActionContext::roll_action;
|
|
}
|
|
|
|
private:
|
|
static Action* open_items(PlayerbotAI* botAI) { return new OpenItemAction(botAI); }
|
|
static Action* unlock_items(PlayerbotAI* botAI) { return new UnlockItemAction(botAI); }
|
|
static Action* unlock_traded_item(PlayerbotAI* botAI) { return new UnlockTradedItemAction(botAI); }
|
|
static Action* range(PlayerbotAI* botAI) { return new RangeAction(botAI); }
|
|
static Action* flag(PlayerbotAI* botAI) { return new FlagAction(botAI); }
|
|
static Action* craft(PlayerbotAI* botAI) { return new SetCraftAction(botAI); }
|
|
static Action* hire(PlayerbotAI* botAI) { return new HireAction(botAI); }
|
|
static Action* wts(PlayerbotAI* botAI) { return new WtsAction(botAI); }
|
|
static Action* cs(PlayerbotAI* botAI) { return new CustomStrategyEditAction(botAI); }
|
|
static Action* debug(PlayerbotAI* botAI) { return new DebugAction(botAI); }
|
|
static Action* mail(PlayerbotAI* botAI) { return new MailAction(botAI); }
|
|
static Action* go(PlayerbotAI* botAI) { return new GoAction(botAI); }
|
|
static Action* sendmail(PlayerbotAI* botAI) { return new SendMailAction(botAI); }
|
|
static Action* formation(PlayerbotAI* botAI) { return new SetFormationAction(botAI); }
|
|
static Action* stance(PlayerbotAI* botAI) { return new SetStanceAction(botAI); }
|
|
static Action* tell_attackers(PlayerbotAI* botAI) { return new TellAttackersAction(botAI); }
|
|
static Action* max_dps_chat_shortcut(PlayerbotAI* botAI) { return new MaxDpsChatShortcutAction(botAI); }
|
|
static Action* save_mana(PlayerbotAI* botAI) { return new SaveManaAction(botAI); }
|
|
static Action* who(PlayerbotAI* botAI) { return new WhoAction(botAI); }
|
|
static Action* summon(PlayerbotAI* botAI) { return new SummonAction(botAI); }
|
|
static Action* tell_target(PlayerbotAI* botAI) { return new TellTargetAction(botAI); }
|
|
static Action* position(PlayerbotAI* botAI) { return new PositionAction(botAI); }
|
|
static Action* spirit_healer(PlayerbotAI* botAI) { return new SpiritHealerAction(botAI); }
|
|
static Action* rti(PlayerbotAI* botAI) { return new RtiAction(botAI); }
|
|
static Action* invite(PlayerbotAI* botAI) { return new InviteToGroupAction(botAI); }
|
|
static Action* lfg(PlayerbotAI* botAI) { return new LfgAction(botAI); }
|
|
static Action* spell(PlayerbotAI* botAI) { return new TellSpellAction(botAI); }
|
|
static Action* cast_custom_spell(PlayerbotAI* botAI) { return new CastCustomSpellAction(botAI); }
|
|
static Action* cast_custom_nc_spell(PlayerbotAI* botAI) { return new CastCustomNcSpellAction(botAI); }
|
|
static Action* tank_attack_chat_shortcut(PlayerbotAI* botAI) { return new TankAttackChatShortcutAction(botAI); }
|
|
static Action* grind_chat_shortcut(PlayerbotAI* botAI) { return new GrindChatShortcutAction(botAI); }
|
|
static Action* flee_chat_shortcut(PlayerbotAI* botAI) { return new FleeChatShortcutAction(botAI); }
|
|
static Action* runaway_chat_shortcut(PlayerbotAI* botAI) { return new GoawayChatShortcutAction(botAI); }
|
|
static Action* stay_chat_shortcut(PlayerbotAI* botAI) { return new StayChatShortcutAction(botAI); }
|
|
static Action* follow_chat_shortcut(PlayerbotAI* botAI) { return new FollowChatShortcutAction(botAI); }
|
|
static Action* move_from_group_chat_shortcut(PlayerbotAI* botAI) { return new MoveFromGroupChatShortcutAction(botAI); }
|
|
static Action* gb(PlayerbotAI* botAI) { return new GuildBankAction(botAI); }
|
|
static Action* bank(PlayerbotAI* botAI) { return new BankAction(botAI); }
|
|
static Action* help(PlayerbotAI* botAI) { return new HelpAction(botAI); }
|
|
static Action* buff(PlayerbotAI* botAI) { return new BuffAction(botAI); }
|
|
static Action* destroy(PlayerbotAI* botAI) { return new DestroyItemAction(botAI); }
|
|
static Action* home(PlayerbotAI* botAI) { return new SetHomeAction(botAI); }
|
|
static Action* chat(PlayerbotAI* botAI) { return new ChangeChatAction(botAI); }
|
|
static Action* attack_my_target(PlayerbotAI* botAI) { return new AttackMyTargetAction(botAI); }
|
|
static Action* trainer(PlayerbotAI* botAI) { return new TrainerAction(botAI); }
|
|
static Action* maintenance(PlayerbotAI* botAI) { return new MaintenanceAction(botAI); }
|
|
static Action* remove_glyph(PlayerbotAI* botAI) { return new RemoveGlyphAction(botAI); }
|
|
static Action* autogear(PlayerbotAI* botAI) { return new AutoGearAction(botAI); }
|
|
static Action* equip_upgrade(PlayerbotAI* botAI) { return new EquipUpgradeAction(botAI); }
|
|
static Action* co(PlayerbotAI* botAI) { return new ChangeCombatStrategyAction(botAI); }
|
|
static Action* nc(PlayerbotAI* botAI) { return new ChangeNonCombatStrategyAction(botAI); }
|
|
static Action* dead(PlayerbotAI* botAI) { return new ChangeDeadStrategyAction(botAI); }
|
|
static Action* spells(PlayerbotAI* botAI) { return new ListSpellsAction(botAI); }
|
|
static Action* talents(PlayerbotAI* botAI) { return new ChangeTalentsAction(botAI); }
|
|
|
|
static Action* equip(PlayerbotAI* botAI) { return new EquipAction(botAI); }
|
|
static Action* equip_upgrades(PlayerbotAI* botAI) { return new EquipUpgradesAction(botAI); }
|
|
static Action* unequip(PlayerbotAI* botAI) { return new UnequipAction(botAI); }
|
|
static Action* sell(PlayerbotAI* botAI) { return new SellAction(botAI); }
|
|
static Action* buy(PlayerbotAI* botAI) { return new BuyAction(botAI); }
|
|
static Action* reward(PlayerbotAI* botAI) { return new RewardAction(botAI); }
|
|
static Action* trade(PlayerbotAI* botAI) { return new TradeAction(botAI); }
|
|
|
|
static Action* item_count(PlayerbotAI* botAI) { return new TellItemCountAction(botAI); }
|
|
static Action* use(PlayerbotAI* botAI) { return new UseItemAction(botAI); }
|
|
static Action* repair(PlayerbotAI* botAI) { return new RepairAllAction(botAI); }
|
|
static Action* taxi(PlayerbotAI* botAI) { return new TaxiAction(botAI); }
|
|
static Action* teleport(PlayerbotAI* botAI) { return new TeleportAction(botAI); }
|
|
static Action* release(PlayerbotAI* botAI) { return new ReleaseSpiritAction(botAI); }
|
|
static Action* repop(PlayerbotAI* botAI) { return new RepopAction(botAI); }
|
|
static Action* query_item_usage(PlayerbotAI* botAI) { return new QueryItemUsageAction(botAI); }
|
|
static Action* query_quest(PlayerbotAI* botAI) { return new QueryQuestAction(botAI); }
|
|
static Action* drop(PlayerbotAI* botAI) { return new DropQuestAction(botAI); }
|
|
static Action* clean_quest_log(PlayerbotAI* botAI) { return new CleanQuestLogAction(botAI); }
|
|
static Action* share(PlayerbotAI* botAI) { return new ShareQuestAction(botAI); }
|
|
static Action* stats(PlayerbotAI* botAI) { return new StatsAction(botAI); }
|
|
static Action* quests(PlayerbotAI* botAI) { return new ListQuestsAction(botAI); }
|
|
static Action* leave(PlayerbotAI* botAI) { return new LeaveGroupAction(botAI); }
|
|
static Action* reputation(PlayerbotAI* botAI) { return new TellReputationAction(botAI); }
|
|
static Action* log(PlayerbotAI* botAI) { return new LogLevelAction(botAI); }
|
|
static Action* los(PlayerbotAI* botAI) { return new TellLosAction(botAI); }
|
|
static Action* rpg_status(PlayerbotAI* botAI) { return new TellRpgStatusAction(botAI); }
|
|
static Action* rpg_do_quest(PlayerbotAI* botAI) { return new StartRpgDoQuestAction(botAI); }
|
|
static Action* aura(PlayerbotAI* ai) { return new TellAuraAction(ai); }
|
|
static Action* ll(PlayerbotAI* botAI) { return new LootStrategyAction(botAI); }
|
|
static Action* ss(PlayerbotAI* botAI) { return new SkipSpellsListAction(botAI); }
|
|
static Action* add_all_loot(PlayerbotAI* botAI) { return new AddAllLootAction(botAI); }
|
|
static Action* reset_ai(PlayerbotAI* botAI) { return new ResetAiAction(botAI); }
|
|
static Action* gossip_hello(PlayerbotAI* botAI) { return new GossipHelloAction(botAI); }
|
|
static Action* give_leader(PlayerbotAI* botAI) { return new GiveLeaderAction(botAI); }
|
|
static Action* cheat(PlayerbotAI* botAI) { return new CheatAction(botAI); }
|
|
static Action* ginvite(PlayerbotAI* botAI) { return new GuildInviteAction(botAI); }
|
|
static Action* guild_promote(PlayerbotAI* botAI) { return new GuildPromoteAction(botAI); }
|
|
static Action* guild_demote(PlayerbotAI* botAI) { return new GuildDemoteAction(botAI); }
|
|
static Action* guild_remove(PlayerbotAI* botAI) { return new GuildRemoveAction(botAI); }
|
|
static Action* guild_leave(PlayerbotAI* botAI) { return new GuildLeaveAction(botAI); }
|
|
static Action* rtsc(PlayerbotAI* botAI) { return new RTSCAction(botAI); }
|
|
static Action* naxx_chat_shortcut(PlayerbotAI* ai) { return new NaxxChatShortcutAction(ai); }
|
|
static Action* bwl_chat_shortcut(PlayerbotAI* ai) { return new BwlChatShortcutAction(ai); }
|
|
static Action* tell_estimated_dps(PlayerbotAI* ai) { return new TellEstimatedDpsAction(ai); }
|
|
static Action* join(PlayerbotAI* ai) { return new JoinGroupAction(ai); }
|
|
static Action* calc(PlayerbotAI* ai) { return new TellCalculateItemAction(ai); }
|
|
static Action* wipe(PlayerbotAI* ai) { return new WipeAction(ai); }
|
|
static Action* tame(PlayerbotAI* botAI) { return new TameAction(botAI); }
|
|
static Action* glyphs(PlayerbotAI* botAI) { return new TellGlyphsAction(botAI); } // Added for custom Glyphs
|
|
static Action* glyph_equip(PlayerbotAI* ai) { return new EquipGlyphsAction(ai); } // Added for custom Glyphs
|
|
static Action* pet(PlayerbotAI* botAI) { return new PetsAction(botAI); }
|
|
static Action* pet_attack(PlayerbotAI* botAI) { return new PetsAction(botAI, "attack"); }
|
|
static Action* roll_action(PlayerbotAI* botAI) { return new RollAction(botAI); }
|
|
};
|
|
|
|
#endif
|