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

Optimizing Holy Shotgun and Heaven's Fury

rimmi2002

New Member
Joined
Apr 28, 2014
Messages
138
Reaction score
2
Hi I am trying to get my crusader fully optimized for Holy Shotgun build relying only on Heaven't Fury Fires of Heaven. I'd like to do two things.
1. Decrease the range from which the skill is used. (It works much better standing right next to a target so all three rays hit one target). Bot will often spam at a distance to elites and only one ray will hit the elite.
2. I don't want to shoot it at the best cluster point. I'd like to shoot it at the unit I am fighting. Often happens with rift bots it will use wrath generator on rift boss and then turn around a fire a heaven's fury in some random direction since there is a hidden best cluster there somewhere.

I looked in the crusader.cs code to see what I can change to accomplish this.
Code:
                if (CanCastHeavensFury())
                {
                    return new TrinityPower(SNOPower.X1_Crusader_HeavensFury3, 16f, TargetUtil.GetBestClusterPoint());

Any one know what the parament 16F is for? Is it the range to cast from? If so it seems like a hex number, how do I lower the range? Second TargetUtil.GetBestClusterPoint() is probably telling the direction to cast it...any way to just keep it to the closest monster or to the one you are fighting?

thanks for the help.


Okay read through more posts and code and seems like this code should do the job. Will try it out once home today. Wondering if anyone else has any other suggestion it'll be great. Thanks!

Code:
if (CanCastHeavensFury())
                {
                    return new TrinityPower(SNOPower.X1_Crusader_HeavensFury3, 7f, CurrentTarget.ACDGuid);
                }
            }

Use this to cast Heaven't Fury whenever it is available.

Code:
private static bool CanCastHeavensFury()
        {
            return CanCast(SNOPower.X1_Crusader_HeavensFury3) && TargetUtil.AnyMobsInRange(15f, 1);
        }
 
Last edited:
just want to report an update. This change in code above works well now. Crusader is shotgunning mobs right in the face.
 
thank you for your afford, I will try your code in the next minutes and post back here with the results :)

edit: everything works fine, seems like the bot is really aiming for the enemys.
 
Last edited:
So I just got the FotF and I tried the default trinity settings and needless to say, it was using Heaven's Fury too far away imo. So I tried your settings and WOW it is so much better!!! I can't thank you enough for posting this easy fix! If anyone is hesitant on whether or not this works, trust me guys, it does! It gets in the Rift Guardian's face (normal mobs as well) so that all 3 beams hit the RG! Now all someone needs to do is find a way to have the bot pickup health orbs whenever we are running low on Wrath (Reaper's Wraps)...
 
Any one know what the parament 16F is for? Is it the range to cast from? If so it seems like a hex number, how do I lower the range? Second TargetUtil.GetBestClusterPoint() is probably telling the direction to cast it...any way to just keep it to the closest monster or to the one you are fighting?

thanks for the help.


Code:
if (CanCastHeavensFury())
                {
                    return new TrinityPower(SNOPower.X1_Crusader_HeavensFury3, 7f, CurrentTarget.ACDGuid);
                }
            }

your code works great.
16f is for the number 16 and the data type float. and yes it seems like that it is the range it is cast from.
i am currently testing some stuff but i have found another line, you can change a bit further down. it is the condition under which heaven's fury is casted.

Code:
private static bool CanCastHeavensFury()
        {
            return CanCast(SNOPower.X1_Crusader_HeavensFury3) && (TargetUtil.EliteOrTrashInRange(16f) || TargetUtil.AnyMobsInRange(7f, CrusaderSettings.HeavensFuryAoECount));
        }

i changed it, so my crusader even casts it if there are single (white) mobs.

i am currently testing some numbers but it looks like the 7 for the range works out good. feel free to lower it even further and test it :)
 
Last edited:
your code works great.
16f is for the number 16 and the data type float. and yes it seems like that it is the range it is cast from.
i am currently testing some stuff but i have found another line, you can change a bit further down. it is the condition under which heaven's fury is casted.

Code:
private static bool CanCastHeavensFury()
        {
            return CanCast(SNOPower.X1_Crusader_HeavensFury3) && (TargetUtil.EliteOrTrashInRange(16f) || TargetUtil.AnyMobsInRange(7f, CrusaderSettings.HeavensFuryAoECount));
        }

i changed it, so my crusader even casts it if there are single (white) mobs.

i am currently testing some numbers but it looks like the 7 for the range works out good. feel free to lower it even further and test it :)

Thanks for explanation on the range numbers. so its float not a hex. good to know. Yes actually my bad forgot to post that also. I have mine to


Code:
private static bool CanCastHeavensFury()
        {
            return CanCast(SNOPower.X1_Crusader_HeavensFury3) 
        }

It has not cast the skill out of combat even when using above, but if you want it to be on the safe side and not waste it on destructibles you can use the code below.

