raz8020 said:
Hi! I'm planning to re-balance my private version of Perisno see "What is the formula for damage calculation?" topic. Archery is OP in general not only for redwood, this is because of the way base damage is multiplied with proficiencies and power draw. The crossbow formula final damage is only the crossbow + bolt damage. To make things worst, the difference between the protection (against missiles) offered by armors rated 40 and 60, is not big enough to correctly represent the armor compositions ex. mail armor vs high carbon steel milanese armor.
Currently I'm trying to finalize my warband damage calculator, so I can fine tweak what I mentioned in the same topic! I will post a link to the calc (maybe this week) in that topic, if I'm allowed by the dev's, after that I'll continue with the tweaking of items and troops!
It turns out the Warband engine removes much of this from scripting control.
Crossbows I tried to improve by setting them able to pierce shields, which really affects wooden shields only, but only for crossbows heavier than light crossbow and when using steel bolts.
Archery affected by power draw is an issue; the real danger from elves isn't their high weapons skill, but the high power draw these units typically get. This was one motivation for putting an improved troop viewer in Pho v20r4; in Perisno .74/.75 you should still be able to see the power draw skill in the troop information under troop tree display. Notice its the Elf power draw being 8 that makes elves really OP, although they don't miss so much either.
Of grater interest to me is how changes to module.ini settings for THESE lines changes the damage:
============
armor_soak_factor_against_cut = 0.9
armor_soak_factor_against_pierce = 0.75 try 0.85 here
armor_soak_factor_against_blunt = 0.7 0.82 here may as well make blunt less OP
armor_reduction_factor_against_cut = 1.1
armor_reduction_factor_against_pierce = 0.75 set this to 1.33 and write me how you feel it changed
armor_reduction_factor_against_blunt = 0.70 set this to 0.85
#missiles with damage > shield_penetration_offset + shield_penetration_factor * shield
#will penetrate.
shield_penetration_offset = 30.0 try 25
shield_penetration_factor = 3.0 try 2.0 few bows can penetrate shield currently, only 2 I think
#setting speed_power to 2.0 makes damage scale with the square of missile's speed.
# you can set it to 1.0 to make it scale linearly as it was before.
missile_damage_speed_power = 1.8
melee_damage_speed_power = 2.0
==============
simply text edit those with .15 less and more and measure damage between play sessions. You probably have to exit all the way out as module.ini and for that matter the map are read once per session only on start of the mod, and are not updated dynamically.
You probably want to up the armor soak and armor reductions versus pierce, seeing as how armor_reduction allows > 1.0 parameters, try 1.33 for pierce and write me how that changes your opinion of archers.
You might also decrease the weapons velocity "shoot_speed" of bows but not crossbows and see if that doesn't change the lure of bows over crossbows. Try setting them from the current 50-70 to say 35-49 for velocity for bows while leaving the crossbows at their current levels , and see how that changes a seige.
I don't have the time to do this, but I'd appreciate it if you did, since you seem to have the interest already.
So far as source code changes:
Perisno actually doesnt modify any of the native calculations. I added Rigale dodge in mission_triggers.py, just search for Dodge if you have the source (and not many people do, hopefully).
Otherwise the damage numbers are indirectly modified by velocity, which I set earlier, and the module.ini settings, and otherwise deep within the game engine outside developer control. I can shed damage by ironflesh and dodge from athletics but the base damage is done outside the scripting system.
- GS