Index: src/statistics.cpp =================================================================== RCS file: /cvsroot/wesnoth/wesnoth/src/statistics.cpp,v retrieving revision 1.18 diff -u -r1.18 statistics.cpp --- src/statistics.cpp 20 Jul 2005 08:22:37 -0000 1.18 +++ src/statistics.cpp 10 Aug 2005 12:00:30 -0000 @@ -307,10 +307,16 @@ attacker_stats().damage_inflicted += bat_stats.damage_defender_takes; defender_stats().damage_taken += bat_stats.damage_defender_takes; } - attacker_stats().expected_damage_inflicted += - bat_stats.damage_defender_takes * bat_stats.chance_to_hit_defender; - defender_stats().expected_damage_taken += - bat_stats.damage_defender_takes * bat_stats.chance_to_hit_defender; + { + const double evd = bat_stats.damage_defender_takes + * bat_stats.chance_to_hit_defender; + int evdi = (int)evd; + // randomly approximate fractions + if (100.0*(evd - evdi) <= rand()%100) + ++evdi; + attacker_stats().expected_damage_inflicted += evdi; + defender_stats().expected_damage_taken += evdi; + } if(res == KILLS) { attacker_stats().killed[defender_type]++;