Code:
private static bool CanCastHeavensFury()
        {
            return CanCast(SNOPower.X1_Crusader_HeavensFury3) && TargetUtil.AnyMobsInRange(15f, 1);
        }
 
Last edited:
Just make sure to change the range if you play a different spec, I was messing around with a BS build and I was trying to figure out why he was always running into the mobs, and realised I still had the range set to 7 for heavens fury :P
 
This works great but it is now not casting my Law of Valor, Provoke and Akarats. It keeps on trying to use Heavens Fury and when I run out of wrath it keeps on trying to use it still. Any advice?

Thank you in advance!
 
This works great but it is now not casting my Law of Valor, Provoke and Akarats. It keeps on trying to use Heavens Fury and when I run out of wrath it keeps on trying to use it still. Any advice?

Thank you in advance!

hmm it should not do that. Did you copy the code exactly from here. It will only cast heaven't fury it is is available to be casted.
 
Hi,

Thanks for the code it seems great but i get error :

Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(227,13) : error CS1519: Invalid token 'if' in class, struct, or interface member declaration
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(227,27) : error CS1519: Invalid token ')' in class, struct, or interface member declaration
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(229,21) : error CS1520: Method must have a return type
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(229,61) : error CS1001: Identifier expected
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(229,63) : error CS1002: ; expected
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(229,97) : error CS1519: Invalid token ')' in class, struct, or interface member declaration
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(231,32) : error CS1520: Method must have a return type
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(231,77) : error CS1001: Identifier expected
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(240,17) : error CS0116: A namespace cannot directly contain members such as fields or methods
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(242,32) : error CS1518: Expected class, delegate, enum, interface, or struct
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(246,17) : error CS0116: A namespace cannot directly contain members such as fields or methods
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(248,32) : error CS1518: Expected class, delegate, enum, interface, or struct
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(249,17) : error CS1022: Type or namespace definition, or end-of-file expected

Anyone can post his crusader file who's working ?

Thanks
 
Last edited:
Hi,

Thanks for the code it seems great but i get error :

Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(227,13) : error CS1519: Invalid token 'if' in class, struct, or interface member declaration
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(227,27) : error CS1519: Invalid token ')' in class, struct, or interface member declaration
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(229,21) : error CS1520: Method must have a return type
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(229,61) : error CS1001: Identifier expected
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(229,63) : error CS1002: ; expected
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(229,97) : error CS1519: Invalid token ')' in class, struct, or interface member declaration
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(231,32) : error CS1520: Method must have a return type
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(231,77) : error CS1001: Identifier expected
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(240,17) : error CS0116: A namespace cannot directly contain members such as fields or methods
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(242,32) : error CS1518: Expected class, delegate, enum, interface, or struct
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(246,17) : error CS0116: A namespace cannot directly contain members such as fields or methods
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(248,32) : error CS1518: Expected class, delegate, enum, interface, or struct
Compiler Error: d:\D3\DemonbuddyBETA 1.1.1926.418\Plugins\Trinity\Combat\Abilities\CrusaderCombat.cs(249,17) : error CS1022: Type or namespace definition, or end-of-file expected

Anyone can post his crusader file who's working ?

Thanks


See mine attached. Enjoy
 

Attachments

Hi I am trying to get my crusader fully optimized for Holy Shotgun build relying only on Heaven't Fury Fires of Heaven. I'd like to do two things.
1. Decrease the range from which the skill is used. (It works much better standing right next to a target so all three rays hit one target). Bot will often spam at a distance to elites and only one ray will hit the elite.
2. I don't want to shoot it at the best cluster point. I'd like to shoot it at the unit I am fighting. Often happens with rift bots it will use wrath generator on rift boss and then turn around a fire a heaven's fury in some random direction since there is a hidden best cluster there somewhere.

I looked in the crusader.cs code to see what I can change to accomplish this.
Code:
                if (CanCastHeavensFury())
                {
                    return new TrinityPower(SNOPower.X1_Crusader_HeavensFury3, 16f, TargetUtil.GetBestClusterPoint());

Any one know what the parament 16F is for? Is it the range to cast from? If so it seems like a hex number, how do I lower the range? Second TargetUtil.GetBestClusterPoint() is probably telling the direction to cast it...any way to just keep it to the closest monster or to the one you are fighting?

thanks for the help.


Okay read through more posts and code and seems like this code should do the job. Will try it out once home today. Wondering if anyone else has any other suggestion it'll be great. Thanks!

Code:
if (CanCastHeavensFury())
                {
                    return new TrinityPower(SNOPower.X1_Crusader_HeavensFury3, 7f, CurrentTarget.ACDGuid);
                }
            }

Use this to cast Heaven't Fury whenever it is available.

Code:
private static bool CanCastHeavensFury()
        {
            return CanCast(SNOPower.X1_Crusader_HeavensFury3) && TargetUtil.AnyMobsInRange(15f, 1);
        }


There's one extra } in the second code, which is causing an error to some people.
 
Back
Top