diff options
| author | Meji <alvaro.megias@outlook.com> | 2023-02-05 15:16:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-05 15:16:19 +0100 |
| commit | 56d0f7a970d24bb71a3e6a27e72fe9bc41eb8246 (patch) | |
| tree | c3ff44bdea7fd5e30e60e9bf7762a8aa6d6af7d7 /src/server/game/Entities/GameObject | |
| parent | bb8f713d5fafefb82ee08d93ad76c2124a262a2a (diff) | |
Core/GameObjects: Fixed the behavior for GAMEOBJECT_TYPE_FISHINGNODE (#28781)
Diffstat (limited to 'src/server/game/Entities/GameObject')
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 4082fffdc3f..e61735671f8 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -770,7 +770,7 @@ bool GameObject::Create(uint32 entry, Map* map, Position const& pos, QuaternionD break; } case GAMEOBJECT_TYPE_FISHINGNODE: - SetLevel(1); + SetLevel(0); SetGoAnimProgress(255); break; case GAMEOBJECT_TYPE_TRAP: @@ -971,18 +971,7 @@ void GameObject::Update(uint32 diff) // splash bobber (bobber ready now) Unit* caster = GetOwner(); if (caster && caster->GetTypeId() == TYPEID_PLAYER) - { - SetGoState(GO_STATE_ACTIVE); - ReplaceAllFlags(GO_FLAG_NODESPAWN); - - UpdateData udata(caster->GetMapId()); - WorldPacket packet; - BuildValuesUpdateBlockForPlayer(&udata, caster->ToPlayer()); - udata.BuildPacket(&packet); - caster->ToPlayer()->SendDirectMessage(&packet); - - SendCustomAnim(GetGoAnimProgress()); - } + SendCustomAnim(0); m_lootState = GO_READY; // can be successfully open with some chance } @@ -2521,6 +2510,13 @@ void GameObject::Use(Unit* user) { case GO_READY: // ready for loot { + SetLootState(GO_ACTIVATED, player); + + SetGoState(GO_STATE_ACTIVE); + ReplaceAllFlags(GO_FLAG_IN_MULTI_USE); + + SendUpdateToPlayer(player); + uint32 zone, subzone; GetZoneAndAreaId(zone, subzone); |
