Advertisement
DrFetus

EO5 Algorithms (WIP)

Jul 20th, 2017 (edited)
9,757
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.95 KB | None | 0 0
  1. Algorithms discovered by Rea (aka HououinMakise.)
  2.  
  3. Lowercase a in front of a variable means attacker. Lowercase d means defender. Lowercase b means base.
  4.  
  5. Damage
  6. ======
  7. PlayerAttack = (aSTAT + aATK)
  8. PlayerDefense = (dSTAT + dDEF)
  9. MonsterAttack = (aSTAT * 2)
  10. MonsterDefense = (dSTAT * 2)
  11.  
  12. compScore = Defense / Attack
  13.  
  14. When a player attacks a monster, compScore = MonsterDefense / PlayerAttack
  15. When a monster attacks a player, compScore = PlayerDefense / MonsterAttack
  16.  
  17. Note: Summons (That aren't the Bunker and Decoy Turrets) use MonsterAttack and MonsterDefense in their damage calculations. The Bunker and Decoy Turret use aSTAT and dSTAT. aATK and dDEF in their case are 0.
  18.  
  19. aSTAT = aSTR if a STR attack is being used. aINT if an INT attack is being used.
  20. aATK = aWATK if a STR attack is being used. aMATK if an INT attack is being used.
  21. dSTAT = dVIT if a STR attack is being used. dWIS if an INT attack is being used.
  22. dDEF = dDEF if a STR attack is being used. dMDEF if an INT attack is being used.
  23.  
  24. If compScore > 1 (target's defense outpaces attacker's offense):
  25. Factor1 = sqrt(sqrt(compScore))
  26. Factor2 = 1.0 - (Factor1 * 0.7)
  27. Factor3 = Attack * 3
  28. Factor4 = Factor2 * Factor3
  29. Factor5 = Factor4 - (Defense * 0.2)
  30. BaseDamage = Factor5 * 0.717
  31.  
  32. BaseDamage = (((1.0 - ((sqrt(sqrt(compScore))) * 0.7)) * (Attack * 3)) - (Defense / 5)) * 0.717)
  33.  
  34. Otherwise (attacker's offense outpaces target's defense):
  35. Factor1 = 1.0 - compScore
  36. Factor2 = Factor1 ^ 3
  37. Factor3 = 0.3 + (Factor2 * 1.7)
  38. Factor4 = Attack * 3
  39. Factor5 = Factor3 * Factor4
  40. Factor6 = Factor5 - (Defense * 0.2)
  41. BaseDamage = Factor6 * 0.717
  42.  
  43. BaseDamage = (((0.3 + (((1.0 - (Defense / Attack)) ^ 3) * 1.7)) * (Attack * 3)) - (Defense / 5)) * 0.717
  44.  
  45. Damage = BaseDamage * SkillPower * Modifiers * Difficulty Factor
  46.  
  47. For player units, Difficulty Factor is 1 on Advanced, and 1.2 on Basic.
  48. For monster units, Difficulty Factor is 1 on Advanced, and 0.8 on Basic.
  49.  
  50. Death's Edge Damage
  51. ===================
  52. Damage * (1 + (Total Party Raw HP Missing / 100)) * (((Party Average Missing HP% + (Party Average Missing HP% ^ 2)) + 0.02) / 2)
  53.  
  54. Buff Parameters
  55. ===============
  56. Attack buffs and defense debuffs are additive.
  57.  
  58. Defense buffs and attack debuffs are multiplicative.
  59.  
  60. Damage Randomization
  61. ====================
  62.  
  63. Critical Hit Rate
  64. =================
  65. Crit Rate = [(aLUC + 25) * 100] / (dLUC + 25)
  66.  
  67. If the result is less than 30, set it to 30.
  68. If the result is greater than 300, set it to 300.
  69. Then roll a number between 0 and 1000.
  70. If that number is lower than the result of the formula, the attack will be a critical hit.
  71.  
  72. Sword God's value is added after the Crit Rate is calculated, allowing it to bypass the cap.
  73.  
  74. Accuracy
  75. ========
  76. A = [((aAGI * 2) + aLUC) * 10] / [(dAGI * 2) + dLUC]
  77.  
  78. AGI is halved and rounded down if the entities involved have their legs bound.
  79. A is rounded down.
  80.  
  81. If A < 10, B = [1 - (1 - (sqrt(A / 10) * 10)) ^ 2] * [(BaseAccuracy + SkillMod) * 10]
  82. If A >= 10, B = [87.5 + (((A / 20) * 50) * (A * 2.5)) * (BaseAccuracy + SkillMod)] / 10
  83.  
  84. Base Accuracy Parameters:
  85. If a party member is using a skill that does not require a weapon, Base Accuracy = Skill Accuracy.
  86. If a party member is using a skill that requires a weapon, Base Accuracy = Weapon Accuracy.
  87. If a party member does not have a weapon equipped, Weapon Accuracy = 95.
  88. If an enemy is using a regular attack, Base Accuracy = 99.
  89. If an enemy is using a skill, Base Accuracy = Skill Accuracy.
  90.  
  91. C = B + Modifiers
  92.  
  93. Modifier Parameters:
  94. Accuracy buffs and evasion debuffs are positive numbers.
  95. Accuracy debuffs and evasion buffs are negative numbers.
  96.  
  97. If C > 1500, C = 1500
  98.  
  99. If the attacker is blinded, D = C * 0.33
  100.  
  101. If the skill bypasses accuracy checks or the target is petrified, asleep, panicked, blind, paralyzed (Only if the effect activates), or leg bound, D = 1000
  102.  
  103. Else, D = C.
  104.  
  105. Roll a number between 1 and 1000. If that number is lower than or equal to D, the attack lands.
  106.  
  107. Enemy Targeting Routine
  108. =======================
  109.  
  110. Infliction Rate
  111. ===============
  112. aScore = (aStat * 2) + aLUC
  113.  
  114. If the skill being cast is a STR-based attack, aStat = STR.
  115. If the skill being cast is a INT-based attack, aStat = INT.
  116. Else, aStat = LUC.
  117.  
  118. A = [(aScore + 76.5) / ((dLUC * 3) + 76.5)] * 10
  119.  
  120. IR = Skill's infliction rate
  121.  
  122. If A <= 2, B = IR
  123. If A > 2 & A < 50, B = IR * A
  124. If A >= 50, B = IR * 50
  125.  
  126. C = B * Resistance * Difficulty Factor * Modifiers
  127.  
  128. Resistance = Base Resistance + Accumulative Resistance
  129. Difficulty Factor for players is 1 on Advanced, and 1.2 on Basic. For enemies, this is 1 on Advanced and 0.8 on Basic.
  130.  
  131. If C is greater than 1500, then set it to 1500.
  132. Then roll a number between 0 and 1000.
  133. If that number is lower than C, then the ailment lands.
  134.  
  135. Accumulative Resistance
  136. =======================
  137.  
  138. Ailment Recovery
  139. ================
  140.  
  141. Poison Damage
  142. =============
  143. RNG1 + [(RNG2 + (Base Poison Damage + (Level / 5))) * (1 + (Level / 100))]
  144.  
  145. RNG1: A random number from 0 to 5.
  146. RNG2: A random number from 0 to 5.
  147.  
  148. Healing (INCOMPLETE)
  149. =======
  150. A = Healing Power * WIS * 2
  151. B = WIS * 2 * 0.010599
  152. C = A * 0.0021786
  153. D = B * sqrt(Healing Power)
  154. E = C + (Healing Power * 0.16667)
  155. Healing Amount = E + (D * 0.1)
  156.  
  157. Speed
  158. =====
  159. [(Equipment Speed Mod + 100) * AGI * Skill Speed Mod * Random number between 90 and 110 / 10000] * Modifiers
  160.  
  161. Equipment Speed Mods from all pieces of equipment on a party member are added together. For enemies, this is obviously 0. The data for Equipment Speed Mods are as follows:
  162.  
  163. Weapons:
  164. Swords: 0
  165. Gauntlets: -5
  166. Staves: -5
  167. Katanas: -5
  168. Bows: 10
  169. Scythes: 5
  170. Artillery: -15
  171. Coffins: 5
  172.  
  173. Equipment:
  174. Heavy Armor: -10
  175. Light Armor: 0
  176. Clothes: 5
  177. Helmets: 0
  178. Gloves: 5
  179. Boots: 10
  180. Shields: -5
  181. Accessories: 0
  182.  
  183. When a rare breed acts, their AGI is multiplied by 10.
  184.  
  185. Union Gain
  186. ==========
  187.  
  188. Preemptives
  189. ===========
  190.  
  191. Blindsides
  192. ==========
  193.  
  194. Escape Rate
  195. ===========
  196.  
  197. Grimoire Chances
  198. ================
  199. GOOD RIDDANCE YOU STUPID RNG-RIDDLED BLIGHT UPON THE SERIES!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement