summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-stuff.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mon-stuff.cc')
-rw-r--r--crawl-ref/source/mon-stuff.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/crawl-ref/source/mon-stuff.cc b/crawl-ref/source/mon-stuff.cc
index add22f09c5..d8f0a8e7a2 100644
--- a/crawl-ref/source/mon-stuff.cc
+++ b/crawl-ref/source/mon-stuff.cc
@@ -533,14 +533,16 @@ static void _check_kill_milestone(const monsters *mons,
if (mons->props.exists("original_was_unique"))
is_unique = mons->props["original_was_unique"].get_bool();
- if (mons->type == MONS_PLAYER_GHOST)
+ // Don't give milestones for summoned ghosts {due}
+ if (mons->type == MONS_PLAYER_GHOST && !mons->is_summoned())
{
std::string milestone = _milestone_kill_verb(killer) + "the ghost of ";
milestone += get_ghost_description(*mons, true);
milestone += ".";
mark_milestone("ghost", milestone);
}
- else if (is_unique)
+ // Or summoned uniques, which a summoned ghost is treated as {due}
+ else if (is_unique && !mons->is_summoned())
{
mark_milestone("unique",
_milestone_kill_verb(killer)
@@ -3126,6 +3128,11 @@ bool mons_avoids_cloud(const monsters *monster, cloud_struct cloud,
if (placement)
extra_careful = true;
+ // Berserk monsters are less careful and will blindly plow through any
+ // dangerous cloud, just to kill you. {due}
+ if (!extra_careful && monster->berserk())
+ return (true);
+
switch (cl_type)
{
case CLOUD_MIASMA: