diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-02-06 18:30:07 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-02-06 18:30:07 +0100 |
commit | 65df9d424d88a50ec9155d05cba12e529e6f9557 (patch) | |
tree | 25b0ecb501e73b145b0b3954f557ab39e628e9f8 /src | |
parent | 0cae71eac58bf37c6a2cbce2a60dd2aa1f7b4314 (diff) |
Core/Trainers: Remove all "hidden" rank based requirements for learning spell from trainers and always only rely on trainer_spell.ReqAbility fields in database
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Creature/Trainer.cpp | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/src/server/game/Entities/Creature/Trainer.cpp b/src/server/game/Entities/Creature/Trainer.cpp index bfdf21a06bd..ed2d2a9cf3e 100644 --- a/src/server/game/Entities/Creature/Trainer.cpp +++ b/src/server/game/Entities/Creature/Trainer.cpp @@ -150,26 +150,11 @@ namespace Trainer hasLearnSpellEffect = true; if (!player->HasSpell(spellEffect->TriggerSpell)) knowsAllLearnedSpells = false; - - if (uint32 previousRankSpellId = sSpellMgr->GetPrevSpellInChain(spellEffect->TriggerSpell)) - if (!player->HasSpell(previousRankSpellId)) - return SpellState::Unavailable; } - if (!hasLearnSpellEffect) - { - if (uint32 previousRankSpellId = sSpellMgr->GetPrevSpellInChain(trainerSpell->SpellId)) - if (!player->HasSpell(previousRankSpellId)) - return SpellState::Unavailable; - } - else if (knowsAllLearnedSpells) + if (hasLearnSpellEffect && knowsAllLearnedSpells) return SpellState::Known; - // check additional spell requirement - for (auto const& requirePair : sSpellMgr->GetSpellsRequiredForSpellBounds(trainerSpell->SpellId)) - if (!player->HasSpell(requirePair.second)) - return SpellState::Unavailable; - return SpellState::Available; } |