Core/Creatures: Allow turning off experience gain from creatures by scripts

Port From (https://github.com/TrinityCore/TrinityCore/commit/91e7401e64dcc2883f7a42c5e382f901c58b9d00)
This commit is contained in:
hondacrx
2023-03-14 04:20:09 -04:00
parent 40009792c4
commit 6905c69cfb
+5 -4
View File
@@ -306,6 +306,8 @@ namespace Game.Entities
for (byte i = 0; i < SharedConst.MaxCreatureSpells; ++i)
m_spells[i] = GetCreatureTemplate().Spells[i];
_staticFlags.ApplyFlag(CreatureStaticFlags.NoXp, cInfo.CreatureType == CreatureType.Critter || IsPet() || IsTotem() || cInfo.FlagsExtra.HasFlag(CreatureFlagsExtra.NoXP));
return true;
}
@@ -1029,12 +1031,11 @@ namespace Game.Entities
public bool CanGiveExperience()
{
return !IsCritter()
&& !IsPet()
&& !IsTotem()
&& !GetCreatureTemplate().FlagsExtra.HasAnyFlag(CreatureFlagsExtra.NoXP);
return !_staticFlags.HasFlag(CreatureStaticFlags.NoXp);
}
public void SetCanGiveExperience(bool xpEnabled) { _staticFlags.ApplyFlag(CreatureStaticFlags.NoXp, !xpEnabled); }
public override bool IsEngaged()
{
CreatureAI ai = GetAI();