// If we have a Summon Golem skill, we can cast it if we havn't cast it recently.
if (_sgSlot != -1 && _summonGolemStopwatch.ElapsedMilliseconds > 10000)
{
// See if we can use the skill.
var skill = LokiPoe.InGameState.SkillBarHud.Slot(_sgSlot);
if (skill.CanUse())
{
var max = skill.GetStat(StatTypeGGG.NumberOfGolemsAllowed);
if (skill.NumberDeployed < max)
{
await DisableAlwaysHiglight();
await Coroutines.FinishCurrentAction();
var err1 = LokiPoe.InGameState.SkillBarHud.UseAt(_sgSlot, true, myPos);
if (err1 == LokiPoe.InGameState.UseResult.None)
{
_summonGolemStopwatch.Restart();
await Coroutines.FinishCurrentAction(false);
return true;
}
Log.ErrorFormat("[Logic] UseAt returned {0} for {1}.", err1, skill.Name);
}
}
}
[COLOR=#00ff00] //if (_summonFlameGolemSlot != -1 && _summonGolemStopwatch.ElapsedMilliseconds > 4000)
if (_summonFlameGolemSlot != -1)
{
// See if we can use the skill.
var skill = LokiPoe.InGameState.SkillBarHud.Slot(_summonFlameGolemSlot);
if (skill.CanUse())
{
var max = skill.GetStat(StatTypeGGG.NumberOfGolemsAllowed);
if (skill.NumberDeployed < max)
{
await DisableAlwaysHiglight();
await Coroutines.FinishCurrentAction();
var err1 = LokiPoe.InGameState.SkillBarHud.UseAt(_summonFlameGolemSlot, true, myPos);
if (err1 == LokiPoe.InGameState.UseResult.None)
{
_summonGolemStopwatch.Restart();
await Coroutines.FinishCurrentAction(false);
return true;
}
Log.ErrorFormat("[Logic] UseAt returned {0} for {1}.", err1, skill.Name);
}
}
} [/COLOR]
// If we have Raise Zombie, we can look for dead bodies to use for our army as we move around.
if (_raiseZombieSlot != -1)
{
// See if we can use the skill.
var skill = LokiPoe.InGameState.SkillBarHud.Slot(_raiseZombieSlot);
if (skill.CanUse())
{
var max = skill.GetStat(StatTypeGGG.NumberOfZombiesAllowed);
if (skill.NumberDeployed < max)
{
// Check for a target near us.
var target = BestDeadTarget;
if (target != null)
{
await DisableAlwaysHiglight();
await Coroutines.FinishCurrentAction();
Log.InfoFormat("[Logic] Using {0} on {1}.", skill.Name, target.Name);
var uaerr = LokiPoe.InGameState.SkillBarHud.UseAt(_raiseZombieSlot, false,
target.Position);
if (uaerr == LokiPoe.InGameState.UseResult.None)
{
await Coroutines.LatencyWait();
await Coroutines.FinishCurrentAction(false);
await Coroutines.LatencyWait();
return true;
}
Log.ErrorFormat("[Logic] UseAt returned {0} for {1}.", uaerr, skill.Name);
}
}
}
}