aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 536d9c0ff18..6a6cd82af15 100755
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -1769,7 +1769,15 @@ class Unit : public WorldObject
uint64 m_ObjectSlot[4];
ShapeshiftForm GetShapeshiftForm() const { return ShapeshiftForm(GetByteValue(UNIT_FIELD_BYTES_2, 3)); }
- void SetShapeshiftForm(ShapeshiftForm form) { SetByteValue(UNIT_FIELD_BYTES_2, 3, form); }
+ void SetShapeshiftForm(ShapeshiftForm form)
+ {
+ SetByteValue(UNIT_FIELD_BYTES_2, 3, form);
+
+ // force update as too quick shapeshifting and back
+ // causes the value to stay the same serverside
+ // causes issues clientside (player gets stuck)
+ ForceValuesUpdateAtIndex(UNIT_FIELD_BYTES_2);
+ }
inline bool IsInFeralForm() const
{