mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-11-14 07:47:13 +00:00
feat(entity): the client's pathfinding control component (86) on pets
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -95,6 +95,7 @@
|
||||
#include "GateRushComponent.h"
|
||||
#include "FactionTriggerComponent.h"
|
||||
#include "RocketLandingComponent.h"
|
||||
#include "PathfindingComponent.h"
|
||||
#include "PhysicsSystemComponent.h"
|
||||
#include "VehiclePhysicsComponent.h"
|
||||
#include "ProjectilePhysicsComponent.h"
|
||||
@@ -455,6 +456,8 @@ void Entity::Initialize() {
|
||||
}
|
||||
case eReplicaComponentType::PET: {
|
||||
if (petComponentID > 0) {
|
||||
// LWOPetComponent::Factory (0x01031240): a pet that isn't in an inventory gets pathfinding control first
|
||||
if (!GetVar<bool>(u"inInventory") && !HasComponent(eReplicaComponentType::PATHFINDING)) AddComponent<PathfindingComponent>(-1);
|
||||
AddComponent<PetComponent>(petComponentID);
|
||||
}
|
||||
break;
|
||||
|
||||
19
dGame/dComponents/PathfindingComponent.h
Normal file
19
dGame/dComponents/PathfindingComponent.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#ifndef PATHFINDINGCOMPONENT_H
|
||||
#define PATHFINDINGCOMPONENT_H
|
||||
|
||||
#include "Component.h"
|
||||
#include "eReplicaComponentType.h"
|
||||
|
||||
/**
|
||||
* Pathfinding control, as the client's LWOPathfindingControlComponent: the client adds one (componentID -1) to a pet
|
||||
* that isn't in an inventory, and to a script or combat AI object with movement physics. Nothing of it is sent or done
|
||||
* on the server yet (the server's pathing is MovementAIComponent).
|
||||
*/
|
||||
class PathfindingComponent final : public Component {
|
||||
public:
|
||||
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::PATHFINDING;
|
||||
|
||||
PathfindingComponent(Entity* parent, const int32_t componentID) : Component(parent, componentID) {}
|
||||
};
|
||||
|
||||
#endif // PATHFINDINGCOMPONENT_H
|
||||
Reference in New Issue
Block a user