Files
mod-playerbots/src/strategy/values/AoeValues.h
2023-03-23 12:22:58 -06:00

45 lines
1.1 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.
*/
#ifndef _PLAYERBOT_AOEVALUES_H
#define _PLAYERBOT_AOEVALUES_H
#include "Object.h"
#include "Value.h"
#include "AiObjectContext.h"
class PlayerbotAI;
class AoePositionValue : public CalculatedValue<WorldLocation>
{
public:
AoePositionValue(PlayerbotAI* botAI) : CalculatedValue<WorldLocation>(botAI, "aoe position") { }
WorldLocation Calculate() override;
};
class AoeCountValue : public CalculatedValue<uint8>
{
public:
AoeCountValue(PlayerbotAI* botAI) : CalculatedValue<uint8>(botAI, "aoe count") { }
uint8 Calculate() override;
};
class HasAreaDebuffValue : public BoolCalculatedValue, public Qualified
{
public:
HasAreaDebuffValue(PlayerbotAI* botAI) : BoolCalculatedValue(botAI) {}
Unit* GetTarget()
{
AiObjectContext* ctx = AiObject::context;
return ctx->GetValue<Unit*>(qualifier)->Get();
}
virtual bool Calculate();
};
#endif