Skip to content

Commit

Permalink
Bug fix - Clean up sniping logic (remove redundant checks and double-…
Browse files Browse the repository at this point in the history
…addition to locations visited, cleanup last sniping time)
  • Loading branch information
jjskuld committed Aug 10, 2016
1 parent b7afe2e commit b29125b
Showing 1 changed file with 10 additions and 34 deletions.
44 changes: 10 additions & 34 deletions PoGo.NecroBot.Logic/Tasks/SnipePokemonTask.cs
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,6 @@ public static async Task Execute(ISession session, CancellationToken cancellatio
{
foreach (var location in _locationsToSnipe)
{

if ((location.ExpirationTimestamp > DateTime.Now.AddSeconds(10)) && (!LocsVisited.Contains(new PokemonLocation(location.Latitude, location.Longitude))))
{
session.EventDispatcher.Send(new SnipeScanEvent
Expand All @@ -243,12 +242,7 @@ public static async Task Execute(ISession session, CancellationToken cancellatio
if (!await CheckPokeballsToSnipe(session.LogicSettings.MinPokeballsWhileSnipe + 1, session, cancellationToken))
return;

if (LocsVisited.Contains(new PokemonLocation(location.Latitude, location.Longitude)))break;
await Snipe(session, pokemonIds, location.Latitude, location.Longitude, cancellationToken);
_lastSnipe = DateTime.Now;

LocsVisited.Add(new PokemonLocation(location.Latitude, location.Longitude));

}
}
}
Expand All @@ -261,7 +255,6 @@ public static async Task Execute(ISession session, CancellationToken cancellatio
{
foreach (var location in _locationsToSnipe)
{

if ((location.ExpirationTimestamp > DateTime.Now.AddSeconds(10)) && (!LocsVisited.Contains(new PokemonLocation(location.Latitude, location.Longitude))))
{
session.EventDispatcher.Send(new SnipeScanEvent
Expand All @@ -274,13 +267,8 @@ public static async Task Execute(ISession session, CancellationToken cancellatio

if (!await CheckPokeballsToSnipe(session.LogicSettings.MinPokeballsWhileSnipe + 1, session, cancellationToken))
return;
if (
LocsVisited.Contains(new PokemonLocation(location.Latitude, location.Longitude)))
break;
await Snipe(session, pokemonIds, location.Latitude, location.Longitude, cancellationToken);
_lastSnipe = DateTime.Now;
//
LocsVisited.Add(new PokemonLocation(location.Latitude, location.Longitude));

await Snipe(session, pokemonIds, location.Latitude, location.Longitude, cancellationToken);
}
}
}
Expand All @@ -305,22 +293,15 @@ public static async Task Execute(ISession session, CancellationToken cancellatio

if (!await CheckPokeballsToSnipe(session.LogicSettings.MinPokeballsWhileSnipe + 1, session, cancellationToken))
return;



if (LocsVisited.Contains(new PokemonLocation(location.Latitude, location.Longitude)))
break;
await Snipe(session, pokemonIds, location.Latitude, location.Longitude, cancellationToken);
_lastSnipe = DateTime.Now;
LocsVisited.Add(new PokemonLocation(location.Latitude, location.Longitude));
}
}
}
}

if (session.LogicSettings.GetSniperInfoFromPokeWatchers)
{
_lastSnipe = DateTime.Now;
var _locationsToSnipe = GetSniperInfoFrom_pokewatchers(session, pokemonIds);
if (_locationsToSnipe.Any())
{
Expand All @@ -338,12 +319,8 @@ public static async Task Execute(ISession session, CancellationToken cancellatio

if (!await CheckPokeballsToSnipe(session.LogicSettings.MinPokeballsWhileSnipe + 1, session, cancellationToken))
return;
if (LocsVisited.Contains(new PokemonLocation(location.Latitude, location.Longitude)))
break;
await Snipe(session, pokemonIds, location.Latitude, location.Longitude, cancellationToken);
LocsVisited.Add(new PokemonLocation(location.Latitude, location.Longitude));


await Snipe(session, pokemonIds, location.Latitude, location.Longitude, cancellationToken);
}
}
}
Expand Down Expand Up @@ -383,14 +360,8 @@ public static async Task Execute(ISession session, CancellationToken cancellatio
{
if (!await CheckPokeballsToSnipe(session.LogicSettings.MinPokeballsWhileSnipe + 1, session, cancellationToken))
return;



if (LocsVisited.Contains(new PokemonLocation(location.Latitude, location.Longitude)))
break;

await Snipe(session, pokemonIds, location.Latitude, location.Longitude, cancellationToken);
_lastSnipe = DateTime.Now;
LocsVisited.Add(new PokemonLocation(location.Latitude, location.Longitude));
}
}
}
Expand All @@ -408,6 +379,9 @@ public static async Task Execute(ISession session, CancellationToken cancellatio
private static async Task Snipe(ISession session, IEnumerable<PokemonId> pokemonIds, double latitude,
double longitude, CancellationToken cancellationToken)
{
if (LocsVisited.Contains(new PokemonLocation(latitude, longitude)))
return;

var CurrentLatitude = session.Client.CurrentLatitude;
var CurrentLongitude = session.Client.CurrentLongitude;
var catchedPokemon = false;
Expand Down Expand Up @@ -444,7 +418,7 @@ public static async Task Execute(ISession session, CancellationToken cancellatio
if (!LocsVisited.Contains(new PokemonLocation(latitude, longitude)))
LocsVisited.Add(new PokemonLocation(latitude, longitude));
}

foreach (var pokemon in catchablePokemon)
{
EncounterResponse encounter;
Expand Down Expand Up @@ -521,6 +495,8 @@ public static async Task Execute(ISession session, CancellationToken cancellatio
});
}

_lastSnipe = DateTime.Now;

session.EventDispatcher.Send(new SnipeModeEvent { Active = false });
await Task.Delay(session.LogicSettings.DelayBetweenPlayerActions, cancellationToken);

Expand Down

0 comments on commit b29125b

Please sign in to comment.