What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

KingWoW Shaman

Status
Not open for further replies.
hi. first its gr8 cc. I lev up shaman resto and only think what anoing is swaping Earth Shield from tank to other player in instance when tank its out of range. how can i turn off it or its posible to set up this on 20-25% hp if its needed not to full hp person. tanks with full looms pull lots of mobs and some dps with pets agro other mobs i have 2 tank spots and want keep ES on tank. thanks. sorry for english ;]
 
So, how is this CR in random BGs? Now that Enhancement shamans are pretty OP I would think it does ok/good? :)
 
It doesn't really have much situational logic built in. It also doesn't do the most optimal PvE rotation. LB_MW5 is at the bottom of the priority list for some reason...

Edit: Also, shamans are far from OP. People have always expected shamans to be an easy HK but now that we actually pose a threat (an non-OP threat mind you) people are bitching about how OP shamans are. For PvE shamans are very potent right now. Enjoy it while it lasts as we will be nerfed into oblivion for the next 5 years a la Burning Crusade.
 
Last edited:
No I was right, I have tried everything. It will work 1 out of 5 times in arena. Its like it doesnt realize its in combat. It might be only against its own faction. I didnt test any futher. I am uploading the log now
 
View attachment 6600 2013-06-11 14.37.txt

The first game it actually worked and rofflestomped a team. After that any key's that were pressed after the starting gate opened was me. Not sure if it logs my key presses or not?
Also you have to scroll to the bottom, the first part is me in a scenario and it worked fine.
At the end you see I did three arenas, first one as said worked great. Second and third it buffs at starting zone then when gates open it does nothing. Makes me sad
 
Last edited:
Enhance rotation works great with tyreal, however finding that when setting fire elemental to manual (default) or Boss, that it works the first time round, but after that it is instantly overwritten by searing totem whenever popped? any suggestions?
 
Any idea if Resto will be getting updated anytime soon? Could really use and updated PvE Resto cc :)
 
hi. first its gr8 cc. I lev up shaman resto and only think what anoing is swaping Earth Shield from tank to other player in instance when tank its out of range. how can i turn off it or its posible to set up this on 20-25% hp if its needed not to full hp person. tanks with full looms pull lots of mobs and some dps with pets agro other mobs i have 2 tank spots and want keep ES on tank. thanks. sorry for english ;]

Hope Fixed Earth Shield!
Hearth Shield now: first try on focused target as yout main tank ( if no other shammy put HS on him), if your focus is out of range and you have another tank, CC will put HS on this other one, and come back on your focus when he come at range and no HS on him.
Priorize Riptite over HT in rotation.
 
Any idea if Resto will be getting updated anytime soon? Could really use and updated PvE Resto cc :)

Any suggestion to improve CC is appreciate! I'm here to try implement as possible your suggestions.
 
Attilio did you have time to look at my log? Still having arena issues. You think maybe with lazyraider with run w/o a tank would be the fix?
 
