aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Skills/SkillDiscovery.cpp
diff options
context:
space:
mode:
authorWyrserth <43747507+Wyrserth@users.noreply.github.com>2019-06-15 14:13:19 +0200
committerShauren <shauren.trinity@gmail.com>2021-12-11 12:06:54 +0100
commit6b7bc82641e0cb7cf8add1089d8dde0aad93edbe (patch)
treed1e0189fabbb93213d03f00d0401c382d0fabf46 /src/server/game/Skills/SkillDiscovery.cpp
parent3ba08283ba650f5f470b58b1fd0bc50fa7e19c5b (diff)
Core/Spell: allow Northrend Inscription Research to unlock three recipes the first time it is cast. (#23401)
Also prevent double skill-up because of duplicate UpdateCraftSkill() calls. (cherry picked from commit 2315d43b2c1f478bd5f612e39f3a938bf6640ab6)
Diffstat (limited to 'src/server/game/Skills/SkillDiscovery.cpp')
-rw-r--r--src/server/game/Skills/SkillDiscovery.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Skills/SkillDiscovery.cpp b/src/server/game/Skills/SkillDiscovery.cpp
index 044032a52bd..e46064b608a 100644
--- a/src/server/game/Skills/SkillDiscovery.cpp
+++ b/src/server/game/Skills/SkillDiscovery.cpp
@@ -207,6 +207,19 @@ bool HasDiscoveredAllSpells(uint32 spellId, Player* player)
return true;
}
+bool HasDiscoveredAnySpell(uint32 spellId, Player* player)
+{
+ SkillDiscoveryMap::const_iterator tab = SkillDiscoveryStore.find(int32(spellId));
+ if (tab == SkillDiscoveryStore.end())
+ return false;
+
+ for (SkillDiscoveryList::const_iterator item_iter = tab->second.begin(); item_iter != tab->second.end(); ++item_iter)
+ if (player->HasSpell(item_iter->spellId))
+ return true;
+
+ return false;
+}
+
uint32 GetSkillDiscoverySpell(uint32 skillId, uint32 spellId, Player* player)
{
uint32 skillvalue = skillId ? player->GetSkillValue(skillId) : uint32(0);