Fixed new damage statistics code

This commit is contained in:
Pauli Nieminen 2008-05-14 20:48:25 +00:00
parent 4d518cf9c8
commit 6fd213799e
3 changed files with 14 additions and 7 deletions

View file

@ -917,7 +917,6 @@ attack::attack(game_display& gui, const gamemap& map,
DBG_NG << "getting attack statistics\n";
statistics::attack_context attack_stats(a_->second, d_->second, a_stats_->chance_to_hit, d_stats_->chance_to_hit);
#ifdef MABOUL_STATS
{
// Calculate stats for battle
combatant attacker(bc_->get_attacker_stats());
@ -928,7 +927,6 @@ attack::attack(game_display& gui, const gamemap& map,
attack_stats.attack_excepted_damage(attacker_inflict,defender_inflict);
}
#endif
orig_attacks_ = a_stats_->num_blows;
orig_defends_ = d_stats_->num_blows;

View file

@ -261,19 +261,19 @@ void statistics_dialog::make_damage_line(std::vector<std::string>& items,
std::stringstream str;
str << header << COLUMN_SEPARATOR
<< damage << " / "
<< (expected / (double)statistics::stats::desimal_shift)
<< (expected/100 / (double)statistics::stats::desimal_shift * 100.0)
<< COLUMN_SEPARATOR
<< ((dsa > 0) ? "+" : "")
<< ((expected == 0) ? 0
: statistics::stats::desimal_shift * dsa / expected)
: 100 * dsa / expected)
<< "%" << COLUMN_SEPARATOR
<< COLUMN_SEPARATOR
<< turn_damage << " / "
<< (turn_expected / (double)statistics::stats::desimal_shift)
<< (turn_expected/100 / (double)statistics::stats::desimal_shift * 100.0)
<< COLUMN_SEPARATOR
<< ((dst > 0) ? "+" : "")
<< ((turn_expected == 0) ? 0
: statistics::stats::desimal_shift * dst / turn_expected)
: 100 * dst / turn_expected)
<< "%";
items.push_back(str.str());

View file

@ -207,6 +207,11 @@ static void merge_stats(stats& a, const stats& b)
a.turn_damage_taken += b.turn_damage_taken;
a.turn_expected_damage_inflicted += b.turn_expected_damage_inflicted;
a.turn_expected_damage_taken += b.turn_expected_damage_taken;
a.new_expected_damage_inflicted += b.new_expected_damage_inflicted;
a.new_expected_damage_taken += b.new_expected_damage_taken;
a.new_turn_expected_damage_inflicted += b.new_turn_expected_damage_inflicted;
a.new_turn_expected_damage_taken += b.new_turn_expected_damage_taken;
}
namespace statistics
@ -216,7 +221,9 @@ stats::stats() : recruit_cost(0), recall_cost(0),
damage_inflicted(0), damage_taken(0),
turn_damage_inflicted(0), turn_damage_taken(0),
expected_damage_inflicted(0), expected_damage_taken(0),
turn_expected_damage_inflicted(0), turn_expected_damage_taken(0)
turn_expected_damage_inflicted(0), turn_expected_damage_taken(0),
new_expected_damage_inflicted(0), new_expected_damage_taken(0),
new_turn_expected_damage_inflicted(0), new_turn_expected_damage_taken(0)
{}
stats::stats(const config& cfg)
@ -598,6 +605,8 @@ void reset_turn_stats(int side)
s.turn_damage_taken = 0;
s.turn_expected_damage_inflicted = 0;
s.turn_expected_damage_taken = 0;
s.new_turn_expected_damage_inflicted = 0;
s.new_turn_expected_damage_taken = 0;
}
stats calculate_stats(int category, int side)