2021-12-05 17:54:36 +00:00
|
|
|
#pragma once
|
|
|
|
#include "Behavior.h"
|
2023-10-09 20:18:51 +00:00
|
|
|
#include <forward_list>
|
2021-12-05 17:54:36 +00:00
|
|
|
|
|
|
|
class AreaOfEffectBehavior final : public Behavior
|
|
|
|
{
|
|
|
|
public:
|
2023-10-09 20:18:51 +00:00
|
|
|
explicit AreaOfEffectBehavior(const uint32_t behaviorId) : Behavior(behaviorId) {}
|
2021-12-05 17:54:36 +00:00
|
|
|
void Handle(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
|
|
|
|
void Calculate(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
|
|
|
|
void Load() override;
|
2023-10-09 20:18:51 +00:00
|
|
|
private:
|
|
|
|
Behavior* m_action;
|
|
|
|
uint32_t m_maxTargets;
|
|
|
|
float m_radius;
|
|
|
|
bool m_useTargetPosition;
|
|
|
|
bool m_useTargetAsCaster;
|
|
|
|
NiPoint3 m_offset;
|
|
|
|
|
|
|
|
std::forward_list<int32_t> m_ignoreFactionList {};
|
|
|
|
std::forward_list<int32_t> m_includeFactionList {};
|
|
|
|
bool m_targetSelf;
|
|
|
|
bool m_targetEnemy;
|
|
|
|
bool m_targetFriend;
|
|
|
|
bool m_targetTeam;
|
2021-12-05 17:54:36 +00:00
|
|
|
};
|