What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

2 or more diffrent golem types?

Tattoo

Member
Joined
Dec 16, 2011
Messages
133
Hi,

i tried to get diffrent golems in my spec, so i checked oldroutine:

var max = skill.GetStat(StatTypeGGG.NumberOfGolemsAllowed);
if (skill.NumberDeployed < max)

seems to be the part which allows to have more than one golem but only of one type. Is is possible to have diffrent kind of golems?

i tried to splitt the sgslot into numbers and set the number of deployed to < 1 from < max, each golem i need (one fire, one lightning) a diffrent number of sgslot and copied the code for casting, but didn't work :(


private int _sgSlot1;
private int _sgSlot2;

var sfg = LokiPoe.InGameState.SkillBarHud.Skills.FirstOrDefault(s => s.Name == "Summon Flame Golem");
if (IsCastableHelper(sfg))
{
_summonFlameGolemSlot = sfg.Slot;
_sgSlot1 = _summonFlameGolemSlot;
}

var slg = LokiPoe.InGameState.SkillBarHud.Skills.FirstOrDefault(s => s.Name == "Summon Lightning Golem");
if (IsCastableHelper(slg))
{
_summonLightningGolemSlot = slg.Slot;
_sgSlot2 = _summonLightningGolemSlot;
}



// If we have a Summon Golem skill, we can cast it if we havn't cast it recently.
if (_sgSlot1 != -1 &&
_summonGolemStopwatch.ElapsedMilliseconds >
10000)
{
// See if we can use the skill.
var skill = LokiPoe.InGameState.SkillBarHud.Slot(_sgSlot1);
if (skill.CanUse())
{
var max = skill.GetStat(StatTypeGGG.NumberOfGolemsAllowed);
if (skill.NumberDeployed < 1)
{
await DisableAlwaysHiglight();

await Coroutines.FinishCurrentAction();

var err1 = LokiPoe.InGameState.SkillBarHud.UseAt(_sgSlot1, 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);
}
}
}

if (_sgSlot2 != -1 &&
_summonGolemStopwatch.ElapsedMilliseconds >
10000)
{
// See if we can use the skill.
var skill = LokiPoe.InGameState.SkillBarHud.Slot(_sgSlot2);
if (skill.CanUse())
{
var max = skill.GetStat(StatTypeGGG.NumberOfGolemsAllowed);
if (skill.NumberDeployed < 1)
{
await DisableAlwaysHiglight();

await Coroutines.FinishCurrentAction();

var err1 = LokiPoe.InGameState.SkillBarHud.UseAt(_sgSlot2, 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);
}
}
}
 
nevermind... it works - just nullroutine was loaded due to previous problems
so in quick to have diffrent type of golems:
change sgslot to sgslot1-6 everywhere but within the cast golem part - copy it 6 times, and adjust sgslot accordingly. also adjust the skill.Number.Deployed to the number of golems of that type you want to have...


that would be great if it moves to standard oldroutine, with an UI to customize the number of golems - but im no coder :)
 
Thanks for this, really annoying running an Ele and not being able to use 2 different types.

By the way, to 'fork', all I believe you need to do is replace all existing references to OldRoutine to whatever you've called your Routine. For example, in the folder it'd be:

3rdparty.txt
GolemRoutine.cs
GolemRoutineSettings.cs
SettingsGui.xaml

And in the json just do a literal replace of OldRoutine to GolemRoutine (this also catches the OldRoutineSettings -> GolemRoutineSettings). This is all I did to make a separate routine.
 
Back
Top