Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions internal/character/paladin_leveling.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ type PaladinLeveling struct {
}

func (s PaladinLeveling) CheckKeyBindings() []skill.ID {
requireKeybindings := []skill.ID{skill.TomeOfTownPortal}
requireKeybindings := []skill.ID{}
missingKeybindings := []skill.ID{}

for _, cskill := range requireKeybindings {
Expand Down Expand Up @@ -88,8 +88,15 @@ func (s PaladinLeveling) KillMonsterSequence(
s.Logger.Debug("Using Zeal")
numOfAttacks = 1
}
s.Logger.Debug("Using primary attack with Holy Fire aura")
step.PrimaryAttack(id, numOfAttacks, false, step.Distance(1, 3), step.EnsureAura(skill.HolyFire))

// Check if Holy Fire is greater than 0.
if s.Data.PlayerUnit.Skills[skill.HolyFire].Level > 0 {
s.Logger.Debug("Using primary attack with Holy Fire aura")
step.PrimaryAttack(id, numOfAttacks, false, step.Distance(1, 3), step.EnsureAura(skill.HolyFire))
} else {
s.Logger.Debug("Using primary attack with Might aura (Holy Fire not acquired)")
step.PrimaryAttack(id, numOfAttacks, false, step.Distance(1, 3), step.EnsureAura(skill.Might))
}
}

completedAttackLoops++
Expand Down
45 changes: 25 additions & 20 deletions internal/character/sorceress_leveling.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
)

func (s SorceressLeveling) CheckKeyBindings() []skill.ID {
requireKeybindings := []skill.ID{skill.TomeOfTownPortal}
requireKeybindings := []skill.ID{}
missingKeybindings := []skill.ID{}

for _, cskill := range requireKeybindings {
Expand Down Expand Up @@ -88,9 +88,9 @@ func (s SorceressLeveling) KillMonsterSequence(
} else if _, found := s.Data.KeyBindings.KeyBindingForSkill(skill.FireBall); found {
s.Logger.Debug("Using FireBall")
step.SecondaryAttack(skill.FireBall, id, 4, step.Distance(SorceressLevelingMinDistance, SorceressLevelingMaxDistance))
} else if _, found := s.Data.KeyBindings.KeyBindingForSkill(skill.IceBolt); found {
s.Logger.Debug("Using IceBolt")
step.SecondaryAttack(skill.IceBolt, id, 4, step.Distance(SorceressLevelingMinDistance, SorceressLevelingMaxDistance))
} else if _, found := s.Data.KeyBindings.KeyBindingForSkill(skill.FireBolt); found {
s.Logger.Debug("Using FireBolt")
step.SecondaryAttack(skill.FireBolt, id, 4, step.Distance(SorceressLevelingMinDistance, SorceressLevelingMaxDistance))
} else {
s.Logger.Debug("No secondary skills available, using primary attack")
step.PrimaryAttack(id, 1, false, step.Distance(1, SorceressLevelingMeleeDistance))
Expand Down Expand Up @@ -174,8 +174,8 @@ func (s SorceressLeveling) SkillsToBind() (skill.ID, []skill.ID) {
skillBindings = append(skillBindings, skill.Meteor)
} else if s.Data.PlayerUnit.Skills[skill.FireBall].Level > 0 {
skillBindings = append(skillBindings, skill.FireBall)
} else if s.Data.PlayerUnit.Skills[skill.IceBolt].Level > 0 {
skillBindings = append(skillBindings, skill.IceBolt)
} else if s.Data.PlayerUnit.Skills[skill.FireBolt].Level > 0 {
skillBindings = append(skillBindings, skill.FireBolt)
}

mainSkill := skill.AttackSkill
Expand All @@ -193,11 +193,16 @@ func (s SorceressLeveling) StatPoints() map[stat.ID]int {
lvl, _ := s.Data.PlayerUnit.FindStat(stat.Level, 0)
statPoints := make(map[stat.ID]int)

if lvl.Value < 20 {
if lvl.Value < 9 {
statPoints[stat.Strength] = 15
statPoints[stat.Vitality] = 9999
} else if lvl.Value < 15 {
statPoints[stat.Energy] = 45
statPoints[stat.Strength] = 25
statPoints[stat.Vitality] = 9999
} else {
statPoints[stat.Energy] = 80
statPoints[stat.Strength] = 60
statPoints[stat.Energy] = 60
statPoints[stat.Strength] = 50
statPoints[stat.Vitality] = 9999
}

Expand All @@ -222,18 +227,18 @@ func (s SorceressLeveling) SkillPoints() []skill.ID {
skill.FireBolt,
skill.Telekinesis,
skill.FireBolt,
skill.FireBolt,
skill.FireBolt,
skill.FireBolt,
skill.IceBolt,
skill.IceBolt,
skill.IceBolt,
skill.FireBall,
skill.FireBall,
skill.FireBall,
skill.FireBall,
skill.FireBall,
skill.FireBall,
skill.Teleport,
skill.IceBolt,
skill.IceBolt,
skill.IceBolt,
skill.IceBolt,
skill.IceBolt,
skill.FireBall,
skill.FireBall,
skill.FireBall,
skill.FireBall,
skill.FireBall,
}
} else {
skillPoints = []skill.ID{
Expand Down
3 changes: 2 additions & 1 deletion internal/character/sorceress_leveling_lightning.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ type SorceressLevelingLightning struct {
}

func (s SorceressLevelingLightning) CheckKeyBindings() []skill.ID {
requireKeybindings := []skill.ID{skill.TomeOfTownPortal}
requireKeybindings := []skill.ID{}
missingKeybindings := []skill.ID{}

for _, cskill := range requireKeybindings {
Expand Down Expand Up @@ -211,6 +211,7 @@ func (s SorceressLevelingLightning) StatPoints() map[stat.ID]int {
statPoints := make(map[stat.ID]int)

if lvl.Value < 9 {
statPoints[stat.Strength] = 15
statPoints[stat.Vitality] = 9999
} else if lvl.Value < 15 {
statPoints[stat.Energy] = 45
Expand Down