Characte Pack - Updated and New characters#745
Closed
davidfvsilva wants to merge 180 commits intohectorgimenez:mainfrom
davidfvsilva:feature/character-pack
Closed
Characte Pack - Updated and New characters#745davidfvsilva wants to merge 180 commits intohectorgimenez:mainfrom davidfvsilva:feature/character-pack
davidfvsilva wants to merge 180 commits intohectorgimenez:mainfrom
davidfvsilva:feature/character-pack
Conversation
Adds a configurable run where you can clear the Blood Moor and/or the Den of Evil. code cleanup code cleanup
Co-authored-by: Sorc <103583469+sorc653@users.noreply.github.com>
Co-authored-by: Sorc <103583469+sorc653@users.noreply.github.com>
Co-authored-by: Sorc <103583469+sorc653@users.noreply.github.com>
Co-authored-by: Sorc <103583469+sorc653@users.noreply.github.com>
Co-authored-by: Sorc <103583469+sorc653@users.noreply.github.com>
Code refactor, preserved caching, optimization.
Code refactor, proper collision detection and avoidance, valid pathfinding (even across area boundaries), performance upgrade.
Code refactor, added cache and cache efficiency (area-specific cache keys prevent cross-area conflicts), LRU cache prevents memory issues, optimized A* with results up to 20-30% CPU reduction.
Code refactor, proper Collision Handling in A* algorithm, Grid preprocessing fixes, Cost calculations for tiles/collisions, performance upgrade.
Add a check for FindNearbyWalkablePosition to to prevent issues with pather in certain areas, thanks to elb for the fix :)
`findNearbyWalkablePosition` -> `FindNearbyWalkablePosition`
Accidental removal of ctx.RefreshGameData()
Possible fix of bot getting stuck on "Hidden Stash" object at Chaos.
Prevent pathfinding near hidden stashes by creating a 5x5 non-walkable zone around hidden stashes, forcing paths to detour.
Block interactions and improve safety checks, completely skips hidden stash interactions, moves to walkable positions before interacting with objects.
Improve movement reliability by avoiding getting stuck on blocked objects, maintains original timeout/retry logic, fixes "undefined variable" errors.
Re-added `ctx.RefreshGameData()` & modified // Exint on timeout modification check for proper Hidden Stash ignore @ Chaos.
Re-add comments from original source.
- New Spirals (EntranceSpiral , ObjectSpiral) using description (.desc) linked to .txt files in d2go . - Simplified and cleaned Action Move.go EnsureAreaAsync() no longer required, removed redundant movement and clicks that doesnt belong there. Prevent an issue with harem/palace cellar (similar area) where there is 2 entrance leading to next area. We pick the nearest. Multiple isCompletedFn checks for different objects wich allow to remove EnsureAreaAsync() . For portals PlayerUnit.States.HasState(state.JustPortaled) this is first thing that confirms we interacted with portal, after we check for OpenMenus.LoadingScreen then finally we check if we reached area. Removed hardcoded portal destinations since we have them accessible from memory object.PortalData.DestArea interact_entrance.go : Now all entrances are compatible with koolo. It was failing with multiple tal rasha tombs, halls of vaughts and possibly more that i am unaware of. Enhanced using implementation in d2go for Entrances rather then Adjacentlvl coordinates only. Since Adjacentlvl and entrance share exact coordinates (100%) we can link it to unittype5 (entrance) then get the description from lvlwrap.txt wich contains precious information related to its size, direction( left, right, bottom) etc. We still need UnitType 2 here because sometimes entrances like ancient tunnel is both (unittype 2 the trap, unittype 5 to enter area) Simplified runs using red portals : we can directly do action.InteractObject(portal, nil) and provide no completion check. On a next update it will be possible to simply do MoveToArea(area.Tristam) for exemple. cleaned tp_actions.go and added a check if we stand next to waypoint before creating portal. Its hard for bot to hover portal due to waypoint being bigger then the portal hitbox. We simply move away from it before making portal. Cow lvl: Configurable option to kill rakanishu( or skip) this speeds up run especially for mosaic who needs to build stack before killing anything. It will go directly in tristam if disabled. Also added a little offset from wirt corpse to move after picking up leg to prevent bot struggling with gold piles
If we're in range but can't interact, try clicking once to get closer. Sometimes pathfinder end up at an angle where it cant hover the entrance also increased radius to 4 findNearbyWalkablePosition . 3 isnt enough sometimes to find a walkable position
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bunch of improved and new characters (and a generic character). Keep in mind that the singer character is best used as a companion using a follower run ;)