Gargoyle77

Veteran
Veteran
Joined
Dec 4, 2017
Messages
81
Reaction score
11
First Language
English
Primarily Uses
RMMV
Hello, everyone. I tried reading the damage formula 101, but can't make what I have in mind work. Basically I want the formula to check if the target is affected by certain state. If so, then that state is removed, then the user vaina some mp and finally certain amount of dmg is applied. And if the target is not affected by that state, then normal dmg is applied. How can accomplish this? Thanks for reading !
 

Arctica

Veteran
Veteran
Joined
Jul 19, 2021
Messages
83
Reaction score
102
First Language
English
Primarily Uses
RMMZ
Hello, everyone. I tried reading the damage formula 101, but can't make what I have in mind work. Basically I want the formula to check if the target is affected by certain state. If so, then that state is removed, then the user vaina some mp and finally certain amount of dmg is applied. And if the target is not affected by that state, then normal dmg is applied. How can accomplish this? Thanks for reading !

Hmm let's say.. your initial damage (for the skill in question) is 20

Code:
if (b.isStateAffected(stateId) === false) {
    20;
} else {
    b.removeState(stateId);
    a.gainMp(amount);
    20 * someMultiplierOfYourChoice;
};

Am I on the right track here?
Edit: corrected var misshap.
 
Last edited:

Gargoyle77

Veteran
Veteran
Joined
Dec 4, 2017
Messages
81
Reaction score
11
First Language
English
Primarily Uses
RMMV
Hmm let's say.. your initial damage (for the skill in question) is 20

Code:
if (b.isStateAffected(stateId) === false) {
    20;
} else {
    b.removeState(stateId);
    a.gainMp(amount);
    20 * someMultiplierOfYourChoice;
};

Am I on the right track here?
Edit: corrected var misshap.
Worked perfectly fine. Thanks a lot for your help
 

cubeking1

Villager
Member
Joined
Dec 19, 2013
Messages
14
Reaction score
1
First Language
english
Primarily Uses
ive been trying to make a skill that ramps its damage up with each use but the first use the skill is always zero what am i missing?

((a.atk+(a.luk/2))*(.8+(v[21]*.2)))*4-(b.def+(b.luk/2))*2
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
19
Reaction score
2
First Language
Spanish
Primarily Uses
RMMV
I'm doing a thing, in a nutshell I want my healer to have an attack that hits an enemy and restores the most wounded ally's HP based on half the damage dealt, but it gives 0. Please be noted I have zero idea of JavaScript


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 was given this code on other post. Can this script be fixed or is there a better way to do it?
 
Last edited:

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
650
Reaction score
264
First Language
English
Primarily Uses
RMMV
You seem to be overcomplicating your code; there's no need to care about the index of the most wounded member. I tried simplifying it and came up with this; let me know if it works. (Of course you need to remove the line breaks to use it in the damage box.)

JavaScript:
var damage=a.atk-b.def;
var group=$gameParty.aliveMembers();
var mostWounded = group.reduce((lowest, next) => next.hp < lowest.hp : next ? lowest)
mostWounded.gainHp(damage/2);
damage

Or with fewer variables:

JavaScript:
var damage=a.atk-b.def;
$gameParty.aliveMembers().reduce((lowest, next) => next.hp < lowest.hp : next ? lowest).gainHp(damage/2);
damage

(As to whether there's a better way to do it… probably, but it would require a plugin.)
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
19
Reaction score
2
First Language
Spanish
Primarily Uses
RMMV
You seem to be overcomplicating your code; there's no need to care about the index of the most wounded member. I tried simplifying it and came up with this; let me know if it works. (Of course you need to remove the line breaks to use it in the damage box.)

JavaScript:
var damage=a.atk-b.def;
var group=$gameParty.aliveMembers();
var mostWounded = group.reduce((lowest, next) => next.hp < lowest.hp : next ? lowest)
mostWounded.gainHp(damage/2);
damage

Or with fewer variables:

JavaScript:
var damage=a.atk-b.def;
$gameParty.aliveMembers().reduce((lowest, next) => next.hp < lowest.hp : next ? lowest).gainHp(damage/2);
damage

(As to whether there's a better way to do it… probably, but it would require a plugin.)
Negative, it does zero. For your information, if it would require a plugin, I have the whole YEP pack
 

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
650
Reaction score
264
First Language
English
Primarily Uses
RMMV
Well, the way to debug what's wrong with the formula would be to past the key part into the developer console (which can be opened with either F8 or F12) and press enter:

JavaScript:
$gameParty.aliveMembers().reduce((lowest, next) => next.hp < lowest.hp : next ? lowest)

At a glance, I think the ? and : need to switch places.
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,216
Reaction score
1,180
First Language
English
Primarily Uses
RMMV
@Zealvern it doesn't make much sense to post the same questions in a different thread while you have your own thread active. The only thing it can accomplish is confusing two conversations - in this case, Solar_Flare was posting trying to help you hours after I already gave you working code in your original thread.

@Solar_Flare the over-complication was my fault for not being sufficiently well-versed in how reduce works (and yes, my original post to him did copy a snippet from a blog post that had the ternary operators reversed, it took me two posts to notice).
 

Zealvern

Villager
Member
Joined
Oct 30, 2020
Messages
19
Reaction score
2
First Language
Spanish
Primarily Uses
RMMV
@Zealvern it doesn't make much sense to post the same questions in a different thread while you have your own thread active. The only thing it can accomplish is confusing two conversations - in this case, Solar_Flare was posting trying to help you hours after I already gave you working code in your original thread.

@Solar_Flare the over-complication was my fault for not being sufficiently well-versed in how reduce works (and yes, my original post to him did copy a snippet from a blog post that had the ternary operators reversed, it took me two posts to notice).
Yeah, you're right, sorry, wanted to cover a wider area in order to get the biggest amount of possible solutions and get the drill on how do more complex formulas work, that's all on me.
 

Latest Threads

Latest Posts

Latest Profile Posts

i only have one decent song and i dont even think it fits for a video game
Update: I finished the combat arena! My goodness, it took a while! There were numerous little bugs to squash.
Maldra wrote on stramin's profile.
Hi regarding the 32 bit -> 64 bit
I am running on a 64 bit windows OS and tried doing this conversion. I converted all of the .exe files that I could find in the KADOKAWA\RPGMV folder using the 4gbpatch.exe file. However, after trying to access RPG Maker MV after this conversion, it simply will not load. Do you have any advice or any ideas?
****ing muscle memory: does anyone else habitually quit out of test play when they notice something they """HAVE""" to fix, in spite of the fact that you can now edit DURING test play?

...thousands of times...

...every day?
Does anyone recognize him? :kaocry:
pwkyiDa.jpg

And hi.

Forum statistics

Threads
115,928
Messages
1,094,139
Members
151,188
Latest member
yuangou
Top