Core/Spells: Implemented SPELL_EFFECT_GIVE_EXPERIENCE and SPELL_EFFECT_GIVE_RESTED_EXPERIENCE_BONUS

Port From (https://github.com/TrinityCore/TrinityCore/commit/ade34a7f484dfcc7e41eddfd1014e7728c8dc2c1)
This commit is contained in:
hondacrx
2023-01-05 17:05:01 -05:00
parent 2e14438174
commit d644418262
6 changed files with 40 additions and 28 deletions
+13 -4
View File
@@ -50,12 +50,17 @@ namespace Game.Entities
public int GetQuestMinLevel(Quest quest)
{
var questLevels = Global.DB2Mgr.GetContentTuningData(quest.ContentTuningId, m_playerData.CtrOptions.GetValue().ContentTuningConditionMask);
return GetQuestMinLevel(quest.ContentTuningId);
}
int GetQuestMinLevel(uint contentTuningId)
{
var questLevels = Global.DB2Mgr.GetContentTuningData(contentTuningId, m_playerData.CtrOptions.GetValue().ContentTuningConditionMask);
if (questLevels.HasValue)
{
ChrRacesRecord race = CliDB.ChrRacesStorage.LookupByKey(GetRace());
FactionTemplateRecord raceFaction = CliDB.FactionTemplateStorage.LookupByKey(race.FactionID);
int questFactionGroup = CliDB.ContentTuningStorage.LookupByKey(quest.ContentTuningId).GetScalingFactionGroup();
int questFactionGroup = CliDB.ContentTuningStorage.LookupByKey(contentTuningId).GetScalingFactionGroup();
if (questFactionGroup != 0 && raceFaction.FactionGroup != questFactionGroup)
return questLevels.Value.MaxLevel;
@@ -69,11 +74,15 @@ namespace Game.Entities
{
if (quest == null)
return 0;
return GetQuestLevel(quest.ContentTuningId);
}
var questLevels = Global.DB2Mgr.GetContentTuningData(quest.ContentTuningId, m_playerData.CtrOptions.GetValue().ContentTuningConditionMask);
public int GetQuestLevel(uint contentTuningId)
{
var questLevels = Global.DB2Mgr.GetContentTuningData(contentTuningId, m_playerData.CtrOptions.GetValue().ContentTuningConditionMask);
if (questLevels.HasValue)
{
int minLevel = GetQuestMinLevel(quest);
int minLevel = GetQuestMinLevel(contentTuningId);
int maxLevel = questLevels.Value.MaxLevel;
int level = (int)GetLevel();
if (level >= minLevel)