mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-01-26 15:06:22 +00:00
Rewrite has totem check
This commit is contained in:
@@ -9,22 +9,59 @@ char* strstri(char const* str1, char const* str2);
|
|||||||
|
|
||||||
bool HasTotemValue::Calculate()
|
bool HasTotemValue::Calculate()
|
||||||
{
|
{
|
||||||
GuidVector units = *context->GetValue<GuidVector>("nearest totems");
|
for (uint8 i = 0; i < MAX_SUMMON_SLOT; ++i)
|
||||||
for (ObjectGuid const guid : units)
|
|
||||||
{
|
{
|
||||||
Unit* unit = botAI->GetUnit(guid);
|
if (!bot->m_SummonSlot[i])
|
||||||
if (!unit)
|
{
|
||||||
continue;
|
|
||||||
|
|
||||||
Creature* creature = dynamic_cast<Creature*>(unit);
|
|
||||||
|
|
||||||
if (creature->GetOwner() != bot) {
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strstri(creature->GetName().c_str(), qualifier.c_str()))
|
if (Creature* OldTotem = bot->GetMap()->GetCreature(bot->m_SummonSlot[i]))
|
||||||
return true;
|
{
|
||||||
|
if (OldTotem->IsSummon() && OldTotem->GetDistance(bot) <= 30.0f)
|
||||||
|
{
|
||||||
|
if (strstri(OldTotem->GetName().c_str(), qualifier.c_str()))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// bool HasTotemValue::Calculate()
|
||||||
|
// {
|
||||||
|
// for (uint8 i = 0; i < MAX_SUMMON_SLOT; ++i)
|
||||||
|
// {
|
||||||
|
// if (!bot->m_SummonSlot[i])
|
||||||
|
// {
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (Creature* OldTotem = bot->GetMap()->GetCreature(bot->m_SummonSlot[i]))
|
||||||
|
// {
|
||||||
|
// if (OldTotem->IsSummon())
|
||||||
|
// {
|
||||||
|
// if (strstri(creature->GetName().c_str(), qualifier.c_str()))
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// GuidVector units = *context->GetValue<GuidVector>("nearest totems");
|
||||||
|
// for (ObjectGuid const guid : units)
|
||||||
|
// {
|
||||||
|
// Unit* unit = botAI->GetUnit(guid);
|
||||||
|
// if (!unit)
|
||||||
|
// continue;
|
||||||
|
// Creature* creature = dynamic_cast<Creature*>(unit);
|
||||||
|
|
||||||
|
// if (creature->GetOwner() != bot) {
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (strstri(creature->GetName().c_str(), qualifier.c_str()))
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
|||||||
Reference in New Issue
Block a user