aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r--src/server/game/Spells/Spell.cpp54
1 files changed, 1 insertions, 53 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index a424e24a7bc..0086030683f 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -5775,11 +5775,6 @@ SpellCastResult Spell::CheckCast(bool strict, int32* param1 /*= nullptr*/, int32
if (m_spellInfo->ExcludeCasterAuraSpell && unitCaster->HasAura(m_spellInfo->ExcludeCasterAuraSpell))
return SPELL_FAILED_CASTER_AURASTATE;
- if (m_spellInfo->CasterAuraType && !unitCaster->HasAuraType(m_spellInfo->CasterAuraType))
- return SPELL_FAILED_CASTER_AURASTATE;
- if (m_spellInfo->ExcludeCasterAuraType && unitCaster->HasAuraType(m_spellInfo->ExcludeCasterAuraType))
- return SPELL_FAILED_CASTER_AURASTATE;
-
if (unitCaster->IsInCombat() && !m_spellInfo->CanBeUsedInCombat(unitCaster))
return SPELL_FAILED_AFFECTING_COMBAT;
}
@@ -6559,54 +6554,7 @@ SpellCastResult Spell::CheckCast(bool strict, int32* param1 /*= nullptr*/, int32
case SPELL_EFFECT_GRANT_BATTLEPET_LEVEL:
case SPELL_EFFECT_GRANT_BATTLEPET_EXPERIENCE:
{
- Player* playerCaster = m_caster->ToPlayer();
- if (!playerCaster || !m_targets.GetUnitTarget() || !m_targets.GetUnitTarget()->IsCreature())
- return SPELL_FAILED_BAD_TARGETS;
-
- BattlePets::BattlePetMgr* battlePetMgr = playerCaster->GetSession()->GetBattlePetMgr();
- if (!battlePetMgr->HasJournalLock())
- return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW;
-
- if (Creature* creature = m_targets.GetUnitTarget()->ToCreature())
- {
- if (playerCaster->GetSummonedBattlePetGUID().IsEmpty() || creature->GetBattlePetCompanionGUID().IsEmpty())
- return SPELL_FAILED_NO_PET;
-
- if (playerCaster->GetSummonedBattlePetGUID() != creature->GetBattlePetCompanionGUID())
- return SPELL_FAILED_BAD_TARGETS;
-
- if (BattlePets::BattlePet* battlePet = battlePetMgr->GetPet(creature->GetBattlePetCompanionGUID()))
- {
- if (BattlePetSpeciesEntry const* battlePetSpecies = sBattlePetSpeciesStore.LookupEntry(battlePet->PacketInfo.Species))
- {
- if (uint32 battlePetType = spellEffectInfo.MiscValue)
- if (!(battlePetType & (1 << battlePetSpecies->PetTypeEnum)))
- return SPELL_FAILED_WRONG_BATTLE_PET_TYPE;
-
- if (spellEffectInfo.Effect == SPELL_EFFECT_CHANGE_BATTLEPET_QUALITY)
- {
- auto qualityItr = std::lower_bound(sBattlePetBreedQualityStore.begin(), sBattlePetBreedQualityStore.end(), spellEffectInfo.CalcBaseValue(m_caster, creature, m_castItemEntry, m_castItemLevel), [](BattlePetBreedQualityEntry const* a1, int32 selector)
- {
- return a1->MaxQualityRoll < selector;
- });
-
- BattlePets::BattlePetBreedQuality quality = BattlePets::BattlePetBreedQuality::Poor;
- if (qualityItr != sBattlePetBreedQualityStore.end())
- quality = BattlePets::BattlePetBreedQuality(qualityItr->QualityEnum);
-
- if (battlePet->PacketInfo.Quality >= AsUnderlyingType(quality))
- return SPELL_FAILED_CANT_UPGRADE_BATTLE_PET;
- }
-
- if (spellEffectInfo.Effect == SPELL_EFFECT_GRANT_BATTLEPET_LEVEL || spellEffectInfo.Effect == SPELL_EFFECT_GRANT_BATTLEPET_EXPERIENCE)
- if (battlePet->PacketInfo.Level >= BattlePets::MAX_BATTLE_PET_LEVEL)
- return GRANT_PET_LEVEL_FAIL;
-
- if (battlePetSpecies->GetFlags().HasFlag(BattlePetSpeciesFlags::CantBattle))
- return SPELL_FAILED_BAD_TARGETS;
- }
- }
- }
+ return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW;
break;
}
default: