mirror of
https://github.com/liyunfan1223/mod-playerbots.git
synced 2026-06-20 15:39:25 +02:00
## Pull Request Description Migration of "wait for attack" strategy from cmangos playerbots. Resolves: https://github.com/mod-playerbots/mod-playerbots/issues/990 ## Feature Evaluation Optional strategy for bots which are in party with real player. ## How to Test the Changes - add strategy to bot "nc +wait for attack" and "co +wait for attack" - set time via command "wait for attack time x" where x is time which they wait in seconds (you should get response from bot) - attack any target (for example dummy in main city)(bot should wait with attack) ## Impact Assessment - [ ] No, not at all - [x] Minimal impact (**explain below**) - [ ] Moderate impact (**explain below**) Performance wise only bots having this optinal strategy have additional cost in multiplier which check every attack action that should be execute. - Does this change modify default bot behavior? - [x] No - [ ] Yes (**explain why**) - Does this change add new decision branches or increase maintenance complexity? - [x] No - [ ] Yes (**explain below**) ## Messages to Translate Does this change add bot messages to translate? - [ ] No - [x] Yes (**list messages in the table**) | Message key | Default message | | --------------- | ------------------ | 1740 | Please provide a time to set (in seconds) 1741 | Please provide valid time to set (in seconds) between 0 and 99 1742 | Wait for attack time set to %new_time seconds ## AI Assistance Was AI assistance used while working on this change? - [ ] No - [x] Yes (**explain below**) <!-- If yes, please specify: - Purpose of usage (e.g. brainstorming, refactoring, documentation, code generation). - Which parts of the change were influenced or generated, and whether it was thoroughly reviewed. --> Copilot CLI - help with migration ## Final Checklist - [x] Stability is not compromised. - [x] Performance impact is understood, tested, and acceptable. - [x] Added logic complexity is justified and explained. - [x] Documentation updated if needed (Conf comments, WiKi commands). ## Notes for Reviewers <!-- Anything else that's helpful to review or test your pull request. -->
277 lines
20 KiB
C++
277 lines
20 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_CHATTRIGGERCONTEXT_H
|
|
#define _PLAYERBOT_CHATTRIGGERCONTEXT_H
|
|
|
|
#include "ChatCommandTrigger.h"
|
|
#include "NamedObjectContext.h"
|
|
|
|
class PlayerbotAI;
|
|
|
|
class ChatTriggerContext : public NamedObjectContext<Trigger>
|
|
{
|
|
public:
|
|
ChatTriggerContext()
|
|
{
|
|
creators["open items"] = &ChatTriggerContext::open_items;
|
|
creators["unlock items"] = &ChatTriggerContext::unlock_items;
|
|
creators["unlock traded item"] = &ChatTriggerContext::unlock_traded_item;
|
|
creators["quests"] = &ChatTriggerContext::quests;
|
|
creators["stats"] = &ChatTriggerContext::stats;
|
|
creators["leave"] = &ChatTriggerContext::leave;
|
|
creators["rep"] = &ChatTriggerContext::reputation;
|
|
creators["reputation"] = &ChatTriggerContext::reputation;
|
|
creators["pvp stats"] = &ChatTriggerContext::pvp_stats;
|
|
creators["log"] = &ChatTriggerContext::log;
|
|
creators["los"] = &ChatTriggerContext::los;
|
|
creators["rpg status"] = &ChatTriggerContext::rpg_status;
|
|
creators["rpg do quest"] = &ChatTriggerContext::rpg_do_quest;
|
|
creators["aura"] = &ChatTriggerContext::aura;
|
|
creators["drop"] = &ChatTriggerContext::drop;
|
|
creators["share"] = &ChatTriggerContext::share;
|
|
creators["q"] = &ChatTriggerContext::q;
|
|
creators["ll"] = &ChatTriggerContext::ll;
|
|
creators["ss"] = &ChatTriggerContext::ss;
|
|
creators["loot all"] = &ChatTriggerContext::loot_all;
|
|
creators["add all loot"] = &ChatTriggerContext::loot_all;
|
|
creators["release"] = &ChatTriggerContext::release;
|
|
creators["teleport"] = &ChatTriggerContext::teleport;
|
|
creators["taxi"] = &ChatTriggerContext::taxi;
|
|
creators["repair"] = &ChatTriggerContext::repair;
|
|
creators["u"] = &ChatTriggerContext::use;
|
|
creators["use"] = &ChatTriggerContext::use;
|
|
creators["c"] = &ChatTriggerContext::item_count;
|
|
creators["items"] = &ChatTriggerContext::item_count;
|
|
creators["inventory"] = &ChatTriggerContext::item_count;
|
|
creators["inv"] = &ChatTriggerContext::item_count;
|
|
creators["e"] = &ChatTriggerContext::equip;
|
|
creators["equip"] = &ChatTriggerContext::equip;
|
|
creators["ue"] = &ChatTriggerContext::uneqip;
|
|
creators["s"] = &ChatTriggerContext::sell;
|
|
creators["b"] = &ChatTriggerContext::buy;
|
|
creators["r"] = &ChatTriggerContext::reward;
|
|
creators["t"] = &ChatTriggerContext::trade;
|
|
creators["nt"] = &ChatTriggerContext::nontrade;
|
|
creators["talents"] = &ChatTriggerContext::talents;
|
|
creators["spells"] = &ChatTriggerContext::spells;
|
|
creators["co"] = &ChatTriggerContext::co;
|
|
creators["nc"] = &ChatTriggerContext::nc;
|
|
creators["de"] = &ChatTriggerContext::dead;
|
|
creators["trainer"] = &ChatTriggerContext::trainer;
|
|
creators["maintenance"] = &ChatTriggerContext::maintenance;
|
|
creators["remove glyph"] = &ChatTriggerContext::remove_glyph;
|
|
creators["autogear"] = &ChatTriggerContext::autogear;
|
|
creators["equip upgrade"] = &ChatTriggerContext::equip_upgrade;
|
|
creators["attack"] = &ChatTriggerContext::attack;
|
|
creators["chat"] = &ChatTriggerContext::chat;
|
|
creators["accept"] = &ChatTriggerContext::accept;
|
|
creators["home"] = &ChatTriggerContext::home;
|
|
creators["reset botAI"] = &ChatTriggerContext::reset_ai;
|
|
creators["destroy"] = &ChatTriggerContext::destroy;
|
|
creators["emote"] = &ChatTriggerContext::emote;
|
|
creators["buff"] = &ChatTriggerContext::buff;
|
|
creators["help"] = &ChatTriggerContext::help;
|
|
creators["gb"] = &ChatTriggerContext::gb;
|
|
creators["gbank"] = &ChatTriggerContext::gb;
|
|
creators["bank"] = &ChatTriggerContext::bank;
|
|
creators["follow"] = &ChatTriggerContext::follow;
|
|
creators["move from group"] = &ChatTriggerContext::move_from_group;
|
|
creators["stay"] = &ChatTriggerContext::stay;
|
|
creators["flee"] = &ChatTriggerContext::flee;
|
|
creators["grind"] = &ChatTriggerContext::grind;
|
|
creators["tank attack"] = &ChatTriggerContext::tank_attack;
|
|
creators["talk"] = &ChatTriggerContext::talk;
|
|
creators["enter vehicle"] = &ChatTriggerContext::enter_vehicle;
|
|
creators["leave vehicle"] = &ChatTriggerContext::leave_vehicle;
|
|
creators["cast"] = &ChatTriggerContext::cast;
|
|
creators["castnc"] = &ChatTriggerContext::castnc;
|
|
creators["invite"] = &ChatTriggerContext::invite;
|
|
creators["lfg"] = &ChatTriggerContext::lfg;
|
|
creators["spell"] = &ChatTriggerContext::spell;
|
|
creators["rti"] = &ChatTriggerContext::rti;
|
|
creators["revive"] = &ChatTriggerContext::revive;
|
|
creators["runaway"] = &ChatTriggerContext::runaway;
|
|
creators["warning"] = &ChatTriggerContext::warning;
|
|
creators["position"] = &ChatTriggerContext::position;
|
|
creators["summon"] = &ChatTriggerContext::summon;
|
|
creators["who"] = &ChatTriggerContext::who;
|
|
creators["save mana"] = &ChatTriggerContext::save_mana;
|
|
creators["max dps"] = &ChatTriggerContext::max_dps;
|
|
creators["attackers"] = &ChatTriggerContext::attackers;
|
|
creators["target"] = &ChatTriggerContext::target;
|
|
creators["formation"] = &ChatTriggerContext::formation;
|
|
creators["stance"] = &ChatTriggerContext::stance;
|
|
creators["cancel tree form"] = &ChatTriggerContext::cancel_tree_form;
|
|
creators["cancel travel form"] = &ChatTriggerContext::cancel_travel_form;
|
|
creators["cancel bear form"] = &ChatTriggerContext::cancel_bear_form;
|
|
creators["cancel dire bear form"] = &ChatTriggerContext::cancel_dire_bear_form;
|
|
creators["cancel cat form"] = &ChatTriggerContext::cancel_cat_form;
|
|
creators["cancel moonkin form"] = &ChatTriggerContext::cancel_moonkin_form;
|
|
creators["cancel aquatic form"] = &ChatTriggerContext::cancel_aquatic_form;
|
|
creators["sendmail"] = &ChatTriggerContext::sendmail;
|
|
creators["mail"] = &ChatTriggerContext::mail;
|
|
creators["outfit"] = &ChatTriggerContext::outfit;
|
|
creators["go"] = &ChatTriggerContext::go;
|
|
creators["ready"] = &ChatTriggerContext::ready_check;
|
|
creators["debug"] = &ChatTriggerContext::debug;
|
|
creators["cdebug"] = &ChatTriggerContext::cdebug;
|
|
creators["cs"] = &ChatTriggerContext::cs;
|
|
creators["wts"] = &ChatTriggerContext::wts;
|
|
// creators["hire"] = &ChatTriggerContext::hire; // Not correctly implemented at this time, would cause crash and other issues.
|
|
creators["craft"] = &ChatTriggerContext::craft;
|
|
creators["flag"] = &ChatTriggerContext::craft;
|
|
creators["range"] = &ChatTriggerContext::range;
|
|
creators["ra"] = &ChatTriggerContext::ra;
|
|
creators["give leader"] = &ChatTriggerContext::give_leader;
|
|
creators["cheat"] = &ChatTriggerContext::cheat;
|
|
creators["ginvite"] = &ChatTriggerContext::ginvite;
|
|
creators["guild promote"] = &ChatTriggerContext::guild_promote;
|
|
creators["guild demote"] = &ChatTriggerContext::guild_demote;
|
|
creators["guild remove"] = &ChatTriggerContext::guild_remove;
|
|
creators["guild leave"] = &ChatTriggerContext::guild_leave;
|
|
creators["rtsc"] = &ChatTriggerContext::rtsc;
|
|
creators["drink"] = &ChatTriggerContext::drink;
|
|
creators["dps"] = &ChatTriggerContext::dps;
|
|
creators["disperse"] = &ChatTriggerContext::disperse;
|
|
creators["calc"] = &ChatTriggerContext::calc;
|
|
creators["qi"] = &ChatTriggerContext::qi;
|
|
creators["wipe"] = &ChatTriggerContext::wipe;
|
|
creators["tame"] = &ChatTriggerContext::tame;
|
|
creators["glyphs"] = &ChatTriggerContext::glyphs; // Added for custom Glyphs
|
|
creators["glyph equip"] = &ChatTriggerContext::glyph_equip; // Added for custom Glyphs
|
|
creators["pet"] = &ChatTriggerContext::pet;
|
|
creators["pet attack"] = &ChatTriggerContext::pet_attack;
|
|
creators["roll"] = &ChatTriggerContext::roll_action;
|
|
creators["wait for attack time"] = &ChatTriggerContext::wait_for_attack_time;
|
|
}
|
|
|
|
private:
|
|
static Trigger* open_items(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "open items"); }
|
|
static Trigger* unlock_items(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "unlock items"); }
|
|
static Trigger* unlock_traded_item(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "unlock traded item"); }
|
|
static Trigger* ra(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "ra"); }
|
|
static Trigger* range(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "range"); }
|
|
static Trigger* flag(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "flag"); }
|
|
static Trigger* craft(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "craft"); }
|
|
static Trigger* hire(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "hire"); }
|
|
static Trigger* wts(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "wts"); }
|
|
static Trigger* cs(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cs"); }
|
|
static Trigger* debug(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "debug"); }
|
|
static Trigger* cdebug(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cdebug"); }
|
|
static Trigger* go(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "go"); }
|
|
static Trigger* outfit(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "outfit"); }
|
|
static Trigger* mail(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "mail"); }
|
|
static Trigger* sendmail(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "sendmail"); }
|
|
static Trigger* formation(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "formation"); }
|
|
static Trigger* stance(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "stance"); }
|
|
static Trigger* cancel_tree_form(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cancel tree form"); }
|
|
static Trigger* cancel_travel_form(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cancel travel form"); }
|
|
static Trigger* cancel_bear_form(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cancel bear form"); }
|
|
static Trigger* cancel_dire_bear_form(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cancel dire bear form"); }
|
|
static Trigger* cancel_cat_form(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cancel cat form"); }
|
|
static Trigger* cancel_moonkin_form(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cancel moonkin form"); }
|
|
static Trigger* cancel_aquatic_form(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cancel aquatic form"); }
|
|
static Trigger* attackers(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "attackers"); }
|
|
static Trigger* target(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "target"); }
|
|
static Trigger* max_dps(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "max dps"); }
|
|
static Trigger* save_mana(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "save mana"); }
|
|
static Trigger* who(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "who"); }
|
|
static Trigger* summon(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "summon"); }
|
|
static Trigger* position(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "position"); }
|
|
static Trigger* runaway(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "runaway"); }
|
|
static Trigger* warning(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "warning"); }
|
|
static Trigger* revive(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "revive"); }
|
|
static Trigger* rti(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "rti"); }
|
|
static Trigger* invite(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "invite"); }
|
|
static Trigger* lfg(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "lfg"); }
|
|
static Trigger* cast(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cast"); }
|
|
static Trigger* castnc(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "castnc"); }
|
|
static Trigger* talk(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "talk"); }
|
|
static Trigger* enter_vehicle(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "enter vehicle"); }
|
|
static Trigger* leave_vehicle(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "leave vehicle"); }
|
|
static Trigger* flee(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "flee"); }
|
|
static Trigger* grind(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "grind"); }
|
|
static Trigger* tank_attack(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "tank attack"); }
|
|
static Trigger* stay(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "stay"); }
|
|
static Trigger* follow(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "follow"); }
|
|
static Trigger* move_from_group(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "move from group"); }
|
|
static Trigger* gb(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "gb"); }
|
|
static Trigger* bank(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "bank"); }
|
|
static Trigger* help(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "help"); }
|
|
static Trigger* buff(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "buff"); }
|
|
static Trigger* emote(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "emote"); }
|
|
static Trigger* destroy(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "destroy"); }
|
|
static Trigger* home(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "home"); }
|
|
static Trigger* accept(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "accept"); }
|
|
static Trigger* chat(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "chat"); }
|
|
static Trigger* attack(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "attack"); }
|
|
static Trigger* trainer(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "trainer"); }
|
|
static Trigger* maintenance(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "maintenance"); }
|
|
static Trigger* remove_glyph(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "remove glyph"); }
|
|
static Trigger* autogear(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "autogear"); }
|
|
static Trigger* equip_upgrade(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "equip upgrade"); }
|
|
static Trigger* co(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "co"); }
|
|
static Trigger* nc(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "nc"); }
|
|
static Trigger* dead(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "de"); }
|
|
static Trigger* spells(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "spells"); }
|
|
static Trigger* talents(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "talents"); }
|
|
static Trigger* equip(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "e"); }
|
|
static Trigger* uneqip(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "ue"); }
|
|
static Trigger* sell(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "s"); }
|
|
static Trigger* buy(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "b"); }
|
|
static Trigger* reward(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "r"); }
|
|
static Trigger* trade(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "t"); }
|
|
static Trigger* nontrade(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "nt"); }
|
|
static Trigger* item_count(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "c"); }
|
|
static Trigger* use(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "use"); }
|
|
static Trigger* repair(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "repair"); }
|
|
static Trigger* taxi(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "taxi"); }
|
|
static Trigger* teleport(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "teleport"); }
|
|
static Trigger* q(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "q"); }
|
|
static Trigger* ll(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "ll"); }
|
|
static Trigger* ss(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "ss"); }
|
|
static Trigger* drop(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "drop"); }
|
|
static Trigger* share(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "share"); }
|
|
static Trigger* quests(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "quests"); }
|
|
static Trigger* stats(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "stats"); }
|
|
static Trigger* leave(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "leave"); }
|
|
static Trigger* reputation(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "reputation"); }
|
|
static Trigger* pvp_stats(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "pvp stats"); }
|
|
static Trigger* log(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "log"); }
|
|
static Trigger* los(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "los"); }
|
|
static Trigger* rpg_status(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "rpg status"); }
|
|
static Trigger* rpg_do_quest(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "rpg do quest"); }
|
|
static Trigger* aura(PlayerbotAI* ai) { return new ChatCommandTrigger(ai, "aura"); }
|
|
static Trigger* loot_all(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "add all loot"); }
|
|
static Trigger* release(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "release"); }
|
|
static Trigger* reset_ai(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "reset botAI"); }
|
|
static Trigger* spell(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "spell"); }
|
|
static Trigger* ready_check(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "ready check"); }
|
|
static Trigger* give_leader(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "give leader"); }
|
|
static Trigger* cheat(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "cheat"); }
|
|
static Trigger* ginvite(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "ginvite"); }
|
|
static Trigger* guild_promote(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "guild promote"); }
|
|
static Trigger* guild_demote(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "guild demote"); }
|
|
static Trigger* guild_remove(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "guild remove"); }
|
|
static Trigger* guild_leave(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "guild leave"); }
|
|
static Trigger* rtsc(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "rtsc"); }
|
|
static Trigger* drink(PlayerbotAI* ai) { return new ChatCommandTrigger(ai, "drink"); }
|
|
static Trigger* dps(PlayerbotAI* ai) { return new ChatCommandTrigger(ai, "dps"); }
|
|
static Trigger* disperse(PlayerbotAI* ai) { return new ChatCommandTrigger(ai, "disperse"); }
|
|
static Trigger* calc(PlayerbotAI* ai) { return new ChatCommandTrigger(ai, "calc"); }
|
|
static Trigger* qi(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "qi"); }
|
|
static Trigger* wipe(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "wipe"); }
|
|
static Trigger* tame(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "tame"); }
|
|
static Trigger* glyphs(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "glyphs"); } // Added for custom Glyphs
|
|
static Trigger* glyph_equip(PlayerbotAI* ai) { return new ChatCommandTrigger(ai, "glyph equip"); } // Added for custom Glyphs
|
|
static Trigger* pet(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "pet"); }
|
|
static Trigger* pet_attack(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "pet attack"); }
|
|
static Trigger* roll_action(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "roll"); }
|
|
static Trigger* wait_for_attack_time(PlayerbotAI* botAI) { return new ChatCommandTrigger(botAI, "wait for attack time"); }
|
|
};
|
|
|
|
#endif
|