public static void ModifyTooltips(Item item, ref int numTooltips, string[] names, ref string[] text,
ref bool[] modifier, ref bool[] badModifier, ref int oneDropLogo, out Color?[] overrideColor)
{
List<TooltipLine> tooltips = new List<TooltipLine>();
for (int k = 0; k < numTooltips; k++)
{
TooltipLine tooltip = new TooltipLine(names[k], text[k]);
tooltip.isModifier = modifier[k];
tooltip.isModifierBad = badModifier[k];
if (k == oneDropLogo)
{
tooltip.oneDropLogo = true;
}
tooltips.Add(tooltip);
}
if (IsModItem(item))
{
item.modItem.ModifyTooltips(tooltips);
}
foreach (var hook in HookModifyTooltips)
{
hook(item, tooltips);
}
numTooltips = tooltips.Count;
text = new string[numTooltips];
modifier = new bool[numTooltips];
badModifier = new bool[numTooltips];
oneDropLogo = -1;
overrideColor = new Color?[numTooltips];
for (int k = 0; k < numTooltips; k++)
{
text[k] = tooltips[k].text;
modifier[k] = tooltips[k].isModifier;
badModifier[k] = tooltips[k].isModifierBad;
if (tooltips[k].oneDropLogo)
{
oneDropLogo = k;
}
overrideColor[k] = tooltips[k].overrideColor;
}
}