Blue Magic (青魔法)

Version 1.1 (4/27/2013)
Script Download

This script is based off the concept of “Blue Magic” from the Final Fantasy series. Blue Magic is the ability to use skills originally cast by enemies. Those who have the talent to cast Blue Magic are called Blue Mages.

This script is meant to serve a base script for future scripts also based off the concept of Blue Magic/Blue Mages.

Changelog

  • v1.1
    • Custom sound effects should no longer crash the game. (4/27/2013)
  • v1.0
    • Initial release. (7/29/2012)

Notetags

Note: Some tags are given shorter tags for typing convenience. You only need to use one <tag> from a given group for a notebox. Use common sense.

The following Notetag is for Skills only:

<blue magic>

This tag flags the skill as Blue Magic. Actors capable of learning Blue Magic will learn the skill when directly hit by it.

The following Notetag is for Actors, Classes, Weapons, Armors, and States:

<blue magic: learning>

This tag allows an Actor to learn Blue Magic skills when hit by them. If a Class has this tag, then an Actor must be that class to learn Blue Magic. If a Weapon or Armor has this tag, an Actor must equip it to take effect. If a State has this tag then an Actor must be inflicted by that state. Any Blue Magic learning notifications in battle are shown after an action is complete.

Compatibility

This script aliases the following default VXA methods:

  • DataManager#load_database
  • Game_ActionResult#clear
  • Game_Battler#item_apply
  • Scene_Battle#process_action_end
  • Scene_Battle#use_item

There are no default method overwrites.

Requests for compatibility with other scripts are welcome.

Terms and Conditions

Please do not repost this script elsewhere without permission.

Free for non-commercial use. For commercial use, contact me first.

Newest versions of this script can be found at https://mrbubblewand.wordpress.com/

