jojobear13 / shinpokered

Mostly-vanilla hack of Pokémon Red/Blue focused on bugfixes and trainer ai
209 stars 42 forks source link

Bug: Seismic Toss is "Ineffective" to Psychic types #289

Closed tjmitchell1 closed 10 months ago

tjmitchell1 commented 11 months ago

Emulator MyOldBoy android application

Which patch are you using? Lite 1.24.0L

What ROM base are you using? Blue US

How are you utilizing the patch? Built it from source

What version of this project are you using? 1.24.0L

What is the problem you encountered? Using Seismic Toss on a Psychic type deals zero damage causing the game to display "(target) is unaffected"

Expected behavior Seismic Toss (and other set damage moves) should respect immunities but not resistances

Is it possible to reproduce the problem?

  1. Teach a pokemon Seismic Toss
  2. Find a psychic pokemon
  3. Use Seismic Toss
  4. See that it does zero damage that the string "(target) is unaffected" occurs

Additional context I haven't tested other set damage moves, but this may be a bug with those as well. Seismic Toss will also display unaffected for pure poison, pure bug, bug/poison, grass/poison etc, but it will affect flying/normal as expected, most likely due to flying and normal types cancelling out the resistance modifier

jojobear13 commented 11 months ago

The problem seems to be in the function AdjustDamageForMoveType. This function is an utter spaghetti-code mess, so I'll be giving it a complete rewrite.