Blue Magic (VX)

I’m going to “back-up” my scripts here over time, probably a few time’s a week until I’m done.
Anyway Sunday’s script was blue magic for rpg maker VX:

Blue Magic

Blue Magic

=begin
Blue Mage
by Fomar0153
Version 1.0.0

Instructions
Ok this is pretty simple, you copy the script and paste it below Materials
in the script editor at which point you need to find the two lines:
  BlueMages = [1, 2, 3, 4]
  BlueMagic = [1, 2, 3, 4, 5, 6, 7, 8]
Which are the lines you need to edit the first line tells the script
who the blue mage/s are, the numbers refer the actor's id in the database
for example:
  BlueMages = [1, 2, 3, 4]
means Ralph, Ulrika, Bennett and Ylva are blue mages
  BlueMages = [4]
means Ylva is the only blue mage
The other line:
    @bluemagic = [1, 2, 3, 4, 5, 6, 7, 8]
Tells the script which skills can be learnt by the blue mage the numbers once
again reference the skill's id in the database.
You can edit the blue mages and the skills they can learn during the course
of the game by using the script event for example to add a mage:
$game_party.bluemages.push(5)
To remove a mage:
$game_party.bluemages.delete(5)
To add magic:
$game_party.bluemagic.push(9)
To remove magic:
$game_party.bluemagic.delete(9)

And that's all my instructions so I hope you found them useful and enjoy using
this script.
=end

class Game_Party < Game_Unit

  attr_accessor :bluemages
  attr_accessor :bluemagic

  alias blue_mage_initialize initialize
  def initialize
    blue_mage_initialize
    @bluemages = [1, 2, 3, 4]
    @bluemagic = [1, 2, 3, 4, 5, 6, 7, 8]
  end

  def blue_mage?(id)
    return @bluemages.include?(id)
  end

  def blue_magic?(id)
    return @bluemagic.include?(id)
  end

end

class Scene_Battle

  alias blue_mage_execute_action_skill execute_action_skill
  def execute_action_skill
    blue_mage_execute_action_skill
    skill = @active_battler.action.skill
    targets = @active_battler.action.make_targets
    for target in targets
      if target.actor?
        if $game_party.blue_mage?(target.id) and $game_party.blue_magic?(skill.id)
          unless target.skill_learn?(skill)
            target.learn_skill(skill.id)
            wait(10)
            @message_window.add_instant_text(target.name + " learns " + skill.name)
            wait(60)
          end
        end
      end
    end
  end

end

Leave a Reply