This has a very generous trial time. After a few test runs I was impressed enough to buy the profile.
Unfortunately the ChangeLog is missing a whole bunch of fixes that I included in Superbad 4.0 over the time that Handnavi didn't want to include. This are the fixes: Shattering throw is poorly supported, which is surprising since it is a raid wide DPS increase and the additional defensive CD is often not needed otherwise. The following changes are necessary: Inside conditions.cs add a new debuff class: Code: public class shattering { public static bool up { get; set; } } Inside DruidAttacks.cs add a check whether Shattering Throw or Shattering Blow is already up in ShatteringBlow method: Code: private static bool ShatteringBlow() { if (!HasSpellShattering) return false; if (!SuperbadSettings.Instance.SymbSpell) return false; if (_currentSpec != WoWSpec.DruidFeral) return false; if (_targetNotBoss) return false; if (StyxWoW.Me.CurrentTarget == null) return false; if (debuff.shattering.up) return false; return Spell.CastSymbSpell(112997, StyxWoW.Me.CurrentTarget); } Inside Main.cs add the Shattering Throw and Shattering Blow debuff check inside PrepareVariables(), so we don't do it when the boss already has one of the debuffs: Code: debuff.shattering.up = (StyxWoW.Me.CurrentTarget != null) && (StyxWoW.Me.CurrentTarget.HasAura(64382) || StyxWoW.Me.CurrentTarget.HasAura(112997)); Symbiosis spells are only checked once during the CR initialization. That means the CR will only ever use the Symbiosis spell you had when you started the bot. The correct way is to refresh the Symbiosis spells whenever we cast or refresh Symbiosis. The easiest way I found is to just extend the Combat Log handler. In EventHandlers.cs extend the HandleCombatLog() method to recheck the Symbiosis spells whenever you cast or refresh Symbiosis by adding the following code block to the SPELL_AURA_REFRESH and SPELL_AURA_APPLIED cases: Code: if (e.SpellId == 110309) { Superbad.SetLearnedSpells(); } The opening rotation is more or less completely fucked up. The problem is, that even though Ravage is part of the single target rotation the routine will always do an auto-attack first. The steps need to be reordered. Inside Feral.cs change the HandleSingleTarget() method to reorder the first few skills: Code: if (cat_form()) return; if (buff.prowl.up) { ravage(); return; } if (ShatteringBlow()) return; auto_attack(); For Garrosh we really don't want to consider the Farseer a valid target until it has taken damage (either by the Star or an idiot player). Trust me, your raid hates you when you trigger the Farseer before it is hit by the Star on Heroic by casting FF on it. Extend the cycleTargets LINQ query inside HandleSingleTarget() to not include the Farseer if he is at 100% health: Code: List<WoWUnit> cycleTargets = UnitList.Where( u => target.time_to_die_circle(u) > 1 && (u.Combat || Unit.IsDummy(u)) && StyxWoW.Me.IsFacing(u) && u.IsWithinMeleeRange && !((u.Entry == 71983) && (u.HealthPercent == 100))).ToList(); The routine is kind of dumb sometimes when it comes to which targets are valid targets and which aren't. Hint: AoEing the spawns on the trash mobs before Garrosh is a bad idea. So is cleaving the adds that spawn during the empower whirl on Garrosh. Extend the IgnoreMobs hash set inside Unit.cs to include the manifestation: Code: public static HashSet<uint> IgnoreMobs = new HashSet<uint> { 52288, // Venomous Effusion (NPC near the snake boss in ZG. Its the green lines on the ground. We want to ignore them.) 52302, // Venomous Effusion Stalker (Same as above. A dummy unit) 52320, // Pool of Acid 52525, // Bloodvenom 52387, // Cave in stalker - Kilnara 72050, // Iron Juggernaut - Crawler Mines 73454, // Manifestation }; Add a new HashSet to Unit.cs that includes the Minion of Y'Shaarj: Code: public static HashSet<uint> IgnoreMobsAoE = new HashSet<uint> { 72272, // Minion of Y'Shaarj }; Extend the NearbyUnfriendlyUnits2() inside Unit.cs to not include units that are on the IgnoreMobsAoE list: Code: public static IEnumerable<WoWUnit> NearbyUnfriendlyUnits2 { get { return ObjectManager.GetObjectsOfType<WoWUnit>(true, false) .Where( u => u.IsValid && ((u.Attackable && u.CanSelect && !u.IsDead && !u.IsNonCombatPet && !u.IsCritter && u.Distance <= 225) || (u.IsCasting && u.CastingSpellId == 145599)) && !IgnoreMobs.Contains(u.Entry) && !IgnoreMobsAoE.Contains(u.Entry) && !u.IsFriendly ).ToList(); } } Inside Unit.cs extend the UnfriendlyUnits() method to check the IgnoreMobsAoE list: Code: public static IEnumerable<WoWUnit> UnfriendlyUnits(int maxSpellDist) { bool dungeonBot = IsBotInUse("DungeonBuddy"); bool questBot = IsBotInUse("Quest"); bool useTargeting = (dungeonBot || (questBot && StyxWoW.Me.IsInInstance)); if (useTargeting) { return Targeting.Instance.TargetList.Where( u => u != null && ValidUnit(u) && !IgnoreMobsAoE.Contains(u.Entry) && u.SpellDistance() < maxSpellDist); } Type typeWoWUnit = typeof (WoWUnit); Type typeWoWPlayer = typeof (WoWPlayer); List<WoWObject> objectList = ObjectManager.ObjectList; return (from t1 in objectList let type = t1.GetType() where type == typeWoWUnit || type == typeWoWPlayer select t1 as WoWUnit into t where t != null && ValidUnit(t) && !IgnoreMobsAoE.Contains(t.Entry) && t.SpellDistance() < maxSpellDist select t).ToList(); } It would technically be possible to include the Minions to the normal IgnoreMobs list, but that would make it impossible to target that unit manually to kill single stray mobs, since the list is checked inside ValidUnit which is consulted in various other places. Those are the changes I made. I would appreciate it if they could be included in 4.1 from now on, so I can actually buy your CR which is excellent otherwise .
The main target is PVE - but i have heard from different people that the use it for PVP, too. Just test it - there is a 5 days trial.
Hey Winio, i am sorry that i might have missed your suggestions before. I have integrated them now. Thanks for your contributions!
Hey Sucubich, i think its a good idea to add some "default settings" for Grinding/Questing, Raiding and PVP. I will see what i can do.
Short answer: Yes. I am still investigating a better handling of Savage Roar / Rip when RoR is active. Simc and Catus dont deal with it in a good way.
So far, seems like enough to start with. As more routines come along, the value will change for what people expect from a routine, and by October / 6.0, those issues will be magnified. Wasn't sure about stars and leaves, but, bought this based on the icon alone. Feral, indeed.
Cool version for low price, very good idea Possibly to add a auto-pull-mod with: Healing Touch > Prowl > Savage Roar > (Boss pulled) > Tiger's Fury > Ravage > Rip when the raid entering in combat ? For win the 4T16 part (3CP + 2CP with the critical Ravage) and put Rip with 5CP and 30% DoC. We can win 1/2s on trinkets procs too..
The icon is a beast, for sure. Actually also some more stuff has changed, but i did'nt write it down in the first post. I just wanted to be honest at startup. Thats why i wrote this part. In my opinion the difference between the free and premium version cannot be soo big (compared to others), because the free version is allready very good and full of features. Nevertheless: have fun with Superbad!
Mh, and how should we determine that we might pull in some seconds? Casting: Healing Touch > Prowl > Savage Roarfor several minutes because the pull got delayed is pretty bad in my opinion.
Hotkey for example. Technically it should also be possible to just run some custom LUA code that reacts to the message broadcasted by the various boss mods to start the pull timer. That could be used by Superbad to figure out when the pull is happening and prepare. In general though, you can just put the opening sequence in a cast sequence macro and use that for the pull, then turn on Superbad to take over. Another thing though, which can be really annoying: Any chance you can pause the CR while mounted? It is really annoying if you run around on the Timeless Isle with the CR unpaused, just to pull a tiger or something and instantly dismount and turn into cat form. It is even more annoying if you happen to fly in Kun-Lai for example and aggro one of the birds, so the CR switches to cat form mid air, potentially falling to your death.
583 Feral here 7 times Killed Garrosh HC with youre help ! (Free Version) Now i purchased the Premium Version but im not sure how to download it *edit I AM STUPID ! sorry
New version sent to the store: - Changed: Default setting-directory is now: \HB\Routines\Superbad\ - Added: Superbad can now embedd predefined config files - Added: Sample Heroic-Feral-25 config file - Fix: Sigil of Rampage was count twice, so we didnt wait for the second trinket to proc - Removed unused options in the GUI ( -> updating) - Added: You can now turn off combat behaviour if you are mounted or in flightform Please note: it will take some time until the version will be approved. And finally one wish by myself: If you got some cool settings for a specific case... and you are willing to share it...: please upload it here or sent it to me. I will integrate all good presets into Superbad.