Skip to content

Commit

Permalink
Chaos portal position and buff refresh before Infector (#625)
Browse files Browse the repository at this point in the history
Co-authored-by: Arto Simonyan <[email protected]>
  • Loading branch information
Sunblood and artosimonyan authored Jan 25, 2025
1 parent decc7dd commit 28b2675
Showing 1 changed file with 21 additions and 7 deletions.
28 changes: 21 additions & 7 deletions internal/run/diablo.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
)

var diabloSpawnPosition = data.Position{X: 7792, Y: 5294}
var chaosNavToPosition = data.Position{X: 7732, Y: 5292} //into path towards vizier

type Diablo struct {
ctx *context.Status
Expand Down Expand Up @@ -42,22 +43,30 @@ func (d *Diablo) Run() error {

// We move directly to Diablo spawn position if StartFromStar is enabled, not clearing the path
if d.ctx.CharacterCfg.Game.Diablo.StartFromStar {
//move to star
if err := action.MoveToCoords(diabloSpawnPosition); err != nil {
return err
}
//open portal if leader
if d.ctx.CharacterCfg.Companion.Leader {
action.OpenTPIfLeader()
action.Buff()
action.ClearAreaAroundPlayer(30, data.MonsterAnyFilter())
}
} else {
err := action.ClearThroughPath(diabloSpawnPosition, 30, d.getMonsterFilter())
//open portal in entrance
if d.ctx.CharacterCfg.Companion.Leader {
action.OpenTPIfLeader()
action.Buff()
action.ClearAreaAroundPlayer(30, data.MonsterAnyFilter())
}
//path through towards vizier
err := action.ClearThroughPath(chaosNavToPosition, 30, d.getMonsterFilter())
if err != nil {
return err
}
}

if d.ctx.CharacterCfg.Companion.Leader {
action.OpenTPIfLeader()
action.Buff()
action.ClearAreaAroundPlayer(30, data.MonsterAnyFilter())
}

sealGroups := map[string][]object.Name{
"Vizier": {object.DiabloSeal4, object.DiabloSeal5}, // Vizier
"Lord De Seis": {object.DiabloSeal3}, // Lord De Seis
Expand Down Expand Up @@ -89,6 +98,11 @@ func (d *Diablo) Run() error {
// Clear everything around the seal
action.ClearAreaAroundPlayer(10, d.ctx.Data.MonsterFilterAnyReachable())

//Buff refresh before Infector
if object.DiabloSeal1 == sealID {
action.Buff()
}

if err = action.InteractObject(seal, func() bool {
seal, _ = d.ctx.Data.Objects.FindOne(sealID)
return !seal.Selectable
Expand Down

0 comments on commit 28b2675

Please sign in to comment.