mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-14 12:18:22 +00:00
27 lines
1.1 KiB
C++
27 lines
1.1 KiB
C++
|
#include "SpawnGryphonServer.h"
|
||
|
#include "InventoryComponent.h"
|
||
|
#include "GameMessages.h"
|
||
|
|
||
|
void SpawnGryphonServer::SetVariables(Entity *self) {
|
||
|
self->SetVar<LOT>(u"petLOT", 12433);
|
||
|
self->SetVar<std::string>(u"petType", "gryphon");
|
||
|
self->SetVar<uint32_t>(u"maxPets", 2);
|
||
|
self->SetVar<std::u16string>(u"spawnAnim", u"spawn");
|
||
|
self->SetVar<std::u16string>(u"spawnCinematic", u"SentinelPet");
|
||
|
}
|
||
|
|
||
|
void SpawnGryphonServer::OnUse(Entity *self, Entity *user) {
|
||
|
auto* missionComponent = user->GetComponent<MissionComponent>();
|
||
|
auto* inventoryComponent = user->GetComponent<InventoryComponent>();
|
||
|
|
||
|
// Little extra for handling the case of the egg being placed the first time
|
||
|
if (missionComponent != nullptr && inventoryComponent != nullptr
|
||
|
&& missionComponent->GetMissionState(1391) == MissionState::MISSION_STATE_ACTIVE) {
|
||
|
inventoryComponent->RemoveItem(12483, inventoryComponent->GetLotCount(12483));
|
||
|
GameMessages::SendTerminateInteraction(user->GetObjectID(), FROM_INTERACTION, self->GetObjectID());
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
SpawnPetBaseServer::OnUse(self, user);
|
||
|
}
|