Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/ruby
- puts "Int:"
- int = gets.to_i
- puts "Spellcasting:"
- spc = gets.to_i
- puts "Avg of spell schools:"
- sch = gets.to_i
- puts "Number of enhancers (possibly negative):"
- enh = gets.to_i
- puts "Mons MR:"
- mr = gets.to_i
- rawpower = (int / 10) * (spc/2 + sch*2) * (1.5**enh)
- puts "Raw spellpower: #{rawpower}"
- def adjust(x,a,b,c,d)
- return x if x <= a
- r = a
- a.step(c,b) do |i|
- if r > i
- r = (r-i)/2 + i
- else
- break
- end
- end
- r = d if r > d
- r
- end
- adjustedpower = adjust(rawpower, 50, 50, 150, 200)
- puts "Adjusted spellpower: #{adjustedpower}"
- enchpower = adjust(adjustedpower, 30, 40, 100, 120)
- mrchance = 100+mr - enchpower
- props = []
- 20.times do
- succ = 0
- 1000.times { succ += 1 if mrchance < (1+rand(100) + 1+rand(101)) }
- props << (succ.to_f / 10).to_i
- end
- props.sort!
- puts "Ench success: (#{props[1]}, #{props[18]}) %"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement