Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
23
Reaction score
5
First Language
Spanish
Primarily Uses
RMMV
I purchased the whole pack, and was wondering if there is possible to make the following effects with those. If possible, how would you make them?
-A three-hit combo where each attack is stronger than the previous one and the third deals water damage instead of physical damage
-A cleave that deals damage to an enemy and heals an ally based on that damage (If it's impossible to pick an ally, just heal the most wounded one, or if not possible either, the whole party)
-A stackable effect that reduces armor the more stacks it has and increases the strength of one of the attacks that causes the enemy to recieve damage that also scales with stacks before cleansing them
-A transformation you can use when you have 100TP, adds an ultimate ability and finishes after either casting that ability or after five turns
 

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
44,107
Reaction score
15,524
First Language
English
Primarily Uses
RMMV

I've moved this thread to Plugin Support. Thank you.

 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
4,677
Reaction score
1,797
First Language
Dutch
Primarily Uses
RMMV
everything is possible and probably all of them.
it only requires lunatic code in javascript in order to accomplish it.

people that use the plugins and knows lunatic code can help you on them.
there is a site and forum with those skills.

damage that become weaker after every strike can be reversed to stronger.
around 50+ samples to easely alternate to your liking.

if it's specific, explain in more detail what you want to achieve on the skill
and some good coder can help you with the lunatic code required to make
them work.
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
23
Reaction score
5
First Language
Spanish
Primarily Uses
RMMV
everything is possible and probably all of them.
it only requires lunatic code in javascript in order to accomplish it.

people that use the plugins and knows lunatic code can help you on them.
there is a site and forum with those skills.

damage that become weaker after every strike can be reversed to stronger.
around 50+ samples to easely alternate to your liking.

if it's specific, explain in more detail what you want to achieve on the skill
and some good coder can help you with the lunatic code required to make
them work.
If you can guide me to the website, I have to say I am NOT good with Javascript, already struggling to understand Yanfly scripts, and I don't want to mess up
 

redmedved2

Veteran
Veteran
Joined
Nov 2, 2020
Messages
90
Reaction score
37
First Language
Belarusian
Primarily Uses
RMMV
I purchased the whole pack, and was wondering if there is possible to make the following effects with those. If possible, how would you make them?
-A three-hit combo where each attack is stronger than the previous one and the third deals water damage instead of physical damage
-A cleave that deals damage to an enemy and heals an ally based on that damage (If it's impossible to pick an ally, just heal the most wounded one, or if not possible either, the whole party)
-A stackable effect that reduces armor the more stacks it has and increases the strength of one of the attacks that causes the enemy to recieve damage that also scales with stacks before cleansing them
-A transformation you can use when you have 100TP, adds an ultimate ability and finishes after either casting that ability or after five turns
To do everything you described you need a basic understanding of JS. Not knowledge, just an understanding of how things work. I like your ideas and I'm sure you can do everything with these plugins if you want to, as they give you all the tools you need.
First of all, I advise you to take a closer look at YEP ActionSequencePack, as it is the one that will allow you to program all your features in the skills noteboxes.
I really liked the idea of the hit curing the weakest ally. Since I wanted to do something similar, I wanted to make a magic button that you press to apply a potion to your weakest ally, and this is what I came up with:

It's not actually that hard, I'll try to explain:

I found in the other thread a way to compare multiple variables. This is the common event.
1634293190289.png
You will need something like that to determine what actor is the most damaged one.
In this common event variable called "lowest param" is just comparing to all of your characters HP and if it finds the value lower that it's own, it takes this value. You also have to set your character hp level to A B C D variables before activating the event, I didn't add this in the event.
Original thread where it's explained better:
So after processing that event your "ending" variable value will be from one to four depending on your most damaged character.
And then goes the magic in the skill notebox:

<damage formula>
value = $gameVariables.value(1);
</damage formula>

<setup action>
COMMON EVENT: 9
if $gameVariables.value(135) = 1
animation 8: actor 0
HP +VARIABLE 1: actor 0, (show)
else if $gameVariables.value(135) = 2
animation 8: actor 1
HP +VARIABLE 1: actor 1, (show)
else if $gameVariables.value(135) = 3
animation 8: actor 2
HP +VARIABLE 2: actor 1, (show)
else $gameVariables.value(135) = 4
animation 8: actor 3
HP +VARIABLE 1: actor 3, (show)
end
</setup action>

In the damage formula I just set the damage of the skill to variable 1.

Then I run the common event to determine the most damaged actor.

And after that goes the check for all possible outcomes. So, if the most damaged actor is 2, so after the common event variable "135" will take the value of 2. And then Variable 1 value (skill damage) will be added to the 2 character hp and animation will be played.
I didn't actually tested it, I just showed how it all may looks like since your desired skills are quite tricky, but interesting at the same time.

(Also, this code will heal your character with the "clean" damage, not counting the armor of the target and final damage. To determine the real dealt damage you probably have to set one variable value to the enemy HP before the cleave and after, and then subtract.)

So, with a little effort you can do all what you want, you just have to dive into YEP plugins functionality to gain absolute power over your skill eventing.
 

Attachments

  • 1634293174099.png
    1634293174099.png
    50.4 KB · Views: 0

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,746
Reaction score
1,613
First Language
English
Primarily Uses
RMMV
Just a quick first question - have you done the MV tutorial and played your sample tutorial game to learn how things work? It will help you before you try to change things if you understand how it works to begin with.
-A three-hit combo where each attack is stronger than the previous one and the third deals water damage instead of physical damage
Yes, with action sequences.
-A cleave that deals damage to an enemy and heals an ally based on that damage (If it's impossible to pick an ally, just heal the most wounded one, or if not possible either, the whole party)
You could do this without plugins using the damage formula, but if you want animations that show the attack doing something to heal the ally, you'd use action sequences. You can't do the first part, where you select one enemy and one ally, but selecting an enemy and then healing the most wounded ally or the entire party are both easy.
-A stackable effect that reduces armor the more stacks it has and increases the strength of one of the attacks that causes the enemy to recieve damage that also scales with stacks before cleansing them
Yes, with the Buffs & States Core (you might need to combine with another plugin for the stacking effect).
-A transformation you can use when you have 100TP, adds an ultimate ability and finishes after either casting that ability or after five turns
You don't need any plugins for this. Depending on exactly how you want everything to work, Buffs & States or Passive States might make it easier, but you can just do this with MV by default.
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
23
Reaction score
5
First Language
Spanish
Primarily Uses
RMMV
Just a quick first question - have you done the MV tutorial and played your sample tutorial game to learn how things work? It will help you before you try to change things if you understand how it works to begin with.

Yes, with action sequences.

You could do this without plugins using the damage formula, but if you want animations that show the attack doing something to heal the ally, you'd use action sequences. You can't do the first part, where you select one enemy and one ally, but selecting an enemy and then healing the most wounded ally or the entire party are both easy.

Yes, with the Buffs & States Core (you might need to combine with another plugin for the stacking effect).

You don't need any plugins for this. Depending on exactly how you want everything to work, Buffs & States or Passive States might make it easier, but you can just do this with MV by default.
I know how to select yourself or the enemy with the basic damage formula (a and b), but how do you select another? Let's say Healer has the cleave, uses it against Slime and then heals Tank, I know the formula for the damage would be

a.atk - b.def

but how about the part you locate Tank as the healing target? is it c or something?
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,746
Reaction score
1,613
First Language
English
Primarily Uses
RMMV
I know how to select yourself or the enemy with the basic damage formula (a and b)...but how about the part you locate Tank as the healing target? is it c or something?
No, there isn't a secret third variable - how could the game know whom it referred to? You'd have to use actual JavaScript (which you'll have to use to varying degrees for most of the things you're asking, really).

This should heal the party member with the lowest HP for 20 when you use the skill:
Code:
var group=$gameParty.aliveMembers(); group[group.reduce(((lowest, next, index) => group[next].hp < group[lowest].hp : index ? lowest), 0)].gainHp(20);

Paste it before your actual damage calculation - the last code statement in the formula is always what gets used as the damage for the skill.

Change the 20 to whatever you want.
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
23
Reaction score
5
First Language
Spanish
Primarily Uses
RMMV
No, there isn't a secret third variable - how could the game know whom it referred to? You'd have to use actual JavaScript (which you'll have to use to varying degrees for most of the things you're asking, really).

This should heal the party member with the lowest HP for 20 when you use the skill:
Code:
var group=$gameParty.aliveMembers(); group[group.reduce(((lowest, next, index) => group[next].hp < group[lowest].hp : index ? lowest), 0)].gainHp(20);

Paste it before your actual damage calculation - the last code statement in the formula is always what gets used as the damage for the skill.

Change the 20 to whatever you want.
Alright, thanks! I guess I'll paste it on the formula box. The damage will probably be half the damage dealt to the opponent
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,746
Reaction score
1,613
First Language
English
Primarily Uses
RMMV
Alright, thanks! I guess I'll paste it on the formula box. The damage will probably be half the damage dealt to the opponent
Then you would want to set it up like this:
Code:
var damage= whatever your damage formula is; put all the stuff I gave you here, with the word damage instead of 20; damage
Example:
Code:
var damage=a.atk-b.def; blah blah blah.gainHp(damage/2); damage

Note that if you have a number entered for Variance, or you're allowing critical hits for the skill, this will not take any of that into account - it will heal for half of the calculated damage. If you cared about it being half of the end damage, you're back to using action sequences or Yanfly's states.
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
23
Reaction score
5
First Language
Spanish
Primarily Uses
RMMV
Then you would want to set it up like this:
Code:
var damage= whatever your damage formula is; put all the stuff I gave you here, with the word damage instead of 20; damage
Example:
Code:
var damage=a.atk-b.def; blah blah blah.gainHp(damage/2); damage

Note that if you have a number entered for Variance, or you're allowing critical hits for the skill, this will not take any of that into account - it will heal for half of the calculated damage. If you cared about it being half of the end damage, you're back to using action sequences or Yanfly's states.
Will try it, for now it does 0 but I guess I'll just have to hit the right code, this is for MV right?
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,746
Reaction score
1,613
First Language
English
Primarily Uses
RMMV
Will try it, for now it does 0 but I guess I'll just have to hit the right code, this is for MV right?
Then post what you currently have in your damage formula. Make sure to use the code tag (the </> above). And when you do, be specific about what isn't working - does "it does 0" mean the healing? Or the damage? Or both? If you followed my instructions, it could not affect your damage.
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
23
Reaction score
5
First Language
Spanish
Primarily Uses
RMMV
Then post what you currently have in your damage formula. Make sure to use the code tag (the </> above). And when you do, be specific about what isn't working - does "it does 0" mean the healing? Or the damage? Or both? If you followed my instructions, it could not affect your damage.
Code:
var damage=a.atk-b.def; var group=$gameParty.aliveMembers(); group[group.reduce(((lowest, next, index) => group[next].hp < group[lowest].hp : index ? lowest), 0)].gainHp(damage/2); damage;

I know this will be an abomination for sure, trying my best sorry
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,746
Reaction score
1,613
First Language
English
Primarily Uses
RMMV
@Zealvern You didn't answer my question about what isn't working. All of that looks fine to me.

Note that having a damage formula of a.atd-b.def is very simplistic and means that if you try to hit an enemy that has a higher defense than your attack, you will always be doing 0.
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
23
Reaction score
5
First Language
Spanish
Primarily Uses
RMMV
@Zealvern You didn't answer my question about what isn't working. All of that looks fine to me.

Note that having a damage formula of a.atd-b.def is very simplistic and means that if you try to hit an enemy that has a higher defense than your attack, you will always be doing 0.
Well, it does 0 to the enemy and nothing seems to appear on the ally. I don't think it's a problem of the damage formula because what I'm doing is letting a level one slime attack one of my party members and then using a level 99 character to cast the skill
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,746
Reaction score
1,613
First Language
English
Primarily Uses
RMMV
Huh, okay, so somehow the middle chunk for healing is modifying damage, which it shouldn't be doing. I'll have to troubleshoot it after work, unless someone else helps you before then.

Well, I managed to type my ternary operators backwards, so
Code:
var damage=a.atk-b.def; var group=$gameParty.aliveMembers(); group[group.reduce(((lowest, next, index) => group[next].hp < group[lowest].hp ? index : lowest), 0)].gainHp(damage/2); damage;
is more correct, but I must have something else mistyped in there because I'm still getting 0. Will try more later.
 
Last edited:

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
23
Reaction score
5
First Language
Spanish
Primarily Uses
RMMV
Huh, okay, so somehow the middle chunk for healing is modifying damage, which it shouldn't be doing. I'll have to troubleshoot it after work, unless someone else helps you before then.
Sure, take your time, you're helping a lot already
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,746
Reaction score
1,613
First Language
English
Primarily Uses
RMMV
Well, I was trying to be fancy and efficient using the JavaScript intrinsic functions, but clearly I misunderstood something about them. So it's slightly longer, but I've tested it and this works:
Code:
var damage=a.atk-b.def; var group=$gameParty.aliveMembers(); var memIndex=0; for (var i=0; i<group.length; i++) {if (group[i].hp<group[memIndex].hp) {memIndex=i;}};  group[memIndex].gainHp(damage/2);  damage

Again, that damage formula is easily broken, so I suggest modifying it, but this will do what you want.
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
23
Reaction score
5
First Language
Spanish
Primarily Uses
RMMV
Well, I was trying to be fancy and efficient using the JavaScript intrinsic functions, but clearly I misunderstood something about them. So it's slightly longer, but I've tested it and this works:
Code:
var damage=a.atk-b.def; var group=$gameParty.aliveMembers(); var memIndex=0; for (var i=0; i<group.length; i++) {if (group[i].hp<group[memIndex].hp) {memIndex=i;}};  group[memIndex].gainHp(damage/2);  damage

Again, that damage formula is easily broken, so I suggest modifying it, but this will do what you want.
Thanks! By the way, broken in which way?
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,746
Reaction score
1,613
First Language
English
Primarily Uses
RMMV
In the way I described in post 14.
 

Latest Threads

Latest Profile Posts

When can we get this?
RPG Maker MZ Saturn.png
Saturn port when?
I'm new to rpgmaker mv, link me some good stuff to learn.
Finally, I have graduated from college and now I can put a lot more work into my game, after having not worked on it for the better part of a year.
post so i can change my profile picture ^^
Creating Some art for a fighter game.

Forum statistics

Threads
117,067
Messages
1,104,267
Members
153,042
Latest member
jetrotal
Top