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:
@@ -306,6 +306,8 @@ namespace Game.Entities
|
|||||||
for (byte i = 0; i < SharedConst.MaxCreatureSpells; ++i)
|
for (byte i = 0; i < SharedConst.MaxCreatureSpells; ++i)
|
||||||
m_spells[i] = GetCreatureTemplate().Spells[i];
|
m_spells[i] = GetCreatureTemplate().Spells[i];
|
||||||
|
|
||||||
|
_staticFlags.ApplyFlag(CreatureStaticFlags.NoXp, cInfo.CreatureType == CreatureType.Critter || IsPet() || IsTotem() || cInfo.FlagsExtra.HasFlag(CreatureFlagsExtra.NoXP));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1029,12 +1031,11 @@ namespace Game.Entities
|
|||||||
|
|
||||||
public bool CanGiveExperience()
|
public bool CanGiveExperience()
|
||||||
{
|
{
|
||||||
return !IsCritter()
|
return !_staticFlags.HasFlag(CreatureStaticFlags.NoXp);
|
||||||
&& !IsPet()
|
|
||||||
&& !IsTotem()
|
|
||||||
&& !GetCreatureTemplate().FlagsExtra.HasAnyFlag(CreatureFlagsExtra.NoXP);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetCanGiveExperience(bool xpEnabled) { _staticFlags.ApplyFlag(CreatureStaticFlags.NoXp, !xpEnabled); }
|
||||||
|
|
||||||
public override bool IsEngaged()
|
public override bool IsEngaged()
|
||||||
{
|
{
|
||||||
CreatureAI ai = GetAI();
|
CreatureAI ai = GetAI();
|
||||||
|
|||||||
Reference in New Issue
Block a user