Jump to content

Held Items in Gen4 Save and Pal Park from Gen 3


javier_himura

Recommended Posts

Two bugs report i found migrating all my pokemon from an Emerald save to Diamond save

1) The conversion from gen 3 to gen 4 should keep the held item. The official Pal Park conversion transform the gen 3 item into a gen 4 item.

2) In gen 4 PKHex does not allow a Pokemon to held a TM. Gen 4 games allow it. Also, the official Pal Park conversion from gen 3 to gen 4 keep the TM held by the pokemon.

Next one is not a bug itself, just a consideration from the gen 4 to 5 conversion.

PKHex removes Hidden Moves in the conversion process, just like the official conversion, including removing only one of the two possible HM05 from Gen4, Defog and Whirlpool. Now PKHex allways remove one of this 2 moves if the pokemon know it, but is only necessary to remove one move when the pokemon know both, because we can asume any pokemon knowing one HM05 is Pokétransfered from games with the other HM05.

Link to comment
Share on other sites

1) Fixed

2) Fixed

3)

 

[color=#00ff00]            // Remove HM moves; Defog should be kept if both are learned.[/color]        [color=#0000ff]int[/color][] banned = Moves.Contains(250) [color=#00ff00]/*Whirlpool*/[/color] && !Moves.Contains(432) [color=#00ff00]/*Defog*/[/color]            ? [color=#0000ff]new[/color][] {15, 19, 57, 70, 432, 249, 127, 431} [color=#00ff00]// No Defog[/color]            : [color=#0000ff]new[/color][] {15, 19, 57, 70, 250, 249, 127, 431};[color=#00ff00]// No Whirlpool[/color]

 

"No Whirlpool" is HGSS transfer,

"No Defog" is DPPt transfer

If pkm does not have Whirlpool, it uses the "No Whirlpool" banlist. (first false short circuit)

If pkm has Whirlpool and has Defog, it uses the "No Whirlpool" banlist. (second false)

If pkm has Whirlpool and not defog, it uses the "No Defog" banlist. (both true)

It can be re-written as follows:

 

[color=#00FF00]            // Remove HM moves; Defog should be kept if both are learned.[/color]        [color=#0000FF]int[/color][] banned = Moves.Contains(250) && Moves.Contains(432) [color=#00FF00]/*Whirlpool & Defog*/[/color]            ? [color=#0000FF]new[/color][] {15, 19, 57, 70, 250, 249, 127, 431} [color=#00FF00]// No Whirlpool[/color]            : [color=#0000FF]new[/color][] {15, 19, 57, 70,      249, 127, 431};[color=#00FF00]// Transfer via advantageous game[/color]

 

So, instead of knowing which game it is transferred, we can just be ambiguous.

Changed to reflect the second snippet of code.

Thanks for the report :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...