Code:
                if (utils.PlayerCountBuff(MAELSTROM_WEAPON) == 5 && utils.CanCast(LIGHTNING_BOLT, target, true))
                {
                    utils.LogActivity(LIGHTNING_BOLT, target.Name);
                    return utils.Cast(LIGHTNING_BOLT, target);
                }
                if (utils.isAuraActive(ASCENDANCE) && target.Distance2DSqr <= 30 * 30 && !StromsBlastOnCoolDown)
                {
                    utils.LogActivity(STORMBLAST, target.Name);
                    utils.RunMacroText("/Cast " + STORMBLAST);
                    //return utils.Cast(STORMBLAST, target);
                }
                if (target.IsWithinMeleeRange && !StromStrikeOnCoolDown)
                {
                    utils.LogActivity(STORMSTRIKE, target.Name);
                    return utils.Cast(STORMSTRIKE, target);
                }
                if (EnhancementShamanSettings.Instance.EB_on_five && utils.PlayerCountBuff(MAELSTROM_WEAPON) == 5 && utils.CanCast(ELEMENTAL_BLAST, target, true))
                {
                    utils.LogActivity(ELEMENTAL_BLAST, target.Name);
                    return utils.Cast(ELEMENTAL_BLAST, target);
                }
                if (!EnhancementShamanSettings.Instance.EB_on_five && utils.CanCast(ELEMENTAL_BLAST, target, true))
                {
                    utils.LogActivity(ELEMENTAL_BLAST, target.Name);
                    return utils.Cast(ELEMENTAL_BLAST, target);
                }
                if (utils.CanCast(UNLEASH_ELEMENTS, target, true))
                {
                    utils.LogActivity(UNLEASH_ELEMENTS, target.Name);
                    return utils.Cast(UNLEASH_ELEMENTS, target);
                }
                if (utils.CanCast(FLAME_SHOCK, target, true) &&
                    (!utils.isAuraActive(FLAME_SHOCK, target) || utils.MyAuraTimeLeft(FLAME_SHOCK, target) < 3000) ||
                    utils.isAuraActive("Unleash Flame", target))
                {
                    utils.LogActivity(FLAME_SHOCK, target.Name);
                    return utils.Cast(FLAME_SHOCK, target);
                }
                if (target.IsWithinMeleeRange && utils.isAuraActive(FLAME_SHOCK, target) && utils.GetSpellCooldown(LAVA_LASH).Milliseconds <= StyxWoW.WoWClient.Latency)
                {
                    utils.LogActivity(LAVA_LASH, target.Name);
                    return utils.Cast(LAVA_LASH, target);
                }
                 //************** AOE START **************
                if (utils.AllAttaccableEnemyMobsInRangeFromTarget(target, 15).Count() >= EnhancementShamanSettings.Instance.FireNova_number
                    && utils.CanCast(FIRE_NOVA) && utils.MyAuraTimeLeft(FLAME_SHOCK, target) > 0)
                {
                    utils.LogActivity(FIRE_NOVA);
                    return utils.Cast(FIRE_NOVA);
                }
                
                if (utils.CanCast(EARTH_SHOCK, target, true) && utils.isAuraActive(FLAME_SHOCK, target)
                    && utils.MyAuraTimeLeft(FLAME_SHOCK, target) >= 7000)
                {
                    utils.LogActivity(EARTH_SHOCK, target.Name);
                    return utils.Cast(EARTH_SHOCK, target);
                }

The rotation section is wrong (starts at line 521). Right now the priority is LB_MW5 > SS > UE > FS > LL_FS > ES

It should be LB_MW5_ > SS > FS > LL > UE > ES > LB_MW[1,4]

During AoE rotation, Fire Nova should be used on cooldown.

Code:
if (!Me.IsMoving && !Me.Combat && !Me.Mounted && !utils.isAuraActive(DRINK) && !utils.isAuraActive(FOOD) 
                    && ( (Me.ManaPercent >= 70 && [B][U]Me.HealthPercent < 90[/U][/B]) || (utils.PlayerCountBuff(MAELSTROM_WEAPON) > 2 && [B][U]Me.HealthPercent < 95[/U][/B])) )
                {
                    if (utils.CanCast(HEALING_SURGE))
                    {
                        utils.LogActivity(HEALING_SURGE, Me.Class.ToString());
                        return utils.Cast(HEALING_SURGE, Me);
                    }
                }

This also produces some VERY annoying behaviors during raid scenarios. Why are those values hard coded in there? There should be an option to set these values in your GUI.
 
Last edited:
This is more what it should look like more or less.

Code:
	        if (!EnhancementShamanSettings.Instance.EB_on_five && utils.CanCast(ELEMENTAL_BLAST, target, true))
                {
                    utils.LogActivity(ELEMENTAL_BLAST, target.Name);
                    return utils.Cast(ELEMENTAL_BLAST, target);
                }
		if (utils.AllAttaccableEnemyMobsInRangeFromTarget(target, 15).Count() >= EnhancementShamanSettings.Instance.FireNova_number
                    && utils.CanCast(FIRE_NOVA) && utils.MyAuraTimeLeft(FLAME_SHOCK, target) > 0)
                {
                    utils.LogActivity(FIRE_NOVA);
                    return utils.Cast(FIRE_NOVA);
                }
                if (utils.PlayerCountBuff(MAELSTROM_WEAPON) == 5 &&
                    utils.AllAttaccableEnemyMobsInRangeFromTarget(target, 15).Count() >= EnhancementShamanSettings.Instance.ChainLightining_number
                    && utils.CanCast(CHAIN_LIGHTNING, target, true))
                {
                    utils.LogActivity(CHAIN_LIGHTNING, target.Name);
                    return utils.Cast(CHAIN_LIGHTNING, target);
                }
                if (utils.PlayerCountBuff(MAELSTROM_WEAPON) == 5 && utils.CanCast(LIGHTNING_BOLT, target, true))
                {
                    utils.LogActivity(LIGHTNING_BOLT, target.Name);
                    return utils.Cast(LIGHTNING_BOLT, target);
                }
                if (utils.isAuraActive(ASCENDANCE) && target.Distance2DSqr <= 30 * 30 && !StromsBlastOnCoolDown)
                {
                    utils.LogActivity(STORMBLAST, target.Name);
                    utils.RunMacroText("/Cast " + STORMBLAST);
                    //return utils.Cast(STORMBLAST, target);
                }
                if (target.IsWithinMeleeRange && !StromStrikeOnCoolDown)
                {
                    utils.LogActivity(STORMSTRIKE, target.Name);
                    return utils.Cast(STORMSTRIKE, target);
                }
		if (utils.CanCast(FLAME_SHOCK, target, true) &&
                    (!utils.isAuraActive(FLAME_SHOCK, target) || utils.MyAuraTimeLeft(FLAME_SHOCK, target) < 3000) ||
                    utils.isAuraActive("Unleash Flame", target))
                {
                    utils.LogActivity(FLAME_SHOCK, target.Name);
                    return utils.Cast(FLAME_SHOCK, target);
                }
		if (target.IsWithinMeleeRange && utils.GetSpellCooldown(LAVA_LASH).Milliseconds <= StyxWoW.WoWClient.Latency)
                {
                    utils.LogActivity(LAVA_LASH, target.Name);
                    return utils.Cast(LAVA_LASH, target);
                }
                if (utils.CanCast(UNLEASH_ELEMENTS, target, true))
                {
                    utils.LogActivity(UNLEASH_ELEMENTS, target.Name);
                    return utils.Cast(UNLEASH_ELEMENTS, target);
                }             
                if (!Me.IsMoving && utils.CanCast(TOTEMIC_PROJECTION) && shammyCommon.TotemsInRangeOf(Me) == 0)
                {
                    utils.LogActivity(TOTEMIC_PROJECTION);
                    utils.Cast(TOTEMIC_PROJECTION);
                    return SpellManager.ClickRemoteLocation(target.Location);
                }        
                if (utils.CanCast(EARTH_SHOCK, target, true) && utils.isAuraActive(FLAME_SHOCK, target)
                    && utils.MyAuraTimeLeft(FLAME_SHOCK, target) >= 7000)
                {
                    utils.LogActivity(EARTH_SHOCK, target.Name);
                    return utils.Cast(EARTH_SHOCK, target);
                }
		if (utils.PlayerCountBuff(MAELSTROM_WEAPON) >= 1 && utils.CanCast(LIGHTNING_BOLT, target, true))
                {
                    utils.LogActivity(LIGHTNING_BOLT, target.Name);
                    return utils.Cast(LIGHTNING_BOLT, target);
                }

If you pick up Unleashed Fury, then Unleashed Elements should be on cooldown instead of after EB. This is for enhancement BTW in case this wasn't dead obvious.
 
Last edited:
Resto question :

If a tank is on 30% health, and 2 members is on 30% - will this routine prio the tank and heal him up?
 
This is more what it should look like more or less.

