mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
[10901] Allow vehicles to have gossip menu
In addition rename IsGameobject -> IsGameObject.
This commit is contained in:
parent
d736fe9d9a
commit
2f4e7a9377
8 changed files with 12 additions and 13 deletions
|
|
@ -528,7 +528,7 @@ void WorldSession::HandleLootMasterGiveOpcode( WorldPacket & recv_data )
|
|||
|
||||
pLoot = &pCreature->loot;
|
||||
}
|
||||
else if(lootguid.IsGameobject())
|
||||
else if(lootguid.IsGameObject())
|
||||
{
|
||||
GameObject *pGO = GetPlayer()->GetMap()->GetGameObject(lootguid);
|
||||
if(!pGO)
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@ void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data )
|
|||
uint32 gossipListId;
|
||||
uint32 menuId;
|
||||
ObjectGuid guid;
|
||||
std::string code = "";
|
||||
std::string code;
|
||||
|
||||
recv_data >> guid >> menuId >> gossipListId;
|
||||
|
||||
|
|
@ -344,8 +344,7 @@ void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data )
|
|||
if (GetPlayer()->hasUnitState(UNIT_STAT_DIED))
|
||||
GetPlayer()->RemoveSpellsCausingAura(SPELL_AURA_FEIGN_DEATH);
|
||||
|
||||
// can vehicle have gossip? If so, need check for this also.
|
||||
if (guid.IsCreatureOrPet())
|
||||
if (guid.IsAnyTypeCreature())
|
||||
{
|
||||
Creature *pCreature = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_NONE);
|
||||
|
||||
|
|
@ -366,7 +365,7 @@ void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data )
|
|||
_player->OnGossipSelect(pCreature, gossipListId, menuId);
|
||||
}
|
||||
}
|
||||
else if (guid.IsGameobject())
|
||||
else if (guid.IsGameObject())
|
||||
{
|
||||
GameObject *pGo = GetPlayer()->GetGameObjectIfCanInteractWith(guid);
|
||||
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ class MANGOS_DLL_SPEC ObjectGuid
|
|||
bool IsPlayer() const { return !IsEmpty() && GetHigh() == HIGHGUID_PLAYER; }
|
||||
bool IsUnit() const { return IsAnyTypeCreature() || IsPlayer(); }
|
||||
bool IsItem() const { return GetHigh() == HIGHGUID_ITEM; }
|
||||
bool IsGameobject() const { return GetHigh() == HIGHGUID_GAMEOBJECT; }
|
||||
bool IsGameObject() const { return GetHigh() == HIGHGUID_GAMEOBJECT; }
|
||||
bool IsDynamicObject() const { return GetHigh() == HIGHGUID_DYNAMICOBJECT; }
|
||||
bool IsCorpse() const { return GetHigh() == HIGHGUID_CORPSE; }
|
||||
bool IsTransport() const { return GetHigh() == HIGHGUID_TRANSPORT; }
|
||||
|
|
|
|||
|
|
@ -20223,7 +20223,7 @@ void Player::UpdateForQuestWorldObjects()
|
|||
WorldPacket packet;
|
||||
for(ObjectGuidSet::const_iterator itr=m_clientGUIDs.begin(); itr!=m_clientGUIDs.end(); ++itr)
|
||||
{
|
||||
if (itr->IsGameobject())
|
||||
if (itr->IsGameObject())
|
||||
{
|
||||
if (GameObject *obj = GetMap()->GetGameObject(*itr))
|
||||
obj->BuildValuesUpdateBlockForPlayer(&udata,this);
|
||||
|
|
|
|||
|
|
@ -672,7 +672,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket
|
|||
data << uint8(dialogStatus);
|
||||
++count;
|
||||
}
|
||||
else if (itr->IsGameobject())
|
||||
else if (itr->IsGameObject())
|
||||
{
|
||||
GameObject *questgiver = GetPlayer()->GetMap()->GetGameObject(*itr);
|
||||
|
||||
|
|
|
|||
|
|
@ -6327,7 +6327,7 @@ void Spell::UpdateOriginalCasterPointer()
|
|||
{
|
||||
if(m_originalCasterGUID == m_caster->GetObjectGuid())
|
||||
m_originalCaster = m_caster;
|
||||
else if (m_originalCasterGUID.IsGameobject())
|
||||
else if (m_originalCasterGUID.IsGameObject())
|
||||
{
|
||||
GameObject* go = m_caster->IsInWorld() ? m_caster->GetMap()->GetGameObject(m_originalCasterGUID) : NULL;
|
||||
m_originalCaster = go ? go->GetOwner() : NULL;
|
||||
|
|
@ -6781,14 +6781,14 @@ WorldObject* Spell::GetAffectiveCasterObject() const
|
|||
if (m_originalCasterGUID.IsEmpty())
|
||||
return m_caster;
|
||||
|
||||
if (m_originalCasterGUID.IsGameobject() && m_caster->IsInWorld())
|
||||
if (m_originalCasterGUID.IsGameObject() && m_caster->IsInWorld())
|
||||
return m_caster->GetMap()->GetGameObject(m_originalCasterGUID);
|
||||
return m_originalCaster;
|
||||
}
|
||||
|
||||
WorldObject* Spell::GetCastingObject() const
|
||||
{
|
||||
if (m_originalCasterGUID.IsGameobject())
|
||||
if (m_originalCasterGUID.IsGameObject())
|
||||
return m_caster->IsInWorld() ? m_caster->GetMap()->GetGameObject(m_originalCasterGUID) : NULL;
|
||||
else
|
||||
return m_caster;
|
||||
|
|
|
|||
|
|
@ -3193,7 +3193,7 @@ void Spell::EffectApplyAura(SpellEffectIndex eff_idx)
|
|||
{
|
||||
// FIXME: currently we can't have auras applied explIcitly by gameobjects
|
||||
// so for auras from wild gameobjects (no owner) target used
|
||||
if (m_originalCasterGUID.IsGameobject())
|
||||
if (m_originalCasterGUID.IsGameObject())
|
||||
caster = unitTarget;
|
||||
else
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "10900"
|
||||
#define REVISION_NR "10901"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue