aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/GameObject.cpp3
-rw-r--r--src/game/Object.cpp23
2 files changed, 18 insertions, 8 deletions
diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp
index b7c46694344..c60ec02bab9 100644
--- a/src/game/GameObject.cpp
+++ b/src/game/GameObject.cpp
@@ -173,15 +173,16 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map *map, uint32 phaseMa
SetUInt32Value(GAMEOBJECT_FACTION, goinfo->faction);
SetUInt32Value(GAMEOBJECT_FLAGS, goinfo->flags);
- SetUInt16Value(GAMEOBJECT_DYNAMIC, 1, uint16(-1));
SetEntry(goinfo->id);
SetUInt32Value(GAMEOBJECT_DISPLAYID, goinfo->displayId);
+ // GAMEOBJECT_BYTES_1, index at 0, 1, 2 and 3
SetGoState(go_state);
SetGoType(GameobjectTypes(goinfo->type));
+ SetGoArtKit(0); // unknown what this is
SetGoAnimProgress(animprogress);
SetByteValue(GAMEOBJECT_BYTES_1, 2, artKit);
diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index cd93d3115c5..b2e3486a210 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -484,10 +484,10 @@ void Object::_BuildValuesUpdate(uint8 updatetype, ByteBuffer * data, UpdateMask
if (isType(TYPEMASK_GAMEOBJECT) && !((GameObject*)this)->IsTransport())
{
if ( ((GameObject*)this)->ActivateToQuest(target) || target->isGameMaster())
- {
IsActivateToQuest = true;
- updateMask->SetBit(GAMEOBJECT_DYNAMIC);
- }
+
+ updateMask->SetBit(GAMEOBJECT_DYNAMIC);
+
if (((GameObject*)this)->GetGoArtKit())
updateMask->SetBit(GAMEOBJECT_BYTES_1);
}
@@ -662,18 +662,27 @@ void Object::_BuildValuesUpdate(uint8 updatetype, ByteBuffer * data, UpdateMask
switch(((GameObject*)this)->GetGoType())
{
case GAMEOBJECT_TYPE_CHEST:
- *data << uint32(0xFFFF0009); // enable quest object. Represent 9, but 1 for client before 2.3.0
+ // enable quest object. Represent 9, but 1 for client before 2.3.0
+ *data << uint16(9);
+ *data << uint16(-1);
break;
case GAMEOBJECT_TYPE_GOOBER:
- *data << uint32(0xFFFF0001);
+ *data << uint16(1);
+ *data << uint16(-1);
break;
default:
- *data << uint32(0xFFFF0000); // unknown, not happen.
+ // unknown, not happen.
+ *data << uint16(0);
+ *data << uint16(-1);
break;
}
}
else
- *data << uint32(0xFFFF0000); // disable quest object
+ {
+ // disable quest object
+ *data << uint16(0);
+ *data << uint16(-1);
+ }
}
else
*data << m_uint32Values[ index ]; // other cases