Documented the deposit/trade error codes better.

This commit is contained in:
Greg Edwards 2018-11-07 00:44:33 -05:00
parent b0eee74334
commit c482e99e8a
3 changed files with 53 additions and 1 deletions

View File

@ -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;
}

View File

@ -8,6 +8,12 @@ namespace PkmnFoundations.GTS
{
public static class AppStateHelper
{
/// <summary>
/// Gets the Pokédex stored in Application State or else instances a
/// new one from the default database.
/// </summary>
/// <param name="application">App State reference for this request</param>
/// <returns>Pokédex</returns>
public static Pokedex.Pokedex Pokedex(HttpApplicationState application)
{
return GetTypedApplicationObject(application, "pkmncfPokedex", () => new Pokedex.Pokedex(Database.Instance, false));

View File

@ -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;
}