Register

703 Ovale thread

Face-rippin fun.

Moderator: Forum Administrators

Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Sun Feb 11, 2018 10:32 pm

Yeah, what you did will remove all the texts from the script.

Another option is going into the ovale settings, there's a font size option. Set it to like 20% and it'll be so tiny you'll never notice it. Downside is this includes the keybinds in the upper right hand corner as well as any range text.

Posts: 19
Joined: Thu Dec 16, 2010 12:32 pm

Re: 703 Ovale thread

Postby Kestrel » Sun Feb 11, 2018 11:28 pm

I was doing M Varimathras progression tonight with predator/brs behemoth/chat and was getting prompted to FB when Rip had 3 seconds left on it, which led to letting Rip drop. This is with the latest script with the self heal. I don't recall that happening on the prior script, but I guess I could be wrong.

Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Sun Feb 11, 2018 11:54 pm

If you're slow on reacting to the refresh (ie activate another ability instead of FB) there's the potential for letting it drop. 3 seconds is enough time to generate the 25 energy, but if you say emptied your energy at 2 seconds with any other ability, you might not have sufficient time to get to 25 energy.

Posts: 19
Joined: Thu Dec 16, 2010 12:32 pm

Re: 703 Ovale thread

Postby Kestrel » Mon Feb 12, 2018 1:02 pm

I'm relatively new to feral still, so bear with me if I'm just being dumb :)

It wasn't so much that I didn't have time to generate energy but generating another 5 CP in time for refresh it before it dropped off. If I hit the FB with 3 seconds left on Rip, I was then down to 2 GCDS in which to generate 5 cp to get another Rip up.

Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Mon Feb 12, 2018 3:55 pm

Refresh is done at any number of combo points, not necessarily 5. I suppose there's a small chance that you refresh savage roar right before it hits the 3 second mark, then you have to generate a CP and then FB. But that's going to be extremely rare to the point it's probably not worth trying to code around.

Posts: 19
Joined: Thu Dec 16, 2010 12:32 pm

Re: 703 Ovale thread

Postby Kestrel » Mon Feb 12, 2018 5:52 pm

It's not prompting me to get a new rip up though right away if I follow through with the suggestion and use FB.

I can work around this, I'm mostly asking to make sure I understand what I should be doing rotation wise :) Thanks as always for the script.

Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Tue Feb 13, 2018 12:07 am

What specific situation are you talking about? i.e. mob health percent, mob time to die, duration on rip, etc. It won't use Rip if the mob is going to die soon (8 seconds per active enemy upto 24 seconds plus whatever remains on the current rip), if you're in execute range then you should be refreshing when you use that ferocious bite, if you're not then rip should be suggested in pandemic range.

Posts: 19
Joined: Thu Dec 16, 2010 12:32 pm

Re: 703 Ovale thread

Postby Kestrel » Tue Feb 13, 2018 1:44 pm

This was happening at the beginning of the fight. About 10% in to M Varimathras. It suggested FB at around 8 seconds left on rip and suggested FB again at around 3 seconds left on rip. Rip dropped and it did not suggest a rip right away. I can replicate it on the dummy if you want me to record it.

Posts: 19
Joined: Thu Dec 16, 2010 12:32 pm

Re: 703 Ovale thread

Postby Kestrel » Tue Feb 13, 2018 3:05 pm

Last edited by Kestrel on Tue Feb 13, 2018 7:54 pm, edited 1 time in total.

Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Tue Feb 13, 2018 5:37 pm

Kestrel wrote:https://youtu.be/WJ-LxX5I6WM


Thanks, that'll help a lot.

Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Tue Feb 13, 2018 7:37 pm

Done some preliminary testing, seems the bug doesn't occur every time (at least for me). Don't have time to fully debug right now. If you have the time, go into the script and change:

Code: Select all
        if ComboPoints(equal 5)
            Spell(ferocious_bite)

to
Code: Select all
        if ComboPoints(equal 5)
            Spell(ferocious_bite text=open)


It's in the opener section.

Then tell me if that shows up when the bug occurs. It shouldn't, but maybe there's a bug in Ovale causing it to do so.

EDIT: Or more specifically, it should only show up with Ashamane's Frenzy's dot is up.

Posts: 2
Joined: Mon Feb 12, 2018 12:55 am

Re: 703 Ovale thread

Postby grammarjew » Tue Feb 13, 2018 11:30 pm

