Core/Gossip: Add/Remove spell for disable/enable experience in group

Port From (https://github.com/TrinityCore/TrinityCore/commit/a7dbede82ad1453de1382b36434eb89819a38142)
This commit is contained in:
hondacrx
2022-10-31 13:49:02 -04:00
parent 1ccc903f2b
commit cdf16b8a84
2 changed files with 6 additions and 2 deletions
@@ -74,6 +74,8 @@ namespace Framework.Constants
//Warmode
public const uint WarmodeEnlistedSpellOutside = 269083;
public const uint SpellExperienceEliminated = 206662;
}
public struct MoneyConstants
+4 -2
View File
@@ -2353,11 +2353,11 @@ namespace Game.Entities
canTalk = false;
break;
case GossipOptionNpc.DisableXPGain:
if (HasPlayerFlag(PlayerFlags.NoXPGain))
if (HasPlayerFlag(PlayerFlags.NoXPGain) || IsMaxLevel())
canTalk = false;
break;
case GossipOptionNpc.EnableXPGain:
if (!HasPlayerFlag(PlayerFlags.NoXPGain))
if (!HasPlayerFlag(PlayerFlags.NoXPGain) || IsMaxLevel())
canTalk = false;
break;
case GossipOptionNpc.None:
@@ -2595,10 +2595,12 @@ namespace Game.Entities
break;
case GossipOptionNpc.DisableXPGain:
PlayerTalkClass.SendCloseGossip();
CastSpell(null, PlayerConst.SpellExperienceEliminated, true);
SetPlayerFlag(PlayerFlags.NoXPGain);
break;
case GossipOptionNpc.EnableXPGain:
PlayerTalkClass.SendCloseGossip();
RemoveAurasDueToSpell(PlayerConst.SpellExperienceEliminated);
RemovePlayerFlag(PlayerFlags.NoXPGain);
break;
case GossipOptionNpc.Mailbox: