Yes, it sucks to see everytime the bot going to town in middle of a Rift or GR, lets say in floor 2, 3, 4 or floor 7 to trash and/or repair items and then picking the rift gate to floor 1... It is just a bad coded algorithm in
Trinity. It really makes no sense to pick the rift gate when there is an open portal owned in town... I hope the dev cares to fix this behavior...
Testing a beta will not fix anything. I remember this behavior always had been like this.
Anyways, If you feel that the bot will not need to open a town portal to go to repair items in blacksmith, then a temporal fix could be:
1. In the
RiftCoroutine.cs file, first you delete all this code:
Code:
if (AdvDia.CurrentWorldId == ExplorationData.ActHubWorldIds[Act.A1] && (AdvDia.RiftQuest.Step == RiftStep.KillingMobs || AdvDia.RiftQuest.Step == RiftStep.BossSpawned || AdvDia.RiftQuest.Step == RiftStep.UrshiSpawned))
{
if (!EnteringRiftStates.Contains(State))
{
Core.Logger.Log(
"[Rift] Oh darn, I managed to return to town, I better go back in the rift before anyone notices.");
State = States.MoveToRiftStone;
return;
}
}
2. Next, you replace this code:
Code:
case RiftStep.BossSpawned:
Core.Logger.Log("[Rift] I wonder why am I in town while the boss is spawned in the rift, I'm taking my chances with this portal.");
State = States.MoveToRiftStone;
return false;
case RiftStep.UrshiSpawned:
Core.Logger.Log("[Rift] I wonder why am I in town while Urshi spawned in the rift, I'm taking my chances with this portal.");
State = States.MoveToRiftStone;
return false;
case RiftStep.KillingMobs:
Core.Logger.Log("[Rift] I wonder why am I in town while there are many mobs to kill in the rift, I'm taking my chances with this portal.");
State = States.MoveToRiftStone;
return false;
For this:
Code:
case RiftStep.BossSpawned:
Core.Logger.Log("[Rift] I wonder why am I in town while the boss is spawned in the rift, I'm taking my chances with this portal.");
// Addresses an issue where the bot uses Rift Stone instead of Town Portal to return to rift/grater rift.
State = States.MovingToExitPortal;
return false;
case RiftStep.UrshiSpawned:
Core.Logger.Log("[Rift] I wonder why am I in town while Urshi spawned in the rift, I'm taking my chances with this portal.");
// Addresses an issue where the bot uses Rift Stone instead of Town Portal to return to rift/grater rift.
State = States.MovingToExitPortal;
return false;
case RiftStep.KillingMobs:
Core.Logger.Log("[Rift] I wonder why am I in town while there are many mobs to kill in the rift, I'm taking my chances with this portal.");
// Addresses an issue where the bot uses Rift Stone instead of Town Portal to return to rift/grater rift.
State = States.MovingToExitPortal;
return false;
3. Finally, you run a new instance of
DemonBuddy to compile
Trinity source-code with the changes made.
This will solve the issue about opening a town portal to go to trash items/free slots at blacksmiith and then picking the rift gate. Instead, it will pick the open portal in town to return at the exact location on which you have opened that portal. However, I noticed that if your gears need to be repaired then for some reason the bot will not do that, and instead it will enter in a "infinite loop" opening a town portal and going back the portal... don't ask me why.
I will try to analyze and fix this behavior by my own, when I could have more time to analyze it.