diff options
author | elliptic <hyperelliptical@gmail.com> | 2012-01-08 10:53:54 -0500 |
---|---|---|
committer | elliptic <hyperelliptical@gmail.com> | 2012-01-09 18:27:30 -0500 |
commit | f4729ae69a4a1f257d5a430b03a458d62485fd32 (patch) | |
tree | e6ec87d3b25cc58792f8fcedb3dc2e36efd94cc5 /crawl-ref/source/notes.cc | |
parent | 05855ad4a539436a2631f6b6c07c1520afdbc0a9 (diff) | |
download | crawl-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.cc | 17 |
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"; |