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

[Custom Class] Mammon - The Prince of Greed, All-In-One Combat Routine

Status
Not open for further replies.
And thanks to Nuok, i have updated the monk routine to use his code. Will be included in next release with a bunch of small changes here and there :)
 
Thank you for the effort, it is really appriciated. Would not want to code all this by myself.

Just a quick hint. Please start using github for easy collaberation of other developers. It would make the whole CC developing so much quicker.
 
I run a vmware center (esxi) where i have one server setup with a svn server, i will a little later setup a svn repository but right now I'm just making so much changes in the code that its just problematic to having to deal with it.
 
Thanks. Looks even more promising now that is an AIO. Can't wait till the DH routine is completely fleshed out, would love to see it using my ferrets intelligently :)
 
I would love to see Evasive Fire, its the best Azmodan farming skill. allways full hatred (25% more runspeed + 3 kills/shot)
 
Version 1.0.0.11 is up!

See first post for more details lots of new stuff, Monk routine added, Demon Hunter summons companions, and Demon Hunter uses Evasive fire.
 
I have my barbarian setup as you posted on the 1st page of posts here. He seems to use all the skills except Threatening Shout. Otherwise works pretty well. I did see you posted a new version. Going to try installing that one.
 
@ j0achim anyway to make barb sprint only activate when nothing in near you? IE doesn't use it while surrounded and saves it for when progressing to the next pack?

edit: Thanks.
 
Last edited:
thx for adding it! this is my build, it works very well. someone posted this build before... credits to him :D
 

Attachments

  • build dh.webp
    build dh.webp
    20.7 KB · Views: 107
I have my barbarian setup as you posted on the 1st page of posts here. He seems to use all the skills except Threatening Shout. Otherwise works pretty well. I did see you posted a new version. Going to try installing that one.

Seems to be using it now.. probably something I did. Thanks for the great routine!
 
My dh only attacks when bad guys get close any ideas

got it worked out. I took a look at the routine file and added skills that were coded into it.
 
Last edited:
Would love to see something that would deploy Calatops, step back behind it then start firing.
 
Works Great. Just a couple things if u can add to make Demon Hunter Better..

1. Make Evasive Fire More often
2. For Fan of Knives have it cast when 2+ mobs are near 10-20 yards.
3.Also cast Smoke screen when no mobs around..
4. Also if possible cast preparation when discipline is low.

Besides that the script is awesome, and I went from 220k to 300k gph due to this. Thanks so much!
 
Added throw weapon;
Using berserk to leave incapacitating effects;
Using ignore pain properly;
Using "Pull" skills also when several mobs around;

