diff --git a/src/statistics.cpp b/src/statistics.cpp index 782d77853a9..6c272fcd5c5 100644 --- a/src/statistics.cpp +++ b/src/statistics.cpp @@ -208,12 +208,6 @@ 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; - // Only take the last value for this turn - 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 @@ -237,10 +231,6 @@ stats::stats() : 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), save_id() {} @@ -262,10 +252,6 @@ stats::stats(const config& cfg) : 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), save_id(std::string()) { read(cfg); @@ -282,7 +268,7 @@ config stats::write() const res.add_child("attacks",write_battle_result_map(attacks)); res.add_child("defends",write_battle_result_map(defends)); - std::stringstream ss; + std::ostringstream ss; ss << recruit_cost; res["recruit_cost"] = ss.str(); ss.str(std::string()); @@ -315,19 +301,6 @@ config stats::write() const ss << turn_expected_damage_taken; res["turn_expected_damage_taken"] = ss.str(); - ss.str(std::string()); - ss << new_expected_damage_inflicted; - res["new_expected_damage_inflicted"] = ss.str(); - ss.str(std::string()); - ss << new_expected_damage_taken; - res["new_expected_damage_taken"] = ss.str(); - ss.str(std::string()); - ss << new_turn_expected_damage_inflicted; - res["new_turn_expected_damage_inflicted"] = ss.str(); - ss.str(std::string()); - ss << new_turn_expected_damage_taken; - res["new_turn_expected_damage_taken"] = ss.str(); - return res; } @@ -355,7 +328,7 @@ void stats::write(config_writer &out) const write_battle_result_map(out, defends); out.close_child("defends"); - std::stringstream ss; + std::ostringstream ss; ss << recruit_cost; out.write_key_val("recruit_cost", ss.str()); ss.str(std::string()); @@ -388,19 +361,6 @@ void stats::write(config_writer &out) const ss << turn_expected_damage_taken; out.write_key_val("turn_expected_damage_taken", ss.str()); - ss.str(std::string()); - ss << new_expected_damage_inflicted; - out.write_key_val("new_expected_damage_inflicted", ss.str()); - ss.str(std::string()); - ss << new_expected_damage_taken; - out.write_key_val("new_expected_damage_taken", ss.str()); - ss.str(std::string()); - ss << new_turn_expected_damage_inflicted; - out.write_key_val("new_turn_expected_damage_inflicted", ss.str()); - ss.str(std::string()); - ss << new_turn_expected_damage_taken; - out.write_key_val("new_turn_expected_damage_taken", ss.str()); - out.write_key_val("save_id", save_id); } @@ -445,10 +405,6 @@ void stats::read(const config& cfg) turn_expected_damage_inflicted = lexical_cast(cfg["turn_expected_damage_inflicted"]); turn_expected_damage_taken = lexical_cast(cfg["turn_expected_damage_taken"]); - new_expected_damage_inflicted = lexical_cast_default(cfg["new_expected_damage_inflicted"],expected_damage_inflicted); - new_expected_damage_taken = lexical_cast_default(cfg["new_expected_damage_taken"],expected_damage_taken); - new_turn_expected_damage_inflicted = lexical_cast_default(cfg["new_turn_expected_damage_inflicted"],turn_expected_damage_inflicted); - new_turn_expected_damage_taken = lexical_cast_default(cfg["new_turn_expected_damage_taken"],turn_expected_damage_taken); save_id = cfg["save_id"]; } @@ -509,14 +465,14 @@ void attack_context::attack_expected_damage(double attacker_inflict_, double def int attacker_inflict = static_cast(attacker_inflict_ * stats::decimal_shift); int defender_inflict = static_cast(defender_inflict_ * stats::decimal_shift); stats &att_stats = attacker_stats(), &def_stats = defender_stats(); - att_stats.new_expected_damage_inflicted += attacker_inflict; - att_stats.new_expected_damage_taken += defender_inflict; - def_stats.new_expected_damage_inflicted += defender_inflict; - def_stats.new_expected_damage_taken += attacker_inflict; - att_stats.new_turn_expected_damage_inflicted += attacker_inflict; - att_stats.new_turn_expected_damage_taken += defender_inflict; - def_stats.new_turn_expected_damage_inflicted += defender_inflict; - def_stats.new_turn_expected_damage_taken += attacker_inflict; + att_stats.expected_damage_inflicted += attacker_inflict; + att_stats.expected_damage_taken += defender_inflict; + def_stats.expected_damage_inflicted += defender_inflict; + def_stats.expected_damage_taken += attacker_inflict; + att_stats.turn_expected_damage_inflicted += attacker_inflict; + att_stats.turn_expected_damage_taken += defender_inflict; + def_stats.turn_expected_damage_inflicted += defender_inflict; + def_stats.turn_expected_damage_taken += attacker_inflict; } @@ -541,20 +497,6 @@ void attack_context::attack_result(hit_result res, int damage, int drain) def_stats.turn_damage_taken += damage; } - int exp_damage = damage * chance_to_hit_defender * (stats::decimal_shift / 100); - int exp_drain = drain * chance_to_hit_defender * (stats::decimal_shift / 100); - - att_stats.expected_damage_taken -= exp_drain; - def_stats.expected_damage_inflicted -= exp_drain; - att_stats.turn_expected_damage_taken -= exp_drain; - def_stats.turn_expected_damage_inflicted -= exp_drain; - - // handle drain - att_stats.expected_damage_inflicted += exp_damage; - def_stats.expected_damage_taken += exp_damage; - att_stats.turn_expected_damage_inflicted += exp_damage; - def_stats.turn_expected_damage_taken += exp_damage; - if(res == KILLS) { ++att_stats.killed[defender_type]; ++def_stats.deaths[defender_type]; @@ -582,20 +524,6 @@ void attack_context::defend_result(hit_result res, int damage, int drain) def_stats.turn_damage_inflicted += damage; } - int exp_damage = damage * chance_to_hit_attacker * (stats::decimal_shift / 100); - int exp_drain = drain * chance_to_hit_attacker * (stats::decimal_shift / 100); - - //handle drain - def_stats.expected_damage_taken -= exp_drain; - att_stats.expected_damage_inflicted -= exp_drain; - def_stats.turn_expected_damage_taken -= exp_drain; - att_stats.turn_expected_damage_inflicted -= exp_drain; - - att_stats.expected_damage_taken += exp_damage; - def_stats.expected_damage_inflicted += exp_damage; - att_stats.turn_expected_damage_taken += exp_damage; - def_stats.turn_expected_damage_inflicted += exp_damage; - if(res == KILLS) { ++att_stats.deaths[attacker_type]; ++def_stats.killed[attacker_type]; @@ -659,8 +587,6 @@ void reset_turn_stats(std::string save_id) 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; s.save_id = save_id; } diff --git a/src/statistics.hpp b/src/statistics.hpp index 317ac54ab3c..acfb26f0c0b 100644 --- a/src/statistics.hpp +++ b/src/statistics.hpp @@ -60,15 +60,8 @@ namespace statistics // probability to hit, // Use this long term to see how lucky a side is. - /** - * @todo FIXME: Since integers are used, rounding errors accumulate. - * Also, slow isn't accounted for properly. Rusty's simulator could be - * used obtain valid values. - */ long long expected_damage_inflicted, expected_damage_taken; long long turn_expected_damage_inflicted, turn_expected_damage_taken; - long long new_expected_damage_inflicted, new_expected_damage_taken; - long long new_turn_expected_damage_inflicted, new_turn_expected_damage_taken; std::string save_id; }; diff --git a/src/statistics_dialog.cpp b/src/statistics_dialog.cpp index b5a2e9d52ff..81032cf3a2f 100644 --- a/src/statistics_dialog.cpp +++ b/src/statistics_dialog.cpp @@ -169,18 +169,7 @@ statistics_dialog::statistics_dialog(game_display &disp, stats_.expected_damage_taken, stats_.turn_damage_taken, stats_.turn_expected_damage_taken); - items.push_back("New stats:"); - statistics_dialog::make_damage_line(items, _("Inflicted"), - stats_.damage_inflicted, - stats_.new_expected_damage_inflicted, - stats_.turn_damage_inflicted, - stats_.new_turn_expected_damage_inflicted); - statistics_dialog::make_damage_line(items, _("Taken"), - stats_.damage_taken, - stats_.new_expected_damage_taken, - stats_.turn_damage_taken, - stats_.new_turn_expected_damage_taken); set_menu(items); }