Loreinator / Shuffle-Move

Program to help choose moves in the Pokemon Shuffle puzzle game
GNU General Public License v3.0
97 stars 18 forks source link

Transfrom isn't working correctly #300

Closed Loreinator closed 7 years ago

Loreinator commented 7 years ago

bugreport_20170610_125229_ast.zip

From https://www.reddit.com/user/G996

I have an issue with Transform. I uploaded a bug report if it helps. I'm not sure if it's an issue with Transform's activation rates or how it's coded in the simulator. Normally when Transform is triggered, up to 3 Ditto outside of the match transform into one of the support Pokemon with 50/100/100 activation rates for 3/4/5 icon matches. But when I try it with 4/5 icon matches of Ditto, the simulator's results suggest that it may not transform the Ditto outside of the match while the resulting simulation should be 100% activation of Transform and transforming of the icon outside of the Ditto match. Sorry if it's working alright and I did something wrong.

Manitary commented 7 years ago

If I read the files correctly, not a bug

The team consists of multiple pokemon TEAM NORMAL Crabrawler,Torracat,Raticate_a,Steenee,Ditto,Metal a,s,e,r,w,g - Torracat while the board only has Ditto and Crabrawler on board. I assume the - Torracat means that it's not "in the team" (added support/disruption/ejectable), but still Ditto can transform into Alolan Raticate or Steenee, hence producing no match with the Crabrawler-Ditto-Crabrawler in the first column.

Loreinator commented 7 years ago

The "TEAM" entry format is: "TypeOfData StageID ListOfSpecies keybinds MegaSlot NonSupport". The "MegaSlot" section is a "-" if there is none selected.

The logic for Transform is currently:

  1. Collect a list of all support species that does not include the activation species (ditto). Call this list A.
  2. Identify up to N matches for the activation species (ditto) on the board, at random. (3 in this case). This cannot include any tile that is active (matched and/or erasing).
  3. Randomly select one species from list A. Call this Species B.
  4. Replace all species identified in step 2 with Species B.

I tried out the exact state saved in the bug report, and it behaves exactly as it should in the situation presented. Only on occasion will it actually transform the ditto into a matching Crabrawler, since there are several other species on the team.

Closing, since this is definitely not a bug - it is behaving exactly as it should.