Core/BattlePets: Misc fixes

Port From (https://github.com/TrinityCore/TrinityCore/commit/446997cdf2bf24163141d7dcaa80bb6ef891f933)
This commit is contained in:
hondacrx
2022-01-01 17:37:27 -05:00
parent 23ee2b5a48
commit c900592e1c
4 changed files with 57 additions and 15 deletions
+28
View File
@@ -942,6 +942,34 @@ namespace Game.Entities
SendPacket(new PetSpells());
}
public Creature GetSummonedBattlePet()
{
Creature summonedBattlePet = ObjectAccessor.GetCreatureOrPetOrVehicle(this, GetCritterGUID());
if (summonedBattlePet != null)
if (!GetSummonedBattlePetGUID().IsEmpty() && GetSummonedBattlePetGUID() == summonedBattlePet.GetBattlePetCompanionGUID())
return summonedBattlePet;
return null;
}
public void SetBattlePetData(BattlePets.BattlePetMgr.BattlePet pet = null)
{
if (pet != null)
{
SetSummonedBattlePetGUID(pet.PacketInfo.Guid);
SetCurrentBattlePetBreedQuality(pet.PacketInfo.Quality);
SetBattlePetCompanionExperience(pet.PacketInfo.Exp);
SetWildBattlePetLevel(pet.PacketInfo.Level);
}
else
{
SetSummonedBattlePetGUID(ObjectGuid.Empty);
SetCurrentBattlePetBreedQuality((byte)BattlePetBreedQuality.Poor);
SetBattlePetCompanionExperience(0);
SetWildBattlePetLevel(0);
}
}
public void StopCastingCharm()
{
Unit charm = GetCharmed();
+2 -1
View File
@@ -1869,7 +1869,8 @@ namespace Game.Entities
public uint GetBattlePetCompanionNameTimestamp() { return m_unitData.BattlePetCompanionNameTimestamp; }
public void SetBattlePetCompanionNameTimestamp(uint timestamp) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.BattlePetCompanionNameTimestamp), timestamp); }
public uint GetBattlePetCompanionExperience() { return m_unitData.BattlePetCompanionExperience; }
public void SetBattlePetCompanionExperience(uint experience) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.BattlePetCompanionExperience), experience); }
public uint GetWildBattlePetLevel() { return m_unitData.WildBattlePetLevel; }
public void SetWildBattlePetLevel(uint wildBattlePetLevel) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.WildBattlePetLevel), wildBattlePetLevel); }