Thornton

Villager
Member
Joined
Jul 17, 2015
Messages
7
Reaction score
1
First Language
English
Primarily Uses
RMMV
Hi all, I hope this is the correct forum for this question.

1) I'm trying to make a damage ability that has its damage decreased by 10% for every alive enemy.

I saw this code that can probably help achieve the effect:
$gameTroop.aliveMembers().length

But I'm not sure how to use this in the damage formula to achieve what I'm looking for (if it's even the correct code to use).

2) How could I achieve the same effect as above, but for allies?

Thanks.
 

Palin

Veteran
Veteran
Joined
Mar 17, 2016
Messages
80
Reaction score
36
First Language
English
Primarily Uses
N/A
The code you listed will return the number of alive enemies. You can use it directly in a damage formula. For instance, if all you had in the damage formula was: $gameTroop.aliveMembers().length - then you'd be doing damage equal to the number of enemies (before defense, etc..)

For actors you'd use $gameParty.aliveMembers().length
 

Thornton

Villager
Member
Joined
Jul 17, 2015
Messages
7
Reaction score
1
First Language
English
Primarily Uses
RMMV
The code you listed will return the number of alive enemies. You can use it directly in a damage formula. For instance, if all you had in the damage formula was: $gameTroop.aliveMembers().length - then you'd be doing damage equal to the number of enemies (before defense, etc..)

For actors you'd use $gameParty.aliveMembers().length

Thanks for confirming and providing the allied version. Glad to hear there's no magic math behind the scenes.

For anyone interested, I managed to figure out how to achieve the effect I wanted in the original post:
(<damage formula>) - (((<damage formula>) * ($gameTroop.aliveMembers().length - 1)) * 0.1)
The "0.1" (10%) represents the penalty. At 8 enemies, there is a 70% reduction to the ability's effectiveness (if it's an AoE, the total net damage would still be higher than hitting a single enemy, however).
If you want the first enemy to be taken into account also for the penalty (for whatever reason), you would simply use:
(<damage formula>) - (((<damage formula>) * ($gameTroop.aliveMembers().length)) * 0.1)
*If you calculate your defense formulas inside the skill formula box, you may need to put it at the end of the above formulas.

And lastly, if you want to use this for healing effects, it would be this:
(<healing formula>) + (((<healing formula>) * ($gameParty.aliveMembers().length - 1)) * 0.1)
This would increase the healing by 10% per alive ally that is (technically) not the user.

Hopefully the formulas gives someone an idea or two on some new abilities.
Anywho, this is solved!
 
Last edited:

Latest Threads

Latest Posts

Latest Profile Posts

If you still don't subscribe our Polish channel please consider it :)
1.png
Who wants to see my review of the worst star wars movie? This movie has all the excitement of being on Jury Duty of the most boring case ever about trade negotiations.
A lot to learn to make a game. Can I handle it?
I've been working on status effects since last thursday, and today I finished the core mechanic of Zombie, Teleport, Curse and Recall. Zombie and Curse are lacking a few things to make them complete atm. Teleport though is the "HAHA" spell for some of my mobs, but can "NOPE" at them with Recall.
I'm weird as there are a few game franchises I'll watch and read about, but have no interest in playing.

Forum statistics

Threads
115,162
Messages
1,087,738
Members
149,707
Latest member
hardrockmessi12
Top