mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-01-13 17:09:08 +00:00
60 lines
1.5 KiB
C++
60 lines
1.5 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.
|
|
*/
|
|
|
|
#include "TellTargetAction.h"
|
|
#include "ThreatMgr.h"
|
|
#include "Event.h"
|
|
#include "Playerbots.h"
|
|
|
|
bool TellTargetAction::Execute(Event event)
|
|
{
|
|
Unit* target = context->GetValue<Unit*>("current target")->Get();
|
|
if (target)
|
|
{
|
|
std::ostringstream out;
|
|
out << "Attacking " << target->GetName();
|
|
botAI->TellMaster(out);
|
|
|
|
context->GetValue<Unit*>("old target")->Set(target);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
bool TellAttackersAction::Execute(Event event)
|
|
{
|
|
botAI->TellMaster("--- Attackers ---");
|
|
|
|
GuidVector attackers = context->GetValue<GuidVector>("attackers")->Get();
|
|
for (ObjectGuid const guid : attackers)
|
|
{
|
|
Unit* unit = botAI->GetUnit(guid);
|
|
if (!unit || !unit->IsAlive())
|
|
continue;
|
|
|
|
botAI->TellMaster(unit->GetName());
|
|
}
|
|
|
|
botAI->TellMaster("--- Threat ---");
|
|
|
|
HostileReference* ref = bot->getHostileRefMgr().getFirst();
|
|
if (!ref)
|
|
return true;
|
|
|
|
while( ref )
|
|
{
|
|
ThreatMgr* threatMgr = ref->GetSource();
|
|
Unit* unit = threatMgr->GetOwner();
|
|
float threat = ref->getThreat();
|
|
|
|
std::ostringstream out;
|
|
out << unit->GetName() << " (" << threat << ")";
|
|
botAI->TellMaster(out);
|
|
|
|
ref = ref->next();
|
|
}
|
|
|
|
return true;
|
|
}
|