mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 19:37:02 +00:00
[11674] Fixed names of pets summoned by npc.
* Add check to make sure that creature controlled pet use default name from template. * Add localization support to pet name query for above pets type.
This commit is contained in:
parent
adcae44c9a
commit
d8a3f4b925
3 changed files with 19 additions and 4 deletions
|
|
@ -326,6 +326,20 @@ void WorldSession::SendPetNameQuery(ObjectGuid petguid, uint32 petnumber)
|
|||
|
||||
std::string name = pet->GetName();
|
||||
|
||||
// creature pets have localization like other creatures
|
||||
if (!pet->GetOwnerGuid().IsPlayer())
|
||||
{
|
||||
int loc_idx = GetSessionDbLocaleIndex();
|
||||
if (loc_idx >= 0)
|
||||
{
|
||||
if (CreatureLocale const *cl = sObjectMgr.GetCreatureLocale(pet->GetEntry()))
|
||||
{
|
||||
if (cl->Name.size() > size_t(loc_idx) && !cl->Name[loc_idx].empty())
|
||||
name = cl->Name[loc_idx];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WorldPacket data(SMSG_PET_NAME_QUERY_RESPONSE, (4+4+name.size()+1));
|
||||
data << uint32(petnumber);
|
||||
data << name.c_str();
|
||||
|
|
|
|||
|
|
@ -5651,14 +5651,15 @@ void Spell::EffectSummonPet(SpellEffectIndex eff_idx)
|
|||
NewSummon->InitLevelupSpellsForLevel();
|
||||
NewSummon->InitTalentForLevel();
|
||||
|
||||
if(NewSummon->getPetType() == SUMMON_PET)
|
||||
if (m_caster->GetTypeId() == TYPEID_PLAYER && NewSummon->getPetType() == SUMMON_PET)
|
||||
{
|
||||
// generate new name for summon pet
|
||||
std::string new_name = sObjectMgr.GeneratePetName(petentry);
|
||||
if(!new_name.empty())
|
||||
if (!new_name.empty())
|
||||
NewSummon->SetName(new_name);
|
||||
}
|
||||
else if(NewSummon->getPetType() == HUNTER_PET)
|
||||
|
||||
if (NewSummon->getPetType() == HUNTER_PET)
|
||||
{
|
||||
NewSummon->RemoveByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_RENAMED);
|
||||
NewSummon->SetByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_ABANDONED);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "11673"
|
||||
#define REVISION_NR "11674"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue