Saturday, July 20, 2013

RPG Maker: Scanning Enemies Without Scripting

So, for the past three hours, I have been trying to get a Scan/Libra type skill to work in RPG Maker VX Ace WITHOUT using scripting. I tried a bunch of triggers with events, variables and switches. All of these led to dead ends. Then, I realized something. I can use things for things that they are not meant to be used for.

So, I created a status effect called "Scanned," and my scan-type abilities will inflict this status effect. Then, for each battle, I've created an event for each enemy that triggers at the end of any turn where the enemy is afflicted with scanned by using the "When the end of turn" condition and the "Conditional Branch" option. The event causes a text window to appear and cleanses the enemy of scanned. The text window can have the necessary text written in like a normal event. It won't give you the dynamic HP, TP, MP, currently inflicted states, etc., but it will work for weaknesses and biography type information. You could, theoretically, set INTERNAL conditional branches to say things like "The monster is currently poisoned!," but I felt that was going too far.

Now, this works for me, since I want the numbers to be fairly hidden. Plus, this means I can write things like: "The monster is easily knocked off-balance and takes time to recover after large attacks." Or: "The enemy will respond harshly to attempts to heal." to help players figure out strategies BEFORE they wipe the first time.

Some warnings: Scanned needs to last 2 turns, otherwise RPG Maker clears the effect BEFORE checking if an event should happen. You need to make sure that each event only gets checked for once per turn, otherwise it will constantly fire off if you set it to moment. I have no idea how this work around works if you're using an Active Time Battle System.

... This is how I spent the last three or four hours of my night. What's worst? It probably isn't even the best solution to the problem.


Edit: What this ALSO means is that you can have enemies scan specific player characters to trigger events. So, you could have an enemy "lock on" to a player, and then have the conditional event text read: "The sniper is aiming at Jim! Protect him!" Then, have the next turn, have the enemy do something to targets afflicted with Scanned [provided you make sure the enemy's event did not clear scanned on the PC]. So, now Scanned is pulling double duty. All without scripting.

1 comment:

  1. Thank you! I found it very useful :)

    Currently working on:


Are you commenting? Thank you! Please be nice; I'm lazy and would hate to actually have to moderate things.