• 0

    posted a message on Quartz: Modular Casting Bar
    Bits from Quartz_Player/Player.lua:
    local function OnUpdate() -- local function; cannot be changed from outside of Player.lua
    	...
    end
    
    QuartzPlayer.OnUpdate = OnUpdate -- setting the QuartzPlayer.OnUpdate function to be the local version
    
    local function OnHide()
    	...
    	castBarParent:SetScript('OnUpdate', nil)  -- this is IIRC not needed, because no OnUpdate is called for a hidden frame
    end
    
    local function OnShow()
    	castBarParent:SetScript('OnUpdate', OnUpdate) -- this uses reference to local OnUpdate function which cannot be changed by us!
    end


    I didn't noticed this problem in the first place either, but I've noticed the UNIT_SPELLCAST_FAILED hasn't been properly restored after landing. For now my code is full of DEFAULT_CHAT_FRAME:AddMessage("|cffffff7fFlight: |r Landing") messages to check proper code flow.
    Posted in: General AddOns
  • 0

    posted a message on HonorFu out of date?
    Will there be 2.4 update for HonorFu? The TOC was increased but no other updates were made to make it compatible... Changelog

    Current issues:
    - Honor calculation - in 2.4 first 50 kills of the same guy in BG gives full and instant honor; subsequent kills gives no honor
    - Death detection - it doesn't count my deaths and thus my kill ratio is x:0
    Posted in: FuBar AddOns
  • 0

    posted a message on Mobinfo
    Let's rephrase his question:
    As this community is thriving and not likely to disipate in the long term, would anyone or group fancy taking on the support with the view to continue it's development here on wowace?


    I love MobInfo2 as well, but it is much larger code base that I can handle fixing on my own like Quartz_Flight, Tradeskill Info or MinimapButtonBag.

    There are some issues with current version (3.60) and current WoW verion (2.4). Namely resistance/immunities support, unknown level mobs problems,... Support for MobInfo2_Browser is problematic as well and needs custom patches for the latest MobInfo2_Browser release (1.31) to work properly.
    Posted in: General Chat
  • 0

    posted a message on Quartz: Modular Casting Bar
    Ok, to clear the things even more up:
    1) You don't need to unregister UNIT_SPELLCAST_CHANNEL_STOP event - it was mistake on my part and only UNIT_SPELLCAST_FAILED is fired.
    2) In my test the modified OnUpdate is never called because the SetScript in QuartzPlayer:OnShow handler is using local function copy which cannot be hijacked like this

    Also there is one bug: if the duration is unknown the flighttime is reported 0 or 4 (by InFlight) and it fails the check in OnUpdate handler (if it was called)

    additions to QuartzFlight:BeginFlight:
    	if duration < 11 then duration = 11 end -- to "fix" the bug when duration is unknown
    
    	QuartzPlayer:UnregisterEvent("UNIT_SPELLCAST_FAILED")  -- Pusikas's idea to solve the UNIT_SPELLCAST_FAILED bug
    
    	old_OnUpdate = QuartzPlayer.castBarParent:GetScript('OnUpdate') -- get the old OnUpdate handler
    	QuartzPlayer.castBarParent:SetScript('OnUpdate', FlightOnUpdate) -- insert our own OnUpdate handler

    supporting code
    local old_OnUpdate
    local function FlightLand()  -- this restores all old handlers. Should be called after landing/party summon/...
    	QuartzPlayer:RegisterEvent("UNIT_SPELLCAST_FAILED")  -- restore the UNIT_SPELLCAST_FAILED event handler
    	QuartzPlayer.castBarParent:SetScript('OnUpdate', old_OnUpdate)  -- restore the old OnUpdate handler
    	QuartzPlayer.casting = nil
    	QuartzPlayer.channelling = nil
    	QuartzPlayer.fadeOut = true
    	QuartzPlayer.stopTime = GetTime()
    end
    local function FlightOnUpdate(...)
    	local currentTime = GetTime()
    	local flightTime = currentTime - QuartzPlayer.startTime
    	if (flightTime > 10) and not UnitOnTaxi("player") then
    		FlightLand()
    	end
    	return old_OnUpdate(...)
    end


    things to fix:
    1) Party summon should cancel the flight bar as well
    2) Can the old_OnUpdate be nil? (the value is got after Show is called - it should be properly set)
    3) Do QuartzPlayer:OnHide need to clear OnUpdate handler? IIRC OnUpdate is not called when frame is hidden...
    Posted in: General AddOns
  • 0

    posted a message on WoW UI Updater (Win/OSX/Linux, supports multiple sites), 1.6 thread
    I'm sorry to be bringer of the bad news, but I have another bug report for you:

    5) The Cosmos addon page for recently updated addons display "yesterday" (or "today"?) and this is wrongly translated to version. Instead of full 20080406 the short date is shown: 200846 (missing zeros) - this number is less then previous full number and an updated is ignored.
    Posted in: Updaters
  • 0

    posted a message on RatingBuster
    I've encouterred another problem with RatingBuster and JewelTips - [Enchant Boots - Lesser Stamina] reports +136440 HP!!
    Posted in: General AddOns
  • 0

    posted a message on Quartz: Modular Casting Bar
    Quote from DrunkenDonkey »

    wtb thread search, I'm sure I'm asking question already being answered but no way I search 60 pages 1 by 1 :(

    You can do thread search when you change the skin of this forum in your Profile/Look and Layout Preferences to SMF Default Theme

    Quote from DrunkenDonkey »

    So here it is: can it be made so quartz does not show some target casts (you add filter, just a list of spell names)?

    AFAIK Quartz doesn't support such feature, but you can use Deadened addon to hide just Deadened spell or NoSeeNoInterrupt addon to hide customized list of spells.
    Posted in: General AddOns
  • 0

    posted a message on Quartz: Modular Casting Bar
    This is what I meant - all handling is moving to Flight module. But I'm Lua novice I don't ahve any right to tell what is ok and what is not ;)

    There are some problems though:
    1) Registering for the event doesn't solve the spell failed bug, because we are just notified of the event and we have no tools to cancel the event. :(
    2) We need to catch the event only during the flight - that means start catching it during BeginFlight and stop after landing.
    3) Registering event on UIParent is not a good idea because AFAIK only one handler can be installed and this would remove another addon's handler

    My drycodeded idea:
    local old_UNIT_SPELLCAST_FAILED
    local old_UNIT_SPELLCAST_CHANNEL_STOP
    local old_OnUpdate
    local function Land()  -- this restores all old handlers. Should be called after landing/party summon/...
    	QuartzPlayer.UNIT_SPELLCAST_FAILED = old_UNIT_SPELLCAST_FAILED
    	QuartzPlayer.UNIT_SPELLCAST_CHANNEL_STOP = old_UNIT_SPELLCAST_CHANNEL_STOP
    	QuartzPlayer.OnUpdate = old_OnUpdate
    	QuartzPlayer.casting = nil
    	QuartzPlayer.channelling = nil
    	QuartzPlayer.fadeOut = true
    	QuartzPlayer.stopTime = GetTime()
    end
    local function OnUpdate(...)
    	local currentTime = GetTime()
    	local flightTime = currentTime - QuartzPlayer.startTime
    	if flightTime > 10 and not UnitOnTaxi("player") then
    		Land()
    	end
    	return old_OnUpdate(...)
    end

    and QuartzFlight:BeginFlight
    	old_UNIT_SPELLCAST_FAILED = QuartzPlayer.UNIT_SPELLCAST_FAILED    -- save the old handlers
    	old_UNIT_SPELLCAST_CHANNEL_STOP = QuartzPlayer.UNIT_SPELLCAST_CHANNEL_STOP  -- save the old handlers
    	old_OnUpdate = QuartzPlayer.OnUpdate       -- save the old handlers
    	QuartzPlayer.UNIT_SPELLCAST_FAILED = function () end  -- disable the handlers
    	QuartzPlayer.UNIT_SPELLCAST_CHANNEL_STOP = function () end  -- disable the handlers
    	QuartzPlayer.OnUpdate = OnUpdate   -- hijack the handler to do our stuff
    	QuartzPlayer.castBar:SetValue(0)
    	QuartzPlayer.castBarParent:Show()
    	QuartzPlayer.castBarParent:SetAlpha(QuartzPlayer.db.profile.alpha)


    This should work by hijacking the Quartz event handlers, which is not a great way of doing it, but should work (haven't tested it - may blow your computer up). Someone with better knowledge of Lua and WoW should suggest something better :)
    Posted in: General AddOns
  • 0

    posted a message on WoW UI Updater (Win/OSX/Linux, supports multiple sites), 1.6 thread
    Quote from lejordet »

    * Feature: Added web site caching (in memory - see Tools menu, default enabled)

    That a great feature! The cosmos addons version check is now flawless ;)

    Sadly I have one more bug to report:
    4) The GoogleCodeSVN site is missing from Edit window. The only way to set it is using the combobox under the whole addon list.

    3) The sorting still doesn't work (on WinXP 32bit) - would a screenshot or my addons list help you fix this?
    Posted in: Updaters
  • 0

    posted a message on WoW UI Updater (Win/OSX/Linux, supports multiple sites), 1.6 thread
    I don't know what happened during the last update but the sorting has some bugs in it:

    When I sort the addon list by Site there are two regular addons mixed between the [Related] addons. :(
    Posted in: Updaters
  • 0

    posted a message on Inventory On Par
    I haven't found better thread for this but I'd like the author to fix the TOC file and add all the dependencies.

    Also if it is possible can you change the ItemBonusLib to new LibItemBonus-2.0?

    (This post comes from my observation in post: Re: Updating WITHOUT externals -- Organizing non-embedded LIBS)

    Thank you
    Posted in: General AddOns
  • 0

    posted a message on Updating WITHOUT externals -- Organizing non-embedded LIBS
    There are some addons which doesn't properly state their dependencies in the TOC file and thus when using disembedded installation the libraries may be missing.

    One of such problematic Addon is InventoryOnPar here on wowace. Today I've deleted ItemBonusLib hoping it was superseded by LibItemBonus-2.0 in all addons, but sadly InventoryOnPar errored.

    InventoryOnPar.toc:
    ## Interface: 20400
    ## Title: InventoryOnPar
    ## Notes: Gives a score for your kit allowing easy comparison with others, also colour codes kit based on appropriateness for your level.
    ## Author: Pericles
    ## X-Category: Inventory
    ## SavedVariables: IOP
    ## OptionalDeps:
    ## Dependencies:
    Posted in: AddOn HELP!
  • 0

    posted a message on Quartz: Modular Casting Bar
    I don't like the idea of another bar. If you at Quartz_Tradeskill it still uses the Player bar, but handles all related event itself.

    To clear the code up the Quartz_Flight should handle the UNIT_SPELLCAST_FAILED/UNIT_SPELLCAST_CHANNEL_STOP event to fix the current problem and in its own OnUpdate handler it should check for landing/Party summon/BG join to hide the bar afterwards.
    Posted in: General AddOns
  • 0

    posted a message on Quartz: Modular Casting Bar
    Quote from Pusikas »

    And I also THINK that just checking for UnitOnTaxi won't work, since during the debugging I did, it seemed to me like the bar appears when you click the symbol for your destination on the map. It takes a few moments before you are actually in the air and that function returns true. At work now, so I can't test it anymore right now.

    If you take a look at ToFu, ACB, InFlight, ... sources and you'll see in every one of them something like this:
    if flightDuration < 10 or UnitOnTaxi("player") then
     -- still in flight
    else
     -- flight longer then 10 sec => workaround the "takeoff bug" and flight already ended
    end
    Posted in: General AddOns
  • 0

    posted a message on Quartz: Modular Casting Bar
    Thanks Pusikas for your detective work:) I hope the developers (Nymbia?) will include this in the code.

    The OnUpdate handler in Quartz_Player should also check for UnitOnTaxi when seeing the flying flag and disable the bar after landing with wrong (longer) durations.
    Posted in: General AddOns
  • To post a comment, please or register a new account.