mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-30 01:47:13 +00:00
Removed the old system for stats.
This commit is contained in:
parent
409d570faa
commit
da28488cc7
@ -208,12 +208,6 @@ static void merge_stats(stats& a, const stats& b)
|
|||||||
a.turn_damage_taken = b.turn_damage_taken;
|
a.turn_damage_taken = b.turn_damage_taken;
|
||||||
a.turn_expected_damage_inflicted = b.turn_expected_damage_inflicted;
|
a.turn_expected_damage_inflicted = b.turn_expected_damage_inflicted;
|
||||||
a.turn_expected_damage_taken = b.turn_expected_damage_taken;
|
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
|
namespace statistics
|
||||||
@ -237,10 +231,6 @@ stats::stats() :
|
|||||||
expected_damage_taken(0),
|
expected_damage_taken(0),
|
||||||
turn_expected_damage_inflicted(0),
|
turn_expected_damage_inflicted(0),
|
||||||
turn_expected_damage_taken(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()
|
save_id()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@ -262,10 +252,6 @@ stats::stats(const config& cfg) :
|
|||||||
expected_damage_taken(0),
|
expected_damage_taken(0),
|
||||||
turn_expected_damage_inflicted(0),
|
turn_expected_damage_inflicted(0),
|
||||||
turn_expected_damage_taken(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())
|
save_id(std::string())
|
||||||
{
|
{
|
||||||
read(cfg);
|
read(cfg);
|
||||||
@ -282,7 +268,7 @@ config stats::write() const
|
|||||||
res.add_child("attacks",write_battle_result_map(attacks));
|
res.add_child("attacks",write_battle_result_map(attacks));
|
||||||
res.add_child("defends",write_battle_result_map(defends));
|
res.add_child("defends",write_battle_result_map(defends));
|
||||||
|
|
||||||
std::stringstream ss;
|
std::ostringstream ss;
|
||||||
ss << recruit_cost;
|
ss << recruit_cost;
|
||||||
res["recruit_cost"] = ss.str();
|
res["recruit_cost"] = ss.str();
|
||||||
ss.str(std::string());
|
ss.str(std::string());
|
||||||
@ -315,19 +301,6 @@ config stats::write() const
|
|||||||
ss << turn_expected_damage_taken;
|
ss << turn_expected_damage_taken;
|
||||||
res["turn_expected_damage_taken"] = ss.str();
|
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;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -355,7 +328,7 @@ void stats::write(config_writer &out) const
|
|||||||
write_battle_result_map(out, defends);
|
write_battle_result_map(out, defends);
|
||||||
out.close_child("defends");
|
out.close_child("defends");
|
||||||
|
|
||||||
std::stringstream ss;
|
std::ostringstream ss;
|
||||||
ss << recruit_cost;
|
ss << recruit_cost;
|
||||||
out.write_key_val("recruit_cost", ss.str());
|
out.write_key_val("recruit_cost", ss.str());
|
||||||
ss.str(std::string());
|
ss.str(std::string());
|
||||||
@ -388,19 +361,6 @@ void stats::write(config_writer &out) const
|
|||||||
ss << turn_expected_damage_taken;
|
ss << turn_expected_damage_taken;
|
||||||
out.write_key_val("turn_expected_damage_taken", ss.str());
|
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);
|
out.write_key_val("save_id", save_id);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -445,10 +405,6 @@ void stats::read(const config& cfg)
|
|||||||
turn_expected_damage_inflicted = lexical_cast<long long>(cfg["turn_expected_damage_inflicted"]);
|
turn_expected_damage_inflicted = lexical_cast<long long>(cfg["turn_expected_damage_inflicted"]);
|
||||||
turn_expected_damage_taken = lexical_cast<long long>(cfg["turn_expected_damage_taken"]);
|
turn_expected_damage_taken = lexical_cast<long long>(cfg["turn_expected_damage_taken"]);
|
||||||
|
|
||||||
new_expected_damage_inflicted = lexical_cast_default<long long>(cfg["new_expected_damage_inflicted"],expected_damage_inflicted);
|
|
||||||
new_expected_damage_taken = lexical_cast_default<long long>(cfg["new_expected_damage_taken"],expected_damage_taken);
|
|
||||||
new_turn_expected_damage_inflicted = lexical_cast_default<long long>(cfg["new_turn_expected_damage_inflicted"],turn_expected_damage_inflicted);
|
|
||||||
new_turn_expected_damage_taken = lexical_cast_default<long long>(cfg["new_turn_expected_damage_taken"],turn_expected_damage_taken);
|
|
||||||
save_id = cfg["save_id"];
|
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<int>(attacker_inflict_ * stats::decimal_shift);
|
int attacker_inflict = static_cast<int>(attacker_inflict_ * stats::decimal_shift);
|
||||||
int defender_inflict = static_cast<int>(defender_inflict_ * stats::decimal_shift);
|
int defender_inflict = static_cast<int>(defender_inflict_ * stats::decimal_shift);
|
||||||
stats &att_stats = attacker_stats(), &def_stats = defender_stats();
|
stats &att_stats = attacker_stats(), &def_stats = defender_stats();
|
||||||
att_stats.new_expected_damage_inflicted += attacker_inflict;
|
att_stats.expected_damage_inflicted += attacker_inflict;
|
||||||
att_stats.new_expected_damage_taken += defender_inflict;
|
att_stats.expected_damage_taken += defender_inflict;
|
||||||
def_stats.new_expected_damage_inflicted += defender_inflict;
|
def_stats.expected_damage_inflicted += defender_inflict;
|
||||||
def_stats.new_expected_damage_taken += attacker_inflict;
|
def_stats.expected_damage_taken += attacker_inflict;
|
||||||
att_stats.new_turn_expected_damage_inflicted += attacker_inflict;
|
att_stats.turn_expected_damage_inflicted += attacker_inflict;
|
||||||
att_stats.new_turn_expected_damage_taken += defender_inflict;
|
att_stats.turn_expected_damage_taken += defender_inflict;
|
||||||
def_stats.new_turn_expected_damage_inflicted += defender_inflict;
|
def_stats.turn_expected_damage_inflicted += defender_inflict;
|
||||||
def_stats.new_turn_expected_damage_taken += attacker_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;
|
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) {
|
if(res == KILLS) {
|
||||||
++att_stats.killed[defender_type];
|
++att_stats.killed[defender_type];
|
||||||
++def_stats.deaths[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;
|
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) {
|
if(res == KILLS) {
|
||||||
++att_stats.deaths[attacker_type];
|
++att_stats.deaths[attacker_type];
|
||||||
++def_stats.killed[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_damage_taken = 0;
|
||||||
s.turn_expected_damage_inflicted = 0;
|
s.turn_expected_damage_inflicted = 0;
|
||||||
s.turn_expected_damage_taken = 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;
|
s.save_id = save_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,15 +60,8 @@ namespace statistics
|
|||||||
// probability to hit,
|
// probability to hit,
|
||||||
// Use this long term to see how lucky a side is.
|
// 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 expected_damage_inflicted, expected_damage_taken;
|
||||||
long long turn_expected_damage_inflicted, turn_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;
|
std::string save_id;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -169,18 +169,7 @@ statistics_dialog::statistics_dialog(game_display &disp,
|
|||||||
stats_.expected_damage_taken,
|
stats_.expected_damage_taken,
|
||||||
stats_.turn_damage_taken,
|
stats_.turn_damage_taken,
|
||||||
stats_.turn_expected_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);
|
set_menu(items);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user