Documentation: Stats And Damage


Damage

All damage calculations and your success in winning tie moves depends on your stats and total Power level.

System is designed in a way that only DIFFERENCE between stats and power levels matter, not power level itself.

So, for example, 2 characters with 100vs100 power levels will have exactly the same fightig experience as 10vs10 fight. Meaning - it will be a fair fight, and damage will be around the same in both cases. Because if two giants fight each other, they will not be able to hurt each other as much as a giant would hurt a puny human.

So, naturally, in the case of 100vs10 fight, it will be a very one-sided match. 100 will hit harder (much more damage) and it

Here's simplified damage formula:

health_delta = random_value(13,15) * (fighter.power/opponent.power)

Tie resolution

fighter_points = (fighter.power*0.5) + getattr(fighter, fighter_move.main_stat)
opponent_points = (opponent.power*0.5) + getattr(opponent, fighter_move.main_stat)

And then these two point values are compared. Whoever gets more points wins the tie.

fighter_move.main_stat is main stat of selected move. Same variable is used, because this code only runs when both characters selected the same move, so it is the same :D

So, what it does. It takes you power and adds the value of your stat, the one that's required for this move. You can see which stat uses which move using !help move command, or Here under "!move".

So, if you opponent has considerably more points overall, he or she will always win in case you select the same move. But if difference is not so large, like 10vs15 points fight, someone with 10 points but more points in, say, agility will most likely win AttackVSAttack moves.

This is why I call the system "Rock Paper Scissors on steroids", because it actually gives a little bit of tactical gameplay for those who want it, while staying brick-simple at it's core.