mm201 / pkmn-classic-framework

Pokémon application logic for Generation IV and V, including servers
http://pkmnclassic.net/
Other
227 stars 43 forks source link

Ban impossible requests #4

Open mm201 opened 10 years ago

mm201 commented 10 years ago

Certain legendary / non-breedable Pokémon can't be obtained at Lv. 9 and under. Troublemakers often ask for these so they can show off their Pokémon without them being traded. (Hackers inevitably take them anyway.) Rather than letting them gum up our system, we should tell them they can't ask for that in a friendly way.

mm201 commented 9 years ago

No. There's a proper error code which will make the game say "You can't ask for that".

I could throw together a hackish implementation very quickly but I want to do it right and base it off encounter tables. (including events)

ghost commented 8 years ago

Project Pokemon has GTS protocol documented, and here's what it says. "Pokémon are offered on the GTS by requesting /pokemondpds/worldexchange/post.asp. If the Pokémon is rejected by the server, the response is 0x000c; otherwise, if the deposit is successful, 0x0001."

Source: http://projectpokemon.org/wiki/GTS_protocol

mm201 commented 8 years ago

That's the easy part. (IIRC I have a comment in that area of the code documenting responses.) The hard part is validating movesets and doing it the right way.

ChynenseFuud commented 6 years ago

Recently some guy requested a Rattata for a Meloetta in the DPPHGSS section in the server, is there something that could be done?, because as far as I know there is no way to obtain a Meloetta in the 4th generation. ohgod

zurgeg commented 3 years ago

No. There's a proper error code which will make the game say "You can't ask for that".

I could throw together a hackish implementation very quickly but I want to do it right and base it off encounter tables. (including events)

PKHeX (and likely it's Nuget version) supports looking up encounters, which might come in handy

zurgeg commented 2 years ago

Recently some guy requested a Rattata for a Meloetta in the DPPHGSS section in the server, is there something that could be done?, because as far as I know there is no way to obtain a Meloetta in the 4th generation. ohgod

Correct, additionally, Meloetta can't be caught in a master ball either iirc

mm201 commented 2 years ago

These things have been blocked for months now. And this thread is about impossible requests, e.g. Kyogre 9 and under. You're looking for #3.

zurgeg commented 2 years ago

...like Mew 9 and under AAAAH

Show them an anti-cheat error message.

Just out of curiosity, what is AAAAH?

mm201 commented 2 years ago

A flabbergasted expression of frustration. I have updated the description of this 7 year old todo issue to hopefully avoid confusion.

mm201 commented 2 years ago

So it appears that 'you can't ask for that' only happens on the client and the only things I can make it say are "That Pokémon may not be offered for trade!" and a few error messages. I may close this if I can't find a workaround.