From 65df9d424d88a50ec9155d05cba12e529e6f9557 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 6 Feb 2021 18:30:07 +0100 Subject: Core/Trainers: Remove all "hidden" rank based requirements for learning spell from trainers and always only rely on trainer_spell.ReqAbility fields in database --- src/server/game/Entities/Creature/Trainer.cpp | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) (limited to 'src') 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; } -- cgit v1.2.3