mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 10:53:44 +00:00
fix(pets): pet bouncers wait for the owner and cost imagination
Issue 536. A pet that reached a pet switch jumped on it by itself for free. Now it works like digs, following what live did (2014 captures): on the way the pet has state 0x500 and the owner gets PR_BOUNCER_TUTORIAL_01; on the switch the pet has state 0x120 and the Jump On Object ability, plays "excited" while the switch plays "engaged", and the owner gets the pet action button (ShowPetActionButton 2) and PR_BOUNCER_TUTORIAL_03. Using it costs PetAbilities.ImaginationCost (2), the pet plays "jump", the owner gets PR_TOOLTIP_1ST_PET_JUMPED_ON_SWITCH and the switch turns its bouncer on. The switch plays "launch" then, as on live, instead of "engaged". The pet switch is no longer written into the pet's serialized interaction (it was never cleared). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -80,7 +80,8 @@ void SwitchComponent::EntityEnter(Entity* entity) {
|
||||
|
||||
if (m_PetBouncer != nullptr) {
|
||||
GameMessages::PlayFXEffect(m_Parent->GetObjectID(), 2602, u"pettriggeractive", "BounceEffect").Send(UNASSIGNED_SYSTEM_ADDRESS);
|
||||
RenderComponent::PlayAnimation(m_Parent, u"engaged");
|
||||
// Live played "launch" here; "engaged" is played when a pet arrives on the switch
|
||||
RenderComponent::PlayAnimation(m_Parent, u"launch");
|
||||
m_PetBouncer->SetPetBouncerEnabled(true);
|
||||
} else {
|
||||
Game::entityManager->SerializeEntity(m_Parent);
|
||||
|
||||
Reference in New Issue
Block a user