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

Trinity - Monk Class

Glad to see my changes to the monk code are included in 1.6 ^^

Yes, thank you, sorry I completely forgot to mention you in the changelog, I'm usually quite good at crediting people that do quite a few skill-changes for me if I implement them "as is" (like Moley with the witch doctor stuff), just completely forgot about your name in my business with all the other stuff I was working on!

I always welcome people who are good with a specific class, AND good at editing my skill code, to give me useful skill replacements, so if you have any more - please pass them on! You can keep sending me updates - even if they're really minor (like just changing the amount of targets within range to activate a skill) if you want in forum PM's or do what Moley does and just idle in IRC (Quakenet - #ciggarc channel) and leave me messages there/links to pastie.org pastes etc. - I'm always getting updates from Moley sometimes minor sometimes big for Witch Doctors (and the odd Wizard spell).

What people need to realize is I truly suck at Diablo 3. I can make the plugin, but I'm terribad at knowing stats, builds, skill uses etc. - so I really do rely on user input on skill-use changes, half the stuff in there atm is total guesswork on my part for the skills ;)
 
Yes, thank you, sorry I completely forgot to mention you in the changelog, I'm usually quite good at crediting people that do quite a few skill-changes for me if I implement them "as is" (like Moley with the witch doctor stuff), just completely forgot about your name in my business with all the other stuff I was working on!

I always welcome people who are good with a specific class, AND good at editing my skill code, to give me useful skill replacements, so if you have any more - please pass them on! You can keep sending me updates - even if they're really minor (like just changing the amount of targets within range to activate a skill) if you want in forum PM's or do what Moley does and just idle in IRC (Quakenet - #ciggarc channel) and leave me messages there/links to pastie.org pastes etc. - I'm always getting updates from Moley sometimes minor sometimes big for Witch Doctors (and the odd Wizard spell).

What people need to realize is I truly suck at Diablo 3. I can make the plugin, but I'm terribad at knowing stats, builds, skill uses etc. - so I really do rely on user input on skill-use changes, half the stuff in there atm is total guesswork on my part for the skills ;)

A suggestion for your next version.

I like how you blinding flash before casting sweeping wind. But then it fizzles out in a couple seconds and you have to start the process all over again.
If you have an inna's set its only costing 5 spirit to cast SW, so why not have him continually roll the skill every 5 seconds(if he hasn't attacked a mob or object) so he won't lose it. Having SW up for all mobs is important.

Also I tried out tempest rush again and I saw a big improvement from previous versions. Except that it will still randomly cast tempest rush on only 1 or 2 mobs, draining a ton of spirit.
I would like it to save tempest for only desperate situations facing either a swarm of mobs, or bad affix elites. It would save a ton of spirit and allow for maximum avoidance.

I wish I knew how to code this, because I would!

I think you implemented some of my suggestions, so if you did thank you.
 
Last edited:
Yes, thank you, sorry I completely forgot to mention you in the changelog
Np Giles.

In 1.6, the monk Mantra of conviction too much so make it not enough spirit for use seven sided strike
Yep, totally my fault, didn't think of that.

For everyone using Blind+Sweeping+Some kind of finisher, just do this for the moment, I'll send Giles a fix for it asap.

EDIT: Removed the code, use the one in the post below instead
 
Last edited:
Ok, here is the correct patch:

Replace:
Code:
playerStatus.dCurrentEnergy >= 135 ||
(GilesHasBuff(SNOPower.Monk_SweepingWind) && (playerStatus.dCurrentEnergy >= 75 ||
(playerStatus.dCurrentEnergy >= 65 && playerStatus.dCurrentHealthPct <= 0.8)))
with
Code:
playerStatus.dCurrentEnergy >= 135 ||
(GilesHasBuff(SNOPower.Monk_SweepingWind) && (playerStatus.dCurrentEnergy >= 75 ||
(playerStatus.dCurrentEnergy >= 65 && playerStatus.dCurrentHealthPct <= 0.8)) &&
// Checking we have no expensive finishers
!hashPowerHotbarAbilities.Contains(SNOPower.Monk_SevenSidedStrike) && !hashPowerHotbarAbilities.Contains(SNOPower.Monk_LashingTailKick) &&
!hashPowerHotbarAbilities.Contains(SNOPower.Monk_WaveOfLight) && !hashPowerHotbarAbilities.Contains(SNOPower.Monk_CycloneStrike) &&
!hashPowerHotbarAbilities.Contains(SNOPower.Monk_ExplodingPalm))

Also, I noticed Giles chenged 3 mantras, but left mantra of healing with the non-spaming code, was that intended?


Anyway I suggest this DRYed version of the whole section, much easier to mantain and read:
Code:
// 4 Mantra spam for the 4 second buff
if (!bOOCBuff && (
		playerStatus.dCurrentEnergy >= 135 ||
		(GilesHasBuff(SNOPower.Monk_SweepingWind) && (playerStatus.dCurrentEnergy >= 75 ||
		(playerStatus.dCurrentEnergy >= 65 && playerStatus.dCurrentHealthPct <= 0.8)) &&
		// Checking we have no expensive finishers
		!hashPowerHotbarAbilities.Contains(SNOPower.Monk_SevenSidedStrike) && !hashPowerHotbarAbilities.Contains(SNOPower.Monk_LashingTailKick) &&
		!hashPowerHotbarAbilities.Contains(SNOPower.Monk_WaveOfLight) && !hashPowerHotbarAbilities.Contains(SNOPower.Monk_CycloneStrike) &&
		!hashPowerHotbarAbilities.Contains(SNOPower.Monk_ExplodingPalm))) &&
	(iElitesWithinRange[RANGE_30] >= 1 || iAnythingWithinRange[RANGE_30] >= 3))
{

	if ( hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfEvasion) &&
		GilesUseTimer(SNOPower.Monk_MantraOfEvasion))
	{
		return new GilesPower(SNOPower.Monk_MantraOfEvasion, 0f, vNullLocation, iCurrentWorldID, -1, 1, 0, USE_SLOWLY);
	}
	if ( hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfConviction) &&
		GilesUseTimer(SNOPower.Monk_MantraOfConviction))
	{
		return new GilesPower(SNOPower.Monk_MantraOfConviction, 0f, vNullLocation, iCurrentWorldID, -1, 1, 0, USE_SLOWLY);
	}
	if ( hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfRetribution) &&
		GilesUseTimer(SNOPower.Monk_MantraOfRetribution))
	{
		return new GilesPower(SNOPower.Monk_MantraOfRetribution, 0f, vNullLocation, iCurrentWorldID, -1, 1, 0, USE_SLOWLY);
	}
	if ( hashPowerHotbarAbilities.Contains(SNOPower.Monk_MantraOfHealing) &&
		GilesUseTimer(SNOPower.Monk_MantraOfHealing))
	{
		return new GilesPower(SNOPower.Monk_MantraOfHealing, 0f, vNullLocation, iCurrentWorldID, -1, 0, 0, USE_SLOWLY);
	}
}
 
Last edited:
If the switching on ticks-per-secons and increase to 15 is my monk will respond faster?
 
Last edited:
Are the cool down for all spells hardcoded or can be used as soon as they are available? Because I have beacon of ytar, and I saw 2 times my bot dies while having serenity available.

Also, can we have the option to spam mantra for health? (using with health per spirit spent stat)
 
Last edited:
In 1.6.1 and 1.6.1.1:
Code:
// Blinding Flash
if (!bOOCBuff && playerStatus.dCurrentEnergy >= 20 && hashPowerHotbarAbilities.Contains(SNOPower.Monk_BlindingFlash) &&
		([COLOR="#FF0000"]iElitesWithinRange[RANGE_15] > 0[/COLOR] || playerStatus.dCurrentHealthPct <= 0.4 || [COLOR="#FF0000"]iElitesWithinRange[RANGE_15] >= 5[/COLOR] || ([COLOR="#00FF00"]iAnythingWithinRange[RANGE_15][/COLOR] >= 1 && playerStatus.dCurrentEnergyPct >= 0.7) || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 15f)) &&
There's 2 checks for elites (in red), the 2nd one is obviously wrong. Not sure if it was intended to be a iAnythingWithinRange? (then it will cast it always if there's an elite in range, 5 normal mobs in range or 1 but had plenty of energy?) Or maybe you intended to increase the current iAnythingWithinRange to 5 and the iElitesWithinRange[RANGE_15] >= 5 is there by mistake, but anyway it does nothing the way it is now...
 
