diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-06-11 22:07:11 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-06-11 22:07:11 +0200 |
| commit | 0bebf40fe7fc6ffdf3e86452f14e3bf647380b15 (patch) | |
| tree | 42afd9e6643b3bd3400c9f4f80fd3991748fbcd7 /src/server/game/Handlers | |
| parent | 93c86b0c52a99d69fd14f4904a000b6c86759c69 (diff) | |
| parent | 9ec22fffa00135cd776afebe2899bf54fb52f15f (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/AuctionHouse/AuctionHouseMgr.h
src/server/game/Entities/Creature/Creature.cpp
src/server/game/Entities/Player/Player.cpp
src/server/game/Entities/Unit/StatSystem.cpp
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Entities/Vehicle/Vehicle.cpp
src/server/game/Handlers/NPCHandler.cpp
Diffstat (limited to 'src/server/game/Handlers')
| -rw-r--r-- | src/server/game/Handlers/AuctionHouseHandler.cpp | 3 | ||||
| -rw-r--r-- | src/server/game/Handlers/MovementHandler.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Handlers/NPCHandler.cpp | 10 | ||||
| -rw-r--r-- | src/server/game/Handlers/QuestHandler.cpp | 11 |
4 files changed, 8 insertions, 20 deletions
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index cc3b065dbe4..4ebe9a2b90d 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -30,9 +30,6 @@ #include "Util.h" #include "AccountMgr.h" -//please DO NOT use iterator++, because it is slower than ++iterator!!! -//post-incrementation is always slower than pre-incrementation ! - //void called when player click on auctioneer npc void WorldSession::HandleAuctionHelloOpcode(WorldPacket& recvData) { diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index 2adc1fd2d89..2739e53b818 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -361,9 +361,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket) { plrMover->m_transport->RemovePassenger(plrMover); plrMover->m_transport = NULL; - movementInfo.t_pos.Relocate(0.0f, 0.0f, 0.0f, 0.0f); - movementInfo.t_time = 0; - movementInfo.t_seat = -1; + movementInfo.ClearTransport(); } // fall damage generation (ignore in flight case that can be triggered also at lags in moment teleportation to another map). diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp index aebd1baa901..51533ad8a9f 100644 --- a/src/server/game/Handlers/NPCHandler.cpp +++ b/src/server/game/Handlers/NPCHandler.cpp @@ -132,10 +132,6 @@ void WorldSession::SendTrainerList(uint64 guid, const std::string& strTitle) if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - // trainer list loaded at check; - if (!unit->isCanTrainingOf(_player, true)) - return; - CreatureTemplate const* ci = unit->GetCreatureTemplate(); if (!ci) @@ -257,12 +253,6 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recvData) if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - if (!unit->isCanTrainingOf(_player, true)) - { - SendTrainerBuyFailed(guid, spellId, 0); - return; - } - // check present spell in trainer spell list TrainerSpellData const* trainer_spells = unit->GetTrainerSpells(); if (!trainer_spells) diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp index 45be13ae776..279c1392e17 100644 --- a/src/server/game/Handlers/QuestHandler.cpp +++ b/src/server/game/Handlers/QuestHandler.cpp @@ -499,12 +499,12 @@ void WorldSession::HandleQuestgiverCompleteQuest(WorldPacket& recvData) TC_LOG_DEBUG(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_COMPLETE_QUEST npc = %u, questId = %u", uint32(GUID_LOPART(playerGuid)), questId); + Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, playerGuid, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT); + if (!object || !object->hasInvolvedQuest(questId)) + return; + if (autoCompleteMode == 0) { - Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, playerGuid, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT); - if (!object || !object->hasInvolvedQuest(questId)) - return; - // some kind of WPE protection if (!_player->CanInteractWithQuestGiver(object)) return; @@ -545,6 +545,9 @@ void WorldSession::HandleQuestgiverCompleteQuest(WorldPacket& recvData) else // no items required _player->PlayerTalkClass->SendQuestGiverOfferReward(quest, playerGuid, !autoCompleteMode); } + + if (Creature* creature = object->ToCreature()) + sScriptMgr->OnQuestComplete(_player, creature, quest); } } |
