IceDragon200

Mehhhh

Aug 16th, 2011
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.67 KB | None | 0 0
  1. # // <var_req>
  2.  
  3. module DBZ
  4.   module SkillLevel
  5.     MAX_LEVEL = 10
  6.     REQ_VAR = []
  7.     # REQ_VAR[level] = [var_id, value]
  8.     var = 1
  9.     REQ_VAR[0] = [var, 0]
  10.     REQ_VAR[1] = [var, 1]
  11.     REQ_VAR[2] = [var, 5]
  12.     REQ_VAR[3] = [var, 10]
  13.     REQ_VAR[4] = [var, 15]
  14.     REQ_VAr[5] = [var, 20]
  15.     REQ_VAR[6] = [var, 30]
  16.     REQ_VAR[7] = [var, 40]
  17.     REQ_VAR[8] = [var, 50]
  18.     REQ_VAR[9] = [var, 60]
  19.     REQ_VAR[10] = [var, 70]
  20.    
  21.   end
  22. end
  23.  
  24. class RPG::Skill
  25.  
  26.   def variable_req?
  27.     @variable_req ||= self.note =~ /<VAR_REQ>/i
  28.     return true #@variable_req
  29.   end
  30.  
  31. end
  32.  
  33. class Game_Actor
  34.  
  35.   def skill_can_levelup?(skill_id)
  36.     if $data_skills[skill_id].variable_req?
  37.       lvl = [[(skill_level(skill_id)+1), DBZ::SkillLevel::MAX_LEVEL].min, 0].max
  38.       req = DBZ::SkillLevel::REQ_VAR[lvl]
  39.       return false unless $game_variables[req[0]] >= req[1]
  40.     end
  41.     return true
  42.   end
  43.  
  44.   def level_up_skill(skill_id, free=true)
  45.     @skill_lvls[skill_id] += 1
  46.     unless free
  47.       skp = DBZ::SkillLevel::SKP_REQ
  48.       if DBZ::SkillLevel::SKP_CURVE > 0
  49.         skp += (skill_level(skill_id)-1) * DBZ::SkillLevel::SKP_CURVE
  50.       end
  51.       @skp -= skp
  52.     end
  53.     unlock_skills
  54.   end
  55.  
  56. end
  57.  
  58. class Scene_Skill
  59.  
  60.   def update_skill_selection
  61.     if Input.trigger?(Input::B)
  62.       Sound.play_cancel
  63.       return_scene
  64.     elsif Input.trigger?(Input::R)
  65.       Sound.play_cursor
  66.       next_actor
  67.     elsif Input.trigger?(Input::L)
  68.       Sound.play_cursor
  69.       prev_actor
  70.     elsif Input.trigger?(Input::C)
  71.       @skill = @skill_window.skill
  72.       if @actor.skill_learn?(@skill)
  73.         if @skill != nil
  74.           @actor.last_skill_id = @skill.id
  75.         end
  76.         if @actor.skill_can_use?(@skill)
  77.           Sound.play_decision
  78.           determine_skill
  79.         else
  80.           Sound.play_buzzer
  81.         end
  82.       else
  83.         Sound.play_buzzer
  84.       end
  85.       @actor.last_skill_id = nil
  86.     elsif Input.trigger?(Input::X)
  87.       skill_id = @skill_window.skill.id
  88.       req = DBZ::SkillLevel::SKP_REQ
  89.       req += (@actor.skill_level(skill_id)) * DBZ::SkillLevel::SKP_CURVE
  90.       skill_points = @actor.skill_points >= req
  91.       if @actor.skill_level(skill_id) < @actor.max_lvl(skill_id) and skill_points and @actor.skill_can_levelup?(skill_id)
  92.         Sound.play_use_item
  93.         unless @actor.skill_learn?($data_skills[skill_id])
  94.           @actor.learn_skill(skill_id, false)
  95.           @skill_window.index = @actor.skills.size-1
  96.         else
  97.           @actor.level_up_skill(skill_id, false)
  98.         end
  99.         @skp_window.refresh
  100.         @skill_window.refresh
  101.       else
  102.         Sound.play_buzzer
  103.       end
  104.     end
  105.   end
  106.    
  107. end
Advertisement
Add Comment
Please, Sign In to add comment