diff options
author | Samuel Bronson <naesten@gmail.com> | 2013-05-18 23:48:09 -0400 |
---|---|---|
committer | Samuel Bronson <naesten@gmail.com> | 2013-05-18 23:48:09 -0400 |
commit | 609017b52e878c9a13ae5d5fbcb56c8504875caf (patch) | |
tree | 5213d48d54e5470a13134927f311ef6cd35c4379 /crawl-ref/source/skills.cc | |
parent | feaa46e08353aea297e4bfb317cd5f2e0f548cf5 (diff) | |
download | crawl-ref-609017b52e878c9a13ae5d5fbcb56c8504875caf.tar.gz crawl-ref-609017b52e878c9a13ae5d5fbcb56c8504875caf.zip |
Remove "sage" entries for maxed skills.
Diffstat (limited to 'crawl-ref/source/skills.cc')
-rw-r--r-- | crawl-ref/source/skills.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/crawl-ref/source/skills.cc b/crawl-ref/source/skills.cc index 7a948ace1c..149678f689 100644 --- a/crawl-ref/source/skills.cc +++ b/crawl-ref/source/skills.cc @@ -20,6 +20,7 @@ #include "hints.h" #include "invent.h" #include "itemprop.h" +#include "libutil.h" #include "message.h" #include "misc.h" #include "notes.h" @@ -144,7 +145,18 @@ static void _change_skill_level(skill_type exsk, int n) take_note(Note(NOTE_LOSE_SKILL, exsk, you.skills[exsk])); if (you.skills[exsk] == 27) + { mprf(MSGCH_INTRINSIC_GAIN, "You have mastered %s!", skill_name(exsk)); + for (int i = you.sage_skills.size() - 1; i >= 0; i--) + { + if (you.sage_skills[i] == exsk) + { + erase_any(you.sage_skills, i); + erase_any(you.sage_xp, i); + erase_any(you.sage_bonus, i); + } + } + } else if (abs(n) == 1 && you.num_turns) { mprf(MSGCH_INTRINSIC_GAIN, "Your %s skill %s to level %d!", |