mirror of
https://github.com/DarkflameUniverse/DarkflameServer
synced 2024-08-30 18:43:58 +00:00
833ed8a40d
Adds the ability for the buccaneer valiant to spawn a ship that rams enemies and smashes them. Next to a script that triggers the ship skill a few other changes had to be made: - Force movement behavior server side calculation and sync - The ship has no physics volume so the FindValidTargets for behaviors had to be altered to allow ControllablePhysics entities to find entities within their area. The "target_self" AOE flag has been used to replicate the old behavior.
37 lines
899 B
C++
37 lines
899 B
C++
#pragma once
|
|
#include "Behavior.h"
|
|
|
|
class ForceMovementBehavior final : public Behavior
|
|
{
|
|
public:
|
|
Behavior* m_hitAction;
|
|
|
|
Behavior* m_hitEnemyAction;
|
|
|
|
Behavior* m_hitFactionAction;
|
|
|
|
float_t m_Duration;
|
|
float_t m_Forward;
|
|
float_t m_Left;
|
|
float_t m_Yaw;
|
|
|
|
/*
|
|
* Inherited
|
|
*/
|
|
|
|
explicit ForceMovementBehavior(const uint32_t behaviorId) : Behavior(behaviorId)
|
|
{
|
|
}
|
|
|
|
void Calculate(BehaviorContext *context, RakNet::BitStream *bitStream, BehaviorBranchContext branch) override;
|
|
|
|
void Handle(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
|
|
|
|
void SyncCalculation(BehaviorContext *context, RakNet::BitStream *bitStream, BehaviorBranchContext branch) override;
|
|
|
|
void Sync(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
|
|
|
|
void Load() override;
|
|
|
|
};
|