Files
mod-playerbots/src/Ai/Base/Actions/UseMeetingStoneAction.h
Alex Dcnh 76b6df9ea3 Extend SummonWhenGroup to auto-added bots (#2034)
### Summary
Extend AiPlayerbot.SummonWhenGroup to apply when bots are auto-added to
a group (e.g., addclass bots or raidus style auto invites).

### Motivation
Bots added automatically to a group never accept a normal invite, so
they do not trigger the summon-on-accept path. When SummonWhenGroup is
enabled, these bots should also be teleported next to the master to
match expected behavior.

### Implementation details
Hook the summon behavior right after automatic group addition.
2026-02-06 14:20:31 -08:00

36 lines
1020 B
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_USEMEETINGSTONEACTION_H
#define _PLAYERBOT_USEMEETINGSTONEACTION_H
#include "MovementActions.h"
class Player;
class PlayerbotAI;
class SummonAction : public MovementAction
{
public:
SummonAction(PlayerbotAI* botAI, std::string const name = "summon") : MovementAction(botAI, name) {}
bool Execute(Event event) override;
bool Teleport(Player* summoner, Player* player, bool preserveAuras);
protected:
bool SummonUsingGos(Player* summoner, Player* player, bool preserveAuras);
bool SummonUsingNpcs(Player* summoner, Player* player, bool preserveAuras);
};
class UseMeetingStoneAction : public SummonAction
{
public:
UseMeetingStoneAction(PlayerbotAI* botAI) : SummonAction(botAI, "use meeting stone") {}
bool Execute(Event event) override;
};
#endif