I'm having some pretty harsh fps issues with Ovale and using this script, can anyone else attest to this? I've noticed it the worst on heavy stacking fights like M Garothi and Varimathras. @Kestrel have you noticed this on M Vari?

Posts: 7
Joined: Wed Jun 14, 2017 2:29 pm

Re: 703 Ovale thread

Postby Darkmod » Wed Feb 14, 2018 3:49 pm

grammarjew wrote:I'm having some pretty harsh fps issues with Ovale and using this script, can anyone else attest to this? I've noticed it the worst on heavy stacking fights like M Garothi and Varimathras. @Kestrel have you noticed this on M Vari?



I had this problem too. my fix edit Frame.lua file in Ovale\dist\Frame.lua

Find: line 52ish
local MIN_REFRESH_TIME = 0.05

I change mine to local MIN_REFRESH_TIME = 0.24

Gained about 20+ fps when in combat.

Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Wed Feb 14, 2018 3:55 pm

Darkmod wrote:
grammarjew wrote:I'm having some pretty harsh fps issues with Ovale and using this script, can anyone else attest to this? I've noticed it the worst on heavy stacking fights like M Garothi and Varimathras. @Kestrel have you noticed this on M Vari?



I had this problem too. my fix edit Frame.lua file in Ovale\dist\Frame.lua

Find: line 52ish
local MIN_REFRESH_TIME = 0.05

I change mine to local MIN_REFRESH_TIME = 0.24

Gained about 20+ fps when in combat.


Basically you're just telling Ovale to update ~4 times per second rather than upto 20 times. Honestly it should probably be in the options.

Posts: 19
Joined: Thu Dec 16, 2010 12:32 pm

Re: 703 Ovale thread

Postby Kestrel » Wed Feb 14, 2018 5:27 pm

I was feeling a bit laggy last night in raid, but then others were having the same issue. Going to try the refresh change though, that's cool. Think I'll try .1 to start. Thanks for posting!

A random question for people - what lag tolerance setting do you use? Having trouble finding the sweet spot.

Added in the text=open, Shmoo. Here's a new vid. Still using same talents/gear as I will be using for M Vari.

https://youtu.be/kUNdDdaZeYE

Rip is not down for as long here, shows at one point where, at 5 CP it's suggesting another shred before it goes and suggests a finisher. Let it go a little longer too and at the end shows another pretty late Rip refresh.

Single target spec/gear:

https://youtu.be/RetSvnCTNsU

Ty for looking!

Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Thu Feb 15, 2018 6:40 am

Honestly, the only thing I can see that could possibly be interfering with it is the TimeToDie stuff:
Code: Select all
    if { target.DebuffExpires(rip_debuff)
        or target.DebuffRemaining(rip_debuff) <= BaseDuration(rip_debuff) * 0.3
            and target.HealthPercent() > execute_percent()
        or target.DebuffRemaining(rip_debuff) <= BaseDuration(rip_debuff) * 0.85
            and { TFMultPred() * PersistentMultiplier(rip_debuff) > target.DebuffPersistentMultiplier(rip_debuff)
                or BuffPresent(tigers_fury_buff)
                    and BuffRemaining(tigers_fury_buff less 1.5)
                    and target.HealthPercent() > execute_percent()
                    and HasEquippedItem(behemoth_headdress) } }
        and { target.TimeToDie() > 4 * target.TickTime(rip_debuff) * Enemies() + target.DebuffRemaining(rip_debuff)
            or target.TimeToDie() > BaseDuration(rip_debuff) + target.DebuffRemaining(rip_debuff) }
        Spell_rip()


The 2nd and 3rd lines should be what causes the refresh during pandemic. The only time it would not happen is if the Time to Die lines (3rd or 2nd to last) detects the target is about to die (on single target 8 seconds + whatever rip has remaining). This is almost certainly what happened in your 2nd youtube video (RetSvnCTNsU). This can happen on target dummies pretty easily given our DPS and their health, but I'm puzzled as to how this happens on varimathras at 90% health...

Try commenting out/deleting the Time to Die lines (3rd and 2nd to last) and see if the problem still occurs. Alternatively you can take off a bunch of gear that won't affect your rotation to keep the target dummy from dying so fast.. Keep your weapon, legendaries and tier gear, but unequip most other off pieces to lower your damage output.

Posts: 19
Joined: Thu Dec 16, 2010 12:32 pm

Re: 703 Ovale thread

