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

Trinity 2.1.4 and QuestTools 2.0.91

Status
Not open for further replies.

rrrix

New Member
Joined
Jul 11, 2010
Messages
3,449
Reaction score
61
Download Trinity

Download QuestTools


Lotsa bug fixes and new features, changelog coming soon (you can always see it on git too)

Trinity Changelog

2.1.4
Fixed DH Sentry count
Added Tiered Rift Keys to pickup/stashing
Added Combat > Misc option for "Avoid AoE Out of Combat"
Wizard: Refactored Wizard.cs into WizardCombat.cs. Deleted Wizard.cs
Wizard: Cleaned WizardCombat class, converted rune checking to new reference types, and general reorgnization to make the code cleaner and easier to read
Wizard: Added player-owned hydra counter, similar to other classes
Actually Fixed picking up legendary items
ItemRules and Trinity scoring now use ItemLinkColorQuality
Fixed (ignore) null & invalid items on Item Debug Dumper



2.1.3
Merged with Jubisman's Unified trinity (containing many many new features and combat logic enhancements)
Fixed picking up legendary items and Ramadalini's Gift (needs testing)

2.0.1
Trinity will now always pickup Ramaladni's Gift
Updated Skills/Passives/Runes for 2.0.1
Separated out Skill/Passive/Rune utils not handled by template generator
Fixed exception when updating hotbar skills with more than one empty skill slot (SNOPower.None)
Removed Event wait delay for Spider Queen questing event
2.0.0
Commented out some old monk passives.
TownRunWrapper is now using a Coroutine.
csproj moved to 4.5.1
Fixed legendary potions stuck at salvage
Added special combat for Jade Harvester Set
Added Enemies class for common combat information.
Added CooldownReductionPct & ResourceCostReductionPct from D3 Attributes
Added HasDebuff to check if a SNOPower is on a unit (thnx to nesox/xanden)
Added CombatMovement class to allow combat routines easier access basic movement.
Added Events OnCacheUpdated, OnUnitAlive and OnUnitDeath
Updated Cooldown on Skill object to take into account item/paragon cooldown reduction.
Added ability to Cast directly from Skill object.
Added LastSeenTime to CacheObject for analyzing dead units.
Updated TargetUtil with some more methods from community
Avoidance: Added SNO for rift boss butcher's pentagram circle
Monk: Converted to inherit from CombatBase (and renamed file to match others)
Monk: Added better handling of Exploding Palm
Monk: Improved dashing strike, cyclone strike
Monk: Added jawbreaker version of dashing strike (blahblahblah999)
Weights: bonus to globe weight when on low resource and wearing reapers wraps
Avoidance: Bot wont attempt to avoid elements that it's immune to from items/sets
Barbarian: Moved up leap in priority when earth set is equipped
Barbarian: Ancient spear with boulder toss rune will save fury and pick a better target
Barbarian: Removed check for Bezerker rune; wasn't working as intended due to DB max resource bug.
Barbarian: Will now earthquake if a large number of non-elite units are within range.
Items: Opening containers for Harrington Belt effect only occurs in combat and with close containers.
Skills: Changed TimeSinceUse from Method to Property
Added GetHashCode override to Item object, and updated comments.
Tidied up the new objects and added comments; changed trackSpell to accept duration param; fixed achron set referencce in DataDictionary
Skills,Passives,Runes should be working now.
Added library for Runes, Skills, Passives
Added debug tab dump buttons for equipped Legendaries and Skills,Runes
Added Dictionaries to support Item.IsBuffActive and getting sets with all rune type bonuses
Added Element and SpellCategory Enums
Enhancements to HotbarSkills to return full objects by SNO and Slot, to self-update when necessary and to access current rune even when skill stays the same.
Added targetting utilities AnyMobsInRangeOfPosition, IsUnitWithDebuffInRangeOfPosition and IsPercentUnitsWithinBand
Added container weighting for Harrington belt effect
Changed EquipedItemCache to self-update if necessary
Updated generator for rune index mapping
client-side tool to import skills/runes/passives directly from battle.net
Updated Legendary Items/Sets from DiaCollector and expanded Item.IsBuffActive
Added Legendary Class

QuestTools Changelog
2.0.91
ExploreDungeon tag default re-set back to SetNodesExploredAutomatically=false (fixes rifting and backwards exploring shizzle)
MoveToActor, SafeMoveTo, ResumeUseTownPortal tags refactored to Coroutines
ReloadProfile tag now respects Plugin Configuration options
csproj moved to 4.5.1
 
Last edited:
great work! we missed you! thanks

can you post link for svn's plz
 
huge changelog! i will report about how its working later =)
 
regarding DH's:

- build i'm using Demon Hunter - Game Guide - Diablo III

i dont have a generator on my left mouse, i have a spender BUT i dont use kridershot.

how do i make so that the bot does not use autoattacks and just move arround and lay sentries?
 
Thanks rrrix. Does this fix the problems with SimpleFollow by any chance?
 
thanks rrix,

btw ramaldni still not working properly, saw it drop on rift and trinity did not pick up the item :D
 
Thanks for the work! My DH is not avoiding most skills even with HP set to 100%. Is it because of my skill setting? Log attached.

edit: false alarm. It turns out to be bot cannot find a safepoint. Flushing Navigator.clear.

edit2: rrrix, please take a minute to read my post in the next page. TY!
 

Attachments

Last edited:
Last edited:
Does trinity handle dotting well with WD? Casting haunt on multi targets, and casting pestilence? From what I have tried to test it seems like it will cast each one time until it wears off hard to tell though.
 
I've checked the main avoidance point generation function in NavHelper.cs and found some bugs which may lead to disastrous results in avoiding skills.

Note: this is my own observation. @rrrix

Bugs

Line 287 and 296

original
Code:
xyz.Distance2DSqr(a.Position) - (a.Radius * a.Radius) <= gridSquareRadius * gridSquareRadius)

should be
Code:
Math.Sqrt(xyz.Distance2DSqr(a.Position)) - a.Radius <= gridSquareRadius)

It is totally non sense to reduce a squared distance from another.

Line 319

gridSquareRadius instead of gridSquareSize

Line 323

original
Code:
Vector3.Distance(xyz, a.Position) + a.Radius <= checkRadius

should be
Code:
Vector3.Distance(xyz, a.Position) - a.Radius <= checkRadius

I suppose a.Position will return the center of the monster/object.

Make life easier

This one is canceled: (I changed maxDistance to 120f, and make the step sizes in Line 234 and 237 to 2. That results in a much efficient and intelligent avoidance points generation.)

Line 248 seems strange. I changed it to dx * dx + dy * dy > maxDistance * maxDistance

Line 297 - 301 commented. Most obstacles seems to be false alarm.

Line 329 - 340: I'm not sure whether it is useful. I commented them out and the avoidance seems still works well.

I may be totally wrong...

My season DH death/hr reduces from ~10 to ~2 after changes. Doing T5 normal rifts. This sounds like kidding tho... :p
 
Last edited:
Anyone with problems with dodging ? Isn't dodging anything for me.
 
Should misc item level be set to common and which misc items should be selected in order to pick up rammaladni`s gift?
 
regarding DH's:

- build i'm using Demon Hunter - Game Guide - Diablo III

i dont have a generator on my left mouse, i have a spender BUT i dont use kridershot.

how do i make so that the bot does not use autoattacks and just move arround and lay sentries?

Open your DemonHunter.cs located here "\Plugins\Trinity\Combat\Abilities"

Change the generator you have on your bar but that you don't want to be used by the bot to this (Example with Cluster Arrow, highlighted are the changes)


Code:
            // Cluster Arrow
				[b]bool disableClusterArrowSpender = true;[/b]
            if (!UseOOCBuff && !IsCurrentlyAvoiding && CombatBase.CanCast(SNOPower.DemonHunter_ClusterArrow) && !Player.IsIncapacitated &&
                Player.PrimaryResource >= 70)
            {
					 [b]if(!disableClusterArrowSpender)[/b]
                return new TrinityPower(SNOPower.DemonHunter_ClusterArrow, V.F("DemonHunter.ClusterArrow.UseRange"), CurrentTarget.ACDGuid);
            }


In this example, the boolean is set to true, the bot will not fire Cluster Arrow.


Edit: May i suggest that you use Cluster Arrow Maelstrom instead of Loaded for Bears :)
 
Last edited:
What's the difference? are rockets considered fire damage?

He's playing a FrostFire build with Ballistics "rockets". Cluster arrow is "Grenades", and so is Loaded for Bears. Maelstrom changes that back to "rockets"
and so, benefits from Ballistics. This plus, a lot more crowd control :)
 
Status
Not open for further replies.
Back
Top