diff options
author | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-03-10 01:08:55 +0100 |
---|---|---|
committer | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-03-10 01:08:55 +0100 |
commit | a9b740ab747332dde2967426027c43f98efbebac (patch) | |
tree | 04f3999dd51a9eb2d7811f751dad124242390fb8 /src/server/game/Handlers/SpellHandler.cpp | |
parent | 83a5043741c0ef3d96ff59571305eae30d360ed5 (diff) | |
parent | f3617abdba8c247d4e9f423e5e97e3b42dab7b41 (diff) |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/AI/EventAI/CreatureEventAI.cpp
src/server/game/AI/EventAI/CreatureEventAIMgr.h
src/server/game/Entities/Creature/Creature.cpp
src/server/game/Entities/Object/Object.cpp
src/server/game/Entities/Player/Player.cpp
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Entities/Unit/Unit.h
src/server/game/Guilds/Guild.cpp
src/server/game/Handlers/MailHandler.cpp
src/server/game/Spells/Auras/SpellAuraEffects.cpp
src/server/game/Spells/Auras/SpellAuras.cpp
src/server/game/Spells/SpellEffects.cpp
src/server/scripts/Commands/cs_misc.cpp
src/server/scripts/Commands/cs_modify.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
src/server/scripts/Kalimdor/zone_azshara.cpp
src/server/scripts/Kalimdor/zone_darkshore.cpp
src/server/scripts/Kalimdor/zone_durotar.cpp
src/server/scripts/Kalimdor/zone_orgrimmar.cpp
src/server/scripts/Spells/spell_mage.cpp
src/server/shared/Packets/ByteBuffer.h
Diffstat (limited to 'src/server/game/Handlers/SpellHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/SpellHandler.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index c98a9fbcb5c..6ec94e4bf52 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -81,7 +81,7 @@ void WorldSession::HandleClientCastFlags(WorldPacket& recvPacket, uint8 castFlag void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket) { - // TODO: add targets.read() check + /// @todo add targets.read() check Player* pUser = _player; // ignore for remote control state @@ -293,12 +293,15 @@ void WorldSession::HandleGameObjectUseOpcode(WorldPacket& recvData) sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_GAMEOBJ_USE Message [guid=%u]", GUID_LOPART(guid)); - // ignore for remote control state - if (_player->m_mover != _player) - return; - if (GameObject* obj = GetPlayer()->GetMap()->GetGameObject(guid)) + { + // ignore for remote control state + if (_player->m_mover != _player) + if (!(_player->IsOnVehicle(_player->m_mover) || _player->IsMounted()) && !obj->GetGOInfo()->IsUsableMounted()) + return; + obj->Use(_player); + } } void WorldSession::HandleGameobjectReportUse(WorldPacket& recvPacket) @@ -595,7 +598,7 @@ void WorldSession::HandleSpellClick(WorldPacket& recvData) if (!unit) return; - // TODO: Unit::SetCharmedBy: 28782 is not in world but 0 is trying to charm it! -> crash + /// @todo Unit::SetCharmedBy: 28782 is not in world but 0 is trying to charm it! -> crash if (!unit->IsInWorld()) return; |