Postby Kestrel » Thu Feb 15, 2018 3:25 pm

Ok, I tried it again after removing gear as suggested. It's still happening. I think I noticed a trend though now that the dummy lasts longer. I think it's only happening when I have Tiger's Fury up. So maybe some interaction with Tiger's Fury/Behemoth when Behemoth extends the buff? I'm going to try testing without using Tiger's Fury at all after the opener, and then without Behemoth next.

Ok, it doesn't happen after the opener (during which I used tiger's fury) if I don't use Tiger's Fury though sometimes it seemed to suggest refreshing Rip way early, but i assume that's because of a proc/dmg boost that could be applied to it?

Still happening without Behemoth when Tiger's Fury is up.

Next up will test with Tiger's Fury multiplier prediction turned off. No Behemoth... It was still happening.

These aren't the most scientific of tests, and I have to head out for a bit. I can try some more tests later, but it seems like it's mainly happening when Tiger's Fury is up? Let me know if more videos of these scenarios would help.

Posts: 7
Joined: Wed Jun 14, 2017 2:29 pm

Re: 703 Ovale thread

Postby Darkmod » Thu Feb 15, 2018 4:47 pm

I have tracked Buffs and Debuffs within Ovales code I have seen debuffs/Buffs jump from 30s remaining to 5s and the reversal. I don't know how Ovale handles all the predictions hast and bla bla... I believe the BuffRemaining Function is buggy. I'm using a nasty hack within the BuffRemaining () function take it with a grain of salt but it seems to be working for me. Ovale\dist\conditions.lua. I override time remaining on buffs and debuffs.
Code: Select all
local function BuffRemaining(positionalParams, namedParams, state, atTime)
        local auraId, comparator, limit = positionalParams[1], positionalParams[2], positionalParams[3]
        local target, filter, mine = ParseCondition(positionalParams, namedParams, state)
        local aura = OvaleAura:GetAura(target, auraId, atTime, filter, mine)
   
        if aura then
         local gain, _, ending = aura.gain, aura.start, aura.ending
         
         -- UGLY CODE START ------------------------------- >>>>>>>>>>>>>>>>
            for i=1,40 do
               local name2, _, _, _, _, duration2, expirationTime2, _, _, _, spellId2 = UnitBuff(target, i )
               local name, _, _, _, _, duration, expirationTime, _, _, _, spellId = UnitDebuff(target, i )
               if name == aura.name then
                  ending = expirationTime
               elseif name2 == aura.name then
                  ending = expirationTime2
               end
            end
         -- UGLY CODE END ------------------------------- <<<<<<<<<<<<<<
         
            return TestValue(gain, INFINITY, 0, ending, -1, comparator, limit)
        end
        return Compare(0, comparator, limit)
    end
    OvaleCondition:RegisterCondition("buffremaining", false, BuffRemaining)
    OvaleCondition:RegisterCondition("debuffremaining", false, BuffRemaining)
    OvaleCondition:RegisterCondition("buffremains", false, BuffRemaining)
    OvaleCondition:RegisterCondition("debuffremains", false, BuffRemaining)
end

Posts: 20
Joined: Tue Nov 22, 2016 5:39 pm

Re: 703 Ovale thread

Postby smotchie6 » Thu Feb 15, 2018 6:16 pm

ShmooDude wrote:The 2nd and 3rd lines should be what causes the refresh during pandemic.



I tried this on a boss dummy with 1.6B hp and was still getting FB suggestions with the dummy at 90% hp and rip 2 seconds from falling

I also tried Darkmod's method in altering the ovale lua and this definitely worked, Rip uptime was much improved...
...but it would ALWAYS suggest refreshing Rip when it was only half done. Rip uptime was much better, but at the cost of a lot of FB's

Posts: 2
Joined: Mon Feb 12, 2018 12:55 am

Re: 703 Ovale thread

Postby grammarjew » Thu Feb 15, 2018 6:45 pm

ShmooDude wrote:
Darkmod wrote:
grammarjew wrote:I'm having some pretty harsh fps issues with Ovale and using this script, can anyone else attest to this? I've noticed it the worst on heavy stacking fights like M Garothi and Varimathras. @Kestrel have you noticed this on M Vari?



I had this problem too. my fix edit Frame.lua file in Ovale\dist\Frame.lua

Find: line 52ish
local MIN_REFRESH_TIME = 0.05

I change mine to local MIN_REFRESH_TIME = 0.24

