Baganator

Baganator

11M Downloads

Don't combine identical items with different charges

Closed this issue ยท 8 comments

commented

What version(s) of WoW are you using?

Classic Era

What problem are you experiencing that led to you asking for this feature?

When "Group identical items" is enabled, items with different number of charges are combined e.g. Manual Crowd Pummeler

What solution would you like?

Don't combine identical items when they have different number of charges.

Any alternatives you can think of?

No response

Anything else?

No response

commented

This will be resolved in the next alphas, available in 5-10 minutes for Syndicator + Baganator

commented

This will be resolved in the next alphas, available in 5-10 minutes for Syndicator + Baganator

Seems to separate enchanted and non-enchanted ok, but still groups together different charges

commented

Can you screenshot the tooltip for one of the items?

commented

Image

commented

See if this helps, ran a dump on the items

Dump: value=Syndicator.Search.DumpClassicTooltip(function(tooltip) tooltip:SetBagItem(2, 5) end)
[1]={
  lines={
    [1]={
      leftColor={
        a=1,
        b=0.8666667342186,
        g=0.43921571969986,
        GetRGBA=<function>,
        IsRGBEqualTo=<function>,
        SetRGB=<function>,
        GetRGB=<function>,
        r=0,
        GenerateHexColorMarkup=<function>,
        WrapTextInColorCode=<function>,
        GenerateHexColor=<function>,
        IsEqualTo=<function>,
        OnLoad=<function>,
        GenerateHexColorNoAlpha=<function>,
        SetRGBA=<function>,
        GetRGBAsBytes=<function>,
        GetRGBAAsBytes=<function>
      },
      leftText="Manual Crowd Pummeler"
    },
    [2]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Soulbound"
    },
    [3]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Two-Hand",
      rightText="Mace",
      rightColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      }
    },
    [4]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="46 - 70 Damage",
      rightText="Speed 2.00",
      rightColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      }
    },
    [5]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="(29.0 damage per second)"
    },
    [6]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="+16 Strength"
    },
    [7]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="+5 Agility"
    },
    [8]={
      leftColor={
        a=1,
        b=0,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=0,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Counterweight +3% Attack Speed"
    },
    [9]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Durability 100 / 100"
    },
    [10]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Requires Level 29"
    },
    [11]={
      leftColor={
        a=1,
        b=0,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=0,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Use: Increases your attack speed by 50% for 30 sec."
    },
    [12]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="1 Charge"
    }
  }
}
Dump: value=Syndicator.Search.DumpClassicTooltip(function(tooltip) tooltip:SetBagItem(3, 8) end)
[1]={
  lines={
    [1]={
      leftColor={
        a=1,
        b=0.8666667342186,
        g=0.43921571969986,
        GetRGBA=<function>,
        IsRGBEqualTo=<function>,
        SetRGB=<function>,
        GetRGB=<function>,
        r=0,
        GenerateHexColorMarkup=<function>,
        WrapTextInColorCode=<function>,
        GenerateHexColor=<function>,
        IsEqualTo=<function>,
        OnLoad=<function>,
        GenerateHexColorNoAlpha=<function>,
        SetRGBA=<function>,
        GetRGBAsBytes=<function>,
        GetRGBAAsBytes=<function>
      },
      leftText="Manual Crowd Pummeler"
    },
    [2]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Soulbound"
    },
    [3]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Two-Hand",
      rightText="Mace",
      rightColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      }
    },
    [4]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="46 - 70 Damage",
      rightText="Speed 2.00",
      rightColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      }
    },
    [5]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="(29.0 damage per second)"
    },
    [6]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="+16 Strength"
    },
    [7]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="+5 Agility"
    },
    [8]={
      leftColor={
        a=1,
        b=0,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=0,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Counterweight +3% Attack Speed"
    },
    [9]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Durability 100 / 100"
    },
    [10]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Requires Level 29"
    },
    [11]={
      leftColor={
        a=1,
        b=0,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=0,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="Use: Increases your attack speed by 50% for 30 sec."
    },
    [12]={
      leftColor={
        a=1,
        b=1,
        g=1,
        GetRGBA=<function value>,
        IsRGBEqualTo=<function value>,
        SetRGB=<function value>,
        GetRGB=<function value>,
        r=1,
        GenerateHexColorMarkup=<function value>,
        WrapTextInColorCode=<function value>,
        GenerateHexColor=<function value>,
        IsEqualTo=<function value>,
        OnLoad=<function value>,
        GenerateHexColorNoAlpha=<function value>,
        SetRGBA=<function value>,
        GetRGBAsBytes=<function value>,
        GetRGBAAsBytes=<function value>
      },
      leftText="3 Charges"
    }
  }
}
commented

there's an implementation of the string splitting that seems to work here https://github.com/Rottenbeer/ItemRack/blob/a36c7fc17a5cf1e2ae2a52d9c8ce2c186126f68e/ItemRack/ItemRack.lua#L546

commented

Latest alpha should have this fixed for weapons (it was already working for consumables)

commented

If it still isn't working open another issue, all the cases should be covered now