aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-02-06 18:30:07 +0100
committerShauren <shauren.trinity@gmail.com>2021-02-06 18:30:07 +0100
commit65df9d424d88a50ec9155d05cba12e529e6f9557 (patch)
tree25b0ecb501e73b145b0b3954f557ab39e628e9f8
parent0cae71eac58bf37c6a2cbce2a60dd2aa1f7b4314 (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
-rw-r--r--src/server/game/Entities/Creature/Trainer.cpp17
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;
}