Ok I did some number crunching on boots of kicking, which turned out to be a highly non-linear use of my day. To summarise:
- The main cause of difference is the form modifier (20 for normal boots, 50 for boots of kicking (30 for broken boots!)).
- At the moment, enchanting a boot will improve the inflicted damage of the leg due to that boot, by exactly 1 point per enchantment level, regardless of config.
So this means that the effect of the enchantment is not so noticeable, especially in comparison to simply training your kicking skills and leg strength. You could say the enchantment acts like a kind of fine-tuning, which is the idea I think. The key to optimizing kicking is down to these factors (in no particular order):
- Leg Strength
- Weapon skill category training, specifically improving your "Level"
- Changing the boot material into something stronger and heavier
- Being born with higher base unarmed strength (it's always 150)
- Increasing your boot enchantment
My earlier
research mistakes gave me the idea to allow the added damage to exponentiate by adding the enchantment of a boots of kicking to the leg strength attribute in the damage caculation.
What I can do is replace in bodypart.cpp:
double Base = sqrt(5e-5 * WeaponStrength);
if(Boot)
Base += Boot->GetDamageBonus();
KickDamage = Base * sqrt(1e-7 * GetAttribute(LEG_STRENGTH)) * GetHumanoidMaster()->GetCWeaponSkill(KICK)->GetBonus();
The following:
double Base = sqrt(5e-5 * WeaponStrength);
double BootOfKickingBonus = 0;
if(Boot)
{
Base += Boot->GetDamageBonus();
BootOfKickingBonus += ((Boot->GetConfig() == BOOT_OF_KICKING) && (Boot->GetDamageBonus() > 0)) ? (Boot->GetDamageBonus()) : 0;
}
KickDamage = Base * sqrt(1e-7 * (GetAttribute(LEG_STRENGTH) + BootOfKickingBonus)) * GetHumanoidMaster()->GetCWeaponSkill(KICK)->GetBonus();
Which should give the player a bigger boost toward the end. I don't know how this will affect the game balance. Negatively enchanted boots give a linear negative contribution for all types of boots otherwise there would be a crash. All other boots provide a linear gain in added damage. Feast your eyes on the figure below.
EDIT: I was right the first time, GetAttribute includes leg strength bonus by default... sigh.