Gained about 20+ fps when in combat.


Basically you're just telling Ovale to update ~4 times per second rather than upto 20 times. Honestly it should probably be in the options.


Another possibility here could be this error I get when logging in:
Code: Select all
Ovale: [2842] Division by 0 in { PowerCost(shred) + PowerCost(rake) - Energy() } / EnergyRegenRate()


Is this because I'm not in cat form when I log in?

Posts: 7
Joined: Wed Jun 14, 2017 2:29 pm

Re: 703 Ovale thread

Postby Darkmod » Thu Feb 15, 2018 7:47 pm

smotchie6 wrote:
ShmooDude wrote:The 2nd and 3rd lines should be what causes the refresh during pandemic.

...but it would ALWAYS suggest refreshing Rip when it was only half done. Rip uptime was much better, but at the cost of a lot of FB's


I believe its refreshing early when below is true
Code: Select all
target.TimeToDie() > BaseDuration(rip_debuff) + target.DebuffRemaining(rip_debuff)


And I found the strange timing in BuffExpires() funcion.. you can try adding the same code too it
Code: Select all
local function BuffExpires(positionalParams, namedParams, state, atTime)
        local auraId, seconds = positionalParams[1], positionalParams[2]
        local target, filter, mine = ParseCondition(positionalParams, namedParams, state)
        local aura = OvaleAura:GetAura(target, auraId, atTime, filter, mine)
        if aura then
            local gain, _, ending = aura.gain, aura.start, aura.ending
            seconds = GetHastedTime(seconds, namedParams.haste, state)
         -- UGLY CODE START ------------------------------- >>>>>>>>>>>>>>>>
            for i=1,40 do
               local name2, _, _, _, _, duration2, expirationTime2, _, _, _, spellId2 = UnitBuff(target, i )
               local name, _, _, _, _, duration, expirationTime, _, _, _, spellId = UnitDebuff(target, i )
               if name == aura.name then
                  ending = expirationTime
               elseif name2 == aura.name then
                  ending = expirationTime2
               end
            end
         -- UGLY CODE END ------------------------------- <<<<<<<<<<<<<<

Posts: 7
Joined: Wed Jun 14, 2017 2:29 pm

Re: 703 Ovale thread

Postby Darkmod » Thu Feb 15, 2018 8:35 pm

I have a question about this.
Code: Select all
            AddFunction execute_percent
            {
               25 + 75 * TalentPoints(sabertooth_talent)
            }


25 + 75 = 100 * 0 = 0 -- no talent
25 + 75 = 100 * 1 = 100 -- talent

is this right? or does TalentPoints return > 1


i changed mine too
Code: Select all
            AddFunction execute_percent
            {
               25 + {75 * TalentPoints(sabertooth_talent)}
            }


Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Fri Feb 16, 2018 3:46 am

Ok, I can't replicate the bug because I fixed it like a month and a half ago and apparently neglected to include it in my pull request. :) I figured out that's what it was after you guys said there was funniness with rip's duration in Ovale. Also make sure you are using 7.3.9-alpha on top of the fix below as there's other changes that the script now relies on.

Ovale\dist\scripts\ovale_druid_spells.lua
Code: Select all
   SpellInfo(ferocious_bite combopoints=1 max_combopoints=5 energy=25 extra_energy=25 physical=1 stance=druid_cat_form)
   SpellRequire(ferocious_bite energy_percent 50=buff,berserk_cat_buff)
   SpellRequire(ferocious_bite energy_percent 50=buff,incarnation_king_of_the_jungle_buff)
   SpellAddBuff(ferocious_bite bloodtalons_buff=-1 talent=bloodtalons_talent)
   SpellAddTargetDebuff(ferocious_bite rip_debuff=refresh_keep_snapshot)
to
Code: Select all
   SpellInfo(ferocious_bite combopoints=1 max_combopoints=5 energy=25 max_energy=50 physical=1 stance=druid_cat_form)
   SpellRequire(ferocious_bite energy_percent 50=buff,berserk_cat_buff)
   SpellRequire(ferocious_bite energy_percent 50=buff,incarnation_king_of_the_jungle_buff)
   SpellAddBuff(ferocious_bite bloodtalons_buff=-1 talent=bloodtalons_talent)
   SpellAddTargetDebuff(ferocious_bite rip_debuff=refresh_keep_snapshot,target_health_pct,25)
   SpellAddTargetDebuff(ferocious_bite rip_debuff=refresh_keep_snapshot talent=sabertooth_talent)

