jbrocky

magic-training.lic

Jun 23rd, 2019
458
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.31 KB | None | 0 0
  1. custom_require.call(%w[common common-arcana])
  2.  
  3. class MagicTraining
  4.   include DRC
  5.   include DRCA
  6.  
  7.   def initialize
  8.     @mana_threshold = 40 #percentage
  9.  
  10.     loop do
  11.       unless train_magics
  12.         return
  13.       else
  14.         pause 1
  15.       end
  16.     end
  17.   end
  18.  
  19.   def train_magics
  20.     return false unless mana > @mana_threshold
  21.  
  22.     skills_to_train = %w[Utility Warding Augmentation]# Sorcery]
  23.     skills_to_train.reject! { |skill| DRSkill.getxp(skill) > 20 }
  24.     return false if skills_to_train.empty?
  25.  
  26.     skills_to_train.sort_by { |skill| DRSkill.getxp(skill) }
  27.                    .each    { |skill|
  28.                                # Get settings here so I can update on the fly
  29.                                echo "Training: #{skill}"
  30.                                settings = get_settings
  31.                                magics = settings.magic_training
  32.  
  33.                                spell_data = magics[skill]
  34.                                before_xp = DRSkill.getxp(skill)
  35.                                cast_spell(spell_data, settings, true) if mana > @mana_threshold
  36.                                echo "#{skill} gains: #{DRSkill.getxp(skill) - before_xp}"
  37.                             }
  38.     true
  39.   end
  40. end
  41.  
  42. before_dying do
  43.   fput('release spell')
  44.   fput('release sym')
  45. end
  46.  
  47. MagicTraining.new
Advertisement
Add Comment
Please, Sign In to add comment