From c482e99e8ab49c99fcf750bbfa5504113f5c2aa3 Mon Sep 17 00:00:00 2001 From: Greg Edwards Date: Wed, 7 Nov 2018 00:44:33 -0500 Subject: [PATCH] Documented the deposit/trade error codes better. --- gts/pokemondpds.ashx.cs | 18 ++++++++++++++++++ gts/src/AppStateHelper.cs | 6 ++++++ gts/syachi2ds.ashx.cs | 30 +++++++++++++++++++++++++++++- 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/gts/pokemondpds.ashx.cs b/gts/pokemondpds.ashx.cs index 796b436f..851f32fd 100644 --- a/gts/pokemondpds.ashx.cs +++ b/gts/pokemondpds.ashx.cs @@ -230,6 +230,16 @@ namespace PkmnFoundations.GTS { // hack check failed SessionManager.Remove(session); + + // responses: + // 0x00: Appears to start depositing? todo: test if this code leads to a normal deposit. + // 0x01: successful deposit + // 0x02-0x03: Communication error... + // 0x04-0x06: bsod + // 0x07: The GTS is very crowded now. Please try again later. (and it boots you!) + // 0x08-0x0d: That Pokémon may not be offered for trade! + // 0x0e: You were disconnected from the GTS. Returning to the reception counter. + // 0x0f: Blue screen of death response.Write(new byte[] { 0x0c, 0x00 }, 0, 2); break; } @@ -361,6 +371,14 @@ namespace PkmnFoundations.GTS { // todo: find the correct codes for these SessionManager.Remove(session); + + // responses: + // 0x00-0x01: bsod + // 0x02: Unfortunately, it was traded to another Trainer. + // 0x03-0x07: bsod + // 0x08-0x0d: That Pokémon may not be offered for trade! + // 0x0e: You were disconnected from the GTS. Returning to the reception counter. + // 0x0f: bsod response.Write(new byte[] { 0x0c, 0x00 }, 0, 2); return; } diff --git a/gts/src/AppStateHelper.cs b/gts/src/AppStateHelper.cs index 8f86f94b..4f316e2c 100644 --- a/gts/src/AppStateHelper.cs +++ b/gts/src/AppStateHelper.cs @@ -8,6 +8,12 @@ namespace PkmnFoundations.GTS { public static class AppStateHelper { + /// + /// Gets the Pokédex stored in Application State or else instances a + /// new one from the default database. + /// + /// App State reference for this request + /// Pokédex public static Pokedex.Pokedex Pokedex(HttpApplicationState application) { return GetTypedApplicationObject(application, "pkmncfPokedex", () => new Pokedex.Pokedex(Database.Instance, false)); diff --git a/gts/syachi2ds.ashx.cs b/gts/syachi2ds.ashx.cs index 7e014ea8..152f3d2b 100644 --- a/gts/syachi2ds.ashx.cs +++ b/gts/syachi2ds.ashx.cs @@ -225,8 +225,23 @@ namespace PkmnFoundations.GTS if (!record.Validate(false)) { // hack check failed - // todo: test that 0c 00 is the correct code for GenV SessionManager.Remove(session); + + // responses: + // 0x00: bsod + // 0x01: successful deposit + // 0x02: Communication error 13265 + // 0x03: Communication error 13264 + // 0x04-0x06: bsod + // 0x07: The GTS is very crowded now. Please try again later (13261). (and it boots you) + // 0x08: That Pokémon may not be offered for trade (13268)! + // 0x09: That Pokémon may not be offered for trade (13269)! + // 0x0a: That Pokémon may not be offered for trade (13270)! + // 0x0b: That Pokémon may not be offered for trade (13271)! + // 0x0c: That Pokémon may not be offered for trade (13266)! + // 0x0d: That Pokémon may not be offered for trade (13267)! + // 0x0e: You were disconnected from the GTS. Error code: 13262 (and it boots you) + // 0x0f: bsod response.Write(new byte[] { 0x0c, 0x00 }, 0, 2); break; } @@ -360,6 +375,19 @@ namespace PkmnFoundations.GTS { // todo: find the correct codes for these SessionManager.Remove(session); + + // responses: + // 0x00-0x01: bsod + // 0x02: Unfortunately, it was traded to another Trainer. + // 0x03-0x07: bsod + // 0x08: That Pokémon may not be offered for trade (13268)! + // 0x09: That Pokémon may not be offered for trade (13269)! + // 0x0a: That Pokémon may not be offered for trade (13270)! + // 0x0b: That Pokémon may not be offered for trade (13271)! + // 0x0c: That Pokémon may not be offered for trade (13266)! + // 0x0d: That Pokémon may not be offered for trade (13267)! + // 0x0e: You were disconnected from the GTS. Error code: 13262 + // 0x0f: bsod response.Write(new byte[] { 0x0c, 0x00 }, 0, 2); return; }