Beispiel #1
0
config stats::write() const
{
	config res;
	res.add_child("recruits",write_str_int_map(recruits));
	res.add_child("recalls",write_str_int_map(recalls));
	res.add_child("advances",write_str_int_map(advanced_to));
	res.add_child("deaths",write_str_int_map(deaths));
	res.add_child("killed",write_str_int_map(killed));
	res.add_child("attacks",write_battle_result_map(attacks));
	res.add_child("defends",write_battle_result_map(defends));

	res["recruit_cost"] = recruit_cost;
	res["recall_cost"] = recall_cost;

	res["damage_inflicted"] = damage_inflicted;
	res["damage_taken"] = damage_taken;
	res["expected_damage_inflicted"] = expected_damage_inflicted;
	res["expected_damage_taken"] = expected_damage_taken;

	res["turn_damage_inflicted"] = turn_damage_inflicted;
	res["turn_damage_taken"] = turn_damage_taken;
	res["turn_expected_damage_inflicted"] = turn_expected_damage_inflicted;
	res["turn_expected_damage_taken"] = turn_expected_damage_taken;

	res["save_id"] = save_id;

	return res;
}
Beispiel #2
0
void stats::write(config_writer &out) const
{
	out.open_child("recruits");
	write_str_int_map(out, recruits);
	out.close_child("recruits");
	out.open_child("recalls");
	write_str_int_map(out, recalls);
	out.close_child("recalls");
	out.open_child("advances");
	write_str_int_map(out, advanced_to);
	out.close_child("advances");
	out.open_child("deaths");
	write_str_int_map(out, deaths);
	out.close_child("deaths");
	out.open_child("killed");
	write_str_int_map(out, killed);
	out.close_child("killed");
	out.open_child("attacks");
	write_battle_result_map(out, attacks);
	out.close_child("attacks");
	out.open_child("defends");
	write_battle_result_map(out, defends);
	out.close_child("defends");

	std::ostringstream ss;
	ss << recruit_cost;
	out.write_key_val("recruit_cost", ss.str());
	ss.str(std::string());
	ss << recall_cost;
	out.write_key_val("recall_cost", ss.str());

	ss.str(std::string());
	ss << damage_inflicted;
	out.write_key_val("damage_inflicted", ss.str());
	ss.str(std::string());
	ss << damage_taken;
	out.write_key_val("damage_taken", ss.str());
	ss.str(std::string());
	ss << expected_damage_inflicted;
	out.write_key_val("expected_damage_inflicted", ss.str());
	ss.str(std::string());
	ss << expected_damage_taken;
	out.write_key_val("expected_damage_taken", ss.str());
	ss.str(std::string());
	ss << turn_damage_inflicted;

	out.write_key_val("turn_damage_inflicted", ss.str());
	ss.str(std::string());
	ss << turn_damage_taken;
	out.write_key_val("turn_damage_taken", ss.str());
	ss.str(std::string());
	ss << turn_expected_damage_inflicted;
	out.write_key_val("turn_expected_damage_inflicted", ss.str());
	ss.str(std::string());
	ss << turn_expected_damage_taken;
	out.write_key_val("turn_expected_damage_taken", ss.str());

	out.write_key_val("save_id", save_id);

}
Beispiel #3
0
config stats::write() const
{
	config res;
	res.add_child("recruits",write_str_int_map(recruits));
	res.add_child("recalls",write_str_int_map(recalls));
	res.add_child("advances",write_str_int_map(advanced_to));
	res.add_child("deaths",write_str_int_map(deaths));
	res.add_child("killed",write_str_int_map(killed));
	res.add_child("attacks",write_battle_result_map(attacks));
	res.add_child("defends",write_battle_result_map(defends));

	std::ostringstream ss;
	ss << recruit_cost;
	res["recruit_cost"] = ss.str();
	ss.str(std::string());
	ss << recall_cost;
	res["recall_cost"] = ss.str();

	ss.str(std::string());
	ss << damage_inflicted;
	res["damage_inflicted"] = ss.str();
	ss.str(std::string());
	ss << damage_taken;
	res["damage_taken"] = ss.str();
	ss.str(std::string());
	ss << expected_damage_inflicted;
	res["expected_damage_inflicted"] = ss.str();
	ss.str(std::string());
	ss << expected_damage_taken;
	res["expected_damage_taken"] = ss.str();
	ss.str(std::string());
	ss << turn_damage_inflicted;

	res["turn_damage_inflicted"] = ss.str();
	ss.str(std::string());
	ss << turn_damage_taken;
	res["turn_damage_taken"] = ss.str();
	ss.str(std::string());
	ss << turn_expected_damage_inflicted;
	res["turn_expected_damage_inflicted"] = ss.str();
	ss.str(std::string());
	ss << turn_expected_damage_taken;
	res["turn_expected_damage_taken"] = ss.str();

	return res;
}
Beispiel #4
0
static void write_battle_result_map(config_writer &out, const stats::battle_result_map& m)
{
	for(stats::battle_result_map::const_iterator i = m.begin(); i != m.end(); ++i) {
		out.open_child("sequence");
		write_str_int_map(out, i->second);
		out.write_key_val("_num", i->first);
		out.close_child("sequence");
	}
}
Beispiel #5
0
static config write_battle_result_map(const stats::battle_result_map& m)
{
	config res;
	for(stats::battle_result_map::const_iterator i = m.begin(); i != m.end(); ++i) {
		config& new_cfg = res.add_child("sequence");
		new_cfg = write_str_int_map(i->second);
		new_cfg["_num"] = i->first;
	}

	return res;
}
Beispiel #6
0
void stats::write(config_writer &out) const
{
	out.open_child("recruits");
	write_str_int_map(out, recruits);
	out.close_child("recruits");
	out.open_child("recalls");
	write_str_int_map(out, recalls);
	out.close_child("recalls");
	out.open_child("advances");
	write_str_int_map(out, advanced_to);
	out.close_child("advances");
	out.open_child("deaths");
	write_str_int_map(out, deaths);
	out.close_child("deaths");
	out.open_child("killed");
	write_str_int_map(out, killed);
	out.close_child("killed");
	out.open_child("attacks");
	write_battle_result_map(out, attacks);
	out.close_child("attacks");
	out.open_child("defends");
	write_battle_result_map(out, defends);
	out.close_child("defends");

	out.write_key_val("recruit_cost", recruit_cost);
	out.write_key_val("recall_cost", recall_cost);

	out.write_key_val("damage_inflicted", damage_inflicted);
	out.write_key_val("damage_taken", damage_taken);
	out.write_key_val("expected_damage_inflicted", expected_damage_inflicted);
	out.write_key_val("expected_damage_taken", expected_damage_taken);

	out.write_key_val("turn_damage_inflicted", turn_damage_inflicted);
	out.write_key_val("turn_damage_taken", turn_damage_taken);
	out.write_key_val("turn_expected_damage_inflicted", turn_expected_damage_inflicted);
	out.write_key_val("turn_expected_damage_taken", turn_expected_damage_taken);

	out.write_key_val("save_id", save_id);
}
Beispiel #7
0
static config write_battle_result_map(const stats::battle_result_map& m)
{
	config res;
	for(stats::battle_result_map::const_iterator i = m.begin(); i != m.end(); ++i) {
		config& new_cfg = res.add_child("sequence");
		new_cfg = write_str_int_map(i->second);

		char buf[50];
		snprintf(buf,sizeof(buf),"%d",i->first);
		new_cfg["_num"] = buf;
	}

	return res;
}