Advertisement
Guest User

Erze Damage Calculator

a guest
Jul 20th, 2019
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.17 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Tue Jul  9 14:29:17 2019
  4.  
  5. @author: danihadi
  6.  
  7. ERZE STAT CALCULATOR
  8.  
  9. Remember that you need 3 lines of crit, so you only have 13 option lines available to spread over atk, cdmg and pen.
  10. """
  11. #variables to edit
  12. atk_lines = 3
  13. atk_ench = 2 * 11
  14. cdmg_lines = 6
  15. cdmg_ench = 2 * 22
  16. pen_lines = 4
  17. pen_ench = 0
  18.  
  19. #variables self attack
  20. UW_atk = 119892
  21. earring_atk = 23702
  22. base_atk = 21992
  23.  
  24. #variables self %attack
  25. utatk = 0
  26. gear_atk = 12 * atk_lines + atk_ench                                            #option lines first, total attack from enchants after
  27. opt_atk = utatk + gear_atk
  28. rune_atk = 60
  29.  
  30. #variables buff %attack
  31. UW_buff = 0.5 * 200                                                             #depends on UW stacks
  32. T1_atk = 30
  33. T2_tw = 20
  34. crown = 63
  35. award = 8
  36. medi_t5d = 40                                                                   #40
  37. medi_s1l = 10                                                                   #10
  38. lavril_t5d = 60                                                                 #60
  39. lavril_s2d = 20
  40. juno_s1l = 15
  41.  
  42. patk_buff = UW_buff + T1_atk + T2_tw + crown + award + medi_t5d + medi_s1l + lavril_t5d + lavril_s2d + juno_s1l
  43.  
  44. #variables flat attack
  45. S4_atk = 4212 * (1 + 200/100) * 32                                              #last number depends on amount of S4 stacks, need to test next GC
  46. medi_s3 = 0.2 * 30000 + 37932
  47. lavril_s4 = 27775
  48.  
  49. flat_atk = S4_atk + medi_s3 + lavril_s4
  50.  
  51. #variables crit damage
  52. utcdmg = 0
  53. gear_cdmg = 24 * cdmg_lines + cdmg_ench                                         #option lines first, total cdmg from enchants after
  54. rune_cdmg = 40 + 22
  55. cdmg = 30 + utcdmg + gear_cdmg + rune_cdmg
  56. T2_os = 30
  57. medi_ut1 = 20                                                                   #20
  58. lavril_s2 = 50 + 0.15 * 500
  59.  
  60. cdmg_tot = cdmg + T2_os + medi_ut1 + lavril_s2
  61.  
  62. #variables penetration
  63. utpen = 0
  64. gear_pen = 120 * pen_lines + pen_ench
  65. rune_pen = 110
  66. pen = utpen + gear_pen + rune_pen
  67. T2_tw = 200
  68. lavril_s4l = 300
  69.  
  70. pen_tot = pen + T2_tw + lavril_s4l
  71.  
  72. #variables skills
  73. x = 30                                                                          #S1D stacks
  74. skill_mult = (1630/1000) * (1000+100*x+500)/1000
  75. skill_const = (326 + 326 * 26221 /1000 * 8000/1000) * (1000+100*x+500)/1000
  76.  
  77. #calculations attack and cdmg
  78. atk_self = UW_atk + earring_atk + base_atk
  79. patk_self = opt_atk + rune_atk
  80. atk_scrn = atk_self * (1 + patk_self/100)
  81. atk_tot = ((atk_self * (1 + patk_self/100)) * (1 + patk_buff/100)) + flat_atk
  82.  
  83. #calculations penetration
  84. if (pen_tot <= 450):
  85.     pen_p = pen_tot
  86.    
  87. elif (pen_tot >= 450 and pen_tot <= 1000):
  88.     pen_p = ((pen_tot*409)/1000)+266
  89.    
  90. else:
  91.     pen_p = 900-(900*1000000)/(2*pen_tot*pen_tot+1000*pen_tot+1000000)
  92.  
  93. #final calculations
  94. pillardef = 50000
  95. def_net = pillardef * ((1000 - pen_p)/1000)
  96. dmg_red = 0.9817 * def_net / (19360.3675 + def_net)
  97. damage = (((skill_mult * atk_tot) + skill_const) * (1 + cdmg_tot/100)) * (1-dmg_red)
  98.  
  99. print("Erze attack stat on screen:", atk_scrn)
  100. print("Erze cdmg stat on screen:", cdmg, "%")
  101. print("Erze pen stat:", pen_p/10, "%")
  102. print("Erze S1 damage (without manti/MH):", damage)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement