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

Trinity - Monk Class

so any news on the tempest rush for only used while running between packs??
 
so any news on the tempest rush for only used while running between packs??
Find "// Tempest rush at elites or groups of mobs" in the GilesTrinity.cs
Delete everything below it until "// Dashing Strike" line. Just did it, seems to work for me.
Make sure you backup the original, if something goes wrong.

I use Unified version of Giles Trinity, don't know if there are these lines in the original.
 
Find "// Tempest rush at elites or groups of mobs" in the GilesTrinity.cs
Delete everything below it until "// Dashing Strike" line. Just did it, seems to work for me.
Make sure you backup the original, if something goes wrong.

I use Unified version of Giles Trinity, don't know if there are these lines in the original.

OK il test it :D
 
if anybody wants to try exploding palm (particularly flesh is weak) you can try this code,

i tried to change it to be used as often as possible while considering the situation e.g enemies within range and targeting enemies with less 40% hp - i didnt add a boss ignore atm
if you understand the code let me know if i made it wrong - id appreciate it. :)
same with people who would like to test, let me know any issues

i just wanted to try exploding palm since it scales with enemy life and the greater mp you play means the more damage it will deal and make the bots life easier

changes the conditions below // Exploding Palm


if (!bOOCBuff && !bCurrentlyAvoiding && !playerStatus.bIsIncapacitated &&
iAnythingWithinRange[RANGE_15] >= 2 &&
targetCurrent.iThisHitPoints <= 0.35 &&
hashPowerHotbarAbilities.Contains(SNOPower.Monk_ExplodingPalm) &&
playerStatus.dCurrentEnergy >= 45 &&
PowerManager.CanCast(SNOPower.Monk_ExplodingPalm))
{
return new GilesPower(SNOPower.Monk_ExplodingPalm, 14f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
}

btw i only play at mp 3-4 mostly 3 and having good results, not great because of mobs can sometimes just move out of the way when it explodes and its useless for single mob/elite

i have tried ur code..but it failed to read it thus got trinity error..could u pls just paste ur trinity cs. here?....thx in advanced..
 
Is there a way to have Giles utilize FoT and Deadly Reach together? I'd like it to cast DR on third hit for the 18% dmg buff (then revert back to FoT), then check last cast on it and cast it again as third hit before the 30 seconds expires. I'm sure it's possible, it's just outside my realm of coding expertise. Any help?
 
Is anyone able to make a plugin or update to get the char swap HIGH DPS 2h weapon before casting sweeping wind?

everytime bot would normally cast sweeping wind I wish it would

1) wait till enough spirit to cast all buffs and sweeping wind
2) switch HIGH DPS 2h (best I have had is ~650.000 DPS)
3) cast sweeping wind
4) switch back to fast 1h:s with attacks per sec ~2,5
5) enjoy mind blowing tornados

If no-one wants to make the plugin for free, make it for sale, few euros and every sweeping wind monk will buy it.

sweeping.webp

This weapon has chance to double ur damage , but its random and pretty rare, if the plugin would spam attacks with this weapon and trigger sweeping wind when damage is 2x it would be more awesome.
But even with 300% crit dmg high dps skorn automatic weapon swap would be epic.

Thx
 
Last edited:
I've made some changes to utilize FoT and Deadly Reach using as a 3rd passive "Combination Strike, for a total of 34% extra damage.

I'm also using Breath of Heaven for the 15% damage buff.

At the monk section, where it gets to select what SNOPower to use (around line 6844), at sweeping wind
Code:
                    // Sweeping wind
                    if (!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && !GilesHasBuff(SNOPower.Monk_SweepingWind) &&
                        (iElitesWithinRange[RANGE_25] > 0 || iAnythingWithinRange[RANGE_20] >= 2 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 25f)) &&
                        // Check if either we don't have blinding flash, or we do and it's been cast in the last 6000ms
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Monk_BlindingFlash]).TotalMilliseconds <= 6000)) &&
                        // Check our mantras, if we have them, are up first
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfEvasion) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfEvasion) && GilesHasBuff(SNOPower.Monk_MantraOfEvasion))) &&
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfConviction) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfConviction) && GilesHasBuff(SNOPower.Monk_MantraOfConviction))) &&
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfRetribution) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfRetribution) && GilesHasBuff(SNOPower.Monk_MantraOfRetribution))) &&
                        // Check the re-use timer and energy costs
                        (playerStatus.dCurrentEnergy >= 75 || (settings.bMonkInnaSet && playerStatus.dCurrentEnergy >= 5)) && GilesUseTimer(SNOPower.Monk_SweepingWind))
                    {
						if (ZetaDia.Me.DamagePercentAllFromSkills >= 0.49)
							return new GilesPower(SNOPower.Monk_SweepingWind, 0f, vNullLocation, iCurrentWorldID, -1, 2, 2, USE_SLOWLY);
                    }
I've used the above if statement, to make sure we have all the damage buffs active (15%, 8% x 2, 18%) before casting Sweeping Wind.


Below, where it picks Fists of thunder or Deadly reach (around line 6965), I've switched Deadly reach to get checked first. Removing the damage buff from BoH (if active) and then checking if we have the DR buffs (Combination Strike + rune buff).

Code:
double total = ZetaDia.Me.DamagePercentAllFromSkills;
					
if (ZetaDia.Me.HasBuff(SNOPower.Monk_BreathOfHeaven))
{
	total -= 0.15;
}

// Deadly reach
if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Monk_DeadlyReach))
{
	if (total < 0.26 || (powerLastSnoPowerUsed == SNOPower.Monk_FistsofThunder && total < 0.27))
	{
		return new GilesPower(SNOPower.Monk_DeadlyReach, 16f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 1, USE_SLOWLY);
	}
}

// Fists of thunder as the primary, repeatable attack
if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Monk_FistsofThunder))
{
	return new GilesPower(SNOPower.Monk_FistsofThunder, 30f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, SIGNATURE_SPAM);
}

Hopefully some of you will find a good use for it too.
 
I have been using tempest rush (regular giles one) and wave of light.But tr is not working soo well =( does anyone have a tr code to share? thx in advance
 
I have been using tempest rush (regular giles one) and wave of light.But tr is not working soo well =( does anyone have a tr code to share? thx in advance

I removed all Tempest Rush delays and all loot delays. That pretty much solved everything.
 
I've made some changes to utilize FoT and Deadly Reach using as a 3rd passive "Combination Strike, for a total of 34% extra damage.

I'm also using Breath of Heaven for the 15% damage buff.

At the monk section, where it gets to select what SNOPower to use (around line 6844), at sweeping wind
Code:
                    // Sweeping wind
                    if (!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Monk_SweepingWind) && !GilesHasBuff(SNOPower.Monk_SweepingWind) &&
                        (iElitesWithinRange[RANGE_25] > 0 || iAnythingWithinRange[RANGE_20] >= 2 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 25f)) &&
                        // Check if either we don't have blinding flash, or we do and it's been cast in the last 6000ms
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Monk_BlindingFlash]).TotalMilliseconds <= 6000)) &&
                        // Check our mantras, if we have them, are up first
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfEvasion) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfEvasion) && GilesHasBuff(SNOPower.Monk_MantraOfEvasion))) &&
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfConviction) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfConviction) && GilesHasBuff(SNOPower.Monk_MantraOfConviction))) &&
                        (!hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfRetribution) || (hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfRetribution) && GilesHasBuff(SNOPower.Monk_MantraOfRetribution))) &&
                        // Check the re-use timer and energy costs
                        (playerStatus.dCurrentEnergy >= 75 || (settings.bMonkInnaSet && playerStatus.dCurrentEnergy >= 5)) && GilesUseTimer(SNOPower.Monk_SweepingWind))
                    {
						if (ZetaDia.Me.DamagePercentAllFromSkills >= 0.49)
							return new GilesPower(SNOPower.Monk_SweepingWind, 0f, vNullLocation, iCurrentWorldID, -1, 2, 2, USE_SLOWLY);
                    }
I've used the above if statement, to make sure we have all the damage buffs active (15%, 8% x 2, 18%) before casting Sweeping Wind.


