mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-11-15 16:27:14 +00:00
feat(entity): NPC minifigures have the client's minifig component
The client makes LWOMiniFigComponent (35) from the registry; DLU had nothing for it. It sends nothing (the client reads the MinifigComponent row itself), so constructions are unchanged; 488 LOTs gain it (LoaderSnapshotTest). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -89,6 +89,7 @@
|
||||
#include "RacingStatsComponent.h"
|
||||
#include "CollectibleComponent.h"
|
||||
#include "ItemComponent.h"
|
||||
#include "MinifigComponent.h"
|
||||
#include "GhostComponent.h"
|
||||
#include "AchievementVendorComponent.h"
|
||||
#include "VanityUtilities.h"
|
||||
@@ -481,6 +482,11 @@ void Entity::Initialize() {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case eReplicaComponentType::MINIFIG: {
|
||||
const auto minifigID = compRegistryTable->GetByIDAndType(m_TemplateID, eReplicaComponentType::MINIFIG);
|
||||
if (minifigID > 0) AddComponent<MinifigComponent>(minifigID);
|
||||
break;
|
||||
}
|
||||
case eReplicaComponentType::CHARACTER: {
|
||||
const auto characterID = compRegistryTable->GetByIDAndType(m_TemplateID, eReplicaComponentType::CHARACTER);
|
||||
if (characterID > 0 || m_Character) {
|
||||
|
||||
18
dGame/dComponents/MinifigComponent.h
Normal file
18
dGame/dComponents/MinifigComponent.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef MINIFIGCOMPONENT_H
|
||||
#define MINIFIGCOMPONENT_H
|
||||
|
||||
#include "Component.h"
|
||||
#include "eReplicaComponentType.h"
|
||||
|
||||
/**
|
||||
* An NPC minifigure's look (MinifigComponent row: head, torso, legs, colors, decals), as the client's LWOMiniFigComponent
|
||||
* has it. The client reads it from the CDClient itself: nothing of it is sent.
|
||||
*/
|
||||
class MinifigComponent final : public Component {
|
||||
public:
|
||||
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::MINIFIG;
|
||||
|
||||
MinifigComponent(Entity* parent, const int32_t componentID) : Component(parent, componentID) {}
|
||||
};
|
||||
|
||||
#endif // MINIFIGCOMPONENT_H
|
||||
Reference in New Issue
Block a user