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

Trinity 1.7.3.8

Status
Not open for further replies.
Monk.cs
Code:
// Deadly Reach: Foresight, every 27 seconds or 2.7 seconds with combo strike
            if (!UseOOCBuff && !IsCurrentlyAvoiding && CombatBase.CanCast(SNOPower.Monk_DeadlyReach) && (isDualOrTriGen || hasForesight) &&
                (SpellHistory.TimeSinceUse(SNOPower.Monk_DeadlyReach) > TimeSpan.FromMilliseconds(drInterval) ||
                (SpellHistory.SpellUseCountInTime(SNOPower.Monk_DeadlyReach, TimeSpan.FromMilliseconds(27000)) < 3) && hasForesight))
            {
                Monk_TickSweepingWindSpam();
                return new TrinityPower(SNOPower.Monk_DeadlyReach, 16f, Vector3.Zero, -1, CurrentTarget.ACDGuid, 0, 3, WAIT_FOR_ANIM);
            }


we should strike 3 times in a row to applay +18% buff
this code will not do it, becouse we use DeadlyReach each ~3seconds

(SpellHistory.TimeSinceUse(SNOPower.Monk_DeadlyReach) > TimeSpan.FromMilliseconds(drInterval)

and

SpellHistory.SpellUseCountInTime(SNOPower.Monk_DeadlyReach, TimeSpan.FromMilliseconds(27000)) ~ 9



my "I'm fixed it" code for Foresight buff (with numbers that works for me [ TPS =30])


Code:
if (!UseOOCBuff && !IsCurrentlyAvoiding && CombatBase.CanCast(SNOPower.Monk_DeadlyReach) && (DRcount > 0 || DateTime.Now.Subtract(TimeDR).TotalMilliseconds > 27000))
            {
			  
			if (DRcount == 0)
			 {
			     TimeDRstart = DateTime.Now;
			 }
			DRcount++;   
			if (DateTime.Now.Subtract(TimeDRstart).TotalMilliseconds > 2500)
			 {
			     DRcount = 0;
			 }
			if (DRcount == 20)
			 {
			     DRcount = 0;
			     TimeDR = DateTime.Now;
			 }
		
			Monk_TickSweepingWindSpam();
            return new TrinityPower(SNOPower.Monk_DeadlyReach, 16f, Vector3.Zero, -1, CurrentTarget.ACDGuid, 0, 3, WAIT_FOR_ANIM);
            }

if we can't attemp to use DeadlyReach 20 times in 2500ms since TimeDRstart then whe should start over.
029dfc8f3217889cfa289eb65b1beca2.webp

i don't know how SpellUseCounInTime works (does it count attempts to use abilities or actually use it?) Maybe i can make my code more simple and efficient.
 
Monk.cs
Code:
// Deadly Reach: Foresight, every 27 seconds or 2.7 seconds with combo strike
            if (!UseOOCBuff && !IsCurrentlyAvoiding && CombatBase.CanCast(SNOPower.Monk_DeadlyReach) && (isDualOrTriGen || hasForesight) &&
                (SpellHistory.TimeSinceUse(SNOPower.Monk_DeadlyReach) > TimeSpan.FromMilliseconds(drInterval) ||
                (SpellHistory.SpellUseCountInTime(SNOPower.Monk_DeadlyReach, TimeSpan.FromMilliseconds(27000)) < 3) && hasForesight))
            {
                Monk_TickSweepingWindSpam();
                return new TrinityPower(SNOPower.Monk_DeadlyReach, 16f, Vector3.Zero, -1, CurrentTarget.ACDGuid, 0, 3, WAIT_FOR_ANIM);
            }


we should strike 3 times in a row to applay +18% buff
this code will not do it, becouse we use DeadlyReach each ~3seconds

(SpellHistory.TimeSinceUse(SNOPower.Monk_DeadlyReach) > TimeSpan.FromMilliseconds(drInterval)

and

SpellHistory.SpellUseCountInTime(SNOPower.Monk_DeadlyReach, TimeSpan.FromMilliseconds(27000)) ~ 9



my "I'm fixed it" code for Foresight buff (with numbers that works for me [ TPS =30])


Code:
if (!UseOOCBuff && !IsCurrentlyAvoiding && CombatBase.CanCast(SNOPower.Monk_DeadlyReach) && (DRcount > 0 || DateTime.Now.Subtract(TimeDR).TotalMilliseconds > 27000))
            {
              
            if (DRcount == 0)
             {
                 TimeDRstart = DateTime.Now;
             }
            DRcount++;   
            if (DateTime.Now.Subtract(TimeDRstart).TotalMilliseconds > 2500)
             {
                 DRcount = 0;
             }
            if (DRcount == 20)
             {
                 DRcount = 0;
                 TimeDR = DateTime.Now;
             }
        
            Monk_TickSweepingWindSpam();
            return new TrinityPower(SNOPower.Monk_DeadlyReach, 16f, Vector3.Zero, -1, CurrentTarget.ACDGuid, 0, 3, WAIT_FOR_ANIM);
            }

if we can't attemp to use DeadlyReach 20 times in 2500ms since TimeDRstart then whe should start over.
View attachment 108258

i don't know how SpellUseCounInTime works (does it count attempts to use abilities or actually use it?) Maybe i can make my code more simple and efficient.

SpellUseCountInTime only counts the actual uses of a spell - when the use is successful. Spells can be spammed and most of the time actually aren't successful - e.g. you can try and use FoT 25 times a second but it will only actually be used in accordance with your Monk's APS.
 
How do I copy settings from one character to the rest?

If you want, you can have them share the configuration in real time - there's a button on the Advanced tab for this.

Otherwise, copy the "Trinity.xml" file from your desired battletag in your Demonbuddy\Settings\<BattleTag> directory to all the others.
 
If you want, you can have them share the configuration in real time - there's a button on the Advanced tab for this.

Otherwise, copy the "Trinity.xml" file from your desired battletag in your Demonbuddy\Settings\<BattleTag> directory to all the others.

Thanks so much :)
 
The beta DB with the included trinity is a great idea because the default combat was pretty crap, and rrrix, your support to trinity has been exceptional! congrats on the recognition

But can we get a warning of what files it will change? I keep getting tons of errors, or just really bad runs because something's not working. I have to run the non beta for the first time ever. Its pretty important because I (like a lot of people) change the advanced settings ect and I'm not really sure what parts of trinity it writes over
*reported to DB


on a separate note, I've been trying to run the 'skip after 5 stack' but its working pretty bad. I get nearly 70 iph higher killing all elites than with skipping. I remember you explained that HOTA works different after skipping elites than before having 5 stacks, but is there any way to completely ignore the skill if your not attacking elites? After watching the bot run it looks like big waste of fury and not a faster kill speed using HOTA on trash mobs... i'd rather the bot just ignore the skill if not using it on elites but can't find out where to modify that part.
 
rrrix, i'm new to this and was wondering if you could explain me how to configure my db for wd and putting skills, also to combat routine and I fall profile legendary in Act 1.

do not know much English and I can not understand the technical words that you write.

many thanks.:)
 
