Lost support for raft #373


  • Fixed
Closed
  • Tayglin created this issue Jan 13, 2019

    Has the raft support been disabled in the latest patch? I had the ability to auto summon the raft before, and now i no longer see it in the options.

  • Sutorix posted a comment Jan 24, 2019

    I cannot reproduce this. Rafts work fine for me :-(

     

    Does the option show up, but doesn't work?

    Or does the option not show up, but you have the raft and can use it?

     

    I'm thinking there might be a bug somewhere in the toy functions.

     


    Edited Jan 24, 2019
  • Seamhas posted a comment Jan 25, 2019

    I cannot find the raft option. I have the raft and am able to use it but no option in the UI.

  • Sutorix posted a comment Jan 29, 2019

    Okay, so somehow Blizz is lying to me about whether you have it, or if you can use it (or maybe I have another subtle bug I haven't found ;-)

     

    Let me do some digging -- if I need some data, I may be creating an alpha version for you to try!

  • Seamhas posted a comment Feb 2, 2019

    I broke down your HasRafts function in Rafts.lua. In particular the line:

     
    local haveRaft = PlayerHasToy(RAFT_ID) and C_ToyBox.IsToyUsable(RAFT_ID);
    I ran each function (PlayerHasToy and C_ToyBox.IsToyUsable) separately using:
    /run if PlayerHasToy(85500) then print("true") else print("false"); end  **RESULT: true
    /run if C_ToyBox.IsToyUsable(85500) then print("true") else print("false"); end **RESULT: false
    So it appears to me in my case that C_ToyBox.IsToyUsable isn't being satisfied.
    Hope this helps. 
    Great addon btw.
    Cheers
     
    *** UPDATE ***
    I changed the line:
    local haveRaft = PlayerHasToy(RAFT_ID) and C_ToyBox.IsToyUsable(RAFT_ID);
    to:
    local haveRaft = PlayerHasToy(RAFT_ID);
    and the raft option appears and refreshes. So your problem is definitely in this area. I am not sure what C_ToyBox.IsToyUsable(RAFT_ID) is used for but then I am not the expert here.
     

     Once again I hope this helps.

     


    Edited Feb 2, 2019
  • Sutorix posted a comment Feb 2, 2019

    Crap. It breaks for me on my toons that can't use it if I don't check C_ToyBox.IsToyUsable().

     

    I was afraid it would be some Blizz weirdness that I would have to deep dive on :-)

  • Tayglin posted a comment Feb 4, 2019

    I confirmed same results as Seamhas.

    /run if PlayerHasToy(85500) then print("true") else print("false"); end  **RESULT: true
    /run if C_ToyBox.IsToyUsable(85500) then print("true") else print("false"); end **RESULT: false

  • Sutorix posted a comment Feb 5, 2019

    What happens if you remove that part of the line and then go to a toon that *can't* use the raft? Without that check, FB gets stuck, because it keeps trying to launch the raft and it can't tell that it shouldn't.

  • Seamhas posted a comment Feb 6, 2019

    I tried it on a toon that doesn't have Pandarian Fishing here is what I found. When I try to manually enable the raft I get the message "You can't use that item.", which confirms that Pandarian Fishing is required. Note the toon is wearing the Weather Beaten Fishing hat to see if it auto applies the lure, Easy Lures is enabled. 

     

    1. If only the Angler's Fishing Raft is selected under Fishing Fun I get the same "You can't use that item." message. And nothing else with FB appears to work, it will not auto lure.

    2. If I select Angler's Fishing Raft with Maintain only everything appears to be working fine, including Easy Lures.

     

     

    **UPDATE**

     

    I think I have found the issue. The Angler's fishing Raft tooltip states:

     

    "Requires Pandaria Fishing (1)
    Requires The Anglers - Revered"

     

    I believe that C_ToyBox.IsToyUsable is honoring the Requires The Anglers - Revered as well as the Requires Pandaria Fishing.

     

    When I am on a toon that has Pandaria Fishing and is revered with The Anglers, C_ToyBox.IsToyUsable returns TRUE.

    When I am on a toon that has Pandaria Fishing but is not revered with the Angers, C_ToyBox.IsToyUsable returns FALSE.

     

     

    I think you are going to have to check for Pandaria Fishing and ignore the revered with The Anglers requirement. It obviously works without the rep requirement.

     

    Psuedo Code (my best guess, not a pro at Lua):

     

    local pandariaFishing = C_TradeSkillUI.GetCategoryInfo(1108); --check for Pandarian Fishing

    local haveRaft = PlayerHasToy(RAFT_ID) and pandariaFishing.skillLineCurrentLevel >= 1;


    Edited Feb 6, 2019
  • Sutorix posted a comment Feb 7, 2019

    Oh goodie. The problem is that I can't actually check the skill level *unless you have then Tradeskill window open* (which I do automatically if you enable it). I have started on a somewhat more complicated fix than I wanted.

     

    Thanks for the data -- I was trying to get a toon into the right state and I hadn't got there yet :-)

  • Sutorix closed issue Feb 10, 2019
  • Sutorix posted a comment Feb 10, 2019

    Thanks for you help, Seamhas! You're in the about box! :-)

  • Sutorix added a tag Fixed Feb 10, 2019
  • Seamhas posted a comment Feb 11, 2019

    Happy to help. It is a great quality of life addon, thanks for your work on it.

  • Tayglin posted a comment Feb 12, 2019

    Latest update fixed it!


To post a comment, please login or register a new account.