Don't know if this is the proper place for this as I hardly see actual discussion of code on here by users or dev input outside of "we'll take a look" but here goes. Firstly, I'm not a programmer by trade, but don't feel like it's too difficult to interpret the logic.
Currently playing Archon wizard, which in order to be really effective needs to be constantly doing damage while in Archon mode and not let Archon go to waste. There's a condition that happens frequently on a lot of maps that involves barricade objects. After spending a good hour reading through code I found the spot that handles Barricade targeting, HandleTarget.cs under Combat\ path.
In the section of code that handles the destruction of the barricade object, dev comments goes as such:
// Location attack - attack the Vector3/map-area (equivalent of holding shift and left-clicking the object in-game to "force-attack")
Depends on what your left click spell is but there are conditional checks in the code to change the power to CombatBase.DefaultWeaponPower e.g. generic weapon attack. I think what happens is that when in Archon mode the code doesn't know how to handle the left click spell which is Arcane Strike so it defaults to a wand attack, which isn't actually available in Archon mode. So what happens is the bot stays in wand range just casting Arcane Strike over and over again to no avail. Essentially you sit there swinging at air until 1) Archon mode runs out or 2) Mobs beat you to death, both conditions which really hinder progress at higher Greater Rift levels.
My initial thought was to throw a check to see if Archon Mode was active and then set CombatBase.CurrentPower.SNOPower equal to a ranged Archon skill like Arcane Disinegration Wave, thus not messing with any other code in the condition loop. This compiled correctly but for whatever reason when I ran the bot it sat in rift doing nothing. I had to essentially change the TargetRangeRequired variable in private static void SetRangeRequiredForTarget() where case TrinityObjectType.Barricade: to something low like 1f if the bot is in Archon Mode. Before TargetRangeRequired was set to CombatBase.CurrentPower.MinimumRange, which when in Archon Mode is actually minimum distances for Wand attack which is actually out of range for Arcane Strike.
There's probably a better way to do this, as HandleTarget.cs seems more like a global class and probably don't want to be polluting it with class specific conditional checks but it was the quickest solution for me as I don't know the full class structure for Trinity that well. I just wanted to shed some light on actual code related problems that hinder the bot from performing well at higher greater rift levels. If there's a better place to inform devs of such problems let me know as I don't see much active discussion on these forums addressing real problems, just a lot of griping about my bot not working without any core understanding of what causes the bot from actually performing on a more human level. Now onto trying to address the awkward crazy teleport loops that seem to happen on my wizard.
Currently playing Archon wizard, which in order to be really effective needs to be constantly doing damage while in Archon mode and not let Archon go to waste. There's a condition that happens frequently on a lot of maps that involves barricade objects. After spending a good hour reading through code I found the spot that handles Barricade targeting, HandleTarget.cs under Combat\ path.
In the section of code that handles the destruction of the barricade object, dev comments goes as such:
// Location attack - attack the Vector3/map-area (equivalent of holding shift and left-clicking the object in-game to "force-attack")
Depends on what your left click spell is but there are conditional checks in the code to change the power to CombatBase.DefaultWeaponPower e.g. generic weapon attack. I think what happens is that when in Archon mode the code doesn't know how to handle the left click spell which is Arcane Strike so it defaults to a wand attack, which isn't actually available in Archon mode. So what happens is the bot stays in wand range just casting Arcane Strike over and over again to no avail. Essentially you sit there swinging at air until 1) Archon mode runs out or 2) Mobs beat you to death, both conditions which really hinder progress at higher Greater Rift levels.
My initial thought was to throw a check to see if Archon Mode was active and then set CombatBase.CurrentPower.SNOPower equal to a ranged Archon skill like Arcane Disinegration Wave, thus not messing with any other code in the condition loop. This compiled correctly but for whatever reason when I ran the bot it sat in rift doing nothing. I had to essentially change the TargetRangeRequired variable in private static void SetRangeRequiredForTarget() where case TrinityObjectType.Barricade: to something low like 1f if the bot is in Archon Mode. Before TargetRangeRequired was set to CombatBase.CurrentPower.MinimumRange, which when in Archon Mode is actually minimum distances for Wand attack which is actually out of range for Arcane Strike.
There's probably a better way to do this, as HandleTarget.cs seems more like a global class and probably don't want to be polluting it with class specific conditional checks but it was the quickest solution for me as I don't know the full class structure for Trinity that well. I just wanted to shed some light on actual code related problems that hinder the bot from performing well at higher greater rift levels. If there's a better place to inform devs of such problems let me know as I don't see much active discussion on these forums addressing real problems, just a lot of griping about my bot not working without any core understanding of what causes the bot from actually performing on a more human level. Now onto trying to address the awkward crazy teleport loops that seem to happen on my wizard.