Below, where it picks Fists of thunder or Deadly reach (around line 6965), I've switched Deadly reach to get checked first. Removing the damage buff from BoH (if active) and then checking if we have the DR buffs (Combination Strike + rune buff).

Code:
double total = ZetaDia.Me.DamagePercentAllFromSkills;
					
if (ZetaDia.Me.HasBuff(SNOPower.Monk_BreathOfHeaven))
{
	total -= 0.15;
}

// Deadly reach
if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Monk_DeadlyReach))
{
	if (total < 0.26 || (powerLastSnoPowerUsed == SNOPower.Monk_FistsofThunder && total < 0.27))
	{
		return new GilesPower(SNOPower.Monk_DeadlyReach, 16f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 1, USE_SLOWLY);
	}
}

// Fists of thunder as the primary, repeatable attack
if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Monk_FistsofThunder))
{
	return new GilesPower(SNOPower.Monk_FistsofThunder, 30f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, SIGNATURE_SPAM);
}

Hopefully some of you will find a good use for it too.

Looks great, but it's obvious that my file differs from yours. Not really sure where to copypasta that in without wrecking the shit out of my file, hahaha
 
I know that giles allows you to adjust non-elite combat radius, but is there a way to run a Tempest Rush monk that skips all trash and goes straight for elites? I understand the necessity of having minimum combat radius to ensure that players don't get stuck, but with TR this is a non-issue. I'd like to try my hand at rushing elite packs as TR monk, but with a minimum combat radius it seems like it wouldn't be any more efficient outside of sprinting to the trash packs.
 
i also got a question:

is it possible to spare up 7SS just for champs? i am about to switch blinding flash into 7SS for more damage at the champs...
 
Yea + 1 on adding the 2 hander swap , if someone can do that , kudos and karma to you!
 
Any1 here farming with a tempest rush build? I was wondering if you can post the build and any custom-changes (if done). Would like to try that. ;D
 
I am sure this has been asked already but have not found an answer: Anyway to make a permanent tempest rush monk?

I am running approx. 150k sheet dps and have enough spirit regen to sustain TR permanently.

Could I just remove all combat abilities except buff and TR from monk file, and enable movement out of combat?????

Since I never see it actually use the ability in combat I figured I might need to borrow some code from the barb's WW ability....

Not in a position I can test it at the moment >_<
 
Last edited:
hmm so i guess tr isnt really working that well? im about to gear 4 new monks and i would love to make one of em a tempest rush monk. how well doest trinity work with sprinting?
 
Yeah for tempest rush to work, it looks like it would need to be able to tempest rush to items/gold piles instead of walking to them

I'm still trying to figure out which variables to change for it to not stutter step tempest rush

Looks to be in the GilesPlayerMover.cs
Code:
ZetaDia.Me.CurrentPrimaryResource >= 20
It will start rushing when above that, stop instantly when its below (causing stutter step and losing functionality)

Other 'slight' issue is it re-using Sweeping Winds all the time (I grabbed the 2 passives so I am at about 14 spirit per second so its whatever)
Not sure if theres a function set to check buff timers

It seems if these 3 things get addressed, TR would be viable for trinity =P
 
Last edited:
For those who have around 120 - 150k dps UNBUFF , can you guys link or or give me the picture of your gears so I have idea what I need to buy ?
 
Yeah for tempest rush to work, it looks like it would need to be able to tempest rush to items/gold piles instead of walking to them

I'm still trying to figure out which variables to change for it to not stutter step tempest rush

Looks to be in the GilesPlayerMover.cs
Code:
ZetaDia.Me.CurrentPrimaryResource >= 20
It will start rushing when above that, stop instantly when its below (causing stutter step and losing functionality)

Other 'slight' issue is it re-using Sweeping Winds all the time (I grabbed the 2 passives so I am at about 14 spirit per second so its whatever)
Not sure if theres a function set to check buff timers

It seems if these 3 things get addressed, TR would be viable for trinity =P

Yes please, if anyone could help with this it would be greatly appreciated! :)
 
Back
Top