So damage return in games is always a fun idea but in my opinion is seldom done correctly.
Sadly, I don't think Solo Knight's damage return is really worth speccing points or time into.
From what I've noticed the damage return in this game is based off of how much damage you, the player, took in a single hit. Which on paper sounds right and if that is the intended purpose cool beans.
But this causes the player to be in a very weird situation. Do you build super tanky and avoid taking damage but that negates the purpose for damage return since if I take 0 damage from a hitI return 0 damage. Or do I build squishy and try to get some damage return in, but if a boss hits me no amount of damage return will matter cause you'll die in one shot due to being squishy. It sucks.
Example. Say I have 20% damage return (random number I thought of) and I were to take 100 points of damage from an attack an enemy dealt. That would mean that the enemy takes 20 points of damage themselves when I get hit. Perfect. But that was ignoring armor values.
When armor is added into the mix it gets....not great. Working with the same numbers as seen above, if I were to have enough armor to mitigate the damage of the enemy attack by lets say 50% then that means I would get attacked for 100 and take only 50 damage. Which is great, that's what armor is for! But, as damage return is now then I would also return a reduced amount of damage. 50*20% = 10. So that means that the better your physical and magical armor the less useful damage return is all the way down to 0 damage. I've even had cases of me taking damage with damage return and have the returned amount to the enemy be 0 damage.
Now, I'm not going to write all this and not try to come up with a suggestion for change of course.
My suggestion to change for how damage return in Solo Knight works is this.
Have the monsters damage potential be the basis for the damage return value. Confused? Let me explain! :)
Using the same numbers again (original I know), the monster attacking has the potential to deal 100 damage. With the 20% damage return the monster would take 20 damage. Now adding armor in. Let's use the armor value that makes it so we take half damage so 50 damage. The monster attacks for (100), hits the player who has armor (50), the player takes 50 damage BUT with damage return the monster still takes 20 damage instead of the reduced 10.
Basically I'm suggesting that returned damage is based off of how much damage an enemy will deal in their attack before it hits, not how much damage the player takes. If you punch a brick wall, the wall isn't going to take any damage but you sure as heck will.
Open for discussion but I think this would be a really big positive change to those players who want to build slower and tankier!