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
|
//Warmode
|
||||||
public const uint WarmodeEnlistedSpellOutside = 269083;
|
public const uint WarmodeEnlistedSpellOutside = 269083;
|
||||||
|
|
||||||
|
public const uint SpellExperienceEliminated = 206662;
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct MoneyConstants
|
public struct MoneyConstants
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user