diff options
author | Meji <alvaromegias_46@hotmail.com> | 2021-11-19 14:01:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-19 14:01:22 +0100 |
commit | 12cc779ab0c6aa36e0c8110bb5cc7dede2af804f (patch) | |
tree | d7013d56b3b359e79961ee15decd2eed7c7237e0 /src | |
parent | f97deb3316574fc07520c5dd45bcd18e0bc767eb (diff) |
Core/BattlePets: BattlePetError enum class (#27286)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/BattlePets/BattlePetMgr.cpp | 4 | ||||
-rw-r--r-- | src/server/game/BattlePets/BattlePetMgr.h | 24 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 4 |
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; } |