Shield Blocking (シールドブロック)

Version 1.2 (4/28/2013)
Script Download

The motivation for making this script came from the awkward infatuation with newbie RM users and dual-weapon wielding. Maybe there needs to be a better incentive for using a shield.

With that, I chose to make a script that supports blocking in battle. Shield block design mechanics are borrowed from World of Warcraft. This includes the now obsolete ‘block value’ statistic and more recent ‘critical block’ mechanic. Users have a choice of using block value to reduce damage, a simple percentage reduction of damage, or a mix of both.

This script introduces four new battler parameters for both actors and enemies:

  • blv : BLock Value – reduces blocked damage by a flat amount
  • blr : BLock reduction Rate – reduces damage by a percentage
  • blc : BLock Chance – percentage chance to block normally
  • cbl : Critical BLock chance – percentage chance to block critically

Additional options include negating critical hits when they are blocked.

Changelog

  • v1.2
    • Bugfix: Block chance is no longer always maxed.
    • Bugfix: Having high amounts of block value will no longer output large, inaccurate numbers in the battle log.
    • Compatibility Update: YEA – Ace Battle Engine.
    • Customization options added for YEA – Ace Battle Engine.
    • Blocking now prevents states and other hit effects if damage is reduced to 0. (4/28/2013)
  • v1.1
    • Typo/Bugfix with $imported variable. (7/09/2012)
  • v1.0
    • Initial release. (7/03/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.

The following Notetags are for Actors, Classes, Weapons, Armors, Enemies, and States:

<blocking>
<block>

This tag allows the ability to block. Blocking an attack reduces damage taken depending on the battler’s block value (BLV) and block reduction rate (BLR). This tag is not limited to shields. Any actor, class, or piece of equipment can provide the ability to block. Enemies can block too.

<critical blocking>
<critical block>
<crit blocking>
<crit block>

This tag allows the critical blocking ability. Critical blocks provide a bonus to block value and block reduction rate when critical blocks occur. Critical blocks take precedence over normal blocks if both occur at the same time. This tag is not limited to shields. Any actor, class, or piece of equipment can provide the ability to critical block. Enemies can critical block too.

<block value: +n>
<block value: -n>

This tag modifies block value (BLV). Block value directly subtracts damage from an attack when a block occurs. For example, if an attacker does 200 damage, and a defender has 50 block value, the defender can potentially reduce the damage to 150 damage if the attack is blocked. Block value stacks with block reduction rate (BLR).

<block reduction rate: -n%>
<block reduction rate: -n%>
<block rate: +n%>
<block rate: -n%>

This tag modifies block reduction rate (BLR) which reduces damage by a percentage rate. For example, if BLR is 30, damage will be reduced by 30% when blocked. This effect stacks with block value (BLV). Do not mistake “block rate” with “block chance”. They are different within this script.

<block chance: +n%>
<block chance: -n%>

This tag modifies normal block chance (BLC). Normal block chance affects how often normal blocks occur.

<critical block chance: +n%>
<critical block chance: -n%>
<crit block chance: +n%>
<crit block chance: -n%>

This tag modifies critical block chance (CBL). Critical block chance affects how often critical blocks occur.

——

The following Notetags are for Skills and Items only:

<unblockable>

Items and skills with this tag are rendered unblockable. This tag will only affect blocking. It has no effect on evasion, etc.

Compatibility

This script has built-in compatibility with the following scripts:

This script aliases the following default VXA methods:

  • Game_Battler#execute_damage
  • Game_Battler#make_damage_value
  • Game_Battler#apply_guard
  • Game_ActionResult#clear_hit_flags
  • Game_ActionResult#clear_damage_values
  • Window_BattleLog#display_hp_damage

There are no default method overwrites.

Requests for compatibility with other scripts are welcome.

——

To add battler block parameters to Ace Status Menu, insert any of the following lines of code into any one of the three PROPERTIES_COLUMN arrays under Properties Windows Settings.

[:blv, “Block Value”],
[:blr, “Block Reduction Rate”],
[:blc, “Block Chance”],
[:cbl, “Critical Block Chance”],

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/

19 Responses to Shield Blocking (シールドブロック)

  1. Pingback: RGSS3: (Shield) Blocking « Bubble Blog

  2. Pingback: RGSS3: Auto-Life Effect (リレイズ) « Bubble Blog

  3. Mitchell says:

    When you block a skill, that doesn’t block the state it can inflict,
    say, you block a hornet’s primary attack but you are still Poisoned.

  4. Do you by chance still intend on updating this to be compatible with YEA – Ace Battle Engine? Or are you just focusing on new scripts?
    Not rushing, just checking.

  5. Mr. Bubble says:

    @simplestchaos: I don’t get much feedback on this script which tells me that people aren’t that interested in it. But since you asked, I’ll make another attempt at it.

  6. Mr. Bubble says:

    Small update: I’ve fixed a couple unreported bugs and I’ve learned enough about Ace Battle Engine to make pop-up text appear for blocked attacks. However, I’m still working on dealing with preventing states from being added after blocking damage to zero. I want to get the state issue fixed before releasing the next version.

  7. DenimMage says:

    I’m having trouble with this. It works, but enemies and actors block more attacks than they get hit by.

    If an actor blocks, they take no damage. For my example, I set up actor notes so that he would block only 2% of the time:

    OR

    Neither of these seem to do the trick. They seem to block about 75% of the time. What could I be doing wrong?

  8. Mr. Bubble says:

    @Denim: Sorry, it’s a bug. I’ll be releasing a new version pretty soon.

  9. Mr. Bubble says:

    Script has been updated to v1.2. Please test it and let me know if any bugs/errors.

  10. DenimMage says:

    Will do, Mr. Bubble. This script may not be very popular, but it is important to me, so I’ll help test if you need me to. By the way, my tags on my earlier post didn’t show up. I’ll end up trying to post it again if there are bugs.

  11. Randy Pascuzzi says:

    dear mr bubble u don’t know me but line 738 keeps coming back as float error I don’t understand code not sure if im doing something wrong or something else I only have ace core ace battle and ace status used at the moment for testing purposes thxs

  12. bloodyliao says:

    dear mr bubble, I wanna show more information about the character in the ace-equip-engine, say your battler block parameters , what should I do with the script?

    Here’s the ace-equip-engine: (http://yanflychannel.wordpress.com/rmvxa/gameplay-scripts/ace-equip-engine/)

  13. Jamanta says:

    I know it’s been a while and probably only a few people care about this script, but I really like it.
    Anyway, I’m having problem with the pop-ups.
    I’m using Ace Battle Engine + Battle Symphony from Yami and no pop-up (block) happens, but the script itself works (reduces dmg).
    Am I missing something or it’s just not compatible?

  14. Alvin says:

    I really love the script, any chance we could have it play an animation on block, something that could vary based on the shield you are wearing?

  15. Hey, I love this script a lot. It seems though that enemies cannot block. The popup (blocked!) appears but they don’t actually get any damage blocked. Is this a bug or an incompatibility with another script? Thanks!

  16. AtomosomotA says:

    Hello Mr. Bubble, as a few people already necro’d the crap out of this I would like to inquire about adding one extra feature to this. Would it be possible to make the script be able to change your character graphic when you block damage. You see, I use a sideview battle system with my game and it just so happens that I have a few unused character sprites holding a shield. Thank you for your time and consideration. 🙂

  17. Alvaro Benavides says:

    LOL this is script is very nice!

  18. tmrev says:

    Mr Bubble, I would like to change the sound for when something successfully blocks. how might that be done?

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