Core/Gossip: Drop OptionType for gossip_menu_option and rename OptionIcon to OptionNpc as it also determines functionality on client side
Port From (https://github.com/TrinityCore/TrinityCore/commit/69e0249807f5a8f351e6be6f7350ebace3d2997a)
This commit is contained in:
@@ -86,7 +86,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockDepths.TombOfSeven
|
||||
switch (action)
|
||||
{
|
||||
case eTradeskill.GossipActionInfoDef + 1:
|
||||
player.AddGossipItem(GossipOptionIcon.None, MiscConst.GossipItemTeach2, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 11);
|
||||
player.AddGossipItem(GossipOptionNpc.None, MiscConst.GossipItemTeach2, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 11);
|
||||
player.SendGossipMenu(2606, me.GetGUID());
|
||||
break;
|
||||
case eTradeskill.GossipActionInfoDef + 11:
|
||||
@@ -94,7 +94,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockDepths.TombOfSeven
|
||||
player.CastSpell(player, SpellIds.LearnSmelt, false);
|
||||
break;
|
||||
case eTradeskill.GossipActionInfoDef + 2:
|
||||
player.AddGossipItem(GossipOptionIcon.None, MiscConst.GossipItemTeach3, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 22);
|
||||
player.AddGossipItem(GossipOptionNpc.None, MiscConst.GossipItemTeach3, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 22);
|
||||
player.SendGossipMenu(2604, me.GetGUID());
|
||||
break;
|
||||
case eTradeskill.GossipActionInfoDef + 22:
|
||||
@@ -109,10 +109,10 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockDepths.TombOfSeven
|
||||
public override bool OnGossipHello(Player player)
|
||||
{
|
||||
if (player.GetQuestRewardStatus(QuestIds.SpectralChalice) && player.GetSkillValue(SkillType.Mining) >= MiscConst.DataSkillpointMin && !player.HasSpell(SpellIds.SmeltDarkIron))
|
||||
player.AddGossipItem(GossipOptionIcon.None, MiscConst.GossipItemTeach1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
|
||||
player.AddGossipItem(GossipOptionNpc.None, MiscConst.GossipItemTeach1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
|
||||
|
||||
if (!player.GetQuestRewardStatus(QuestIds.SpectralChalice) && player.GetSkillValue(SkillType.Mining) >= MiscConst.DataSkillpointMin)
|
||||
player.AddGossipItem(GossipOptionIcon.None, MiscConst.GossipItemTribute, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 2);
|
||||
player.AddGossipItem(GossipOptionNpc.None, MiscConst.GossipItemTribute, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 2);
|
||||
|
||||
player.SendGossipMenu(player.GetGossipTextId(me), me.GetGUID());
|
||||
return true;
|
||||
|
||||
@@ -471,7 +471,7 @@ namespace Scripts.World.GameObjects
|
||||
QuestStatus status = player.GetQuestStatus(QuestIds.DoingYourDuty);
|
||||
if (status == QuestStatus.Incomplete || status == QuestStatus.Complete || status == QuestStatus.Rewarded)
|
||||
{
|
||||
player.AddGossipItem(GossipOptionIcon.None, GossipConst.GossipUseOuthouse, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
|
||||
player.AddGossipItem(GossipOptionNpc.None, GossipConst.GossipUseOuthouse, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
|
||||
player.SendGossipMenu(GossipConst.GossipOuthouseVacant, me.GetGUID());
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1475,45 +1475,6 @@ namespace Scripts.World.NpcSpecial
|
||||
bool _showUnderground;
|
||||
}
|
||||
|
||||
[Script]
|
||||
class npc_experience : ScriptedAI
|
||||
{
|
||||
public npc_experience(Creature creature) : base(creature) { }
|
||||
|
||||
public override bool OnGossipHello(Player player)
|
||||
{
|
||||
if (player.HasPlayerFlag(PlayerFlags.NoXPGain)) // not gaining XP
|
||||
{
|
||||
player.AddGossipItem(GossipMenus.MenuIdXpOnOff, GossipMenus.OptionIdXpOn, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
|
||||
player.SendGossipMenu(TextIds.XpOnOff, me.GetGUID());
|
||||
}
|
||||
else // currently gaining XP
|
||||
{
|
||||
player.AddGossipItem(GossipMenus.MenuIdXpOnOff, GossipMenus.OptionIdXpOff, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 2);
|
||||
player.SendGossipMenu(TextIds.XpOnOff, me.GetGUID());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool OnGossipSelect(Player player, uint menuId, uint gossipListId)
|
||||
{
|
||||
uint action = player.PlayerTalkClass.GetGossipOptionAction(gossipListId);
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case eTradeskill.GossipActionInfoDef + 1:// XP ON selected
|
||||
player.RemovePlayerFlag(PlayerFlags.NoXPGain); // turn on XP gain
|
||||
break;
|
||||
case eTradeskill.GossipActionInfoDef + 2:// XP OFF selected
|
||||
player.SetPlayerFlag(PlayerFlags.NoXPGain); // turn off XP gain
|
||||
break;
|
||||
}
|
||||
|
||||
player.PlayerTalkClass.SendCloseGossip();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
[Script]
|
||||
class npc_spring_rabbit : ScriptedAI
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user