17 Responses to Blue Magic (青魔法)

  1. Pingback: RGSS3: Blue Magic (青魔法) « Bubble Blog

  2. estriole says:

    i just want to give you some idea to improve your blue magic system. in my project i’m currently combining and modifiying many people script to create what i call copycat / advanced blue mage.

    for starter i also use yanfly class script so i can have subclasses. and i also use yanfly attack replace (because i use attack as skill copy method)
    in my project i use subclass as the check what kind of blue mage that actor currently is. i have some subclasses that belong to copycat/bluemage: fake, replicate, upgrade, invent/combine.

    when fake -> the actor will learn skill listed at enemy behavior when he attack the enemy but will forget it after battle(hikimoky / tomiaky script)

    when replicate -> the actor will learn skill listed at enemy behavior when he attack the enemy permanently (yes yanfly script again)

    when upgrade -> attack learn skill permanent same with replicate but i add modified formar skillmaster (i edit quite heavily) script so when the actor using this subclass use the skill he learn from the enemy x times. the skill itself will evolve to stronger version.

    when invent/combine -> same with replicate but i costumize formar skillmaster script even deeper so when actor using 2 kind of skill x times (so this check 2 skill instead of one) ex : using fire breath 10 times and ice breath 10 times. actor will learn new skill (for the sake of concept i create the skill added is like combination of the two skill ex: dual breath. but its up to the user when he set the database).

    so there is character progression in this script. the actor who used to only copy the skill of the enemy in battle only evolved to permanent then evolved again with upgrading then finally create new skills.

    although i already accomplish what i want using those different author script but i think it would be great if you could add those as single script. 😀 (means less people to credits?). and the code could be neater since what i combined use different method at learning the skill (because from different author).

    hope that concept above helps you. i tell you this concept because of this reason:
    1) people bored of plain old blue mage
    2) i think your script is coded neatly which make the user easy to use the script.
    3) mine is not shareable because its messy and hard to understand.

    best regard, estriole

  3. estriole says:

    sorry i forgot to mention the reason why i use attack as skill copy method. because its annoying to wait the enemy use the skill at your blue mages. takes the initiative instead and charge at him lol.

  4. Mr. Bubble says:

    Those are some interesting suggestions. I forgot there was already a skill steal script already made. I was actually going to make that script next, but for Blue Magic skills only.

    I think I will have to put my FFXI Blue Mage skill system script on hold for now, I guess.

  5. estriole says:

    if you are interested here my demo version of copycat/adv blue mage for you to analize the code. but i warn you. the code is messy. 😀

    here’s the link.
    http://www.mediafire.com/?7uv7atqcj2ts7mq

    there also some minor bug i have yet to solve like:
    the [yanfly skill steal] will learn skill even thought the attack miss or evaded while the tomiaky script works perfecly such as you only steal skill if you actually hit the target. its a bit strange. how could you learn the enemy skill when you miss your strike :D.

    for some information i also use that script with lots of script and even victor animated battler but of course with some modification 😀 (but might work without modification i don’t know since i combine that script after i mod other script according what i need).

    hope that helps.

  6. tsumi otoko says:

    is it possible for you to combine both script into one blue magic script and add an able & disable option for skill stealing and skill to be learn after being hit ?

  7. Mr. Bubble says:

    estriole, I haven’t looked at it, but I’d imagine the YF skill steal thing would be easily fixable, I think. I’m not sure why it hasn’t been.

    tsumi, I can’t tell if you’re talking to me or estriole, but I’m not sure what you’re referring to when you say “both”. You’re going to need to be more detailed about what you want.

  8. Coolie says:

    For those who use sideview systems, it might be a good idea to add an array or id to the skill notetag so that skills used by enemies tagged as Blue Magic actually teach a DIFFERENT skill, for the purpose of cleaner animations. For instance, the enemies are placed on the left, meaning their animations gravitate toward the right when attacking party members. Create a second skill with the animation reversed, and this is the skill taught to the party member, so when it is used on enemies, it doesn’t appear as though it’s taking place from behind the enemy,

    Did I explain that well enough?

  9. Mr. Bubble says:

    Coolie, I was under the impression that skill animations in those sideview scripts had the option to invert animations depending on the settings and whether the animation was done by an actor or enemy.

  10. Coolie says:

    Not all of them do, unfortunately.

  11. Coolie says:

    Also, some people may use different formula patterns to determine damage for enemies and allies alike, so enemies using the same exact skill that the character would learn would either be under/overpowered.

  12. mugen808 says:

    hello, is this script Blue Magic compatible with Victor Engine Animated Battle System ? thanks

  13. Bayon says:

    Heya,
    Just asking why I get error message when I try blue magic on Battle group tester?
    Here is the error code:
    Script “blue_magic” line 396: NoMethodError occurred.

    undefined method ‘item’ for nil:NilClass

    • Tiago Mercês says:

      Mesmo erro aqui.
      Same error here.

    • Joe says:

      I’m getting this same error, my situation is this: I have a character in the party who uses mix and mixes two items that have no recipe, so an item is created that damages and stuns the user, when he’s hit by this item I get the error.

  14. Tiago Mercês says:

    Bubble Hello, I’m having a compatibility problem, OR ERROR, with this script.

    I’m using the “Victor Eng – State Incapacity” (http://victorscripts.wordpress.com/rpg-maker-vx-ace/gameplay-scripts/incapacitate-states/).

    To find the error, I did as follows:
    1 – Create a state (State “X”) at note add
    2 – Add a skill, this skill should apply the “State X”.
    3 – If the actor apply this magic in itself, of course he will die (function of ) but the following error occurs:

    Line 396: NoMethodError ocurred
    Undefined method ‘item’ for nil: NilClass

    Would have like help me?

    • Tiago Mercês says:

      I found a bug.
      This bug occurs both in the script “Adiktuzmiko – Extends Blue Mage” and the script “Mr. Bubble – Blue Mage”.

      “Adiktuzmiko – Extends Blue Mage”
      “Line 426: No MethodError ocurred.
      Undefined Method ‘item’ for nil: NilClass.

      “Mr. Bubble – Blue Mage”
      “Line 396: No MethodError ocurred.
      Undefined Method ‘item’ for nil: NilClass.

      To find the bug, follow these steps:
      1 – Create a spell
      2 – Add the application of a state that magic
      3 – This state should disable the user (exemple: sleep, paralyzed, stunned)
      4 – apply this magic in the own user (example: Actor 1, use in actor 1)

      See the bug.

Leave a Reply here. (Due to a recent increase in comment spam bots, new comments will be moderated unless you have at least one approved comment in the past.)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s