Core/Objects

* Vehicles can now be sent with UPDATETYPE_CREATE_OBJECT2
* Corrected HIGHGUID type for guilds
This commit is contained in:
Shauren
2013-04-09 17:26:02 +02:00
parent 4384f02352
commit 5de7bf1f17
2 changed files with 9 additions and 2 deletions

View File

@@ -200,14 +200,22 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c
updateType = UPDATETYPE_CREATE_OBJECT2;
break;
case HIGHGUID_UNIT:
case HIGHGUID_VEHICLE:
{
if (TempSummon const* summon = ToUnit()->ToTempSummon())
if (IS_PLAYER_GUID(summon->GetSummonerGUID()))
updateType = UPDATETYPE_CREATE_OBJECT2;
break;
}
case HIGHGUID_GAMEOBJECT:
{
if (IS_PLAYER_GUID(ToGameObject()->GetOwnerGUID()))
updateType = UPDATETYPE_CREATE_OBJECT2;
break;
}
default:
break;
}
if (flags & UPDATEFLAG_STATIONARY_POSITION)
@@ -236,7 +244,6 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c
if (unit->getVictim())
flags |= UPDATEFLAG_HAS_TARGET;
ByteBuffer buf(500);
buf << uint8(updateType);
buf.append(GetPackGUID());

View File

@@ -36,7 +36,7 @@ enum HighGuid
HIGHGUID_BATTLEGROUND = 0x1F1, // new 4.x
HIGHGUID_MO_TRANSPORT = 0x1FC, // blizz 1FC0 (for GAMEOBJECT_TYPE_MO_TRANSPORT)
HIGHGUID_GROUP = 0x1F5,
HIGHGUID_GUILD = 0x1FF5 // new 4.x
HIGHGUID_GUILD = 0x1FF // new 4.x
};
// used for creating values for respawn for example