From 3e5742d95a880105f0e2175b2bcaa04aaa73abd9 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 9 Feb 2021 13:03:07 -0500 Subject: [PATCH] Core/Trainers: Remove all "hidden" rank based requirements for learning spell from trainers and always only rely on trainer_spell.ReqAbility fields in database Port From (https://github.com/TrinityCore/TrinityCore/commit/65df9d424d88a50ec9155d05cba12e529e6f9557) --- Source/Game/Entities/Creature/Trainer.cs | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/Source/Game/Entities/Creature/Trainer.cs b/Source/Game/Entities/Creature/Trainer.cs index b1039c765..210e7c008 100644 --- a/Source/Game/Entities/Creature/Trainer.cs +++ b/Source/Game/Entities/Creature/Trainer.cs @@ -137,28 +137,11 @@ namespace Game.Entities hasLearnSpellEffect = true; if (!player.HasSpell(spellEffect.TriggerSpell)) knowsAllLearnedSpells = false; - - uint previousRankSpellId = Global.SpellMgr.GetPrevSpellInChain(spellEffect.TriggerSpell); - if (previousRankSpellId != 0) - if (!player.HasSpell(previousRankSpellId)) - return TrainerSpellState.Unavailable; } - if (!hasLearnSpellEffect) - { - uint previousRankSpellId = Global.SpellMgr.GetPrevSpellInChain(trainerSpell.SpellId); - if (previousRankSpellId != 0) - if (!player.HasSpell(previousRankSpellId)) - return TrainerSpellState.Unavailable; - } - else if (knowsAllLearnedSpells) + if (hasLearnSpellEffect && knowsAllLearnedSpells) return TrainerSpellState.Known; - // check additional spell requirement - foreach (var spellId in Global.SpellMgr.GetSpellsRequiredForSpellBounds(trainerSpell.SpellId)) - if (!player.HasSpell(spellId)) - return TrainerSpellState.Unavailable; - return TrainerSpellState.Available; }