oh yea 1 more thing... it might not be possible but just wondering, technically this is some great theory, especially if you include 'essences per hour' as a run indicator
http://www.thebuddyforum.com/demonbuddy-forum/demonbuddy-profiles/act-2/134843-act2-inferno-sew5nv.html

is it possible to have trinity change skills after reaching '5 stacks of valor' (or anything for that matter)? switching HOTA for something else would be a game changer

we need a programmer who can write profile for swap items for this profile :)
i mean kill elites with SoJ and some items for more EHP, after this swap on another ring for trashfarm
 
hery rrrix
look at this if you not busy
how to add the same thing but with shrines?

Code:
// ignore legendaries if there are too much mobs arround bot
                                if (CurrentTarget != null && TargetUtil.AnyMobsInRange(12, 4) && !Zeta.CommonBot.Settings.CharacterSettings.Instance.CombatLooting && cacheObject.ItemQuality == ItemQuality.Legendary)
                                       cacheObject.Weight = 1000;
12 it is range, 4 - mobs count?
 
Current trynity have following issue
Bot stay in act 1 trees flowers poison and try to teleport . In most cases it die in such situation.
In case of battle look like everything is ok.
Any idea how to avoid such stupidness ?

Issue #2.
Sometimes after finish run. Bot try to finish game but instead of finishing game appear message "You will be disconnected from server...." and need to press OK.
Bot not press Ok automatically. After i press OK manually bot exit to quest choose menu and continue to work normally.
 
ive noticed 1 thing to be fixed
not sure its db or trinity

1. i crafting a lot of things in a1
2. launch bot to pick up it, scoring and sold
3. when bot full he going to the NPC to sold trashed items
4. bot selling 1 item, and returning to pick up one more
5. i must setup very low pick up radius to prevent this issue

6. Howto - you must fix townrun process, force bot to sell ALL items in the inventory, before give him a pernission to pick up more
 
