Jump to content
This site uses cookies! Learn More

This site uses cookies!

By continuing to use this site, you agree to allow us to store cookies on your computer. :)


WRobot user
  • Content Count

  • Joined

  • Last visited

About thebk150

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I'm not running any AV other than Windows defender but I'll make some changes to the fight class and see if the performance changes.
  2. Hey all, I'm hoping someone can provide some ideas. I'm currently using wRotation with a combat routine that I've made. It does not use framelock at the moment. I've run into an issue where when I run any of the LFR raids on Tauri, my WoW client performance is very bad. The performance is really bad during the first pull of any boss. My WoW client will be rendering 4-5 FPS and sometimes even lower. This is with a 980ti and 6700k. I believe it's due to the amount of players, pets, and enemies within close proximity to my character. Has anyone run into this before?
  3. I've created a basic fight class in C# and I'm running into an issue where it casts spells in the wrong order. Does anyone have any experience with this? I had originally tried using frame lock and locking the frame before invoking CombatRotation() and then unlocking the frame as soon as it returned but that didn't fix the issue and caused other performance issues. The issue appears to be the worst when multiple spells are off cooldown. For example, when I first go into a fight with all of my burst spells, they are almost all invoked in the wrong order. Here's the actual logic I'm using for CombatRotation() and how I'm casting spells. public void CombatRotation() { // Fire Elemental Totem if (burstMode && FireElementalTotem.IsSpellUsable) { SpellManager.CastSpellByNameLUA("Fire Elemental Totem"); return; } // Elemental Mastery if (burstMode && ElementalMastery.IsSpellUsable) { SpellManager.CastSpellByNameLUA("Elemental Mastery"); return; } // Feral Spirit if (burstMode && FeralSpirit.IsSpellUsable) { SpellManager.CastSpellByNameLUA("Feral Spirit"); return; } // Ascendance if (burstMode && Ascendance.IsSpellUsable) { SpellManager.CastSpellByNameLUA("Ascendance"); return; } // Stormlash Totem if (burstMode && StormlashTotem.IsSpellUsable) { SpellManager.CastSpellByNameLUA("Stormlash Totem"); return; } // Flame Shock if (aoeMode && FlameShock.IsSpellUsable && FlameShock.IsDistanceGood && (ObjectManager.Target.BuffTimeLeft("Flame Shock") < 15000)) { SpellManager.CastSpellByNameLUA("Flame Shock"); return; } // Fire Nova if (aoeMode && FireNova.IsSpellUsable && (ObjectManager.Target.HaveBuff("Flame Shock"))) { Lua.LuaDoString("CastSpellByName('Fire Nova')"); return; } // Searing Totem if (SearingTotem.IsSpellUsable && !ObjectManager.Me.TotemExist(TotemType.Fire)) { SpellManager.CastSpellByNameLUA("Searing Totem"); return; } // Chain Lightning - MW5 if (aoeMode && ChainLightning.IsSpellUsable && ChainLightning.IsDistanceGood && ObjectManager.Me.BuffStack("Maelstrom Weapon") == 5) { Lua.LuaDoString("CastSpellByName('Chain Lightning')"); return; } // Lightning Bolt - MW5 if (LightningBolt.IsSpellUsable && LightningBolt.IsDistanceGood && ObjectManager.Me.BuffStack("Maelstrom Weapon") == 5) { SpellManager.CastSpellByNameLUA("Lightning Bolt"); return; } //Stormstrike if (Stormstrike.IsSpellUsable && Stormstrike.IsDistanceGood) { SpellManager.CastSpellByNameLUA("Stormstrike"); return; } // Flame Shock if (FlameShock.IsSpellUsable && FlameShock.IsDistanceGood && (!ObjectManager.Target.HaveBuff("Flame Shock") || (ObjectManager.Target.BuffTimeLeft("Flame Shock") < 10000))) { SpellManager.CastSpellByNameLUA("Flame Shock"); return; } // Lava Lash if (LavaLash.IsSpellUsable && LavaLash.IsDistanceGood) { SpellManager.CastSpellByNameLUA("Lava Lash"); return; } // Unleash Elements if (UnleashElements.IsSpellUsable && UnleashElements.IsDistanceGood) { SpellManager.CastSpellByNameLUA("Unleash Elements"); return; } // Earth Shock if (EarthShock.IsSpellUsable && EarthShock.IsDistanceGood && ((SpellManager.GetSpellCooldownTimeLeft("Stormstrike") > 1.5) || (SpellManager.GetSpellCooldownTimeLeft("Lava Lash") > 1.5))) { SpellManager.CastSpellByNameLUA("Earth Shock"); return; } }
  4. I'm using wRotation on Tauri without any issues at the moment. My combat routine casts everything through Lua and doesn't write anything to the chat box.
  5. How would I go about determining the distance between one of my totems and my target? I want to be able to ensure that the distance between my Searing Totem and my current target is less than 30 to ensure that the totem can hit my current target.
  6. Never mind I'm a complete idiot. I was building the dll to the wrong directory, rookie mistake. Everything is working way better now and iterations through my basic combat logic are taking 7-8 ms.
  7. I'm planning on leaving most interrupt logic out and having that be manually done. I'm also planning on having a manual toggle between single-target and AoE so there shouldn't be too much positional check stuff going on. As far as the above, I'm attempting to invoke spells using Lua instead of spell.launch now. Just to make sure I have it working, I've added a Lua.LuaDoString("CastSpellByName('Lava Lash')"); That always runs unconditionally. I've verified that is spelled correctly on my current game client but it does not cast. I've also tried the following: wManager.Wow.Helpers.SpellManager.CastSpellByNameLUA("Lava Lash"); wManager.Wow.Helpers.SpellManager.CastSpellByIdLUA(60103);
  8. Thanks for the pointer! I figured it was doing quite a bit if one invocation was taking 300 ms on a 6700k.
  9. I've been using wRotation on Tauri and Apollo II and it works fine with no security issues. Give it a go (with a burner account) and post your findings.
  10. I'm writing a simple combat routine for an Enhancement shaman in 5.4.8 and am running into an issue that I'm hoping someone can provide a bit of insight. I'm using Marsbars' video as a framework. I have a while loop that runs when _IsRunning is true and invokes a function that has cascading 'if' statements that checks which spell to run. Before the combat routine function is called, I lock the frame and immediately unlock the frame after running spell.Launch(). The issue is that every time a spell is launcher, the client locks up for 1/3 of a second. I've added a simple timer to time how long the .launch() function is taking and it appears to be taking ~300 ms per invocation which makes sense why I'm seeing frame jutter as everything needs to execute faster than 16.67 ms. ... var watch = System.Diagnostics.Stopwatch.StartNew(); FlameShock.Launch(); Logging.WriteFight("Iteration took " + watch.ElapsedMilliseconds + "ms"); ... [F] 12:18:13 - Iteration took 306ms [F] 12:18:13 - [Spell] Cast Stormstrike (Stormstrike) Is there a better way to invoke the use of spells? Am I way off base and in over my head with how I'm implementing my combat routine?
  • Create New...