Advertisement
entrpntr

GSC Trainer AI: Matchup scoring bug

Apr 11th, 2016
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.99 KB | None | 0 0
  1. Matchup Scoring: > CheckPlayerMoveTypeMatchups
  2.  
  3. Can be seen in the following layers:
  4. - [10.11] Smart_Whirlwind | Smart_BatonPass
  5. - [10.39] Smart_MeanLook
  6. - [10.45] Smart_PerishSong
  7.  
  8.  
  9. The matchup score is initialized to 10. Do all of the steps below before returning the adjusted score.
  10.  
  11.  
  12. [1a.] If the player has not shown any moves yet, consider the player's typing:
  13.  
  14. For each of the player's "type"s:
  15. - Decrease the score by 1 if the type is super effective against the enemy.
  16.  
  17.  
  18. [1b.] If the player has shown 1 or more moves:
  19.  
  20. For each shown move with non-zero power, check the move's "type", and track the most effective type against the enemy.
  21. - If super effective moves have been shown, decrease the score by 1.
  22. - If the player's best move shown is not very effective, increase the score by 1.
  23. - If the enemy is immune to each player move that has been shown, increase the score by 2.
  24.  
  25.  
  26. [2.] Consider enemy moves vs player:
  27.  
  28. For each enemy move with non-zero power, check the move's "type", and track the most effective type against the player.
  29. - If all of the enemy's moves have 0 power, or if the player is immune to every move, decrease the score by 2.
  30. - If the enemy's best move is not very effective, decrease the score by 1.
  31. - If the enemy has a move that is super effective, increase the score by 1.
  32.  
  33.  
  34. > If the score after these adjustments is > 10, the matchup is considered favorable.
  35. > If the score after these adjustments is = 10, the matchup is considered neutral.
  36. > If the score after these adjustments is < 10, the matchup is considered unfavorable.
  37.  
  38.  
  39. NOTE - This function is bugged. Wherever a move's "type" is checked (including checking the player's typing in 1a.), it is actually overridden by the type of the move currently being evaluated by the AI (i.e. one of Whirlwind, Roar, Baton Pass, Mean Look, Spider Web, Perish Song). Each of these moves is Normal type except for Spider Web, which is Bug type.
  40.  
  41.  
  42.  
  43. ; Examples of how this will typically play out
  44.  
  45.  
  46. On Morty's Gastly, using Mean Look AI (which discourages Mean Look unless the matchup is favorable):
  47.  
  48. 1. Croconaw has not shown any moves, so consider its typing (incorrectly evaluated to Normal).
  49. - Normal is not super effective vs Ghost/Poison, so the score is left unadjusted.
  50. 2. Gastly's only damaging move is Lick (incorrectly evaluated to Normal).
  51. - Normal is neutral vs Water, so the score is left unadjusted.
  52.  
  53. > The final score is 10. The matchup is not favorable, so Mean Look is discouraged.
  54.  
  55.  
  56. On Morty's Gengar:
  57.  
  58. 1. Croconaw has shown Surf and/or Bite, so consider these moves' typings (both incorrectly evaluated to Normal).
  59. - Ghost/Poison is immune to Normal, so the score is increased by 2.
  60. 2. Gengar's damaging moves are Shadow Ball and Dream Eater (both incorrectly evaluated to Normal).
  61. - Normal is neutral vs Water, so the score is left unadjusted.
  62.  
  63. > The final score is 12. The matchup is favorable, so Mean Look is not discouraged.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement