Fixed boxing auto skill parameters returning wrong values.

This commit is contained in:
MobiusDevelopment
2021-10-12 21:07:20 +00:00
parent 501da02bad
commit 8080df1274
12 changed files with 108 additions and 78 deletions

View File

@@ -31,7 +31,7 @@ public class AutoUseSettingsHolder
private final Collection<Integer> _autoActions = ConcurrentHashMap.newKeySet();
private final Collection<Integer> _autoBuffs = ConcurrentHashMap.newKeySet();
private final List<Integer> _autoSkills = new CopyOnWriteArrayList<>();
private int _skillIndex = -1;
private int _skillIndex = 0;
public AutoUseSettingsHolder()
{
@@ -57,7 +57,7 @@ public class AutoUseSettingsHolder
return _autoBuffs;
}
public Collection<Integer> getAutoSkills()
public List<Integer> getAutoSkills()
{
return _autoSkills;
}
@@ -67,15 +67,14 @@ public class AutoUseSettingsHolder
return _autoSkills.contains(skillId) || _autoBuffs.contains(skillId);
}
public int getNextSkillId()
public Integer getNextSkillId()
{
_skillIndex++;
if (_skillIndex >= _autoSkills.size())
{
_skillIndex = 0;
}
int skillId = 0;
Integer skillId = Integer.MIN_VALUE;
try
{
skillId = _autoSkills.get(_skillIndex);
@@ -88,9 +87,14 @@ public class AutoUseSettingsHolder
return skillId;
}
public void incrementSkillOrder()
{
_skillIndex++;
}
public void resetSkillOrder()
{
_skillIndex = -1;
_skillIndex = 0;
}
public boolean isEmpty()

View File

@@ -229,11 +229,12 @@ public class AutoUseTaskManager implements Runnable
}
// Acquire next skill.
final int skillId = player.getAutoUseSettings().getNextSkillId();
final Skill skill = player.getKnownSkill(skillId);
final Integer skillId = player.getAutoUseSettings().getNextSkillId();
final Skill skill = player.getKnownSkill(skillId.intValue());
if (skill == null)
{
player.getAutoUseSettings().getAutoSkills().remove(skillId);
player.getAutoUseSettings().resetSkillOrder();
break SKILLS;
}
@@ -256,9 +257,9 @@ public class AutoUseTaskManager implements Runnable
break SKILLS;
}
if (canUseMagic(player, target, skill))
if (canUseMagic(player, target, skill) && player.useMagic(skill, null, true, false))
{
player.useMagic(skill, null, true, false);
player.getAutoUseSettings().incrementSkillOrder();
}
}
@@ -394,19 +395,19 @@ public class AutoUseTaskManager implements Runnable
stopAutoUseTask(player);
}
public void addAutoSkill(PlayerInstance player, int skillId)
public void addAutoSkill(PlayerInstance player, Integer skillId)
{
player.getAutoUseSettings().getAutoSkills().add(skillId);
startAutoUseTask(player);
}
public void removeAutoSkill(PlayerInstance player, int skillId)
public void removeAutoSkill(PlayerInstance player, Integer skillId)
{
player.getAutoUseSettings().getAutoSkills().remove(skillId);
stopAutoUseTask(player);
}
public void addAutoAction(PlayerInstance player, Integer actionId)
public void addAutoAction(PlayerInstance player, int actionId)
{
player.getAutoUseSettings().getAutoActions().add(actionId);
startAutoUseTask(player);