mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-01-16 02:10:28 +00:00
Big update.
This commit is contained in:
59
src/strategy/actions/TellTargetAction.cpp
Normal file
59
src/strategy/actions/TellTargetAction.cpp
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
Reference in New Issue
Block a user