Update locales_gossip_menu_option to simple system

This commit is contained in:
hondacrx
2017-11-13 12:42:45 -05:00
parent 1e22248418
commit a5e8da2a57
4 changed files with 55 additions and 64 deletions
+6 -6
View File
@@ -83,7 +83,7 @@ namespace Game.Misc
foreach (var item in bounds)
{
// Find the one with the given menu item id.
if (item.OptionIndex != menuItemId)
if (item.OptionId != menuItemId)
continue;
/// Store texts for localization.
@@ -842,12 +842,12 @@ namespace Game.Misc
public class GossipMenuItems
{
public uint MenuId;
public uint OptionIndex;
public uint OptionId;
public GossipOptionIcon OptionIcon;
public string OptionText;
public uint OptionBroadcastTextId;
public GossipOption OptionType;
public NPCFlags OptionNpcflag;
public NPCFlags OptionNpcFlag;
public uint ActionMenuId;
public uint ActionPoiId;
public bool BoxCoded;
@@ -875,8 +875,8 @@ namespace Game.Misc
public class GossipMenus
{
public uint entry;
public uint text_id;
public List<Condition> conditions = new List<Condition>();
public uint MenuId;
public uint TextId;
public List<Condition> Conditions = new List<Condition>();
}
}
+7 -7
View File
@@ -2341,7 +2341,7 @@ namespace Game.Entities
Creature creature = source.ToCreature();
if (creature)
{
if (!menuItems.OptionNpcflag.HasAnyFlag(npcflags))
if (!menuItems.OptionNpcFlag.HasAnyFlag(npcflags))
continue;
switch (menuItems.OptionType)
@@ -2439,7 +2439,7 @@ namespace Game.Entities
if (optionBroadcastText == null)
{
// Find localizations from database.
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionIndex);
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionId);
if (gossipMenuLocale != null)
ObjectManager.GetLocaleString(gossipMenuLocale.OptionText, locale, ref strOptionText);
}
@@ -2447,14 +2447,14 @@ namespace Game.Entities
if (boxBroadcastText == null)
{
// Find localizations from database.
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionIndex);
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionId);
if (gossipMenuLocale != null)
ObjectManager.GetLocaleString(gossipMenuLocale.BoxText, locale, ref strBoxText);
}
}
menu.GetGossipMenu().AddMenuItem((int)menuItems.OptionIndex, menuItems.OptionIcon, strOptionText, 0, (uint)menuItems.OptionType, strBoxText, menuItems.BoxMoney, menuItems.BoxCoded);
menu.GetGossipMenu().AddGossipMenuItemData(menuItems.OptionIndex, menuItems.ActionMenuId, menuItems.ActionPoiId, menuItems.TrainerId);
menu.GetGossipMenu().AddMenuItem((int)menuItems.OptionId, menuItems.OptionIcon, strOptionText, 0, (uint)menuItems.OptionType, strBoxText, menuItems.BoxMoney, menuItems.BoxCoded);
menu.GetGossipMenu().AddGossipMenuItemData(menuItems.OptionId, menuItems.ActionMenuId, menuItems.ActionPoiId, menuItems.TrainerId);
}
}
}
@@ -2620,8 +2620,8 @@ namespace Game.Entities
foreach (var menu in menuBounds)
{
if (Global.ConditionMgr.IsObjectMeetToConditions(this, source, menu.conditions))
textId = menu.text_id;
if (Global.ConditionMgr.IsObjectMeetToConditions(this, source, menu.Conditions))
textId = menu.TextId;
}
return textId;