Fomar0153 121 Posted December 18, 2011 (edited) 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 December 18, 2011 by Fomar0153 1 Jennestia reacted to this Share this post Link to post Share on other sites
Jennestia 9 Posted December 18, 2011 I remember using your RPG Maker XP/VX one (if I'm remembering the author name correctly!) Thank you for this Share this post Link to post Share on other sites
mitchi.exe 27 Posted December 18, 2011 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? Share this post Link to post Share on other sites
Fomar0153 121 Posted December 18, 2011 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
Fomar0153 121 Posted December 18, 2011 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. Share this post Link to post Share on other sites
Rosenblack 79 Posted December 18, 2011 (edited) Love it *Edit* *Added to the Master Script List* Edited December 18, 2011 by Rosenblack Share this post Link to post Share on other sites
Jeffafa 0 Posted May 28, 2012 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
Jeffafa 0 Posted May 29, 2012 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
DDD 0 Posted June 18, 2012 It would be awesome when someone learn the skill, play the SE or sounds. Share this post Link to post Share on other sites
Coolie 147 Posted June 21, 2012 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
Caveras 39 Posted June 26, 2012 I'd be interested in a workaround, too =) Share this post Link to post Share on other sites
RAM 9 Posted January 10, 2013 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
Coolie 147 Posted January 10, 2013 You could probably do that with [3...100] or [3..100]. Not sure which one is inclusive. Share this post Link to post Share on other sites
Jeffafa 0 Posted August 2, 2013 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