• Visit Rebornbuddy
  • [WIP] Huuhkaja - Yet Another Balance Routine

    Discussion in 'Druid' started by Huuhkaja, May 2, 2015.

    1. Huuhkaja

      Huuhkaja New Member

      Joined:
      Apr 29, 2015
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Huuhkaja - Yet Another Balance Routine

      Hi!

      Since there are no good free balance routines beside Uggla (and Cybernisse is very silent last weeks :( ) I decided to create my own routine.

      I'm new to C#, so dont expect to much if u look at my code (would like to hear some dev opinions).

      And don't forget: this is a Work In Progress. It shouldn't be used for raiding purposes right now. Give me some time.

      What it does at the moment: Single-Target @ Dummy. (use Incarnation/CA @ pre-pull; Only with Euphoria atm)

      To-Do:
      - Movement
      - CD Management
      - GUI (I'm scared of this)
      - Boss-Logic


      GitHub: https://github.com/Huuhkaja/Huuhkaja
      Download: https://github.com/Huuhkaja/Huuhkaja/archive/master.zip

      This was written within some hours. So expect more updates next days.

      Tell me what you think :)
       
      Last edited: May 12, 2015
    2. Huuhkaja

      Huuhkaja New Member

      Joined:
      Apr 29, 2015
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Update:
      - Added CDs (it will pool for 2 starsurges if CA is ready within next 30s)
      - Added movement spells
      - Added euphoria detecion

      Next:
      - GUI
      - AOE
      - Keybinds

      Code is a little bit messy, i will try to clean it up.

      Any wishes?
       
      Last edited: May 3, 2015
    3. Huuhkaja

      Huuhkaja New Member

      Joined:
      Apr 29, 2015
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      [​IMG]

      Update:
      - Added AOE (Multidotting + Starfall)
      - Added GUI
      - Added HotKey for AOE (ToastMessage, no Chat)

      AoE Rotation is not perfect. I will try to improve it within the next days. Single target should be fine.

      Does anyone want to use this routine? It's so silent here.
       
      Last edited: May 4, 2015
    4. Soeski

      Soeski Member

      Joined:
      Jan 15, 2010
      Messages:
      971
      Likes Received:
      2
      Trophy Points:
      18
      Well, no idea how many people play Druid Balance actually, and for the people that do, they might have already bought "Stars" by Mirabis for example? Or Hazzdruids for that matter, both very good. But not free.
       
    5. Mirabis

      Mirabis Community Developer

      Joined:
      Jun 14, 2010
      Messages:
      4,475
      Likes Received:
      86
      Trophy Points:
      48
      Ouch, my mate... ouch.

      Either way, good luck with the routine - new competition is always fun. Looking forward to see the parses and compare it with the upcoming release of stars.

      Ur TimeToZeroEnergy & TimeToPeak seem very interesting, waaaaaaay smaller than the calculations I did.


      PS: https://github.com/Huuhkaja/Huuhkaja/blob/master/Helpers/Spell.cs Line 15 is the wrong lua call ;p
       
      Last edited: May 4, 2015
    6. Gameforreal

      Gameforreal Member

      Joined:
      Jan 2, 2014
      Messages:
      90
      Likes Received:
      0
      Trophy Points:
      6

      He may have meant free ones =P
       
    7. Huuhkaja

      Huuhkaja New Member

      Joined:
      Apr 29, 2015
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Oh, you are right. Last time i tried Stars it wasn't that good. I tried it again, it's good :)
      I have to edit the first post anyway.

      My goal is not to build a competition. I just want to do "my own" - for learning purposes. Before this routine i never worked with C# / HonorbuddyAPI / Lua

      It's not perfect but way better than the "cast if Energy < 20" stuff.

      I have to check this again later. I thought this is working.

      Thanks.
       
    8. Mirabis

      Mirabis Community Developer

      Joined:
      Jun 14, 2010
      Messages:
      4,475
      Likes Received:
      86
      Trophy Points:
      48
      Hehe wasn't meant to come off offensive.

      I myself use calculations to predict the time till X and base the casts on that, pretty much similar to what u did but with a bit more complex calculation. For the lua call, both ur GetCastTime & GetSpellCharges use the 'return GetSpellCharges' lua call - thus ur GetCastTime is always wrong ;p
       
    9. Huuhkaja

      Huuhkaja New Member

      Joined:
      Apr 29, 2015
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Ahhh, yes. this function is not used anyway.

      At the moment i use
      PHP:
      SpellManager.Spells["Starfire"].CastTime
      which isn't that good because it seems that it just returns the cached CastTime of the Spell (calculated without any haste buff (trinket; euphoria?) etc)). I think i have figure out the Lua call for this.
       
    10. Mirabis

      Mirabis Community Developer

      Joined:
      Jun 14, 2010
      Messages:
      4,475
      Likes Received:
      86
      Trophy Points:
      48
      I currently use this, but have been experimenting with lua as well.
      PHP:
        internal static TimeSpan CastTime(this WoWSpell spell)        {
                  return 
      TimeSpan.FromMilliseconds(spell.CastTime);
              }
      Problem is at times, it picks the wrong spell because the cast time hasn't updated fast enough. And most likely SpellManager.Spells["Starfire"] returns the same As WoWSpell.FromId(__).CastTime .

      The Lua version I used is:
      PHP:
      Lua.GetReturnVal<double>(string.Format("return GetSpellInfo({0})",id),3);
      But haven't had the time to compare them extensively to conclude whether the Lua is more up-to-date than the HB API one.
       
    11. Huuhkaja

      Huuhkaja New Member

      Joined:
      Apr 29, 2015
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      The Lua code works perfect. :)

      By the way: my TimeToZero() doesn't work well if the energy is at 100/-100 because of the 2/4s peak duration. There is no way to determine how long the peak lasts if i'm at the peak. But for now that's no problem.
       
    12. Mirabis

      Mirabis Community Developer

      Joined:
      Jun 14, 2010
      Messages:
      4,475
      Likes Received:
      86
      Trophy Points:
      48
      It's possible to calculate how long the peak still lasts, but better if u figure it out yourself ;p?
       
    13. Huuhkaja

      Huuhkaja New Member

      Joined:
      Apr 29, 2015
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Yeahh, i allready looked at the PowerTracker addon. But for now i don't need the exact time @ 100 energy.
       
    14. ekeefe41

      ekeefe41 Member

      Joined:
      Jul 18, 2012
      Messages:
      104
      Likes Received:
      0
      Trophy Points:
      16
      Thank you for this
       

    Share This Page