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

The roundhouse kick Monk

OnlyMonk

New Member
Joined
Aug 8, 2016
Messages
6
Reaction score
0
The roundhouse kick Monk (LTK Build Thread)

Hi,
i only play Monk, and i really like the current Chuck Norris build and would like to start a Thread to share some Settings etc. to make it work better with the Bot.
please post your Trinity Config/Code for this build if you have any, i would very much appreciate

sweeping wind
Does anyone know hot i can make the bot "run away" to a place where no enemies are, so he can refill Sweeping wind stacks?
Lashing tail kick

I edited the Trinity -> MonkCombat.cs:
What it does:

if spirit above value2 -> keep always 1 stack sweeping wind
if below -> keep 3 stacks

if HP over 90% and spirit over value1 and NearDeathExperience not active (to check if you are in danger)
it can cast the last sweeping wind stack to deal more damage to trash etc.
TODO: Edit sweeping wind so it recasts instantly


Code:
        private static bool CanCastLashingTailKick()
        {
            return !IsCurrentlyAvoiding && CanCast(SNOPower.Monk_LashingTailKick) &&
                   (Player.PrimaryResource >= 50 || Player.PrimaryResource >= EnergyReserve) && 
				   (( !(Passives.Monk.NearDeathExperience.IsActive) && Player.CurrentHealthPct >= 0.90 && Player.PrimaryResource > value1) || (GetBuffStacks(SNOPower.Monk_SweepingWind) > 1 && Player.PrimaryResource >= value2) || (GetBuffStacks(SNOPower.Monk_SweepingWind) > 3 && Player.PrimaryResource < value2));
        }
!do not just copy paste, read first!
you have to edit value1 and 2xvalue2 in the source

these depend on your Skills, Spirit reg. and spirit cost reduction

value1: i think this should be a safe buffer of Spirit, so the bot can cast 1xSweeping Wind & 1xLashing tail kick comfortably
if you don't want the bot to die as mutch, remove this part:
Code:
( !(Passives.Monk.NearDeathExperience.IsActive) && Player.CurrentHealthPct >= 0.90 && Player.PrimaryResource > value1) ||
and sweeping wind will never be disabled -> allways 50% DMG reduction Edit: i did some testing, seams like you really need to remove this part for higher tiers, but depends on the config

value2: your definition of "low spirit" when the bot should keep 3 stacks sweeping wind if below (for spirit reg) and 1 stack if above

Blinding Flash
I am currently tinkering around with this, but i don't have the "The Laws of Seph" in my Cube atm. so i dont really have something for now

Edit:
you need to edit the 200 to your max spirit - 165
Code:
        private static bool CanCastBlindingFlashDefensively()
        {
            return Player.PrimaryResource >= 8 && CanCast(SNOPower.Monk_BlindingFlash) &&
                   (Player.CurrentHealthPct <= 0.75 || Player.PrimaryResource <= 200)  && TargetUtil.AnyMobsInRange(15, 1);
        }
 
Last edited:
Hi,

runs smooth on lvl 70 rifts (will try higher quiete soon) with following adjustment:
(GetBuffStacks(SNOPower.Monk_SweepingWind) > 3 && Player.PrimaryResource < value2));
to
(GetBuffStacks(SNOPower.Monk_SweepingWind) > 2 && Player.PrimaryResource < value2));

Build in short (guides will pop up soon, because this outmatches the gen monk)
Sun Woku 5/6
Head -> Gyana na kashu
Bracers -> Spirit Guards
Foot -> Rivera Dancers
Weapons -> Scarbringer + Crystal Fist
Rings -> Focus/Restraint

Skills
Dashing Strike, Epiphany, Sweeping Wind, Mantra (as you like, as usual)
Wothf - blazing + Lashing Tail kick (i'm still try to make use of hand of ytar with range)

Passives as usual, ytar, harmony, seize the initative + one as you see fit

Cube - Flying Dragon, Cindercoat, Grandeur


--> no Vengeful Wind Weapon - not going over 3 stacks, so i adjusted your code, works like a charm - i'm using 100 Spirit actually, but maybe will go lower


// Settings for Trin in short:
Trashpacksize 4 (still try to adjust, but 4 works)
Disable Mantra Spam
Dashing Strike CD 3900 MS

Avoidance -> just Avoid the onehitters, and Avoid other on under 30% hp with a range mod suite for the skill (no need for 15m avoidance for desecarator)
 
Biggest problems I have with the bot and ltk:

1) it lets stacks drop off (#1 killer)
2) it attempts to use flash for the dmg buff and not for the spirit regen
3) it's priority system is off; doors > globes > pylons > elites > trash. which means if you're surrounded by trash, and it wants any of the things before it on the list, it just sits there. b/c you're not attacking, the stacks fall off, and see #1 (#2 killer)
 
