Keeps the repo root clean - only README.md visible on landing page. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
69 lines
2.0 KiB
C#
69 lines
2.0 KiB
C#
var i = 0;
|
|
var u = 0;
|
|
var startTime = DateTime.Now;
|
|
var intervalInMinutes = 0.1;
|
|
var seedsPerMinute = 0;
|
|
var lastPotionLevel = -1;
|
|
var maxIdleTimeInSeconds = 60; // Maximum time without generating seeds
|
|
|
|
OnIntercept((In.ErrorReport, In["FurniListInvalidate"], In["UnseenItems"], In.PetStatusUpdate, In.PetBreedingResult), e => e.Block());
|
|
|
|
OnIntercept((In.PetBreedingResult), e => {
|
|
i++; u++;
|
|
Log($"Seeds generated {u}");
|
|
e.Block();
|
|
});
|
|
|
|
var potionLevels = new[] {
|
|
new[] { 6801395, 6801396, 6801397, 6801398, 6801400, 6801399 },
|
|
new[] { 6801403, 6801401, 6801402 },
|
|
new[] { 6801404, 6801406, 6801405 }
|
|
};
|
|
|
|
while (Run) {
|
|
foreach (var pet in Pets) {
|
|
int potion = 0;
|
|
|
|
foreach (var level in potionLevels) {
|
|
if (Array.IndexOf(level, (int)pet.Id) != -1 && (int)pet.Id != lastPotionLevel) {
|
|
potion = (int)FloorItems.NamedLike($"Rebreeding Potion {Array.IndexOf(potionLevels, level) + 1}").First().Id;
|
|
lastPotionLevel = (int)pet.Id;
|
|
break;
|
|
}
|
|
}
|
|
|
|
Send(Out["CustomizePetWithFurni"], potion, (int)pet.Id);
|
|
Delay(100);
|
|
Send(Out.BreedPets, 0, (int)pet.Id, (int)pet.Id);
|
|
Delay(200);
|
|
}
|
|
|
|
var elapsedTime = (DateTime.Now - startTime).TotalMinutes;
|
|
if (elapsedTime >= intervalInMinutes) {
|
|
seedsPerMinute = (int)(i / elapsedTime);
|
|
Log($"Seeds generated per minute: {seedsPerMinute}");
|
|
|
|
|
|
if (seedsPerMinute == 0) {
|
|
Log("Seeds generated per minute hit zero. Restarting the script...");
|
|
Delay(1000);
|
|
i = 0;
|
|
u = 0;
|
|
startTime = DateTime.Now;
|
|
}
|
|
else {
|
|
i = 0;
|
|
startTime = DateTime.Now;
|
|
}
|
|
}
|
|
|
|
|
|
if ((DateTime.Now - startTime).TotalSeconds >= maxIdleTimeInSeconds) {
|
|
Log($"Script was idle for too long. Restarting the script...");
|
|
Delay(1000);
|
|
i = 0;
|
|
u = 0;
|
|
startTime = DateTime.Now;
|
|
}
|
|
}
|