Jump to content

Recommended Posts

I've made two versions of this script one is completely stand alone and the other requires my Unique Classes Script fully explained here.

 

Blue Mages are mages who traditionally learn magic by being hit with by enemy (or ally) with a skill they can learn. This script enables just that.

 

Stand Alone Blue Magic

Instructions are in the script

=begin
Stand Alone Blue Mages Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
No requirements
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMages" to include all the id's of the party members
who will be blue mages
Set "BlueMagic" to include all the id's of Blue Magic skills
----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_Actor < Game_Battler

 # Edit to include the actor (character) id
 BlueMages = [3]
 # Edit to include all the skill ids of the skills you want your
 # blue mages to learn
 BlueMagic = [3, 4]

 #--------------------------------------------------------------------------
 # â— Aliased make_damage_value
 #--------------------------------------------------------------------------
 alias bluemagic_make_damage_value make_damage_value
 def make_damage_value(user, item)
bluemagic_make_damage_value(user, item)
if @result.hit? and item.class == RPG::Skill
  if BlueMages.include?(@actor_id) and BlueMagic.include?(item.id)
	i = @skills.size
	learn_skill(item.id)
	if !(i == @skills.size)
	  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
	end
  end
end
 end
end

class Scene_Battle < Scene_Base
 #--------------------------------------------------------------------------
 # â— New method add_text
 #--------------------------------------------------------------------------
 def add_text(text)
@log_window.add_text(text)
 end
end

 

Unique Class Blue Mage Script

Requires my Unique Classes Script found here.

Instructions are in the script.

=begin
Blue Mage Class Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
Requires the "Unique Classes Script"
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMagic" to include all the id's of Blue Magic skills
Follow the instructions in the Unique Classes Script

----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_BlueMage < Game_Actor

 # Edit to include all the skill ids of the skills you want your
 # blue mages to learn
 BlueMagic = [3, 4]

 #--------------------------------------------------------------------------
 # â— Aliased make_damage_value
 #--------------------------------------------------------------------------
 alias bluemagic_make_damage_value make_damage_value
 def make_damage_value(user, item)
bluemagic_make_damage_value(user, item)
if @result.hit? and item.class == RPG::Skill
  if BlueMagic.include?(item.id)
	i = @skills.size
	learn_skill(item.id)
	if !(i == @skills.size)
	  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
	end
  end
end
 end
end

class Scene_Battle < Scene_Base
 #--------------------------------------------------------------------------
 # â— New method add_text
 #--------------------------------------------------------------------------
 def add_text(text)
@log_window.add_text(text)
 end
end

 

Planned Future Development

-May need updating when RPG Maker VXA is released in English.

Edited by Fomar0153

Share this post


Link to post
Share on other sites