in my Monkcombat.cs file i cant find any of this? is it possible for any of you to copy you whole folder and upload it or all the text in the file?
 
How do you evaluate these "value1" and "value2" things?

In my case:
Spirit: 378
Spirit Reg: 4.4/sec
Spirit Cost Reduction: 10%

I would set value1 to 125 and value2 to 50, would this work?
 
i changed my build to Physical(from fire) and unse only
Code:
GetBuffStacks(SNOPower.Monk_SweepingWind) > 1
and the Blinding Flash thing
i think it works great, running 75Grift
but i don't have enough time to monitor the bot atm. so i dont know 100%

I would set value1 to 125 and value2 to 50, would this work?

the thought process on that was that value1 is a bit higher, but i think that should work, depends on your Spirit Cost Reduction

Biggest problems I have with the bot and ltk:
2) it attempts to use flash for the dmg buff and not for the spirit regen
try editing
Code:
private static bool CanCastBlindingFlash()
to just
Code:
return false;
and use my
Code:
private static bool CanCastBlindingFlashDefensively()
        {
            return Player.PrimaryResource >= 8 && CanCast(SNOPower.Monk_BlindingFlash) &&
                   (Player.CurrentHealthPct <= 0.75 || Player.PrimaryResource <= 200)  && TargetUtil.AnyMobsInRange(15, 1);
        }
code

but i really dont mind that, because you have alot of cooldown reduction with this build, and you actually sometimes need it be casted to blind, so you can make more dmg
 
Last edited:
I am getting compiling errors when i paste the code (i changed value 1 and 2) into monkcombat file. is there anything I missed. sorry
 
I am getting compiling errors when i paste the code (i changed value 1 and 2) into monkcombat file. is there anything I missed. sorry

did you replace the original coode? did you change both "value2"?
 
way to inprove build for farming t13
Epiphany=>Serenity(nirvana)
matra=>way od hundert fists (fist of fury)
nemezis=>spirit guards
ingeon=cristal fist
and bot wil go easy 60-70 in items from begining of sezon
 
i have one question please, my bot dont use the sweepind wind, cause no spirit. always using the ltk and no spirit for sweeping wind. can u help me please ? thank you
 
I am rather confused at the instructions, sorry... can you please clarify?