Giles,

Where these lines changed?


if (!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Monk_Ma ntraOfConviction) && (playerStatus.dCurrentEnergyPct >= 0.60) &&
(iElitesWithinRange[RANGE_30] >= 1 || iAnythingWithinRange[RANGE_30] >= 3) && GilesUseTimer(SNOPower.Monk_MantraOfConviction) &&
playerStatus.dCurrentEnergy >= 80 && PowerManager.CanCast(SNOPower.Monk_MantraOfConvict ion))

I usually edit with the code above, but I cant seem to find that code in the .cs any longer. If it has been changed to work a different way now, how would I edit to make mantra of conviction spam more often according to how it would with the above code?
 
Giles,
I usually edit with the code above, but I cant seem to find that code in the .cs any longer. If it has been changed to work a different way now, how would I edit to make mantra of conviction spam more often according to how it would with the above code?

Find the comment;
// 4 Mantra spam for the 4 second buff
And look at the if check directly below that (it's the same if check for all 4 mantras, so you're fine to change it for whichever mantra you use).
 
First of all: Thanks for your plugin giles, its realy great!

Im running this with barb for some time now and its pretty good.
Then i started to try it with a monk, but he is dying pretty often while all 3 defensive abilities are ready and he has enough spirit to use either one of them. (Blind, Breath and Serenity)
Dont really get that... any idea what might cause this ?
 
First of all: Thanks for your plugin giles, its realy great!

Im running this with barb for some time now and its pretty good.
Then i started to try it with a monk, but he is dying pretty often while all 3 defensive abilities are ready and he has enough spirit to use either one of them. (Blind, Breath and Serenity)
Dont really get that... any idea what might cause this ?

Those abilities should all be working as you'd expect them to (when low health etc.). Did you try the simple act of a clean DB install, or even just deleting the "compiledassemblies" folder in your DemonBuddy folder (with DB *closed*), and restarting DB on your monk? Can clear up all sorts of random issues with DemonBuddy!
 
Those abilities should all be working as you'd expect them to (when low health etc.). Did you try the simple act of a clean DB install, or even just deleting the "compiledassemblies" folder in your DemonBuddy folder (with DB *closed*), and restarting DB on your monk? Can clear up all sorts of random issues with DemonBuddy!

Yes, i already tried all of that. I watched the monk a little more and it seems that he is not using the spells when he is currently trying to dodge aoe effects. Sometimes he is busy dodging for 3+ seconds cause he doesnt know where to run, and in that time he is not using any defensive abilities. Might that be the cause ? That he prioritizes dodging effects over using defensive skills ?

Btw: By "often" i meant he usually doesnt die at all. But if he does, its usually caused by what i described above. :) So its not THAT bad...
 
Yes, i already tried all of that. I watched the monk a little more and it seems that he is not using the spells when he is currently trying to dodge aoe effects. Sometimes he is busy dodging for 3+ seconds cause he doesnt know where to run, and in that time he is not using any defensive abilities. Might that be the cause ? That he prioritizes dodging effects over using defensive skills ?

Btw: By "often" i meant he usually doesnt die at all. But if he does, its usually caused by what i described above. :) So its not THAT bad...


Did you start HB at the main intro screen or in town ? This makes a difference to how DB works believe it or not.

G
 
I guess "HB" was a typo and he meant DB.

Im starting it at the login screen. Thought that's the place to start.


yeah, typo :)

I always get into town and start DB, find it always works this way, starting from the menu screen gives me trouble sometimes, like missing attacks etc.

G
 
Last edited:
it seems that he is not using the spells when he is currently trying to dodge aoe effects.
Are you using the last version of Trinity? There was a bug causing that behavior in 1.5.something...
 
Hmm, my Monk is running at 0-1 deaths per hour now.

Nice update Giles, thx!
 
I use my monk wıth FOT-quıckenıng rune for this reason I get much sprıt. I want to spend this with wave of light but DB cant spam ıt. how can I chacenge this ? ıf the bot spam wave of light for every 40 sprit thats will be good. I chacenge cs file to 40 spırıt and >1 mob but thats not work well. pls help about thıs ıssue.
 
Back
Top