summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/skills.cc
diff options
context:
space:
mode:
authorSamuel Bronson <naesten@gmail.com>2013-05-18 23:48:09 -0400
committerSamuel Bronson <naesten@gmail.com>2013-05-18 23:48:09 -0400
commit609017b52e878c9a13ae5d5fbcb56c8504875caf (patch)
tree5213d48d54e5470a13134927f311ef6cd35c4379 /crawl-ref/source/skills.cc
parentfeaa46e08353aea297e4bfb317cd5f2e0f548cf5 (diff)
downloadcrawl-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.cc12
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!",