[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Wesnoth-cvs-commits] wesnoth/src playturn.cpp statistics.cpp statist...
From: |
Isaac Clerencia |
Subject: |
[Wesnoth-cvs-commits] wesnoth/src playturn.cpp statistics.cpp statist... |
Date: |
Wed, 25 Aug 2004 20:37:54 -0400 |
CVSROOT: /cvsroot/wesnoth
Module name: wesnoth
Branch:
Changes by: Isaac Clerencia <address@hidden> 04/08/26 00:33:11
Modified files:
src : playturn.cpp statistics.cpp statistics.hpp
Log message:
Added damage taken and inflicted and expected values, at last we will be
able to know if the RNG has a specially sympathy to Dave. :P
Basically it's patch 3187, updated to work with current CVS (I think
the only
difference is the use of gettext)
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/playturn.cpp.diff?tr1=1.256&tr2=1.257&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/statistics.cpp.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/statistics.hpp.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
Patches:
Index: wesnoth/src/playturn.cpp
diff -u wesnoth/src/playturn.cpp:1.256 wesnoth/src/playturn.cpp:1.257
--- wesnoth/src/playturn.cpp:1.256 Wed Aug 25 02:59:51 2004
+++ wesnoth/src/playturn.cpp Thu Aug 26 00:33:11 2004
@@ -1,4 +1,4 @@
-/* $Id: playturn.cpp,v 1.256 2004/08/25 02:59:51 Sirp Exp $ */
+/* $Id: playturn.cpp,v 1.257 2004/08/26 00:33:11 isaaccp Exp $ */
/*
Copyright (C) 2003 by David White <address@hidden>
Part of the Battle for Wesnoth Project http://wesnoth.whitevine.net
@@ -1980,6 +1980,32 @@
items.push_back(str.str());
}
+ {
+ std::stringstream str;
+ str << _("Damage Inflicted") << "," << stats.damage_inflicted;
+ items.push_back(str.str());
+ }
+
+ {
+ std::stringstream str;
+ str << _("Damage Taken") << "," << stats.damage_taken;
+ items.push_back(str.str());
+ }
+
+ {
+ std::stringstream str;
+ str << _("Damage Inflicted (EV)") << "," <<
+ (stats.expected_damage_inflicted / 100.0);
+ items.push_back(str.str());
+ }
+
+ {
+ std::stringstream str;
+ str << _("Damage Taken (EV)") << "," <<
+ (stats.expected_damage_taken / 100.0);
+ items.push_back(str.str());
+ }
+
const int res =
gui::show_dialog(gui_,NULL,"",_("Statistics"),gui::MESSAGE,&items);
std::string title;
items.clear();
Index: wesnoth/src/statistics.cpp
diff -u wesnoth/src/statistics.cpp:1.9 wesnoth/src/statistics.cpp:1.10
--- wesnoth/src/statistics.cpp:1.9 Sun Jun 13 03:43:16 2004
+++ wesnoth/src/statistics.cpp Thu Aug 26 00:33:11 2004
@@ -141,6 +141,8 @@
a.recall_cost += b.recall_cost;
a.damage_inflicted += b.damage_inflicted;
a.damage_taken += b.damage_taken;
+ a.expected_damage_inflicted += b.expected_damage_inflicted;
+ a.expected_damage_taken += b.expected_damage_taken;
}
}
@@ -148,7 +150,7 @@
namespace statistics
{
-stats::stats() : recruit_cost(0), recall_cost(0), damage_inflicted(0),
damage_taken(0)
+stats::stats() : recruit_cost(0), recall_cost(0), damage_inflicted(0),
damage_taken(0), expected_damage_inflicted(0), expected_damage_taken(0)
{}
stats::stats(const config& cfg)
@@ -180,6 +182,12 @@
sprintf(buf,"%d",damage_taken);
res["damage_taken"] = buf;
+ sprintf(buf,"%d",expected_damage_inflicted);
+ res["expected_damage_inflicted"] = buf;
+
+ sprintf(buf,"%d",expected_damage_taken);
+ res["expected_damage_taken"] = buf;
+
return res;
}
@@ -221,6 +229,8 @@
recall_cost = atoi(cfg["recall_cost"].c_str());
damage_inflicted = atoi(cfg["damage_inflicted"].c_str());
damage_taken = atoi(cfg["damage_taken"].c_str());
+ expected_damage_inflicted =
atoi(cfg["expected_damage_inflicted"].c_str());
+ expected_damage_taken = atoi(cfg["expected_damage_taken"].c_str());
}
disabler::disabler() { stats_disabled++; }
@@ -272,8 +282,14 @@
push_back(attacker_res,(res == MISSES ? '0' : '1'));
- attacker_stats().damage_inflicted += bat_stats.damage_defender_takes;
- defender_stats().damage_taken += bat_stats.damage_defender_takes;
+ if(res != MISSES) {
+ 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;
if(res == KILLS) {
attacker_stats().killed[defender_type]++;
@@ -286,11 +302,16 @@
if(stats_disabled > 0)
return;
- defender_res.resize(defender_res.size()+1);
- defender_res[defender_res.size()-1] = (res == MISSES ? '0' : '1');
+ push_back(defender_res,(res == MISSES ? '0' : '1'));
- attacker_stats().damage_taken += bat_stats.damage_attacker_takes;
- defender_stats().damage_inflicted += bat_stats.damage_defender_takes;
+ if(res != MISSES) {
+ attacker_stats().damage_taken +=
bat_stats.damage_attacker_takes;
+ defender_stats().damage_inflicted +=
bat_stats.damage_defender_takes;
+ }
+ attacker_stats().expected_damage_taken +=
+ bat_stats.damage_attacker_takes *
bat_stats.chance_to_hit_attacker;
+ defender_stats().expected_damage_inflicted +=
+ bat_stats.damage_attacker_takes *
bat_stats.chance_to_hit_attacker;
if(res == KILLS) {
attacker_stats().deaths[attacker_type]++;
Index: wesnoth/src/statistics.hpp
diff -u wesnoth/src/statistics.hpp:1.7 wesnoth/src/statistics.hpp:1.8
--- wesnoth/src/statistics.hpp:1.7 Tue Jul 20 11:56:58 2004
+++ wesnoth/src/statistics.hpp Thu Aug 26 00:33:11 2004
@@ -28,6 +28,10 @@
battle_result_map attacks, defends;
int damage_inflicted, damage_taken;
+
+ //expected value for damage inflicted/taken * 100, based on
probability
+ //to hit, Use this long term to see how lucky a side is
+ int expected_damage_inflicted, expected_damage_taken;
};
int sum_str_int_map(const stats::str_int_map& m);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Wesnoth-cvs-commits] wesnoth/src playturn.cpp statistics.cpp statist...,
Isaac Clerencia <=