Last active
June 11, 2016 18:52
-
-
Save brailsmt/2339c387e0f10f1a307f030f43156651 to your computer and use it in GitHub Desktop.
Print min/max values of a given stat
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require 'pp' | |
max_possible = { | |
:ghost => [25, 10], | |
:class => [25, 10], | |
:helm => [46, 19], | |
:gloves => [41, 17], | |
:chest => [61, 25], | |
:boots => [56, 23], | |
:artifact => [38, 42], | |
} | |
DEFENSE_FINAL=335 | |
def fitValue(defense) | |
if defense > 300 | |
(0.2546 * defense) - 23.825 | |
elsif defense>200 | |
(0.1801 * defense) - 1.4612 | |
else | |
-1; | |
end | |
end | |
init_defense = ARGV[0].to_f | |
init_stats = [] | |
init_stats << ARGV[1].to_f | |
init_stats << ARGV[2].to_f | |
min = [] | |
max = [] | |
min << (init_stats[0] ) * fitValue(DEFENSE_FINAL) / fitValue(init_defense) | |
min << (init_stats[1] ) * fitValue(DEFENSE_FINAL) / fitValue(init_defense) | |
max << (init_stats[0]+1.0) * fitValue(DEFENSE_FINAL) / fitValue(init_defense) | |
max << (init_stats[1]+1.0) * fitValue(DEFENSE_FINAL) / fitValue(init_defense) | |
puts "Stat1 Min #{((init_stats[0] ) * fitValue(DEFENSE_FINAL) / fitValue(init_defense)).floor}" | |
puts "Stat1 Max #{((init_stats[0]+1.0) * fitValue(DEFENSE_FINAL) / fitValue(init_defense)).floor}" | |
puts "Stat2 Min #{((init_stats[1] ) * fitValue(DEFENSE_FINAL) / fitValue(init_defense)).floor}" | |
puts "Stat2 Max #{((init_stats[1]+1.0) * fitValue(DEFENSE_FINAL) / fitValue(init_defense)).floor}" | |
puts "If item is: roll%" | |
max_possible.each { |k,vs| | |
min_pct = (min[0]/max_possible[k].first * 100) | |
max_pct = (min[1]/max_possible[k].first * 100) | |
next if min_pct > 100 | |
next if max_pct > 100 | |
#puts "#{k}: #{min[0]/max_possible[k].first} - #{max[1]/max_possible[k].first}" | |
puts "#{k}: #{min_pct} - #{max_pct}" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment