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 //Warmode
public const uint WarmodeEnlistedSpellOutside = 269083; public const uint WarmodeEnlistedSpellOutside = 269083;
public const uint SpellExperienceEliminated = 206662;
} }
public struct MoneyConstants public struct MoneyConstants
+4 -2
View File
@@ -2353,11 +2353,11 @@ namespace Game.Entities
canTalk = false; canTalk = false;
break; break;
case GossipOptionNpc.DisableXPGain: case GossipOptionNpc.DisableXPGain:
if (HasPlayerFlag(PlayerFlags.NoXPGain)) if (HasPlayerFlag(PlayerFlags.NoXPGain) || IsMaxLevel())
canTalk = false; canTalk = false;
break; break;
case GossipOptionNpc.EnableXPGain: case GossipOptionNpc.EnableXPGain:
if (!HasPlayerFlag(PlayerFlags.NoXPGain)) if (!HasPlayerFlag(PlayerFlags.NoXPGain) || IsMaxLevel())
canTalk = false; canTalk = false;
break; break;
case GossipOptionNpc.None: case GossipOptionNpc.None:
@@ -2595,10 +2595,12 @@ namespace Game.Entities
break; break;
case GossipOptionNpc.DisableXPGain: case GossipOptionNpc.DisableXPGain:
PlayerTalkClass.SendCloseGossip(); PlayerTalkClass.SendCloseGossip();
CastSpell(null, PlayerConst.SpellExperienceEliminated, true);
SetPlayerFlag(PlayerFlags.NoXPGain); SetPlayerFlag(PlayerFlags.NoXPGain);
break; break;
case GossipOptionNpc.EnableXPGain: case GossipOptionNpc.EnableXPGain:
PlayerTalkClass.SendCloseGossip(); PlayerTalkClass.SendCloseGossip();
RemoveAurasDueToSpell(PlayerConst.SpellExperienceEliminated);
RemovePlayerFlag(PlayerFlags.NoXPGain); RemovePlayerFlag(PlayerFlags.NoXPGain);
break; break;
case GossipOptionNpc.Mailbox: case GossipOptionNpc.Mailbox: