Core/Gossip: renaming/changing types
This commit is contained in:
@@ -68,10 +68,10 @@ namespace Game.Misc
|
||||
/// Adds a localized gossip menu item from db by menu id and menu item id.
|
||||
/// </summary>
|
||||
/// <param name="menuId">menuId Gossip menu id.</param>
|
||||
/// <param name="menuItemId">menuItemId Gossip menu item id.</param>
|
||||
/// <param name="optionIndex">menuItemId Gossip menu item id.</param>
|
||||
/// <param name="sender">sender Identifier of the current menu.</param>
|
||||
/// <param name="action">action Custom action given to OnGossipHello.</param>
|
||||
public void AddMenuItem(uint menuId, uint menuItemId, uint sender, uint action)
|
||||
public void AddMenuItem(uint menuId, uint optionIndex, uint sender, uint action)
|
||||
{
|
||||
/// Find items for given menu id.
|
||||
var bounds = Global.ObjectMgr.GetGossipMenuItemsMapBounds(menuId);
|
||||
@@ -83,7 +83,7 @@ namespace Game.Misc
|
||||
foreach (var item in bounds)
|
||||
{
|
||||
// Find the one with the given menu item id.
|
||||
if (item.OptionId != menuItemId)
|
||||
if (item.OptionIndex != optionIndex)
|
||||
continue;
|
||||
|
||||
/// Store texts for localization.
|
||||
@@ -109,7 +109,7 @@ namespace Game.Misc
|
||||
if (optionBroadcastText == null)
|
||||
{
|
||||
// Find localizations from database.
|
||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItemId);
|
||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, optionIndex);
|
||||
if (gossipMenuLocale != null)
|
||||
ObjectManager.GetLocaleString(gossipMenuLocale.OptionText, GetLocale(), ref strOptionText);
|
||||
}
|
||||
@@ -117,7 +117,7 @@ namespace Game.Misc
|
||||
if (boxBroadcastText == null)
|
||||
{
|
||||
// Find localizations from database.
|
||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItemId);
|
||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, optionIndex);
|
||||
if (gossipMenuLocale != null)
|
||||
ObjectManager.GetLocaleString(gossipMenuLocale.BoxText, GetLocale(), ref strBoxText);
|
||||
}
|
||||
@@ -125,8 +125,8 @@ namespace Game.Misc
|
||||
}
|
||||
|
||||
// Add menu item with existing method. Menu item id -1 is also used in ADD_GOSSIP_ITEM macro.
|
||||
uint optionIndex = AddMenuItem(-1, item.OptionIcon, strOptionText, sender, action, strBoxText, item.BoxMoney, item.BoxCoded);
|
||||
AddGossipMenuItemData(optionIndex, item.ActionMenuId, item.ActionPoiId, item.TrainerId);
|
||||
uint newOptionIndex = AddMenuItem(-1, item.OptionIcon, strOptionText, sender, action, strBoxText, item.BoxMoney, item.BoxCoded);
|
||||
AddGossipMenuItemData(newOptionIndex, item.ActionMenuId, item.ActionPoiId, item.TrainerId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -844,7 +844,7 @@ namespace Game.Misc
|
||||
public class GossipMenuItems
|
||||
{
|
||||
public uint MenuId;
|
||||
public uint OptionId;
|
||||
public uint OptionIndex;
|
||||
public GossipOptionIcon OptionIcon;
|
||||
public string OptionText;
|
||||
public uint OptionBroadcastTextId;
|
||||
|
||||
@@ -2405,7 +2405,7 @@ namespace Game.Entities
|
||||
if (optionBroadcastText == null)
|
||||
{
|
||||
// Find localizations from database.
|
||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionId);
|
||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionIndex);
|
||||
if (gossipMenuLocale != null)
|
||||
ObjectManager.GetLocaleString(gossipMenuLocale.OptionText, locale, ref strOptionText);
|
||||
}
|
||||
@@ -2413,14 +2413,14 @@ namespace Game.Entities
|
||||
if (boxBroadcastText == null)
|
||||
{
|
||||
// Find localizations from database.
|
||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionId);
|
||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionIndex);
|
||||
if (gossipMenuLocale != null)
|
||||
ObjectManager.GetLocaleString(gossipMenuLocale.BoxText, locale, ref strBoxText);
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2448,7 +2448,7 @@ namespace Game.Entities
|
||||
|
||||
PlayerTalkClass.SendGossipMenu(textId, source.GetGUID());
|
||||
}
|
||||
public void OnGossipSelect(WorldObject source, uint gossipListId, uint menuId)
|
||||
public void OnGossipSelect(WorldObject source, uint optionIndex, uint menuId)
|
||||
{
|
||||
GossipMenu gossipMenu = PlayerTalkClass.GetGossipMenu();
|
||||
|
||||
@@ -2456,27 +2456,27 @@ namespace Game.Entities
|
||||
if (menuId != gossipMenu.GetMenuId())
|
||||
return;
|
||||
|
||||
GossipMenuItem item = gossipMenu.GetItem(gossipListId);
|
||||
GossipMenuItem item = gossipMenu.GetItem(optionIndex);
|
||||
if (item == null)
|
||||
return;
|
||||
|
||||
uint gossipOptionId = item.OptionType;
|
||||
uint gossipOptionType = item.OptionType;
|
||||
ObjectGuid guid = source.GetGUID();
|
||||
|
||||
if (source.IsTypeId(TypeId.GameObject))
|
||||
{
|
||||
if (gossipOptionId > (int)GossipOption.Questgiver)
|
||||
if (gossipOptionType > (int)GossipOption.Questgiver)
|
||||
{
|
||||
Log.outError(LogFilter.Player, "Player guid {0} request invalid gossip option for GameObject entry {1}", GetGUID().ToString(), source.GetEntry());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
GossipMenuItemData menuItemData = gossipMenu.GetItemData(gossipListId);
|
||||
GossipMenuItemData menuItemData = gossipMenu.GetItemData(optionIndex);
|
||||
if (menuItemData == null)
|
||||
return;
|
||||
|
||||
int cost = (int)item.BoxMoney;
|
||||
long cost = item.BoxMoney;
|
||||
if (!HasEnoughMoney(cost))
|
||||
{
|
||||
SendBuyError(BuyResult.NotEnoughtMoney, null, 0);
|
||||
@@ -2484,7 +2484,7 @@ namespace Game.Entities
|
||||
return;
|
||||
}
|
||||
|
||||
switch ((GossipOption)gossipOptionId)
|
||||
switch ((GossipOption)gossipOptionType)
|
||||
{
|
||||
case GossipOption.Gossip:
|
||||
{
|
||||
@@ -2500,7 +2500,7 @@ namespace Game.Entities
|
||||
break;
|
||||
}
|
||||
case GossipOption.Outdoorpvp:
|
||||
Global.OutdoorPvPMgr.HandleGossipOption(this, source.ToCreature(), gossipListId);
|
||||
Global.OutdoorPvPMgr.HandleGossipOption(this, source.ToCreature(), optionIndex);
|
||||
break;
|
||||
case GossipOption.Spirithealer:
|
||||
if (IsDead())
|
||||
|
||||
Reference in New Issue
Block a user