mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-25 06:53:35 +00:00
fix pet taming minigame countdown
This commit is contained in:
parent
1c1b7337b1
commit
c36bc8389a
@ -343,13 +343,15 @@ void PetComponent::Update(float deltaTime) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove "left behind" pets
|
// Remove "left behind" pets and handle failing pet taming minigame
|
||||||
if (m_Owner != LWOOBJID_EMPTY) {
|
if (m_Owner != LWOOBJID_EMPTY) {
|
||||||
const Entity* const owner = GetOwner();
|
const Entity* const owner = GetOwner();
|
||||||
if (!owner) {
|
if (!owner) {
|
||||||
m_Parent->Kill();
|
m_Parent->Kill();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ClientFailTamingMinigame(); // TODO: This is not despawning the built model correctly
|
||||||
}
|
}
|
||||||
|
|
||||||
if (HasFlag(SPAWNING)) OnSpawn();
|
if (HasFlag(SPAWNING)) OnSpawn();
|
||||||
@ -384,28 +386,6 @@ void PetComponent::Update(float deltaTime) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PetComponent::UpdateUnowned(float deltaTime) { //TODO: CURRENTLY UNUSED
|
|
||||||
if (m_Tamer != LWOOBJID_EMPTY) {
|
|
||||||
if (m_Timer > 0) {
|
|
||||||
m_Timer -= deltaTime;
|
|
||||||
|
|
||||||
if (m_Timer <= 0) {
|
|
||||||
m_Timer = 0;
|
|
||||||
|
|
||||||
ClientFailTamingMinigame();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (m_Timer > 0) {
|
|
||||||
m_Timer -= deltaTime;
|
|
||||||
|
|
||||||
if (m_Timer <= 0) Wander();
|
|
||||||
} else {
|
|
||||||
m_Timer = 5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void PetComponent::TryBuild(uint32_t numBricks, bool clientFailed) {
|
void PetComponent::TryBuild(uint32_t numBricks, bool clientFailed) {
|
||||||
if (m_Tamer == LWOOBJID_EMPTY) return;
|
if (m_Tamer == LWOOBJID_EMPTY) return;
|
||||||
|
|
||||||
@ -894,7 +874,7 @@ void PetComponent::StopInteract(bool bDontSerialize) {
|
|||||||
SetInteractType(PetInteractType::none);
|
SetInteractType(PetInteractType::none);
|
||||||
SetAbility(petAbility);
|
SetAbility(petAbility);
|
||||||
SetPetAiState(PetAiState::follow);
|
SetPetAiState(PetAiState::follow);
|
||||||
SetOnlyFlag(IDLE); //SetStatus(PetFlag::NONE);
|
SetOnlyFlag(IDLE);
|
||||||
SetIsReadyToInteract(false);
|
SetIsReadyToInteract(false);
|
||||||
SetIsHandlingInteraction(false); // Needed?
|
SetIsHandlingInteraction(false); // Needed?
|
||||||
m_MovementAI->SetMaxSpeed(m_PetInfo.sprintSpeed);
|
m_MovementAI->SetMaxSpeed(m_PetInfo.sprintSpeed);
|
||||||
@ -1071,7 +1051,7 @@ void PetComponent::Activate(Item* item, bool registerPet, bool fromTaming) { //
|
|||||||
|
|
||||||
auto* const inventoryComponent = item->GetInventory()->GetComponent();
|
auto* const inventoryComponent = item->GetInventory()->GetComponent();
|
||||||
|
|
||||||
if (inventoryComponent == nullptr) return;
|
if (!inventoryComponent) return;
|
||||||
|
|
||||||
inventoryComponent->DespawnPet();
|
inventoryComponent->DespawnPet();
|
||||||
|
|
||||||
|
@ -139,12 +139,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
void Update(float deltaTime) override;
|
void Update(float deltaTime) override;
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles updates for unowned pets
|
|
||||||
* @param deltaTime time since last update
|
|
||||||
*/
|
|
||||||
void UpdateUnowned(float deltaTime);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles an OnUse event from another entity, initializing the pet taming minigame if this pet is untamed.
|
* Handles an OnUse event from another entity, initializing the pet taming minigame if this pet is untamed.
|
||||||
* @param originator the entity that triggered the event
|
* @param originator the entity that triggered the event
|
||||||
|
Loading…
Reference in New Issue
Block a user