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

Vyr's set and again wave of force for Melee build question (wizard thread)

gomooncool

Member
Joined
Mar 19, 2013
Messages
32
Reaction score
0
Hi guys! I have 2 question to improve my bot behaviour:
1) How to improve code in Trinity that my wiz-bot can use teleport correctly while being in archon Vir's set form (for grabbing globes for example)?
Currently it tries to kite boss by means of teleport. How to adjust settings that my bot doesnt use teleport for kiting but for colletcing globes?
Disabling kite setting in trinity doesnt help. The only thing that help is completely deleting teleport strings in combat/abilities/wizard.cs and movenment/playermover.cs
then bot just dont use teleport.
2) Concerning wave of force:
I found code on forum for spamming Wave of Force. It helps to spam it, but there is an issue with distant targets. When trying to attack target out of WoF range it uses simply wand attack :(( only if the target is in WoF range bot spams it.
Therefore I need to know how to change moving algorythm to make my bot reach close distance to mobs before attacking (trigger mob settings in trinity does not affect this). Also I want to know how to make explosive blast more prioritized than WoF if its not on CD.
Thanks in advance!
 
I do very well with wave of force. I have no problems only shooting wands and this is what I did. I proritized explosive blast by throwing it on top of wave of force and recoded wave of force (not a coder, just doing it by looking and experimenting) and it works amazingly.

Open your Trinity Plugin > Combat > Abilities > Wizard.cs with a notepad or notepad + and hit Ctrl F, then type in "wave", hit enter 2 times to find the first "wave of force" setup. Delete the entire wave of force section and replace it with this. Make sure you're deleting everything that looks like this.

// Wave of Force
blah blah
{
blah blah
}


Delete everything inside those brackets between the // down to the } and paste the following in it's place


// Explosive Blast
if (!UseOOCBuff && !Player.IsIncapacitated && CombatBase.CanCast(SNOPower.Wizard_ExplosiveBlast, CombatBase.CanCastFlags.NoTimer) && Player.PrimaryResource >= 20 &&
(TargetUtil.AnyMobsInRange(25) && CurrentTarget.RadiusDistance <= 25f) &&
PowerManager.CanCast(SNOPower.Wizard_ExplosiveBlast))
{
float blastRange = 11f;
return new TrinityPower(SNOPower.Wizard_ExplosiveBlast, blastRange, Vector3.Zero, CurrentWorldDynamicId, -1, 0, 2, WAIT_FOR_ANIM);
}
// Wave of Force
if (!UseOOCBuff && !Player.IsIncapacitated && CombatBase.CanCast(SNOPower.Wizard_WaveOfForce, CombatBase.CanCastFlags.NoTimer) && Player.PrimaryResource >= 25 &&
(TargetUtil.AnyMobsInRange(25) && CurrentTarget.RadiusDistance <= 25f) &&
PowerManager.CanCast(SNOPower.Wizard_WaveOfForce))
{
float blastRange = 8f;
return new TrinityPower(SNOPower.Wizard_WaveOfForce, blastRange, Vector3.Zero, CurrentWorldDynamicId, -1, 0, 2, WAIT_FOR_ANIM);
}

What this accomplishes is it replaces the wave of force with a better code, but puts Explosive blast over it (as if it was a macro with a priority system. I'm not a coder but apparently it works similarly) and always walks up to explosive blast before wave, and it'll cast both at the same time due to the nature of exp blast.

AFTER you've done the copy and paste over the old wave of force code adding in the new exp blast section up top. Find the explosive blast section just below that and delete it, from the // blah blah to the second } and make it look nice and neat. This'll give you what you want at least for explosive blast + wave of force and proper skill useage. If you want here's my cs file and I literally just copy and paste that section into it every time I update trinity. Works great.
 

Attachments

+1 For better Vyr's support being needed. Currently spams slow time which is totally unnecessary and actually makes us less efficient since it doesn't have 100% uptime, which it should. Also teleportation issue as noted, spams tele to seemingly random spots.

In fact, i'd go so far as to say Vyr's pretty much ruins trinity's use of archon in its current state! Definitely needs support, was super excited to finally get this set and now I'm going to be equipping my old blackthorne's because it will make me MUCH more efficient xD
 
Last edited:
Thx it's better with your code

Yes better support of archont it's necassary and vyr too. The wizard seem's to use archon not enought. I have checked "Use Archon on Elit Only". Sometimes it does not use it, why ? and for uniques it does not seem to consider them like elit
 
I had a similar issue; with electrocute as my primary and black hole/ wave of force as my only spenders i needed it to spam wave of force as the primary damage dealer. but the bot likes to only use it on rare occasions. so:

change
Code:
            // Wizards want to save up to a reserve of 65+ energy
            MinEnergyReserve = 45;
to
Code:
            // Wizards want to save up to a reserve of 65+ energy
            MinEnergyReserve = 25;

and change

Code:
                // Wave of force
                if (!UseOOCBuff && !Player.IsIncapacitated && Player.PrimaryResource >= 25 && CombatBase.CanCast(SNOPower.Wizard_WaveOfForce) &&
                    (TargetUtil.AnyElitesInRange(15, 1) || TargetUtil.AnyMobsInRange(15, 4) || Player.CurrentHealthPct <= 0.7 || (CurrentTarget.IsBossOrEliteRareUnique && CurrentTarget.RadiusDistance <= 23f)))
                {
                    return new TrinityPower(SNOPower.Wizard_WaveOfForce, 0f, Vector3.Zero, CurrentWorldDynamicId, -1, 1, 2, WAIT_FOR_ANIM);
                }

to

Code:
                // Wave of force
                if (!UseOOCBuff && !Player.IsIncapacitated && Player.PrimaryResource >= 25 && Hotbar.Contains(SNOPower.Wizard_WaveOfForce) &&
                    (TargetUtil.AnyElitesInRange(25, 1) || TargetUtil.AnyMobsInRange(25, 1) || Player.CurrentHealthPct <= 0.7 || (CurrentTarget.IsBossOrEliteRareUnique && CurrentTarget.RadiusDistance <= 23f)))
                {
                    return new TrinityPower(SNOPower.Wizard_WaveOfForce, 0f, Vector3.Zero, CurrentWorldDynamicId, -1, 1, 2, WAIT_FOR_ANIM);
                }

What this does is

* remove the desire to not use abilities and store up mana.
* reduce the number of mobs that needs to be in range to use force wave from 4 in 15 yards to 1 in 25 yards.
* remove the decision point 'CanCast' and just cast it always if its on the hotbar.
 
Last edited:
Thanks guys for your codes for Waves of Force, it works much better. But still my bot is using wand as primary strike on distant targets (especially on treasure goblins).
 
you need to disable archane strije


For what? This does absolutely nothing.

Bot still spams slow time over and over again with trinity .24/.25, still teleports like it's on *****, too. Also, bot probably does less net damage this way (with arcane strike disabled, i mean) because it almost never gets an opportunity to use blast and rarely AOE's. This definitely needs addressing!
 
I do very well with wave of force. I have no problems only shooting wands and this is what I did. I proritized explosive blast by throwing it on top of wave of force and recoded wave of force (not a coder, just doing it by looking and experimenting) and it works amazingly.

Open your Trinity Plugin > Combat > Abilities > Wizard.cs with a notepad or notepad + and hit Ctrl F, then type in "wave", hit enter 2 times to find the first "wave of force" setup. Delete the entire wave of force section and replace it with this. Make sure you're deleting everything that looks like this.

// Wave of Force
blah blah
{
blah blah
}


Delete everything inside those brackets between the // down to the } and paste the following in it's place


// Explosive Blast
if (!UseOOCBuff && !Player.IsIncapacitated && CombatBase.CanCast(SNOPower.Wizard_ExplosiveBlast, CombatBase.CanCastFlags.NoTimer) && Player.PrimaryResource >= 20 &&
(TargetUtil.AnyMobsInRange(25) && CurrentTarget.RadiusDistance <= 25f) &&
PowerManager.CanCast(SNOPower.Wizard_ExplosiveBlast))
{
float blastRange = 11f;
return new TrinityPower(SNOPower.Wizard_ExplosiveBlast, blastRange, Vector3.Zero, CurrentWorldDynamicId, -1, 0, 2, WAIT_FOR_ANIM);
}
// Wave of Force
if (!UseOOCBuff && !Player.IsIncapacitated && CombatBase.CanCast(SNOPower.Wizard_WaveOfForce, CombatBase.CanCastFlags.NoTimer) && Player.PrimaryResource >= 25 &&
(TargetUtil.AnyMobsInRange(25) && CurrentTarget.RadiusDistance <= 25f) &&
PowerManager.CanCast(SNOPower.Wizard_WaveOfForce))
{
float blastRange = 8f;
return new TrinityPower(SNOPower.Wizard_WaveOfForce, blastRange, Vector3.Zero, CurrentWorldDynamicId, -1, 0, 2, WAIT_FOR_ANIM);
}

What this accomplishes is it replaces the wave of force with a better code, but puts Explosive blast over it (as if it was a macro with a priority system. I'm not a coder but apparently it works similarly) and always walks up to explosive blast before wave, and it'll cast both at the same time due to the nature of exp blast.

AFTER you've done the copy and paste over the old wave of force code adding in the new exp blast section up top. Find the explosive blast section just below that and delete it, from the // blah blah to the second } and make it look nice and neat. This'll give you what you want at least for explosive blast + wave of force and proper skill useage. If you want here's my cs file and I literally just copy and paste that section into it every time I update trinity. Works great.


Care to explain why Trinity disappears when I do exactly what you said?
 
I am having the same problem, if I use the code samples provided it causes trinity errors
 
I am having the same problem, if I use the code samples provided it causes trinity errors


There's some new coding I had to play around with. As I said previously I just took whatever Explosive blast does and copy's that, here's the new Wave code.


// Explosive Blast
if (!UseOOCBuff && !Player.IsIncapacitated && CombatBase.CanCast(SNOPower.Wizard_ExplosiveBlast, CombatBase.CanCastFlags.NoTimer) && Player.PrimaryResource >= 20)
{
float blastRange = 7f;
return new TrinityPower(SNOPower.Wizard_ExplosiveBlast, blastRange, Vector3.Zero, CurrentWorldDynamicId, -1, 0, 2);
}
// Wave Of Force
if (!UseOOCBuff && !Player.IsIncapacitated && CombatBase.CanCast(SNOPower.Wizard_WaveOfForce, CombatBase.CanCastFlags.NoTimer) && Player.PrimaryResource >= 25)
{
float blastRange = 7f;
return new TrinityPower(SNOPower.Wizard_WaveOfForce, blastRange, Vector3.Zero, CurrentWorldDynamicId, -1, 0, 2);
}

Only copy this part if you're only using wave, if you're using Exp blast and wave, then copy the bigger part above.

// Wave Of Force
if (!UseOOCBuff && !Player.IsIncapacitated && CombatBase.CanCast(SNOPower.Wizard_WaveOfForce, CombatBase.CanCastFlags.NoTimer) && Player.PrimaryResource >= 25)
{
float blastRange = 7f;
return new TrinityPower(SNOPower.Wizard_WaveOfForce, blastRange, Vector3.Zero, CurrentWorldDynamicId, -1, 0, 2);
}

The old code works for versions of trinity below .27, any trinity version .27 and above requires this code.
 
Last edited:
Back
Top