Adding the new kamikaze run to respendent chest, please let the bot kill the trash first (too many death for this).
 
Some Ideas por WD:

Spam Spirit Walk and Soul Harvest, configure the colddown in advanced settings to 3000 or less


// Spirit Walk Cast if we are hurt for all runes ?Why not?

Player.CurrentHealthPct <= 0.5 ||

// Soul Harvest FOR DMG IN LOW MP, DONT MIND BUFF, ONLY DMG, rixx ?Can make an opcion of this?

// remove: (TargetUtil.AnyMobsInRange(16f, GetBuffStacks(SNOPower.Witchdoctor_SoulHarvest) + 1, false) || (hasSwallowYourSoul && Player.PrimaryResourcePct <= 0.50) || TargetUtil.IsEliteTargetInRange(16f)))
(TargetUtil.AnyMobsInRange(16f, 2, false) || (hasSwallowYourSoul && Player.PrimaryResourcePct <= 0.50) || TargetUtil.IsEliteTargetInRange(16f)))


WitchDoctor.avoidance.Spyritwalk This can make die when spyrit walk finish. I configure it to 1.

The best option is that avoidance have a value for firsts seconds and you can configure it to avoid AOE in last second. ?This is hard of program?



Sacrifice for 0 Dogs if use "Circle of Life" (HELP ME, THIS DONT WORK ON ME)

// Sacrifice for 0 Dogs

if (!UseOOCBuff && Hotbar.Contains(SNOPower.Witchdoctor_Sacrifice) &&
(Settings.Combat.WitchDoctor.ZeroDogs || !WitchDoctorHasPrimaryAttack) &&
((TargetUtil.AnyMobsInRange(15, 1) && (PlayerOwnedZombieDog > 2)) || Player.PrimaryResource <= 180 ) && (HELP ME, THIS DONT WORK ON ME)
PowerManager.CanCast(SNOPower.Witchdoctor_Sacrifice))
{
return new TrinityPower(SNOPower.Witchdoctor_Sacrifice, 9f, Vector3.Zero, CurrentWorldDynamicId, -1, 1, 2, WAIT_FOR_ANIM);
}

Tx Rixx for you work.
 
// Sacrifice for 0 Dogs

if (!UseOOCBuff && Hotbar.Contains(SNOPower.Witchdoctor_Sacrifice) &&
(Settings.Combat.WitchDoctor.ZeroDogs || !WitchDoctorHasPrimaryAttack) &&
((TargetUtil.AnyMobsInRange(15, 1) && (PlayerOwnedZombieDog > 2)) || Player.PrimaryResource <= 180 ) && (HELP ME, THIS DONT WORK ON ME)
PowerManager.CanCast(SNOPower.Witchdoctor_Sacrifice))
{
return new TrinityPower(SNOPower.Witchdoctor_Sacrifice, 9f, Vector3.Zero, CurrentWorldDynamicId, -1, 1, 2, WAIT_FOR_ANIM);
}

Tx Rixx for you work.

Try removing
Code:
(PlayerOwnedZombieDog > 2)
From what i can understand, the summoned dogs aren't the same as the circle of life one.

This is the code i have modified
Code:
// Sacrifice AKA Zombie Dog Jihad, use on Elites Only or to try and Save yourself
            //if (!UseOOCBuff && CombatBase.CanCast(SNOPower.Witchdoctor_Sacrifice) && PlayerOwnedZombieDog > 0 &&
                //(TargetUtil.AnyElitesInRange(15, 1) || (CurrentTarget.IsBossOrEliteRareUnique && CurrentTarget.RadiusDistance <= 9f)))
	    if (!UseOOCBuff && CombatBase.CanCast(SNOPower.Witchdoctor_Sacrifice) && (TargetUtil.AnyMobsInRange(15, 1) || CurrentTarget.RadiusDistance <= 9f))

            {
                return new TrinityPower(SNOPower.Witchdoctor_Sacrifice, 0f, Vector3.Zero, CurrentWorldDynamicId, -1, 1, 0, WAIT_FOR_ANIM);
            }

If anyone can tell me how to check for the "Circle of Life" passive presence, i'll add there.
 
I'm using Trinity 1.7.3.9 "Source" here, along with DB .317, and is working very close to perfection. I still have some disconnects, but decreased considerably.. I have problems when using the DB BETA #264, the CPU usage has greatly increased using it.

rrrix, atm 1.7.3.9 "source" is AWESOME! Great work!

PS: TR Monk here.
 
Status
Not open for further replies.
Back
Top