Jump to content
Jeanne d'Ys

eventing Devil Survivor-Style Auto-Skill (+Omake)

Recommended Posts

Hello, hello!

Maki here, and today we'll be creating something that some of you might not expect...

Yep! We're gonna create the Auto-Skill feature from the Devil Survivor series with events!


"What is an Auto-Skill!? Not everyone can survive plays Shin Megami Tensei!"


Of course I know that not everyone does, so I'll explain what the Auto-Skill is.


If you haven't guessed it already, Auto-Skill is a kind of Skill that activates itself without manual command. In the Devil Survivor series, an Auto-Skill is automatically activated at the start of a team's skirmish, if that team's leader has the Auto-Skill equipped. Auto-Skills would always be activated at the very beginning of the team's skirmish regardless of turn order, as long as the leader has the resources required to cast the Skill. Auto-Skills are the Human equivalent of Racial Skills, which are exclusive to certain demon races, and not all of those Racial Skills are automatic.


In this tutorial, we're going to create one of those skills. Of course, it would be adapted into the mainstream turn-based battle system that most RPG Maker user uses.


Rage Soul

People who plays Devil Survivor 2 might remember this Skill courtesy of a certain bipolar kid. In this tutorial, we'll be creating this infamous buff skill, Rage Soul. Originally, it doubles physical damage at the cost of disabling manual Skill usage, but since RMVXA doesn't have that feature implemented, we're going to alter it a bit into doubling ATK at the cost of disabling manual Skills.



Skill Data:

Name: Rage Soul
Type: Auto
Cost: 7 MP
Doubles party's ATK for the remainder of the battle, but disables Skills.

We're gonna need...

1. An Actor to use the Skill, let's call him Kao.

2. The Skill itself, set everything to None so it can't be used from the main menu nor battle menu.

3. The State for the Skill, let's also call it Rage Soul for convenience and have it change ATK to 200% and seal your Skills in its Trait.

4. A Variable to store the caster's MP, let's call it Kao's MP.


Let's Event!

At every single Troop you want an Auto-Skill to be able to activate, place this battle event:






So, how does it work actually? What does it do?

Let's skim through the event step-by-step...

1. A Conditional Branch checks if Kao has the Rage Soul skill. If true, then proceed.


2. The Variable is set to take data from Kao's current MP, to determine of he fulfills the cost needed.


3. This one part is actually non-existent in the original DeSu games, I just put it so the player can have more control over the skill, effectively turning it into a Semi-Auto-Skill. You can omit this part and just proceed with the MP Conditional Branch if you want pure Auto-Skill.


4. A Conditional Branch checks if Kao has sufficient MP to pay for the Skill. If he has enough, proceed. Otherwise, a message appears to inform that Kao has insufficient MP, and thus aborting the Auto-Skill activation.


5. If Kao has enough MP, the event will then reduce Kao's MP by 7 (Rage Soul's "cost"), and a message would appear to inform that the Skill has been activated. You can also optionally add a battle animation as Rage Soul's "animation" while executed.


6. And finally, add the corresponding Rage Soul stat to the entire party. (NOTE: I misnamed the State as "Berserker Soul", pardon me uwu)




So I accidentally found out the method written in this guide while I was messing up with the RM and the internet in despair to find alternate Elemental Affinity system because the default one isn't really good to me. I wanted to create "Break Elec" or "Fire Amp" kind of Skills, but the default way they system treats elemental affinities isn't suited without some tweaks. I can use the advice to alter it via Troop Event, but it would bring problem if I use, say, Bestiary scripts that show the enemies' true Stats. Then one thing led to another, and somehow I accidentally thought of a way to make DS-styled Auto-Skills! XD


"So, this 'Omake' is just you telling your life story?"


No, of course! This is one of the things that I had been messing with in the RM, and I think I'm just gonna share it XD


Die For Me! (Devil Survivor 2-Style)

Alice's signature attack takes one of its most macabre iteration in Devil Survivor 2, where it kills its target instantly with perfect accuracy, unless said target happens to resist the Almighty element (Needs to Crack Anti-Almighty from a certain spoiler character), in which the Skill's effect becomes... Halve target's HP. Yep, still nuts. Oh, and it also happens to target an entire party, too...



Skill Data:

Name   : Die For Me!
Type   : Command
Cost   : 40 MP
Element: Almighty
Instantly kill all enemies that don't resist Almighty. Else, cuts target's HP by half.

There's no fancy event we need to make, I'm just gonna show the damage formula we can use with this Skill. Always know that the damage formula box is one of the fanciest feature of RMVXA, which makes it very powerful and versatile.

b.element_rate(9)<=0.50 ? b.hp : 9999

So let's see what we have here...


The pattern of this formula is a simplified If-Else statement. It basically reads:

Condition ? True : False


First, it checks the Almighty (ID 9 in my Database) elemental affinity of the target. If it's 50% or below, it gives damage equal to target's HP. Else, it hits for 9999 damage.


You may ask a question though, why b.hp instead of b.hp/2 if we're gonna halve target's HP?

Well, it's because the target already has 50% affinity to Almighty. Since it's already halved per Trait, adding a "/2" would make the damage 25% instead.


Another one could be, why 50% or lower affinity? Why not exactly 50%?

Yup, it might look very confusing, since it would make it a bit awkward for enemies with, say, 40% or 20% Almighty affinity. However, DeSu only have Normal (100%), Weak (200%), Strong (50%) and Null (0%) affinity, not counting Reflect and Absorb. And since 0% affinity would practically receive 0 damage from the Skill anyway, I decided to keep it at 50% or lower. You can adjust it to "==0.50" for your project if you wish.




Well, so I guess that's it for now!

Thanks for reading this guide guys, I'll see ya later!

Questions? Comments? Feedback? Just leave them below!






Happy designing~


Edited by Maki13

Share this post

Link to post
Share on other sites

Your content will need to be approved by a moderator

You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.