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

Belphegor the official combat routine - We need you're feedback to improve it!

Faimilar - cast over and over
non english game client or?

Well I have the same problem.
Code:
public static bool HasFamiliar
        {
            get
            {
                int dynId = ZetaDia.Me.CommonData.DynamicId;
                var summoned = ZetaDia.Actors.GetActorsOfType<DiaUnit>().FirstOrDefault(u => u.SummonedByACDId == dynId && u.Name.Contains("Familiar"));
                return summoned != null;
            }
        }
works only with an english game client but well I didn't found a way to change it
(ok you can change familiar with your language version)

but seems something like ZetaDia.Me.HasBuff(SNOPower.Wizzard_familiar) doenst work
 
non english game client or?

Well I have the same problem.
Code:
public static bool HasFamiliar
        {
            get
            {
                int dynId = ZetaDia.Me.CommonData.DynamicId;
                var summoned = ZetaDia.Actors.GetActorsOfType<DiaUnit>().FirstOrDefault(u => u.SummonedByACDId == dynId && u.Name.Contains("Familiar"));
                return summoned != null;
            }
        }
works only with an english game client but well I didn't found a way to change it
(ok you can change familiar with your language version)

but seems something like ZetaDia.Me.HasBuff(SNOPower.Wizzard_familiar) doenst work

Could you go ingame, cast Familiar and then press the Dump button in Info Dumping for me.
And then upload your log so I can look through it and see if we need to use Id's instead of names or if I just used the wrong name.

Update: Resolved thanks to Nesox :)
 
Last edited:
Witch doctor very buggy... he attacks in one spot for long time after creeeps are dead

He also skip combat when his own monster is attacking a creature and teleport away like it doesnt matter to him........ sarkoth...

He sometimes attack until mana is empty before moving to waypoint

Very buggy
 
Could you go ingame, cast Familiar and then press the Dump button in Info Dumping for me.
And then upload your log so I can look through it and see if we need to use Id's instead of names or if I just used the wrong name.

Update: Resolved thanks to Nesox :)


is there somewhere i can DL this fix?
 
buggy/needs improvement
Hydra - it waits till it disapates before casting a new one, even if its 50 yards behind you and off screen
Spectral Blades - gets into melee range before attacking. would be nice if it checked for the semi-range rune and if it was there took advantage of it
Faimilar - cast over and over
Magic Weapon - cast over and over
Teleport - doesnt use
Blizzard - cast over and over again on same spot. this does not increase dmg like it did in d2. kills your arcane power
Energy Twister - does not cast until a mob is in melee range. this should be a mid range skill.
1) Fixed
2) We cant check for runes yet
3) Fixed
4) Fixed
5) Will be worked on
6) Add a wait timer so it doesn't spam
7) ill have to look at
 
its awesome you guys are being so active in making these profiles work. BUT WHERE CAN WE GET THE NEW UPDATES!!!!! or do we have to wait for a whole new release????? that would be kinda silly >.<
 
its awesome you guys are being so active in making these profiles work. BUT WHERE CAN WE GET THE NEW UPDATES!!!!! or do we have to wait for a whole new release????? that would be kinda silly >.<
Was quite nice being able to download updates "Live" when they were independent plugins rather than merged with the official release, that's for sure - hope you guys don't feel that just because you're making it "official", that you shouldn't release independent CP updates from the main Demonbuddy package! Appreciate the work done either way, made combat a lot better!
 
Mammon and Belphegor continue to spam companison and Smoke Screen on my DH as soon as I get in game, and whenever my Discipline raises, it keeps spamming smoke screen.
 
What set of spells should i use with this routine playing as a wizard?
 
What set of spells should i use with this routine playing as a wizard?

Almost any; these are the following skills that are missing as of Demonbuddy 1.0.527.118:
Please note almost all need the values tweaking.

Barb:
Call of the Ancients

DH:
Caltrops
Spike Trap
Preparation
Vault (Disabled)
Cluster Arrow

Monk: All spells are in

WD:
Sacrifice

