diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-25 16:25:25 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-25 16:25:25 +0000 |
commit | b736da84096898e66c6cd777020319d4391b604c (patch) | |
tree | ac7b0684ea88b1438eb19a7260bc3d4123ee82d0 /crawl-ref/source/hiscores.cc | |
parent | 3cd7d88e4a445431c8ce6f1e8b6c107228649b4e (diff) | |
download | crawl-ref-b736da84096898e66c6cd777020319d4391b604c.tar.gz crawl-ref-b736da84096898e66c6cd777020319d4391b604c.zip |
More milestones and logfile fields for the Crawl tournament.
Add milestones for worshipping and renouncing gods.
Record number of kills and all skills at level 27 in the logfile and milestones.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10406 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/hiscores.cc')
-rw-r--r-- | crawl-ref/source/hiscores.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/crawl-ref/source/hiscores.cc b/crawl-ref/source/hiscores.cc index 5207bf3109..03180c5b12 100644 --- a/crawl-ref/source/hiscores.cc +++ b/crawl-ref/source/hiscores.cc @@ -43,6 +43,7 @@ REVISION("$Rev$"); #include "itemname.h" #include "itemprop.h" #include "items.h" +#include "Kills.h" #include "libutil.h" #include "message.h" #include "mon-util.h" @@ -521,6 +522,8 @@ void scorefile_entry::init_from(const scorefile_entry &se) num_turns = se.num_turns; num_diff_runes = se.num_diff_runes; num_runes = se.num_runes; + kills = se.kills; + maxed_skills = se.maxed_skills; } bool scorefile_entry::parse(const std::string &line) @@ -617,6 +620,9 @@ void scorefile_entry::init_with_fields() num_diff_runes = fields->int_field("urune"); num_runes = fields->int_field("nrune"); + + kills = fields->long_field("kills"); + maxed_skills = fields->str_field("maxskills"); } void scorefile_entry::set_base_xlog_fields() const @@ -679,6 +685,10 @@ void scorefile_entry::set_base_xlog_fields() const if (num_runes) fields->add_field("nrune", "%d", num_runes); + + fields->add_field("kills", "%ld", kills); + if (!maxed_skills.empty()) + fields->add_field("maxskills", "%s", maxed_skills.c_str()); } void scorefile_entry::set_score_fields() const @@ -874,6 +884,8 @@ void scorefile_entry::reset() num_turns = -1; num_diff_runes = 0; num_runes = 0; + kills = 0L; + maxed_skills.clear(); } static int _award_modified_experience() @@ -1023,6 +1035,17 @@ void scorefile_entry::init() best_skill = ::best_skill( SK_FIGHTING, NUM_SKILLS - 1, 99 ); best_skill_lvl = you.skills[ best_skill ]; + // Note all skills at level 27. + for (int sk = 0; sk < NUM_SKILLS; ++sk) { + if (you.skills[sk] == 27) { + if (!maxed_skills.empty()) + maxed_skills += ","; + maxed_skills += skill_name(sk); + } + } + + kills = you.kills->total_kills(); + final_hp = you.hp; final_max_hp = you.hp_max; final_max_max_hp = get_real_hp(true, true); |