Note the difference in the SpellAddTargetDebuff line(s). Basically on the first code snippet, Ovale thinks Ferocious Bite always refreshes Rip, and only after the numerical difference "times out" (aka Ovale figures out that the difference is not due to lag/travel time) does it fix it. That's why it shows up primarily during incarnation because you pull off ferocious bites so fast (apex procs also would cause huge problems). Also first line extra_energy=25 should now be max_energy=50 due to internal code changes I made to Ovale (although since I gave you guys a version that manually checks that extra energy you won't notice a difference on that part).

Darkmod wrote:25 + 75 = 100 * 0 = 0 -- no talent
25 + 75 = 100 * 1 = 100 -- talent

is this right? or does TalentPoints return > 1
No, it follows arithmetic rules. Multiplication occurs before addition.
25 + 75 * 0 = 25 + 0 = 25 -- no talent
25 + 75 * 1 = 25 + 75 = 100 -- talent

smotchie6 wrote:...but it would ALWAYS suggest refreshing Rip when it was only half done. Rip uptime was much better, but at the cost of a lot of FB's
Try it after doing the proper fix. There is a line in there that causes it to refresh Rip early at the tail end of a Tiger's Fury (<1.5 seconds remaining) with Behemoth's Headdress, but if it's ALWAYS doing it I suspect that Darkmod's fix is causing this to trigger excessively somehow.

grammarjew wrote:Is this because I'm not in cat form when I log in?
Basically, but I fixed it in 7.3.9-alpha so that energy regen has a default value of 10 instead of 0. Wouldn't have any performance impact anyhow as Ovale just changed the 0 value to 0.0001 or something internally so it wouldn't throw a lua error.

Darkmod wrote:I believe its refreshing early when below is true
Code: Select all
target.TimeToDie() > BaseDuration(rip_debuff) + target.DebuffRemaining(rip_debuff)
No, that's actually an exclusion condition, not inclusion. There's two. 8 * Number of active Enemies + Remaining on current Rip and 24 + Remaining on current Rip. If either of them evaluates to false, it won't use Rip. It's so you don't use Rip on something that's gonna only live a few ticks.
Last edited by ShmooDude on Fri Feb 16, 2018 3:54 am, edited 1 time in total.

Posts: 3
Joined: Fri Feb 16, 2018 3:29 am

Re: 703 Ovale thread

Postby zaskar1 » Fri Feb 16, 2018 3:47 am

Hello ShmooDude, hello everyone

maybe you can help me out. I wanna use my Simc Script in Ovale but i get several error if i compile the simc script in ovale. Which simc Version i have to use to generate in ovale the script for it? I use simc-735-01-win64 and the latest official Ovale Version from cursed.

Here the errors if i copy the whole simc script. i expect ist the whole Header of the Simc script...

ovaleast syntax error unexpected token "item_DB_Source" when parsing declaration; declaration keyword expected

next tokensn item_db_source = local/ bcpapi/ wowhead arget error = 0 iterations = 0 Default worldlag = 0.1 max_time = 300 vary_combat_length

Exalted
Posts: 1041
Joined: Tue Feb 08, 2011 5:51 pm

Re: 703 Ovale thread

Postby ShmooDude » Fri Feb 16, 2018 4:00 am

zaskar1 wrote:Hello ShmooDude, hello everyone

maybe you can help me out. I wanna use my Simc Script in Ovale but i get several error if i compile the simc script in ovale. Which simc Version i have to use to generate in ovale the script for it? I use simc-735-01-win64 and the latest official Ovale Version from cursed.

Here the errors if i copy the whole simc script. i expect ist the whole Header of the Simc script...

ovaleast syntax error unexpected token "item_DB_Source" when parsing declaration; declaration keyword expected

next tokensn item_db_source = local/ bcpapi/ wowhead arget error = 0 iterations = 0 Default worldlag = 0.1 max_time = 300 vary_combat_length


If you're using the 7.3.9-alpha, try either reverting to the previous version of Ovale or fix your simulationcraft.lua based on https://github.com/ShmooDude/Ovale/comm ... 41e28ac47d

I accidentally broke it and haven't submitted the fix yet.

If you're not using the alpha, then I'm not really sure, pastebin me the simcraft script you're trying to use.

PreviousNext

Return to Kitty DPS

Who is online

Users browsing this forum: No registered users and 2 guests