Advertisement
leafbarrett

randofuser stat explanation

May 21st, 2017
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 1/6 = ~0.1667
  2. BaseStatTotal is either BaseStatTotal1 for "Base Stat Patterns" or the average of BaseStatTotal1 and BaseStatTotal2 for "Average Bases".
  3.  
  4. Pokemon 1 - Hp1/Atk1/Def1/SpA1/SpD1/Spe1 / BaseStatTotal1
  5. Hp1 / BaseStatTotal1 - 0.1667 = HpMod1
  6. Atk1 / BaseStatTotal1 - 0.1667 = AtkMod1
  7. Def1 / BaseStatTotal1 - 0.1667 = DefMod1
  8. SpA1 / BaseStatTotal1 - 0.1667 = SpAMod1
  9. SpD1 / BaseStatTotal1 - 0.1667 = SpDMod1
  10. Spe1 / BaseStatTotal1 - 0.1667 = SpeMod1
  11.  
  12. Pokemon 2 - Hp2/Atk2/Def2/SpA2/SpD2/Spe2 / BaseStatTotal2
  13. Hp2 / BaseStatTotal2 - 0.1667 = HpMod2
  14. Atk2 / BaseStatTotal2 - 0.1667 = AtkMod2
  15. Def2 / BaseStatTotal2 - 0.1667 = DefMod2
  16. SpA2 / BaseStatTotal2 - 0.1667 = SpAMod2
  17. SpD2 / BaseStatTotal2 - 0.1667 = SpDMod2
  18. Spe2 / BaseStatTotal2 - 0.1667 = SpeMod2
  19.  
  20. HpMod1 + HpMod2 + 0.1667 = HpModFinal * BaseStatTotal = round(BaseHpRaw) = BaseHp
  21. AtkMod1 + AtkMod2 + 0.1667 = AtkModFinal * BaseStatTotal = round(BaseAtkRaw) = BaseAtk
  22. DefMod1 + DefMod2 + 0.1667 = DefModFinal * BaseStatTotal = round(BaseDefRaw) = BaseDef
  23. SpAMod1 + SpAMod2 + 0.1667 = SpAModFinal * BaseStatTotal = round(BaseSpARaw) = BaseSpA
  24. SpDMod1 + SpDMod2 + 0.1667 = SpDModFinal * BaseStatTotal = round(BaseSpDRaw) = BaseSpD
  25. SpeMod1 + SpeMod2 + 0.1667 = SpeModFinal * BaseStatTotal = round(BaseSpeRaw) = BaseSpe
  26.  
  27. Result - BaseHp/BaseAtk/BaseDef/BaseSpA/BaseSpD/BaseSpe
  28.  
  29. Doing a couple of test calculations showed that depending on the donor stats, one pokemon's modifiers could basically drown out the other's, or base stat oddities could negatively affect the result compared to the intent of the formula (such as a tanky pokemon reducing the result's HP); one option to fix this is to dilute the raw stats by averaging them with the average of the donors' stats. This produces less extreme variations, but helps to preserve some of the characteristics of both donors more effectively while still giving more variety in base stats.
  30.  
  31. (BaseHp + (Hp1 + Hp2 ) / 2) / 2 = BaseHpDil
  32. (BaseAtk + (Atk1 + Atk2) / 2) / 2 = BaseAtkDil
  33. (BaseDef + (Def1 + Def2) / 2) / 2 = BaseDefDil
  34. (BaseSpA + (SpA1 + SpA2) / 2) / 2 = BaseSpADil
  35. (BaseSpD + (SpD1 + SpD2) / 2) / 2 = BaseSpDDil
  36. (BaseSpe + (Spe1 + Spe2) / 2) / 2 = BaseSpeDil
  37.  
  38. Result - BaseHpDil/BaseAtkDil/BaseDefDil/BaseSpADil/BaseSpDDil/BaseSpeDil
  39.  
  40. An example.
  41.  
  42. Kadabra - 40/35/30/120/70/105 / 400
  43. 40 / 400 = 0.1000 - 0.1667 = -0.0667
  44. 35 / 400 = 0.0875 - 0.1667 = -0.0792
  45. 30 / 400 = 0.0750 - 0.1667 = -0.0917
  46. 120 / 400 = 0.3000 - 0.1667 = 0.1333
  47. 70 / 400 = 0.1750 - 0.1667 = 0.0083
  48. 105 / 400 = 0.2625 - 0.1667 = 0.0958
  49.  
  50. Bayleef - 60/62/80/63/80/60 / 405
  51. 60 / 405 = 0.1481 - 0.1667 = -0.0185
  52. 62 / 405 = 0.1531 - 0.1667 = -0.0136
  53. 80 / 405 = 0.1975 - 0.1667 = 0.0309
  54. 63 / 405 = 0.1556 - 0.1667 = -0.0111
  55. 80 / 405 = 0.1975 - 0.1667 = 0.0309
  56. 60 / 405 = 0.1481 - 0.1667 = -0.0185
  57.  
  58. -0.0667 - 0.0185 + 0.1667 = 0.0815 * 403 = 32.8445 = 33
  59. -0.0792 - 0.0136 + 0.1667 = 0.0739 * 403 = 29.7817 = 30
  60. -0.0917 + 0.0309 + 0.1667 = 0.1059 * 403 = 42.6777 = 42
  61. 0.1333 - 0.0111 + 0.1667 = 0.2889 * 403 =116.4267 = 116
  62. 0.0083 + 0.0309 + 0.1667 = 0.2059 * 403 = 82.9777 = 83
  63. 0.0958 - 0.0185 + 0.1667 = 0.2440 * 403 = 98.3320 = 98
  64.  
  65. Result - 33/30/42/116/83/98
  66.  
  67. (33 + (40 + 60) / 2) / 2 = 41.5
  68. (30 + (35 + 62) / 2) / 2 = 39.25
  69. (42 + (30 + 80) / 2) / 2 = 48.5
  70. (116+ (120+ 63) / 2) / 2 = 103.75
  71. (83 + (70 + 80) / 2) / 2 = 79
  72. (98 + (105+ 60) / 2) / 2 = 90.25
  73.  
  74. Result - 42/39/49/104/79/90
  75.  
  76.  
  77. Template:
  78.  
  79. - ///// /
  80. / - 0.1667 =
  81. / - 0.1667 =
  82. / - 0.1667 =
  83. / - 0.1667 =
  84. / - 0.1667 =
  85. / - 0.1667 =
  86.  
  87. - ///// /
  88. / - 0.1667 =
  89. / - 0.1667 =
  90. / - 0.1667 =
  91. / - 0.1667 =
  92. / - 0.1667 =
  93. / - 0.1667 =
  94.  
  95. + + 0.1667 = * = round() =
  96. + + 0.1667 = * = round() =
  97. + + 0.1667 = * = round() =
  98. + + 0.1667 = * = round() =
  99. + + 0.1667 = * = round() =
  100. + + 0.1667 = * = round() =
  101.  
  102. Result - /////
  103.  
  104. ( + ( + ) / 2) / 2 =
  105. ( + ( + ) / 2) / 2 =
  106. ( + ( + ) / 2) / 2 =
  107. ( + ( + ) / 2) / 2 =
  108. ( + ( + ) / 2) / 2 =
  109. ( + ( + ) / 2) / 2 =
  110.  
  111. Result - /////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement