From 6905c69cfb2379d67572bb0a946395317c65da90 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 14 Mar 2023 04:20:09 -0400 Subject: [PATCH] Core/Creatures: Allow turning off experience gain from creatures by scripts Port From (https://github.com/TrinityCore/TrinityCore/commit/91e7401e64dcc2883f7a42c5e382f901c58b9d00) --- Source/Game/Entities/Creature/Creature.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Source/Game/Entities/Creature/Creature.cs b/Source/Game/Entities/Creature/Creature.cs index d1efe5ed5..b68f786ae 100644 --- a/Source/Game/Entities/Creature/Creature.cs +++ b/Source/Game/Entities/Creature/Creature.cs @@ -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();