Core/Pets: Adjust pet slot saving logic after constant changes
Port From (https://github.com/TrinityCore/TrinityCore/commit/fd9eb28322fd75e94fcf5093aaf54bee145edfe8)
This commit is contained in:
@@ -457,12 +457,12 @@ namespace Game.Entities
|
||||
trans.Append(stmt);
|
||||
|
||||
// prevent existence another hunter pet in PET_SAVE_AS_CURRENT and PET_SAVE_NOT_IN_SLOT
|
||||
if (GetPetType() == PetType.Hunter && (mode == PetSaveMode.AsCurrent || mode > PetSaveMode.LastStableSlot))
|
||||
if (GetPetType() == PetType.Hunter && (mode == PetSaveMode.AsCurrent || mode == PetSaveMode.LastStableSlot))
|
||||
{
|
||||
stmt = DB.Characters.GetPreparedStatement(CharStatements.DEL_CHAR_PET_BY_SLOT);
|
||||
stmt.AddValue(0, ownerLowGUID);
|
||||
stmt.AddValue(1, (byte)PetSaveMode.AsCurrent);
|
||||
stmt.AddValue(2, (byte)PetSaveMode.LastStableSlot);
|
||||
stmt.AddValue(1, (short)mode);
|
||||
stmt.AddValue(2, (short)PetSaveMode.NotInSlot);
|
||||
trans.Append(stmt);
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,7 +1558,7 @@ namespace Game.Entities
|
||||
petInfo.Level = result.Read<byte>(3);
|
||||
petInfo.Experience = result.Read<uint>(4);
|
||||
petInfo.ReactState = (ReactStates)result.Read<byte>(5);
|
||||
PetSaveMode slot = (PetSaveMode)result.Read<byte>(6);
|
||||
PetSaveMode slot = (PetSaveMode)result.Read<short>(6);
|
||||
petInfo.Name = result.Read<string>(7);
|
||||
petInfo.WasRenamed = result.Read<bool>(8);
|
||||
petInfo.Health = result.Read<uint>(9);
|
||||
|
||||
@@ -4833,7 +4833,7 @@ namespace Game.Entities
|
||||
{
|
||||
// Handle removing pet while it is in "temporarily unsummoned" state, for example on mount
|
||||
PreparedStatement stmt = DB.Characters.GetPreparedStatement(CharStatements.UPD_CHAR_PET_SLOT_BY_ID);
|
||||
stmt.AddValue(0, (byte)PetSaveMode.NotInSlot);
|
||||
stmt.AddValue(0, (short)PetSaveMode.NotInSlot);
|
||||
stmt.AddValue(1, GetGUID().GetCounter());
|
||||
stmt.AddValue(2, m_petStable.CurrentPet.PetNumber);
|
||||
DB.Characters.Execute(stmt);
|
||||
|
||||
Reference in New Issue
Block a user