summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/notes.cc
diff options
context:
space:
mode:
authorelliptic <hyperelliptical@gmail.com>2012-01-08 10:53:54 -0500
committerelliptic <hyperelliptical@gmail.com>2012-01-09 18:27:30 -0500
commitf4729ae69a4a1f257d5a430b03a458d62485fd32 (patch)
treee6ec87d3b25cc58792f8fcedb3dc2e36efd94cc5 /crawl-ref/source/notes.cc
parent05855ad4a539436a2631f6b6c07c1520afdbc0a9 (diff)
downloadcrawl-ref-f4729ae69a4a1f257d5a430b03a458d62485fd32.tar.gz
crawl-ref-f4729ae69a4a1f257d5a430b03a458d62485fd32.zip
Tweak milestones and notes for death/banishment/pacification/enslavement.
Previously milestones for pacified monsters happened when the pacified monster disappeared (i.e. by leaving the level), not when it was actually pacified. This is now fixed, successfully using Yred's Enslave Soul on a monster is recorded as well, and all four of these ways of defeating a monster now give different milestones and notes.
Diffstat (limited to 'crawl-ref/source/notes.cc')
-rw-r--r--crawl-ref/source/notes.cc17
1 files changed, 5 insertions, 12 deletions
diff --git a/crawl-ref/source/notes.cc b/crawl-ref/source/notes.cc
index 531f034641..bf9f748c4e 100644
--- a/crawl-ref/source/notes.cc
+++ b/crawl-ref/source/notes.cc
@@ -114,7 +114,7 @@ static bool _is_noteworthy(const Note& note)
|| note.type == NOTE_BUY_ITEM
|| note.type == NOTE_DONATE_MONEY
|| note.type == NOTE_SEEN_MONSTER
- || note.type == NOTE_KILL_MONSTER
+ || note.type == NOTE_DEFEAT_MONSTER
|| note.type == NOTE_POLY_MONSTER
|| note.type == NOTE_USER_NOTE
|| note.type == NOTE_MESSAGE
@@ -127,7 +127,6 @@ static bool _is_noteworthy(const Note& note)
|| note.type == NOTE_PARALYSIS
|| note.type == NOTE_NAMED_ALLY
|| note.type == NOTE_ALLY_DEATH
- || note.type == NOTE_BANISH_MONSTER
|| note.type == NOTE_FEAT_MIMIC)
{
return (true);
@@ -349,11 +348,11 @@ std::string Note::describe(bool when, bool where, bool what) const
case NOTE_SEEN_MONSTER:
result << "Noticed " << name;
break;
- case NOTE_KILL_MONSTER:
+ case NOTE_DEFEAT_MONSTER:
if (second)
- result << name << " (ally) was defeated";
+ result << name << " (ally) was " << desc;
else
- result << "Defeated " << name;
+ result << uppercase_first(desc) << " " << name;
break;
case NOTE_POLY_MONSTER:
result << name << " changed into " << desc;
@@ -408,19 +407,13 @@ std::string Note::describe(bool when, bool where, bool what) const
case NOTE_ALLY_DEATH:
result << "Your ally " << name << " died";
break;
- case NOTE_BANISH_MONSTER:
- if (second)
- result << name << " (ally) was banished";
- else
- result << "Banished " << name;
- break;
default:
result << "Buggy note description: unknown note type";
break;
}
}
- if (type == NOTE_SEEN_MONSTER || type == NOTE_KILL_MONSTER)
+ if (type == NOTE_SEEN_MONSTER || type == NOTE_DEFEAT_MONSTER)
{
if (what && first == MONS_PANDEMONIUM_LORD)
result << " the pandemonium lord";