/* * Copyright (C) 2016+ AzerothCore , 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 "GameObject.h" #include "Object.h" #include "Value.h" #include "AiObjectContext.h" class PlayerbotAI; class AoePositionValue : public CalculatedValue { public: AoePositionValue(PlayerbotAI* botAI) : CalculatedValue(botAI, "aoe position") { } WorldLocation Calculate() override; }; class AoeCountValue : public CalculatedValue { public: AoeCountValue(PlayerbotAI* botAI) : CalculatedValue(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(qualifier)->Get(); } virtual bool Calculate(); }; class AreaDebuffValue : public CalculatedValue { public: AreaDebuffValue(PlayerbotAI* botAI) : CalculatedValue(botAI, "area debuff", 1) { } Aura* Calculate() override; }; #endif