A library to determine estimated range.

API documentation

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Milesbeyond Milesbeyond Mar 16, 2015 at 15:36 UTC - 0 likes

    @mitch0: Go

    Ahhh... I see now. I noticed the "Reinforced Net" with its 80 yard range in you source code already, which is a very specific item. I did not come up to me IsItemInRange() could be used without the actual item in the inventory. Nifty!

  • Avatar of mitch0 mitch0 Mar 15, 2015 at 09:06 UTC - 0 likes

    @Myth384: Go


    LibRangeCheck is using item ranges (along with spell ranges) for range estimates. The 80yd range is checked with the item range of "Reinforced Net" (itemid: 35278). See the IsItemInRange() API call.

  • Avatar of Myth384 Myth384 Mar 14, 2015 at 21:59 UTC - 0 likes

    Hi Mitch, I was wondering how the 80 yard range is determined. I can not find any spell with this range. Your library is even able to determine this distance on a lvl 1 bank alt.

  • Avatar of mitch0 mitch0 Apr 27, 2009 at 07:58 UTC - 0 likes

    @zaiph: Those are comments only, the actual ranges are determined by the blizz API, but I changed them in the source, just in case :)

    @Sinktinkler: This behaviour is due to how the ranges are determined and how interact based ranges work... The minimum range is the first range that range-check fails for, and for some reason the interact based ranges are determined differently than the "normal" spell/ability ranges. I'll consider ditching the interact-based checks for the friend and harm targets, and only keep them for the "misc" targets (those that you can neither assist, nor attack, like some folks in the neutral cities).

    If you'd like to try out how it would work, change these two lines in LibRangeCheck-2.0.lua (in the :init method):

        self.friendRC = createCheckerList(FriendSpells[playerClass], {}, FriendItems)
        self.harmRC = createCheckerList(HarmSpells[playerClass], {}, HarmItems)

    (the interactList param is replaced with an empty list)

    cheers, mitch

  • Avatar of Sinktinkler Sinktinkler Apr 24, 2009 at 03:34 UTC - 0 likes

    Hi! There are some fights where I, as a rogue, am able to use all my melee abilities, yet LibRangeCheck reports a range of 9 - 10 yards (I think) instead of the expected 0 - 5. Mobs where this is an issue include Razorscale chained in phase 1 and Kologarn's arms. While it seems plausible that my target, which in both cases is hovering off the ground, is indeed 9 - 10 yards away, is there (or should there be) a way to know through the LibRangeCheck API that I'm in melee range and able to use my melee abilities?

    Actually, is this even intended behavior? Glancing through the code, it seems like it's using my rogue's Eviscerate to check for melee distance, and Eviscerate is certainly in range for these fights.

  • Avatar of zainph zainph Apr 23, 2009 at 18:47 UTC - 0 likes

    Warrior's spell range.

    355, ["Taunt"], 30 (not 20)

    5246, ["Intimidating Shout"], 8 (not 10)

    Warriors have no 10yard ranged harm spells except ones of area.

  • Avatar of mitch0 mitch0 Feb 10, 2009 at 08:26 UTC - 0 likes

    Fixed in v3.2.


  • Avatar of zainph zainph Feb 04, 2009 at 09:31 UTC - 0 likes


    First of all, thanks you for this addon. RangeDisplay is my favorate mod. But, there is a little problem for Druid. I couldn't do melee attacks in melee range (displayed 0-5 yard).

    So, I modified LibRangeCheck-2.0.lua.

    Line 62

     5211, -- [Bash], -- 5

    Then, I can do melee attacks in 0 ~ 5 yards RangeDisplay displays. And, 5~8 yards is displayed, that was not displayed before modification.

    Bash is an instant melee attack, druid can achieve it at level 14 from trainer.

    Maul is a range restricted spell, but at any range IsSpellInRange API returns 1.



Date created
Apr 03, 2008
Last update
Aug 01, 2016
Development stage
  • enUS
Public Domain
Curse link
Reverse relationships
Recent files
  • R: v3.11.0 for 7.0.3 Aug 01, 2016
  • A: r168 for 7.0.3 Aug 01, 2016
  • A: r167 for 6.2.4 Aug 01, 2016
  • A: r166 for 6.2.4 Aug 01, 2016
  • R: v3.10.0 for 6.2.0 Jul 10, 2015



Embedded library