Code:
	        if (!EnhancementShamanSettings.Instance.EB_on_five && utils.CanCast(ELEMENTAL_BLAST, target, true))
                {
                    utils.LogActivity(ELEMENTAL_BLAST, target.Name);
                    return utils.Cast(ELEMENTAL_BLAST, target);
                }
		if (utils.AllAttaccableEnemyMobsInRangeFromTarget(target, 15).Count() >= EnhancementShamanSettings.Instance.FireNova_number
                    && utils.CanCast(FIRE_NOVA) && utils.MyAuraTimeLeft(FLAME_SHOCK, target) > 0)
                {
                    utils.LogActivity(FIRE_NOVA);
                    return utils.Cast(FIRE_NOVA);
                }
                if (utils.PlayerCountBuff(MAELSTROM_WEAPON) == 5 &&
                    utils.AllAttaccableEnemyMobsInRangeFromTarget(target, 15).Count() >= EnhancementShamanSettings.Instance.ChainLightining_number
                    && utils.CanCast(CHAIN_LIGHTNING, target, true))
                {
                    utils.LogActivity(CHAIN_LIGHTNING, target.Name);
                    return utils.Cast(CHAIN_LIGHTNING, target);
                }
                if (utils.PlayerCountBuff(MAELSTROM_WEAPON) == 5 && utils.CanCast(LIGHTNING_BOLT, target, true))
                {
                    utils.LogActivity(LIGHTNING_BOLT, target.Name);
                    return utils.Cast(LIGHTNING_BOLT, target);
                }
                if (utils.isAuraActive(ASCENDANCE) && target.Distance2DSqr <= 30 * 30 && !StromsBlastOnCoolDown)
                {
                    utils.LogActivity(STORMBLAST, target.Name);
                    utils.RunMacroText("/Cast " + STORMBLAST);
                    //return utils.Cast(STORMBLAST, target);
                }
                if (target.IsWithinMeleeRange && !StromStrikeOnCoolDown)
                {
                    utils.LogActivity(STORMSTRIKE, target.Name);
                    return utils.Cast(STORMSTRIKE, target);
                }
		if (utils.CanCast(FLAME_SHOCK, target, true) &&
                    (!utils.isAuraActive(FLAME_SHOCK, target) || utils.MyAuraTimeLeft(FLAME_SHOCK, target) < 3000) ||
                    utils.isAuraActive("Unleash Flame", target))
                {
                    utils.LogActivity(FLAME_SHOCK, target.Name);
                    return utils.Cast(FLAME_SHOCK, target);
                }
		if (target.IsWithinMeleeRange && utils.GetSpellCooldown(LAVA_LASH).Milliseconds <= StyxWoW.WoWClient.Latency)
                {
                    utils.LogActivity(LAVA_LASH, target.Name);
                    return utils.Cast(LAVA_LASH, target);
                }
                if (utils.CanCast(UNLEASH_ELEMENTS, target, true))
                {
                    utils.LogActivity(UNLEASH_ELEMENTS, target.Name);
                    return utils.Cast(UNLEASH_ELEMENTS, target);
                }             
                if (!Me.IsMoving && utils.CanCast(TOTEMIC_PROJECTION) && shammyCommon.TotemsInRangeOf(Me) == 0)
                {
                    utils.LogActivity(TOTEMIC_PROJECTION);
                    utils.Cast(TOTEMIC_PROJECTION);
                    return SpellManager.ClickRemoteLocation(target.Location);
                }        
                if (utils.CanCast(EARTH_SHOCK, target, true) && utils.isAuraActive(FLAME_SHOCK, target)
                    && utils.MyAuraTimeLeft(FLAME_SHOCK, target) >= 7000)
                {
                    utils.LogActivity(EARTH_SHOCK, target.Name);
                    return utils.Cast(EARTH_SHOCK, target);
                }
		if (utils.PlayerCountBuff(MAELSTROM_WEAPON) >= 1 && utils.CanCast(LIGHTNING_BOLT, target, true))
                {
                    utils.LogActivity(LIGHTNING_BOLT, target.Name);
                    return utils.Cast(LIGHTNING_BOLT, target);
                }

If you pick up Unleashed Fury, then Unleashed Elements should be on cooldown instead of after EB. This is for enhancement BTW in case this wasn't dead obvious.

Yes, please update it @atilio76 :)
 
Last edited:
Ty all for suggestion i will update the new rotation asap (hope at max 2-3 d cause i'm not at home).

Tank healing: you can set the sos healing to priorize the tank in GUI.
 
Status
Not open for further replies.
Back
Top