Advertisement
misingnoglic

RS Level Calculator

Nov 14th, 2011
2,265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 11.07 KB | None | 0 0
  1. def MeleeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  2.     return int((.25*((13/10)*(Attack+Strength)+Defense+Constitution+(.5*Prayer)))//1)
  3.  
  4. def MagicLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  5.     return int((.25*((13/10)*((3/2)*Magic)+Defense+Constitution+(.5*Prayer)))//1)
  6.  
  7. def RangeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  8.     return int((.25*((13/10)*((3/2)*Range)+Defense+Constitution+(.5*Prayer)))//1)
  9.  
  10. def NextLevelMeleeAttStr(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  11.     Me=MeleeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  12.     if Me+1==MeleeLevel(Attack+1, Strength, Defense, Constitution, Range, Magic, Prayer): return 1
  13.     else: return 1+NextLevelMeleeAttStr(Attack+1, Strength, Defense, Constitution, Range, Magic, Prayer)
  14.  
  15. def NextLevelMeleeDefCon(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  16.     Me=MeleeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  17.     if Me+1==MeleeLevel(Attack, Strength, Defense+1, Constitution, Range, Magic, Prayer): return 1
  18.     else: return 1+NextLevelMeleeDefCon(Attack, Strength, Defense+1, Constitution, Range, Magic, Prayer)
  19.  
  20. def NextLevelMeleePray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  21.     Me=MeleeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  22.     if Me+1==MeleeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer+1):return 1
  23.     else: return 1+NextLevelMeleePray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer+1)
  24.  
  25. def NextLevelMeleeMage(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  26.     Me=MeleeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  27.     if MagicLevel(Attack, Strength, Defense, Constitution, Range, Magic+1, Prayer)==Me+1: return 1
  28.     else: return 1+NextLevelMeleeMage(Attack, Strength, Defense, Constitution, Range, Magic+1, Prayer)
  29.  
  30. def NextLevelMeleeRange(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  31.     Me=MeleeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  32.     if RangeLevel(Attack, Strength, Defense, Constitution, Range+1, Magic, Prayer)==Me+1: return 1
  33.     else: return 1+NextLevelMeleeRange(Attack, Strength, Defense, Constitution, Range+1, Magic, Prayer)
  34.  
  35. def NextLevelMagicAttStr(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  36.     Ma=MagicLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  37.     if Ma+1==MeleeLevel(Attack+1, Strength, Defense, Constitution, Range, Magic, Prayer): return 1
  38.     else: return 1+NextLevelMagicAttStr(Attack+1, Strength, Defense, Constitution, Range, Magic, Prayer)
  39.  
  40. def NextLevelMagicDefCon(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  41.     Ma=MagicLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  42.     if Ma+1==MagicLevel(Attack, Strength, Defense+1, Constitution, Range, Magic, Prayer): return 1
  43.     else: return 1+NextLevelMagicDefCon(Attack, Strength, Defense+1, Constitution, Range, Magic, Prayer)
  44.  
  45. def NextLevelMagicPray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  46.     Ma=MagicLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  47.     if Ma+1==MagicLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer+1):return 1
  48.     else: return 1+NextLevelMagicPray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer+1)
  49. def NextLevelMagicMage(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  50.     Ma=MagicLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  51.     if Ma+1==MagicLevel(Attack, Strength, Defense, Constitution, Range, Magic+1, Prayer): return 1
  52.     else: return 1+NextLevelMagicMage(Attack, Strength, Defense, Constitution, Range, Magic+1, Prayer)
  53. def NextLevelMagicRange(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  54.     Ma=MagicLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  55.     if RangeLevel(Attack, Strength, Defense, Constitution, Range+1, Magic, Prayer)==Ma+1: return 1
  56.     else: return 1+NextLevelMagicRange(Attack, Strength, Defense, Constitution, Range+1, Magic, Prayer)
  57.  
  58. def NextLevelRangeAttStr(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  59.     Ra=RangeLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  60.     if Ra+1==MeleeLevel(Attack+1, Strength, Defense, Constitution, Range, Magic, Prayer): return 1
  61.     else: return 1+NextLevelRangeAttStr(Attack+1, Strength, Defense, Constitution, Range, Magic, Prayer)
  62.  
  63. def NextLevelRangeDefCon(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  64.     Ra=RangeLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  65.     if Ra+1==RangeLevel(Attack, Strength, Defense+1, Constitution, Range, Magic, Prayer): return 1
  66.     else: return 1+NextLevelRangeDefCon(Attack, Strength, Defense+1, Constitution, Range, Magic, Prayer)
  67.  
  68. def NextLevelRangePray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  69.     Ra=RangeLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  70.     if Ra+1==RangeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer+1):return 1
  71.     else: return 1+NextLevelRangePray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer+1)
  72. def NextLevelRangeMage(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  73.     Ra=RangeLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  74.     if Ra+1==MagicLevel(Attack, Strength, Defense, Constitution, Range, Magic+1, Prayer): return 1
  75.     else: return 1+NextLevelRangeMage(Attack, Strength, Defense, Constitution, Range, Magic+1, Prayer)
  76. def NextLevelRangeRange(Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  77.     Ra=RangeLevel (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  78.     if RangeLevel(Attack, Strength, Defense, Constitution, Range+1, Magic, Prayer)==Ra+1: return 1
  79.     else: return 1+NextLevelRangeRange(Attack, Strength, Defense, Constitution, Range+1, Magic, Prayer)
  80.  
  81. def RSLevel():
  82.  
  83.     Attack = int(input("Attack Level: "))
  84.     Strength = int(input("Strength Level: "))
  85.     Defense = int(input("Defense Level: "))
  86.     Constitution = int(input("Constitution Level: "))
  87.     Range = int(input("Range Level: "))
  88.     Magic = int(input("Magic Level: "))
  89.     Prayer = int(input("Prayer Level: "))
  90.     Me=MeleeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  91.     Ma=MagicLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  92.     Ra=RangeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  93.     return RSLevelRaw (Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  94.  
  95. def RSLevelRaw (Attack, Strength, Defense, Constitution, Range, Magic, Prayer):
  96.     Me=MeleeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  97.     Ma=MagicLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  98.     Ra=RangeLevel(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)
  99.  
  100.     print ("")
  101.     print ("Your combat level is "+str(max([Me, Ma, Ra])))
  102.     print ("")
  103.     if Me==max([Me, Ma, Ra]):
  104.   if Me==126: print ("You have reached the maximum level in F2P Runescape, congrats!")
  105.   else:
  106.     print ("To get to level "+str(Me+1)+", you need to achieve one of these:")
  107.     if (NextLevelMeleeAttStr(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+Attack+Strength<(99*2):
  108.     print ("    "+str(NextLevelMeleeAttStr(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Attack or Strength Levels")
  109.     if (NextLevelMeleeDefCon(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+Defense+Constitution<(99*2):
  110.     print ("    "+str(NextLevelMeleeDefCon(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Defense or Constitution Levels")
  111.     if NextLevelMeleePray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)+Prayer<99:
  112.     print ("    "+str(NextLevelMeleePray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Prayer Levels")
  113.     if NextLevelMeleeMage(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)+Magic<99:
  114.     print ("    "+str(NextLevelMeleeMage(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Magic Levels")
  115.     if NextLevelMeleeRange(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)+Range<99:
  116.     print ("    "+str(NextLevelMeleeRange(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Range Levels")
  117.     print ("Your combat level is melee based")
  118.  
  119.     elif Ma==max([Me, Ma, Ra]):
  120.   print ("To get to level "+str(Ma+1)+", you need:")
  121.   if (NextLevelMagicAttStr(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+Attack+Strength<(99*2):
  122.     print ("    "+str(NextLevelMagicAttStr(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Attack or Strength Levels")
  123.   if (NextLevelMagicDefCon(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+Defense+Constitution<(99*2):
  124.     print ("    "+str(NextLevelMagicDefCon(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Defense or Constitution Levels")
  125.   if NextLevelMagicPray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)+Prayer<99:
  126.     print ("    "+str(NextLevelMagicPray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Prayer Levels")
  127.   if NextLevelMagicMage(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)+Magic<99:
  128.     print ("    "+str(NextLevelMagicMage(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Magic Levels")
  129.   if NextLevelMagicRange(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)<99:
  130.     print ("    "+str(NextLevelMagicRange(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Range Levels")
  131.   print ("Your combat level is magic based")
  132.     elif Ra==max([Me, Ma, Ra]):
  133.   print ("To get to level "+str(Ra+1)+", you need:")
  134.   if (NextLevelRangeAttStr(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+Attack+Strength<(99*2):
  135.     print ("    "+str(NextLevelRangeAttStr(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Attack or Strength Levels")
  136.   if (NextLevelRangeDefCon(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+Defense+Constitution<(99*2):
  137.     print ("    "+str(NextLevelRangeDefCon(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Defense or Constitution Levels")
  138.   if NextLevelRangePray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)+Prayer<99:
  139.     print ("    "+str(NextLevelRangePray(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Prayer Levels")
  140.   if NextLevelRangeMage(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)+Magic<99:
  141.     print ("    "+str(NextLevelRangeMage(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Magic Levels")
  142.   if NextLevelRangeRange(Attack, Strength, Defense, Constitution, Range, Magic, Prayer)<99:
  143.     print ("    "+str(NextLevelRangeRange(Attack, Strength, Defense, Constitution, Range, Magic, Prayer))+" Range Levels")
  144.   print ("Your combat level is range based")
  145.  
  146.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement