mirror of
https://github.com/DarkflameUniverse/DarkflameServer
synced 2024-08-30 18:43:58 +00:00
b261e63233
* chore: Change entity and component logic to use bitstream references * merge
44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
#pragma once
|
|
#include "Behavior.h"
|
|
#include "dCommonVars.h"
|
|
#include "NiPoint3.h"
|
|
#include <forward_list>
|
|
|
|
class TacArcBehavior final : public Behavior {
|
|
public:
|
|
explicit TacArcBehavior(const uint32_t behavior_id) : Behavior(behavior_id) {}
|
|
void Handle(BehaviorContext* context, RakNet::BitStream& bitStream, BehaviorBranchContext branch) override;
|
|
void Calculate(BehaviorContext* context, RakNet::BitStream& bitStream, BehaviorBranchContext branch) override;
|
|
void Load() override;
|
|
private:
|
|
float m_maxRange;
|
|
float m_height;
|
|
float m_distanceWeight;
|
|
float m_angleWeight;
|
|
float m_angle;
|
|
float m_minRange;
|
|
NiPoint3 m_offset;
|
|
uint32_t m_method;
|
|
float m_upperBound;
|
|
float m_lowerBound;
|
|
bool m_usePickedTarget;
|
|
bool m_useTargetPostion;
|
|
bool m_checkEnv;
|
|
bool m_useAttackPriority;
|
|
Behavior* m_action;
|
|
Behavior* m_missAction;
|
|
Behavior* m_blockedAction;
|
|
uint32_t m_maxTargets;
|
|
float m_farHeight;
|
|
float m_farWidth;
|
|
float m_nearHeight;
|
|
float m_nearWidth;
|
|
|
|
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;
|
|
};
|