Are you talking about replacing lines 811-814?:
Code:
 private static bool CanCastLashingTailKick()        {
            if (IsLTK && CanCast(SNOPower.Monk_LashingTailKick) && Player.PrimaryResource >= 50)
                return true;

Or
are you talking about changing lines 811-819?:
Code:
        private static bool CanCastLashingTailKick()        {
            if (IsLTK && CanCast(SNOPower.Monk_LashingTailKick) && Player.PrimaryResource >= 50)
                return true;
                


            return !IsCurrentlyAvoiding && CanCast(SNOPower.Monk_LashingTailKick) &&
                   (Player.PrimaryResource >= 50 || Player.PrimaryResource >= EnergyReserve);
        }

to this for lower tier play:
Code:
        private static bool CanCastLashingTailKick()
        {
            return !IsCurrentlyAvoiding && CanCast(SNOPower.Monk_LashingTailKick) &&
                   (Player.PrimaryResource >= 50 || Player.PrimaryResource >= EnergyReserve) && 
                   (( !(Passives.Monk.NearDeathExperience.IsActive) && Player.CurrentHealthPct >= 0.90 && Player.PrimaryResource > [U][I][B][COLOR=#FF8C00]VALUE1[/COLOR][/B][/I][/U]) || (GetBuffStacks(SNOPower.Monk_SweepingWind) > 1 && Player.PrimaryResource >= [U][I][B][COLOR=#FF0000]VALUE2[/COLOR][/B][/I][/U]) || (GetBuffStacks(SNOPower.Monk_SweepingWind) > 3 && Player.PrimaryResource < [U][I][B][COLOR=#FF0000]VALUE2[/COLOR][/B][/I][/U]));
        }


And if I want to play in higher tiers I should really change it to:
Code:
        private static bool CanCastLashingTailKick()
        {
            return !IsCurrentlyAvoiding && CanCast(SNOPower.Monk_LashingTailKick) &&
                   (Player.PrimaryResource >= 50 || Player.PrimaryResource >= EnergyReserve) && 
                   ((GetBuffStacks(SNOPower.Monk_SweepingWind) > 1 && Player.PrimaryResource >= [U][I][B][COLOR=#FF0000]VALUE2[/COLOR][/B][/I][/U]) || (GetBuffStacks(SNOPower.Monk_SweepingWind) > 3 && Player.PrimaryResource < [U][I][B][COLOR=#FF0000]VALUE2[/COLOR][/B][/I][/U]));
        }



If I want to use the lower tier version, I should replace the VALUE1 according to the spirit cost of Sweeping Wind + Lashing Tail Kick;
...and that spirit cost will vary depending on how much resource reduction that I have...

For Example, this table represents the Spirit cost of BOTH based on the sources of Resource Cost Reduction
[TABLE="class: outer_border, width: 800, align: center"]
[TR]
[TD="align: center"]RCR Sources[/TD]
[TD="align: center"]Total Resource Cost Reduction[/TD]
[TD="align: center"]SW + LTK Total Cost[/TD]
[/TR]
[TR]
[TD]No reduction[/TD]
[TD="align: center"]0%[/TD]
[TD="align: center"]125 Spirit[/TD]
[/TR]
[TR]
[TD]Paragon (10%)[/TD]
[TD="align: center"]10%[/TD]
[TD="align: center"]112.5 Spirit[/TD]
[/TR]
[TR]
[TD]Paragon (10%) + Topaz Helm (13%)[/TD]
[TD="align: center"]21.3%[/TD]
[TD="align: center"]98.44 Spirit[/TD]
[/TR]
[TR]
[TD]Paragon (10%) + 1 Weapon Slot (10%)[/TD]
[TD="align: center"]19.0%[/TD]
[TD="align: center"]101.25 Spirit[/TD]
[/TR]
[TR]
[TD]Paragon (10%) + 1 Gear Slot (8%)[/TD]
[TD="align: center"]17.2%[/TD]
[TD="align: center"]103.5 Spirit[/TD]
[/TR]
[TR]
[TD]Paragon + Topaz Helm + 1 Gear Slot[/TD]
[TD="align: center"]27.5%[/TD]
[TD="align: center"]90.57 Spirit[/TD]
[/TR]
[TR]
[TD]Paragon + Topaz Helm + 1 Weapon Slot[/TD]
[TD="align: center"]29.1%[/TD]
[TD="align: center"]88.6 Spirit[/TD]
[/TR]
[TR]
[TD]Paragon + Helm + 1 gear + 1 Weapon[/TD]
[TD="align: center"]34.8%[/TD]
[TD="align: center"]81.5 Spirit[/TD]
[/TR]
[/TABLE]
**If you want to know exactly where you are at, do a d3planner of your character, check the Spirit Cost on the Skills/Effects Tab.

Anyone who doesn't understand that table,
  • With no RCR at all, not even paragon, you should set VALUE1 to 125
  • With 50 Paragon points in RCR, you should set VALUE1 to 113
  • With 50 paragon points and a Topaz gem in helm, you should set VALUE1 to 99
  • etc, etc, etc.

Question: I don't really know how skills and Spirit Regen help here. In the case that I instantly need the bot to make a decision after casting another spirit spender whether or not to cast it. Is this assumption incorrect?

VALUE2

I am confused at this point what exactly I am trying to set this value to....

Question:
Say I set it to the same as my VALUE2 to 113 if my only source of RCR is paragon (10%):
  • I assume that way I will always be able to cast Sweeping wind for a stack before casting LTK for the 3000% DPS buff.
  • When below 113 Spirit, the bot will try to keep 3 stacks of sweeping wind for the additional 8 spirit regen when it has 3 stacks.
  • When above 113 Spirit, the bot will allow stacks to drop below 3, but keep at least 1 stack active?
 
mmm... seems like you could use the resource cost % to set value1 for you. something like this (untested).

protected static float LTKResourceMin => 125 * (1 - Player.ResourceCostReductionPct);
 
Last edited:
mmm... seems like you could use the resource cost % to set value1 for you. something like this (untested).

protected static float LTKResourceMin => 125 * (1 - Player.ResourceCostReductionPct);

When I get back around to messing with my monk I will try out something like that to see if I can get it to work.

I think one of the bigger issues ATM with Monk is that it's getting on top of enemies to DPS.

In a perfect world it would stay within the 15 yards that Sweeping Armada can hit them, but outside of the 10 yards that will contact them with sweeping wind. Don't think that's possible in a lot of scenarios with mobs around. Would probably work great on smaller packs and bosses/RGs.
 
Back
Top