aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/BattlePets/BattlePetMgr.cpp4
-rw-r--r--src/server/game/BattlePets/BattlePetMgr.h24
-rw-r--r--src/server/game/Spells/SpellEffects.cpp4
3 files changed, 11 insertions, 21 deletions
diff --git a/src/server/game/BattlePets/BattlePetMgr.cpp b/src/server/game/BattlePets/BattlePetMgr.cpp
index 41103dda896..c56ebe8532d 100644
--- a/src/server/game/BattlePets/BattlePetMgr.cpp
+++ b/src/server/game/BattlePets/BattlePetMgr.cpp
@@ -426,7 +426,7 @@ void BattlePetMgr::ClearFanfare(ObjectGuid guid)
if (!pet)
return;
- pet->PacketInfo.Flags &= ~uint16(BattlePetDbFlags::FanfareNeeded);
+ pet->PacketInfo.Flags &= ~AsUnderlyingType(BattlePetDbFlags::FanfareNeeded);
if (pet->SaveInfo != BATTLE_PET_NEW)
pet->SaveInfo = BATTLE_PET_CHANGED;
@@ -620,7 +620,7 @@ void BattlePetMgr::SendUpdates(std::vector<std::reference_wrapper<BattlePet>> pe
void BattlePetMgr::SendError(BattlePetError error, uint32 creatureId)
{
WorldPackets::BattlePet::BattlePetError battlePetError;
- battlePetError.Result = error;
+ battlePetError.Result = AsUnderlyingType(error);
battlePetError.CreatureID = creatureId;
_owner->SendPacket(battlePetError.Write());
}
diff --git a/src/server/game/BattlePets/BattlePetMgr.h b/src/server/game/BattlePets/BattlePetMgr.h
index 058ddaf1b52..fb9ca64b3b4 100644
--- a/src/server/game/BattlePets/BattlePetMgr.h
+++ b/src/server/game/BattlePets/BattlePetMgr.h
@@ -62,28 +62,18 @@ enum class BattlePetDbFlags : uint16
DEFINE_ENUM_FLAG(BattlePetDbFlags);
-// 6.2.4
-enum FlagsControlType
+enum class BattlePetError : uint8
{
- FLAGS_CONTROL_TYPE_APPLY = 1,
- FLAGS_CONTROL_TYPE_REMOVE = 2
+ CantHaveMorePetsOfType = 3, // You can't have any more pets of that type.
+ CantHaveMorePets = 4, // You can't have any more pets.
+ TooHighLevelToUncage = 7 // This pet is too high level for you to uncage.
};
// 6.2.4
-enum BattlePetError
+enum FlagsControlType
{
- BATTLEPETRESULT_CANT_HAVE_MORE_PETS_OF_THAT_TYPE = 3,
- BATTLEPETRESULT_CANT_HAVE_MORE_PETS = 4,
- BATTLEPETRESULT_TOO_HIGH_LEVEL_TO_UNCAGE = 7,
-
- // TODO: find correct values if possible and needed (also wrong order)
- BATTLEPETRESULT_DUPLICATE_CONVERTED_PET,
- BATTLEPETRESULT_NEED_TO_UNLOCK,
- BATTLEPETRESULT_BAD_PARAM,
- BATTLEPETRESULT_LOCKED_PET_ALREADY_EXISTS,
- BATTLEPETRESULT_OK,
- BATTLEPETRESULT_UNCAPTURABLE,
- BATTLEPETRESULT_CANT_INVALID_CHARACTER_GUID
+ FLAGS_CONTROL_TYPE_APPLY = 1,
+ FLAGS_CONTROL_TYPE_REMOVE = 2
};
// taken from BattlePetState.db2 - it seems to store some initial values for battle pets
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 428120cb6f2..86d1eb92704 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -5658,14 +5658,14 @@ void Spell::EffectUncageBattlePet()
if (battlePetMgr->GetMaxPetLevel() < level)
{
- battlePetMgr->SendError(BATTLEPETRESULT_TOO_HIGH_LEVEL_TO_UNCAGE, speciesEntry->CreatureID);
+ battlePetMgr->SendError(BattlePetError::TooHighLevelToUncage, speciesEntry->CreatureID);
SendCastResult(SPELL_FAILED_CANT_ADD_BATTLE_PET);
return;
}
if (battlePetMgr->HasMaxPetCount(speciesEntry))
{
- battlePetMgr->SendError(BATTLEPETRESULT_CANT_HAVE_MORE_PETS_OF_THAT_TYPE, speciesEntry->CreatureID);
+ battlePetMgr->SendError(BattlePetError::CantHaveMorePetsOfType, speciesEntry->CreatureID);
SendCastResult(SPELL_FAILED_CANT_ADD_BATTLE_PET);
return;
}