I made my own formula but whenever I look at it, I feel it's horrible. Here's said formula:
var/punch = round((((Strength*100)+(Corpulence*30))/((check.Combat.Corpulence+check.Combat.Strength)))/((power+1)-power))
Strength is self explanatory. Corpulence may not be as obvious but it's a representation of your body's endurance, muscle mass etc.
The damage a player deals is supposed to be highly based on his strength, and having a good body status as happens in real life, the force of a punch is increased.
Therefore, Strength would be the actual power of our player's hit, and Corpulence would be an additional buff.
Defensive power is as well determined by a player's Corpulence and Strength, in this case Corpulence is the actual defensive power and Strength is an additional buff.
The punches/kicks are chargeable, hence why the power variable. The longer you charge the harder you hit.
That's not everything yet (>_>), theres another factor to take into account, players Accuracy.
The accuracy of a hit is determined by the player's Accuracy variable, being this one the main stat into this part of the formula, in addition to a Concentration variable and an Intelligence variable, as secondary modifier.
The explanation to the Concentration var is rather simple. If you lack concentration, you won't hit in time your enemy, IRL, so same applies here.
Why Intelligence? Well, if you lack intelligence you won't even know where, how or when to hit somebody, IRL, so same happens here. The more intelligence the better the chance to land an attack will be.
And yet we get to the last part of the formula, Reflexes. The enemy's reflexes are a mix of Reflexes, Concentration and Intelligence, one having a higher impact on the formula than the others respectively.
Is there anyone smarter than me that can actually think of a way to make such formula, or who can at least provide me with the right directions to develop it?
Thanks beforehand.
power + 1 - power will always end up as 1 I believe, so I'm not sure what you intended with that part.
var atk = (Strength * 100) + (Corpulence * 30)
this is what you currently have, but where did 100 and 30 come from? how does health work?
Thats what I get out of this so far, and dividing the result by 1 doesn't do anything.
It depends a lot on what you want.