Wiz:
Slow Time
Teleport
Archon
 
You should re-add "Pile of Bones" to the blacklist. These never/VERY rarely contain anything and is a waste of time. Either that or let us add them somehow, let us config in the Settings.

I'm getting better GPH using the Mammon than using Belphegor - i believe that is due to the killing of piles of bones.

Kind regards
 
The "HasHydra" test in wizard.cs seems unreliable - I think it might be the trying to identify the owner of a hydra messing things up (is it trying to get this data from one of the three hydrahead entities rather than the main hydra at times, which doesn't have that data, and so failing to identify a hydra is already up?).

Regardless, as most people would, I imagine, bot single-player games, I found this to be much more reliable and not re-cast Hydra quite so much in the HasHydra check;
Code:
var summoned = ZetaDia.Actors.GetActorsOfType<DiaUnit>().FirstOrDefault(u => u.Name.Contains("HydraHead") && u.Position.Distance(unit.Position) < 30f);
(and you can delete/comment out the "int dynId = ZetaDia.Me.CommonData.DynamicId;" line immediate before this)
Instead of the current check which is;
Code:
int dynId = ZetaDia.Me.CommonData.DynamicId;
var summoned = ZetaDia.Actors.GetActorsOfType<DiaUnit>().FirstOrDefault(u => u.SummonedByACDId == dynId && u.Name.Contains("Hydra") && u.Position.Distance(unit.Position) < 15f);

Might be worth adding exceptions too - ie, only cast if more than 2 enemies within XX feet, unless they are elite in which case always cast.
 
Last edited:
Further to my above post about Wizard Hydras, I've tried to expand the Wizard auto-skill selection on levelling, to auto-skill a wizard all the way from level 1 to 60 with what I consider (even if others may disagree!) the best skills for the way the bot currently handles. It switches skills/runes a few times as necessary, and fills all three passives. Might be nice to have this until/if nothing better comes along, especially if we're not too far from DB allowing Kick to implement his 1-60 levelling profile(s)!

Code:
        public static void WizardOnLevelUp(object sender, EventArgs e)
        {
            if (ZetaDia.Me.ActorClass != ActorClass.Wizard)
                return;

            int myLevel = ZetaDia.Me.Level;

            Logger.Write("Player leveled up, congrats! Your level is now: {0}",
                myLevel
                );


            // ********** PRIMARY SLOT CHANGES **********
            // Set Shock Pulse as primary.
            if (myLevel == 3)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_ShockPulse, -1, 0);
                Logger.Write("Setting Shock Pulse as Primary");
            }
            // Set Shock Pulse-Explosive bolts as primary.
            if (myLevel == 9)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_ShockPulse, 1, 0);
                Logger.Write("Changing rune for Shock Pulse: \"Explosive Bolts\"");
            }
            // Set Electrocute as primary.
            if (myLevel == 15)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_Electrocute, -1, 0);
                Logger.Write("Setting Electrocute as Primary");
            }
            // Set Electrocute-Chain lightning as primary.
            if (myLevel == 22)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_Electrocute, 1, 0);
                Logger.Write("Changing rune for Electrocute: \"Chain Lightning\"");
            }

            // ********** SECONDARY SLOT CHANGES **********
            // Set Ray of Frost as secondary spell.
            if (myLevel == 2)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_RayOfFrost, -1, 1);
                Logger.Write("Setting Ray of Frost as Secondary");
            }
            // Set arcane orb as secondary
            if (myLevel == 5)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_ArcaneOrb, -1, 1);
                Logger.Write("Setting Arcane Orb as Secondary");
            }
            // Set arcane orb rune to "obliteration"
            if (myLevel == 11)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_ArcaneOrb, 1, 1);
                Logger.Write("Changing rune for Arcane Orb: \"Obliteration\"");
            }
            // ********** SKILL SLOTS 1-4 **********
            // Set Frost Nova as slot 1
            if (myLevel == 4)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_FrostNova, -1, 2);
                Logger.Write("Setting Frost Nova as slot 1");
            }
            // Set Diamond Skin as slot 1
            if (myLevel == 8)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_DiamondSkin, -1, 2);
                Logger.Write("Setting Diamond Skin as slot 1");
            }
            // Level 9, slot 2 unlocked!
            // Set Wave of Force as slot 2
            if (myLevel == 9)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_WaveOfForce, -1, 3);
                Logger.Write("Setting Wave of Force as slot 2");
            }
            // Level 14, slot 3 unlocked!
            // Set Diamond Skin-Crystal Shell as slot 1, Ice Armor as slot 3
            if (myLevel == 14)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_DiamondSkin, 1, 2);
                Logger.Write("Changing rune for Diamond Skin: \"Crystal Shell\"");
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_IceArmor, -1, 4);
                Logger.Write("Setting Ice Armor as slot 3");
            }
            // Set Wave of Force-Impactful Wave as slot 2
            if (myLevel == 15)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_WaveOfForce, 1, 3);
                Logger.Write("Changing rune for Wave of Force: \"Impactful Wave\"");
            }
            // Level 19, slot 4 unlocked!
            // Set Explosive Blast as slot 4
            if (myLevel == 19)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_ExplosiveBlast, -1, 5);
                Logger.Write("Setting Explosive Blast as slot 4");
            }
            // Set Ice Armor-Chilling Aura as slot 3, Hydra as slot 4
            if (myLevel == 21)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_IceArmor, 1, 4);
                Logger.Write("Changing rune for Ice Armor: \"Chilling Aura\"");
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_Hydra, -1, 5);
                Logger.Write("Setting Hydra as slot 4");
            }
            // Set Hydra-Arcane Hydra as slot 4
            if (myLevel == 26)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_Hydra, 1, 5);
                Logger.Write("Changing rune for Hydra: \"Arcane Hydra\"");
            }
            // Set Energy Armor as slot 3
            if (myLevel == 28)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_EnergyArmor, -1, 4);
                Logger.Write("Setting Energy Armor as slot 3");
            }
            // Set Energy Armor-Absorption as slot 3
            if (myLevel == 32)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_EnergyArmor, 1, 4);
                Logger.Write("Changing rune for Energy Armor: \"Absorption\"");
            }
            // Set Hydra-Venom Hydra as slot 4
            if (myLevel == 38)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_Hydra, 3, 5);
                Logger.Write("Changing rune for Hydra: \"Venom Hydra\"");
            }
            // Set Energy Armor-Pinpoint Barrier as slot 3
            if (myLevel == 41)
            {
                ZetaDia.Me.SetActiveSkill(SNOPower.Wizard_EnergyArmor, 2, 4);
                Logger.Write("Changing rune for Energy Armor: \"Pinpoint Barrier\"");
            }

            // ********** PASSIVE SKILLS **********
            if (myLevel == 10)
            {
                // Blur - Decreases melee damage taken by 20%.
                ZetaDia.Me.SetTraits(SNOPower.Wizard_Passive_Blur);
            }
            if (myLevel == 20)
            {
                // Blur - Decreases melee damage taken by 20%.
                // Prodigy - 4 arcane power from signature casts
                ZetaDia.Me.SetTraits(SNOPower.Wizard_Passive_Blur, SNOPower.Wizard_Passive_Prodigy);
            }
            if (myLevel == 30)
            {
                // Blur - Decreases melee damage taken by 20%.
                // Prodigy - 4 arcane power from signature casts
                // Astral Presence - +20 arcane power, +2 arcane regen
                ZetaDia.Me.SetTraits(SNOPower.Wizard_Passive_Blur, SNOPower.Wizard_Passive_Prodigy, SNOPower.Wizard_Passive_AstralPresence);
            }

        }
 
Last edited:
would be good if the monk routine can use Serenity when under frozen status if it is not in cooldown.
 
Is it just me or does belphegor routine break every pile of bones there is in the map?
 
Can someone please explain to me how the Belohegor CC works? Do I have to put my Monk skills on the toolbar? Which set of killls are used for the Monk?
 
Back
Top