Code:
        public static Composite BarbarianCombat()
        {
            return
                new PrioritySelector(ctx => CombatTargeting.Instance.FirstNpc,
                    // Buff attack rate!
                    Spell.Buff(SNOPower.Barbarian_WrathOfTheBerserker,
                        extra => (Clusters.GetClusterCount(ZetaDia.Me, CombatTargeting.Instance.LastObjects, ClusterType.Radius, 12f) >= 6 ||
                        ZetaDia.Me.IsFeared || ZetaDia.Me.IsStunned || ZetaDia.Me.IsFrozen || ZetaDia.Me.IsBlind || ZetaDia.Me.IsRooted)
                    ),
                    Common.CreateWaitWhileIncapacitated(),
                    Common.CreateWaitForAttack(),
                    BarbarianBuffs(),
                    Common.CreateUsePotion(),

                    // Defence low hp or many attackers.
                    Spell.Buff(SNOPower.Barbarian_IgnorePain,
                        require => ZetaDia.Me.HitpointsCurrentPct <= 0.25
                    ),

                    // Pull phase.
                    new Decorator(ctx => ctx != null && ((DiaUnit)ctx).Distance > 15f || Clusters.GetClusterCount(CombatTargeting.Instance.FirstNpc, CombatTargeting.Instance.LastObjects, ClusterType.Radius, 12f) >= 3,
                            new PrioritySelector(
                            Spell.CastOnUnit(SNOPower.Barbarian_FuriousCharge, 1, ctx => CombatTargeting.Instance.FirstNpc.ACDGuid),
                            Spell.CastAtLocation(SNOPower.Barbarian_Leap, ctx => ((DiaUnit)ctx).Position),
                            Spell.CastOnUnit(SNOPower.Barbarian_AncientSpear, 1, ctx => CombatTargeting.Instance.FirstNpc.ACDGuid)
                        )
                    ),

                    // Revenge.
                    Spell.CastAOESpell(SNOPower.Barbarian_Revenge,
                        require => Zeta.CommonBot.PowerManager.CanCast(SNOPower.Barbarian_Revenge)
                    ),
                    Spell.Buff(SNOPower.Barbarian_BattleRage,
                        require => !ZetaDia.Me.HasBuff(SNOPower.Barbarian_BattleRage)
                    ),

                    // AOE
                    Spell.CastAOESpell(SNOPower.Barbarian_Earthquake,
                        require => ZetaDia.Me.HitpointsCurrentPct <= 0.25 || Clusters.GetClusterCount(ZetaDia.Me, CombatTargeting.Instance.LastObjects, ClusterType.Radius, 12f) >= 3
                    ),
                    Spell.CastAOESpell(SNOPower.Barbarian_GroundStomp,
                        extra => Clusters.GetClusterCount(ZetaDia.Me, CombatTargeting.Instance.LastObjects, ClusterType.Radius, 12f) >= 2
                    ),
                    Spell.CastAOESpell(SNOPower.Barbarian_Overpower,
                        require => Clusters.GetClusterCount(ZetaDia.Me, CombatTargeting.Instance.LastObjects, ClusterType.Radius, 12f) >= 2
                    ),

                    // Threatning shout.
                    Spell.CastAOESpell(SNOPower.Barbarian_ThreateningShout,
                        extra => Clusters.GetClusterCount(ZetaDia.Me, CombatTargeting.Instance.LastObjects, ClusterType.Radius, 25f) >= 2
                    ),

                    // Fury spenders.
                    Spell.CastAtLocation(SNOPower.Barbarian_HammerOfTheAncients, ctx => ((DiaUnit)ctx).Position),
                    Spell.CastAtLocation(SNOPower.Barbarian_Rend, ctx => ((DiaUnit)ctx).Position),
                    Spell.CastAtLocation(SNOPower.Barbarian_SeismicSlam, ctx => ((DiaUnit)ctx).Position),
                    Spell.CastOnUnit(SNOPower.Barbarian_WeaponThrow, 1, ctx => CombatTargeting.Instance.FirstNpc.ACDGuid),

                    // Fury Generators
                    Spell.CastOnUnit(SNOPower.Barbarian_Cleave, 1, ctx => CombatTargeting.Instance.FirstNpc.ACDGuid),
                    Spell.CastOnUnit(SNOPower.Barbarian_Bash, 1, ctx => CombatTargeting.Instance.FirstNpc.ACDGuid),
                    Spell.CastOnUnit(SNOPower.Barbarian_Frenzy, 1, ctx => CombatTargeting.Instance.FirstNpc.ACDGuid)
            );
        }
 
Doesn't seem to want to break many containers, if any at all. Turned on verbose logging and this all it says.

[23:57:46.483 V] Destroying loot container a3dun_crater_BonePile-555
[23:57:46.484 V] Blacklisting 7985001B for 00:00:03
[23:57:51.886 V] Blacklisting 79B10027 for 00:10:00
[23:57:51.889 V] Blacklisting 79B00041 for 00:10:00
 
Not bad but currently runs slower than my generic routine. If it used smokescreen to move when out of combat it would be much, much better.

Good work though!

EDIT: Also noticed that she seems to hesitate when attacking, slowing everything down as well.
 
would love to see the monk routine improved - atm my monk is just spamming mantra and wont use any other skill due to low spirit (mantra spam) - would help if it would use way of the hundrer fists
 
Status
Not open for further replies.
Back
Top