I remember using your RPG Maker XP/VX one (if I'm remembering the author name correctly!) Thank you for this :)

You possibly do, I've coded this for both of them.

During a battle, how would the player know if the actor learned the skill? Is there some kind of message or sound effect when the 'learn skill' is triggered in battle?

Good point. No, I'll have a think about how to do it, Scene_Battle is unrecognisable from XP & VX but I'll come up with something.

Share this post


Link to post
Share on other sites

During a battle, how would the player know if the actor learned the skill? Is there some kind of message or sound effect when the 'learn skill' is triggered in battle?

Script updated, now notification is given in the battle log.

Blue Mage.png

Share this post


Link to post
Share on other sites

I've made two versions of this script one is completely stand alone and the other requires my Unique Classes Script fully explained here.

 

Blue Mages are mages who traditionally learn magic by being hit with by enemy (or ally) with a skill they can learn. This script enables just that.

 

Stand Alone Blue Magic

Instructions are in the script

=begin
Stand Alone Blue Mages Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
No requirements
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMages" to include all the id's of the party members
who will be blue mages
Set "BlueMagic" to include all the id's of Blue Magic skills
----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_Actor < Game_Battler

 # Edit to include the actor (character) id
 BlueMages = [3]
 # Edit to include all the skill ids of the skills you want your
 # blue mages to learn
 BlueMagic = [3, 4]

 #--------------------------------------------------------------------------
 # â— Aliased make_damage_value
 #--------------------------------------------------------------------------
 alias bluemagic_make_damage_value make_damage_value
 def make_damage_value(user, item)
bluemagic_make_damage_value(user, item)
if @result.hit? and item.class == RPG::Skill
  if BlueMages.include?(@actor_id) and BlueMagic.include?(item.id)
	i = @skills.size
	learn_skill(item.id)
	if !(i == @skills.size)
	  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
	end
  end
end
 end
end

class Scene_Battle < Scene_Base
 #--------------------------------------------------------------------------
 # â— New method add_text
 #--------------------------------------------------------------------------
 def add_text(text)
@log_window.add_text(text)
 end
end

 

Unique Class Blue Mage Script

Requires my Unique Classes Script found here.

Instructions are in the script.

=begin
Blue Mage Class Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
Requires the "Unique Classes Script"
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMagic" to include all the id's of Blue Magic skills
Follow the instructions in the Unique Classes Script

----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_BlueMage < Game_Actor

 # Edit to include all the skill ids of the skills you want your
 # blue mages to learn
 BlueMagic = [3, 4]

 #--------------------------------------------------------------------------
 # â— Aliased make_damage_value
 #--------------------------------------------------------------------------
 alias bluemagic_make_damage_value make_damage_value
 def make_damage_value(user, item)
bluemagic_make_damage_value(user, item)
if @result.hit? and item.class == RPG::Skill
  if BlueMagic.include?(item.id)
	i = @skills.size
	learn_skill(item.id)
	if !(i == @skills.size)
	  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
	end
  end
end
 end
end

class Scene_Battle < Scene_Base
 #--------------------------------------------------------------------------
 # â— New method add_text
 #--------------------------------------------------------------------------
 def add_text(text)
@log_window.add_text(text)
 end
end

 

Planned Future Development

-May need updating when RPG Maker VXA is released in English.

 

Awesome script :) Is there a way to work it so that if a foe even just USES a "blue magic" skill at all, you can learn it? For instance, some of the really cool ones out there don't actually damage you, and I've played around with it for a little bit and I can't seem to learn any of them if they don't actually hurt me. Skills like White Wind, that cure the party rather than damage the opposing team. Would that be possible at all?

Share this post


Link to post
Share on other sites

I've made two versions of this script one is completely stand alone and the other requires my Unique Classes Script fully explained here.

 

Blue Mages are mages who traditionally learn magic by being hit with by enemy (or ally) with a skill they can learn. This script enables just that.

 

Stand Alone Blue Magic

Instructions are in the script

=begin
Stand Alone Blue Mages Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
No requirements
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMages" to include all the id's of the party members
who will be blue mages
Set "BlueMagic" to include all the id's of Blue Magic skills
----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_Actor < Game_Battler

 # Edit to include the actor (character) id
 BlueMages = [3]
 # Edit to include all the skill ids of the skills you want your
 # blue mages to learn
 BlueMagic = [3, 4]

 #--------------------------------------------------------------------------
 # â— Aliased make_damage_value
 #--------------------------------------------------------------------------
 alias bluemagic_make_damage_value make_damage_value
 def make_damage_value(user, item)
bluemagic_make_damage_value(user, item)
if @result.hit? and item.class == RPG::Skill
  if BlueMages.include?(@actor_id) and BlueMagic.include?(item.id)
	i = @skills.size
	learn_skill(item.id)
	if !(i == @skills.size)
	  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
	end
  end
end
 end
end

class Scene_Battle < Scene_Base
 #--------------------------------------------------------------------------
 # â— New method add_text
 #--------------------------------------------------------------------------
 def add_text(text)
@log_window.add_text(text)
 end
end

 

Unique Class Blue Mage Script

Requires my Unique Classes Script found here.

Instructions are in the script.

=begin
Blue Mage Class Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
Requires the "Unique Classes Script"
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMagic" to include all the id's of Blue Magic skills
Follow the instructions in the Unique Classes Script

----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_BlueMage < Game_Actor

 # Edit to include all the skill ids of the skills you want your
 # blue mages to learn
 BlueMagic = [3, 4]

 #--------------------------------------------------------------------------
 # â— Aliased make_damage_value
 #--------------------------------------------------------------------------
 alias bluemagic_make_damage_value make_damage_value
 def make_damage_value(user, item)
bluemagic_make_damage_value(user, item)
if @result.hit? and item.class == RPG::Skill
  if BlueMagic.include?(item.id)
	i = @skills.size
	learn_skill(item.id)
	if !(i == @skills.size)
	  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
	end
  end
end
 end
end

class Scene_Battle < Scene_Base
 #--------------------------------------------------------------------------
 # â— New method add_text
 #--------------------------------------------------------------------------
 def add_text(text)
@log_window.add_text(text)
 end
end

 

Planned Future Development

-May need updating when RPG Maker VXA is released in English.

 

Awesome script :) Is there a way to work it so that if a foe even just USES a "blue magic" skill at all, you can learn it? For instance, some of the really cool ones out there don't actually damage you, and I've played around with it for a little bit and I can't seem to learn any of them if they don't actually hurt me. Skills like White Wind, that cure the party rather than damage the opposing team. Would that be possible at all?

 

Nevermind. Got a work-around going :)

Share this post


Link to post
Share on other sites

I've made two versions of this script one is completely stand alone and the other requires my Unique Classes Script fully explained here.

 

Blue Mages are mages who traditionally learn magic by being hit with by enemy (or ally) with a skill they can learn. This script enables just that.

 

Stand Alone Blue Magic

Instructions are in the script

=begin
Stand Alone Blue Mages Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
No requirements
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMages" to include all the id's of the party members
who will be blue mages
Set "BlueMagic" to include all the id's of Blue Magic skills
----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_Actor < Game_Battler

 # Edit to include the actor (character) id
 BlueMages = [3]
 # Edit to include all the skill ids of the skills you want your
 # blue mages to learn
 BlueMagic = [3, 4]

 #--------------------------------------------------------------------------
 # â— Aliased make_damage_value
 #--------------------------------------------------------------------------
 alias bluemagic_make_damage_value make_damage_value
 def make_damage_value(user, item)
bluemagic_make_damage_value(user, item)
if @result.hit? and item.class == RPG::Skill
  if BlueMages.include?(@actor_id) and BlueMagic.include?(item.id)
	i = @skills.size
	learn_skill(item.id)
	if !(i == @skills.size)
	  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
	end
  end
end
 end
end

class Scene_Battle < Scene_Base
 #--------------------------------------------------------------------------
 # â— New method add_text
 #--------------------------------------------------------------------------
 def add_text(text)
@log_window.add_text(text)
 end
end

 

Unique Class Blue Mage Script

Requires my Unique Classes Script found here.

Instructions are in the script.

=begin
Blue Mage Class Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
Requires the "Unique Classes Script"
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMagic" to include all the id's of Blue Magic skills
Follow the instructions in the Unique Classes Script

----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_BlueMage < Game_Actor

 # Edit to include all the skill ids of the skills you want your
 # blue mages to learn
 BlueMagic = [3, 4]

 #--------------------------------------------------------------------------
 # â— Aliased make_damage_value
 #--------------------------------------------------------------------------
 alias bluemagic_make_damage_value make_damage_value
 def make_damage_value(user, item)
bluemagic_make_damage_value(user, item)
if @result.hit? and item.class == RPG::Skill
  if BlueMagic.include?(item.id)
	i = @skills.size
	learn_skill(item.id)
	if !(i == @skills.size)
	  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
	end
  end
end
 end
end

class Scene_Battle < Scene_Base
 #--------------------------------------------------------------------------
 # â— New method add_text
 #--------------------------------------------------------------------------
 def add_text(text)
@log_window.add_text(text)
 end
end

 

Planned Future Development

-May need updating when RPG Maker VXA is released in English.

 

Awesome script :) Is there a way to work it so that if a foe even just USES a "blue magic" skill at all, you can learn it? For instance, some of the really cool ones out there don't actually damage you, and I've played around with it for a little bit and I can't seem to learn any of them if they don't actually hurt me. Skills like White Wind, that cure the party rather than damage the opposing team. Would that be possible at all?

 

Nevermind. Got a work-around going :)

 

Care to share this workaround? Fomar stated on his blog that he would update this script to work with non-damaging skills, but hasn't done so just yet.

Share this post


Link to post
Share on other sites

I'm new to all of this, so this may be a dumb question, but do you add in each of the skills you'd like the user to learn, or is there a way to select a group of skills, say 3 through 100?

Share this post


Link to post
Share on other sites

 

 

 

 

I've made two versions of this script one is completely stand alone and the other requires my Unique Classes Script fully explained here.

 

Blue Mages are mages who traditionally learn magic by being hit with by enemy (or ally) with a skill they can learn. This script enables just that.

 

Stand Alone Blue Magic

Instructions are in the script

=begin
Stand Alone Blue Mages Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
No requirements
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMages" to include all the id's of the party members
who will be blue mages
Set "BlueMagic" to include all the id's of Blue Magic skills
----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_Actor < Game_Battler

  # Edit to include the actor (character) id
  BlueMages = [3]
  # Edit to include all the skill ids of the skills you want your
  # blue mages to learn
  BlueMagic = [3, 4]

  #--------------------------------------------------------------------------
  # â— Aliased make_damage_value
  #--------------------------------------------------------------------------
  alias bluemagic_make_damage_value make_damage_value
  def make_damage_value(user, item)
	bluemagic_make_damage_value(user, item)
	if @result.hit? and item.class == RPG::Skill
	  if BlueMages.include?(@actor_id) and BlueMagic.include?(item.id)
		i = @skills.size
		learn_skill(item.id)
		if !(i == @skills.size)
		  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
		end
	  end
	end
  end
end

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # â— New method add_text
  #--------------------------------------------------------------------------
  def add_text(text)
	@log_window.add_text(text)
  end
end

Unique Class Blue Mage Script

Requires my Unique Classes Script found here.

Instructions are in the script.

=begin
Blue Mage Class Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
Requires the "Unique Classes Script"
Allows party members to learn skills by being hit by them.
Commonly described as Blue Magic or Enemy Skills
----------------------
Instructions
----------------------
Set "BlueMagic" to include all the id's of Blue Magic skills
Follow the instructions in the Unique Classes Script

----------------------
Changle Log
----------------------
1.0 -> 1.1 : Added notification when learning a new Skill
----------------------
Known bugs
----------------------
None
=end
class Game_BlueMage < Game_Actor

  # Edit to include all the skill ids of the skills you want your
  # blue mages to learn
  BlueMagic = [3, 4]

  #--------------------------------------------------------------------------
  # â— Aliased make_damage_value
  #--------------------------------------------------------------------------
  alias bluemagic_make_damage_value make_damage_value
  def make_damage_value(user, item)
	bluemagic_make_damage_value(user, item)
	if @result.hit? and item.class == RPG::Skill
	  if BlueMagic.include?(item.id)
		i = @skills.size
		learn_skill(item.id)
		if !(i == @skills.size)
		  SceneManager.scene.add_text(actor.name + " learns " + item.name + ".")
		end
	  end
	end
  end
end

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # â— New method add_text
  #--------------------------------------------------------------------------
  def add_text(text)
	@log_window.add_text(text)
  end
end

Planned Future Development

-May need updating when RPG Maker VXA is released in English.

 

Awesome script :) Is there a way to work it so that if a foe even just USES a "blue magic" skill at all, you can learn it? For instance, some of the really cool ones out there don't actually damage you, and I've played around with it for a little bit and I can't seem to learn any of them if they don't actually hurt me. Skills like White Wind, that cure the party rather than damage the opposing team. Would that be possible at all?

 

Nevermind. Got a work-around going :)

 

Care to share this workaround? Fomar stated on his blog that he would update this script to work with non-damaging skills, but hasn't done so just yet.

 

 

I'd be interested in a workaround, too =)

 

Omgosh guys, I'm so sorry I never got back to you. I've been out of sync for around a year. My apologies. I hope you're still interested in the workaround.

 

Anyway, I wound up not needing the script, because I couldn't make it work by having the skill merely used instead of the blue mage being targeted with the skill. Instead, I have a Common Event for each Blue Magic skill I'd like to have learned. Now, with this setup, I had to decide ahead of time who the blue mage was going to be. I'm sure someone could figure out an easier way, but here's how I have it working:

 

 

1) Create each skill that you'd like your blue mage to learn

 

2) Create a Common Event for each of those skills set up like this:

     - Trigger: none

     - @>Conditional Branch: [Actor name] is In the Party

          @>Conditional Branch: [Actor name] is [skill name] Learned

               @>

           :    Else

               @> Change skills: [Actor name], + [skill name]

               @> Text: (what ever message you wish to appear, if any)

               @>

           :    Branch End

          @>

        :  Branch End

      @>

 

3) Go back to skills, select each skill, and under Effects, link each skill with its respective Common Event.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×