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:
@@ -74,6 +74,8 @@ namespace Framework.Constants
|
||||
|
||||
//Warmode
|
||||
public const uint WarmodeEnlistedSpellOutside = 269083;
|
||||
|
||||
public const uint SpellExperienceEliminated = 206662;
|
||||
}
|
||||
|
||||
public struct MoneyConstants
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user