I have a question on a formula I've been trying to figure out... I found this, b.result().missed, to check if hit connects. What I'm trying to do is I have an elemental attack that adds a state IF it connects. What I'm confused on now is trying to get the formula to recognize two things... 1. check if it hits to add the state to the user, and 2. check the element of the enemy and deal more/less damage appropriately. I know about b.elementRate also, but every time I put the formula together, I get a stack error...
RMMV Damage Formula - ideas and help
● ARCHIVED · READ-ONLY
-
-
1. Although it doesn't work quite how I think you suspect, b.result() will ONLY return a value if the attack wasn't dodged, so you can use it to check whether it hit. What you want is something like
Code:b.result() ? b.addState(ID of state) : null; damageformula
2. The damage calculation already factors in elemental resistances/weaknesses, so even though you CAN reference elementRate in the formula, I'm not sure why you'd need to. This is already done for you...unless you want to deal even more damage with a particular skill than the standard elemental weakness would? -
1. Although it doesn't work quite how I think you suspect, b.result() will ONLY return a value if the attack wasn't dodged, so you can use it to check whether it hit. What you want is something like
Code:b.result() ? b.addState(ID of state) : null; damageformula
2. The damage calculation already factors in elemental resistances/weaknesses, so even though you CAN reference elementRate in the formula, I'm not sure why you'd need to. This is already done for you...unless you want to deal even more damage with a particular skill than the standard elemental weakness would?
Thanks, this works and is way less complicated than what I was trying to do lol. I've basically been trying to figure out more complicated formulas with the help of Yanfly's Damage Core... but I'm still learning obviously. -
There's nothing that makes me happier than showing people far simpler ways of doing things that they were trying to do in complicated ones. :)
-
Hi, I'm trying to figure out an issue with dispersion. Here's my formula so far.
((150 + (a.mhp/8) + a.atk)*1.5)/$gameParty.aliveMembers().length - b.def
I want this to also check for when it misses something, and have each miss subtract 1 from the aliveMembers().length function.
Edit: I'm using Yanfly's plugins. I looked up his Action Sequence ones, and thought it might help, so I made this by scavenging code from his Gamble Strike video. It, of course, doesn't work.
Formula Box:
((150 + (a.mhp/8) + a.atk)*1.5)/v[90] - b.def
<setup action>
change variable 90 = $gameParty.aliveMembers().length
</setup action>
<target action>
motion standby: user
wait for movement
face user: target
motion attack: user
wait: 10
attack animation: target
wait for animation
action effect
if target.result().missed || target.result().evaded
change variable 90 = 10
end
</target action> -
Scrolling through 800+ posts is too much trouble, so I'll just ask even if it was already answered.
I want to have a skill that decreases the target's HP and also increases the target's MP. So how do I do it?
Also, how can I decrease the target's evasion (not in the same skill)? -
Scrolling through 800+ posts is too much trouble, so I'll just ask even if it was already answered.
I want to have a skill that decreases the target's HP and also increases the target's MP. So how do I do it?
Also, how can I decrease the target's evasion (not in the same skill)?
You can try:
b.gainMp(x); y
where x is your formula for MP gain and y is your formula for HP damage.
For this, you'll have to apply a state. Evasion (Eva) is under Ex-Parameters. -
Ah, exactly what I was looking for, thank you! Funny thing is, I actually tried this, but it didn't work. The only thing I can think of that would make it not work would be that I put a space before the semicolon...
-
Ha
Ah, exactly what I was looking for, thank you! Funny thing is, I actually tried this, but it didn't work. The only thing I can think of that would make it not work would be that I put a space before the semicolon...
Have you tried removing that space? Dont think it matters much though.
Have you tried inserting whole number as x? It might be your formula in there that's affecting it. Otherwise you can try this longer version:
var x = (your MP heal formula here); b.gainMp(x); (your HP damage formula here) -
Yes, I did remove the space, but it didn't work. But then I tried changing it from how I had it: "y; b.gainMP(x)" to how you suggested:
and it worked. Heh. Noob mistake.b.gainMp(x); y -
The first problem was that it's gainMp, not gainMP. The capitalisation of the P is important. The second is that the last value evaluated in the formula is the one that will be taken as the main damage value.
-
Yes, I did remove the space, but it didn't work. But then I tried changing it from how I had it: "y; b.gainMP(x)" to how you suggested:
and it worked. Heh. Noob mistake.
Yeah, you need to have the additional effects first before the actual damage calculation. And it's case-sensitive too. -
Oops, that was a typo in my post. I had the P lowercase in the actual formula. :p
-
okay so... I'm looking to make a rather complex damage formula for a skill. What it should do is add a debuff. Then if used again, check for that debuff, remove it, add an upgraded version of that debuff and deal a bit more damage. Then if used again it upgrades the debuff further, dealing more damage. My attempt at the formula looked like this, any help is appreciated:
b.state?(29)? a.mat * 1.75 b.removeState(29); b.addState(28);:b.state?(28)? a.mat * 2.5 b.removeState(28); b.addState(27);:b.state?(27)? a.mat * 3 b.removeState(27); b.addState(26);:b.state?(26)? a.mat * 3.5 b.removeState(26); b.addState(25);:b.state?(25)? a.mat * 3.5 b.removeState(25); b.addState(25);: a.mat * 1.5 b.addState(29); -
Is it possible to set up an area in the game where the damage formula is changed? Kinda like Ipsen's Castle from FF9?
I had this idea of a dungeon where armor and weapons would work in reverse, having higher attack and defense results in dealing less damage and taking more damage, whereas lower attack and defense results in taking less damage and dealing more, encouraging players to use lower tier equipment while within the dungeon.
But to make that possible I'd have to somehow make it so the damage formula is changed only while within the dungeon. -
I've had an idea for something.
It's quite like the "Berserker"-type skills, where the attacker gains more attack the less HP they have.
But, I've been thinking, what if they get more attack and defense the less HP their enemy and their allies have?
This skill is a kind of "bloodshed" type, where the idea is that the more blood that is spilt, the more they turn "berserk", and the harder they fight.
I've no idea how to go about this (I'm very rusty and only recently got back into this). Any ideas?
Edit: I got it. -
Can anyone recommend a good base damage formula to use?
I am not a fan of the default base formula [(a.atk * 4) - b.def * 2], as it doesn't really work that well for larger damage values. I also find that it doesn't work well for use in a battle system with an emphasis on buffing/debuffing stat attributes; for example, when you have a Attack of 500, versus a Defense of 250, for a total of 1500 damage, a buff/debuff that increases/decreases a target's Defense by 50% will only increase/decrease the total damage by 250 points. Meanwhile a Attack debuff will cause the target's damage to drop by a 1000 points & when combined with the aforementioned Defense buff increase will result in a total damage of 250.
Basically, the problem with the default formula is that it is not well-balanced for strategic use of Buffing/Debuffing status effects, with Attack buffs/debuffs being too overpowered & Defense buffs/debuffs being too underpowered.
I've tried looking online for damage formula recommendations on Google, but to no avail, so I also tried searching for damage formulas used in other RPGs to use a reference, but I found it quite difficult to find any damage formulas outside of the Final Fantasy series. Unfortunately none of the Final Fantasy games utilize a formula that works well with what I have in mind, for example, a lot the older games in the series, as well as Final Fantasy XII, use Attack Power - Defense, which I'm not a fan of.
The closest RPG I've found to be compatible with my needs, is the Pokemon games, but the Pokemon games' damage formula is designed for smaller numbers & not larger numbers that extend into the 4-digits.
I've also experimented with Excel spreadsheets to see I could come up with anything, but alas, math is not exactly my strong suit, so I ended up empty-handed in my efforts.
What I'm looking for is a formula where a low Attack value of 28 would translate to about 30-40 damage, while a high Attack value of 500 should translate to about 4000-6000 damage. I'm not really all that concerned about Attack values beyond 500, as long as the damage scaling doesn't get too ridiculous i.e. a maxed out Attack value of 999 shouldn't end up dealing 70000+ damage.
If a formula needs to utilize the attacker's current level in order to work, I'm perfectly fine with that, as long as the formula works.
Any help would be greatly appreciated:). -
@tutankhamoonmoon I think you can use a passive state for that. When your battler entre the dungeon, add a state on all of them and remove it when they leave. You can use Yanfly buffs & state core. It allow you tu use <custom confirm effect> which can change the damage of a battler before damage execution. "value" is the normal damage dealt by your battler.
<Custom Confirm Effect>
value*=dungeon_damage_multiplicator;
</Custom Confirm Effect>
For the defense, you can use <custom react effect> which allow you to modify damage before a battler is hit
<Custom React Effect>
value *= dungeon_defense_multiplicator;
</Custom React Effect>
This way, you can change the among of damage only in this dungeon, and without modifying every damage formula. -
Can anyone recommend a good base damage formula to use?
Me too! My game HP starts at 30, and attack/defense start at 5, and can scale up quite a bit (5-10 pts and 1-2 pts per exp level) depending on items and armor. I want some variability and randomness, but also something that is balanced. -
Can anyone recommend a good base damage formula to use?
I am not a fan of the default base formula [(a.atk * 4) - b.def * 2], as it doesn't really work that well for larger damage values. I also find that it doesn't work well for use in a battle system with an emphasis on buffing/debuffing stat attributes; for example, when you have a Attack of 500, versus a Defense of 250, for a total of 1500 damage, a buff/debuff that increases/decreases a target's Defense by 50% will only increase/decrease the total damage by 250 points. Meanwhile a Attack debuff will cause the target's damage to drop by a 1000 points & when combined with the aforementioned Defense buff increase will result in a total damage of 250.
Basically, the problem with the default formula is that it is not well-balanced for strategic use of Buffing/Debuffing status effects, with Attack buffs/debuffs being too overpowered & Defense buffs/debuffs being too underpowered.
I've tried looking online for damage formula recommendations on Google, but to no avail, so I also tried searching for damage formulas used in other RPGs to use a reference, but I found it quite difficult to find any damage formulas outside of the Final Fantasy series. Unfortunately none of the Final Fantasy games utilize a formula that works well with what I have in mind, for example, a lot the older games in the series, as well as Final Fantasy XII, use Attack Power - Defense, which I'm not a fan of.
The closest RPG I've found to be compatible with my needs, is the Pokemon games, but the Pokemon games' damage formula is designed for smaller numbers & not larger numbers that extend into the 4-digits.
I've also experimented with Excel spreadsheets to see I could come up with anything, but alas, math is not exactly my strong suit, so I ended up empty-handed in my efforts.
What I'm looking for is a formula where a low Attack value of 28 would translate to about 30-40 damage, while a high Attack value of 500 should translate to about 4000-6000 damage. I'm not really all that concerned about Attack values beyond 500, as long as the damage scaling doesn't get too ridiculous i.e. a maxed out Attack value of 999 shouldn't end up dealing 70000+ damage.
If a formula needs to utilize the attacker's current level in order to work, I'm perfectly fine with that, as long as the formula works.
Any help would be greatly appreciated:).
I'm not 100% sure if this will work for your needs but my favorite damage formula is the LoL damage formula. It keeps everything quite reasonable and scales very nicely into the end game. Here it is: a.atk * (100/(100 + b.def)) If you want higher numbers of course it's easy to just apply a multiplier to the attack, like (a.atk *2) * (100/(100 + b.def)) or something like that.