From 007c15b78ba033cdee4d7a941d9bd4fcb310a5d4 Mon Sep 17 00:00:00 2001 From: Greg Edwards Date: Mon, 28 Apr 2014 02:44:49 -0400 Subject: [PATCH] Filter out your own pokemon from search results --- gts/pokemondpds.ashx.cs | 2 +- library/Data/DataAbstract.cs | 2 +- library/Data/DataMysql.cs | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gts/pokemondpds.ashx.cs b/gts/pokemondpds.ashx.cs index 4f38b822..61795577 100644 --- a/gts/pokemondpds.ashx.cs +++ b/gts/pokemondpds.ashx.cs @@ -325,7 +325,7 @@ namespace PokeFoundations.GTS if (data.Length > 11) country = data[11]; if (resultsCount > 7) resultsCount = 7; // stop DDOS - GtsDatagram4[] datagrams = DataAbstract.Instance.GtsSearch4(species, gender, minLevel, maxLevel, country, resultsCount); + GtsDatagram4[] datagrams = DataAbstract.Instance.GtsSearch4(pid, species, gender, minLevel, maxLevel, country, resultsCount); foreach (GtsDatagram4 datagram in datagrams) { context.Response.OutputStream.Write(datagram.Save(), 0, 292); diff --git a/library/Data/DataAbstract.cs b/library/Data/DataAbstract.cs index 6b2fa9fd..5c4de570 100644 --- a/library/Data/DataAbstract.cs +++ b/library/Data/DataAbstract.cs @@ -38,7 +38,7 @@ namespace PokeFoundations.Data public abstract bool GtsTradePokemon4(int pidSrc, int pidDest); public abstract bool GtsTradePokemon4(GtsDatagram4 upload, GtsDatagram4 result); - public abstract GtsDatagram4[] GtsSearch4(ushort species, Genders gender, byte minLevel, byte maxLevel, byte country, int count); + public abstract GtsDatagram4[] GtsSearch4(int pid, ushort species, Genders gender, byte minLevel, byte maxLevel, byte country, int count); #endregion } diff --git a/library/Data/DataMysql.cs b/library/Data/DataMysql.cs index b12b7dc5..1ebe2716 100644 --- a/library/Data/DataMysql.cs +++ b/library/Data/DataMysql.cs @@ -203,12 +203,13 @@ namespace PokeFoundations.Data } } - public override GtsDatagram4[] GtsSearch4(ushort species, Genders gender, byte minLevel, byte maxLevel, byte country, int count) + public override GtsDatagram4[] GtsSearch4(int pid, ushort species, Genders gender, byte minLevel, byte maxLevel, byte country, int count) { using (MySqlConnection db = CreateConnection()) { List _params = new List(); - String where = "WHERE Species = @species"; + String where = "WHERE pid != @pid AND Species = @species"; + _params.Add(new MySqlParameter("@pid", pid)); _params.Add(new MySqlParameter("@species", species)); if (gender != Genders.Either)