diff options
| -rwxr-xr-x | src/server/game/Server/Protocol/Handlers/PetHandler.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/PetHandler.cpp b/src/server/game/Server/Protocol/Handlers/PetHandler.cpp index 9dfac0e1b7c..0c8201aa1e2 100755 --- a/src/server/game/Server/Protocol/Handlers/PetHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/PetHandler.cpp @@ -560,7 +560,9 @@ void WorldSession::HandlePetSetAction(WorldPacket & recv_data) if (pet->GetTypeId() == TYPEID_UNIT && pet->ToCreature()->isPet()) ((Pet*)pet)->ToggleAutocast(spell_id, true); else - charmInfo->ToggleCreatureAutocast(spell_id, true); + for (Unit::ControlList::iterator itr = GetPlayer()->m_Controlled.begin(); itr != GetPlayer()->m_Controlled.end(); ++itr) + if ((*itr)->GetEntry() == pet->GetEntry()) + (*itr)->GetCharmInfo()->ToggleCreatureAutocast(spell_id, true); } //sign for no/turn off autocast else if (act_state == ACT_DISABLED && spell_id) @@ -568,7 +570,9 @@ void WorldSession::HandlePetSetAction(WorldPacket & recv_data) if (pet->GetTypeId() == TYPEID_UNIT && pet->ToCreature()->isPet()) ((Pet*)pet)->ToggleAutocast(spell_id, false); else - charmInfo->ToggleCreatureAutocast(spell_id, false); + for (Unit::ControlList::iterator itr = GetPlayer()->m_Controlled.begin(); itr != GetPlayer()->m_Controlled.end(); ++itr) + if ((*itr)->GetEntry() == pet->GetEntry()) + (*itr)->GetCharmInfo()->ToggleCreatureAutocast(spell_id, false); } |
