summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monstuff.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-22 20:43:44 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-22 20:43:44 +0000
commit91107a94e31ddd5e42b0e6fba2d2e0a9313b99cf (patch)
tree1b644ee0a90664db8824cecb84eca32d4d76f231 /crawl-ref/source/monstuff.cc
parente3be83aeba89076ac1b2c9e0cccbd2cfcfcdae82 (diff)
downloadcrawl-ref-91107a94e31ddd5e42b0e6fba2d2e0a9313b99cf.tar.gz
crawl-ref-91107a94e31ddd5e42b0e6fba2d2e0a9313b99cf.zip
* Remove "Really eat rotten meat?" prompt, and print a generic refusal
message instead. Also, don't offer rotten meat on floor if you won't be able to eat it (FR 1939905). * Give full xp when an enslaved monster is killed, as it's to be assumed it wouldn't have died without your interference (FR 1937178). * Re-allow enforcing saprovorous mutation in wizard mode. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4488 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r--crawl-ref/source/monstuff.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index b5970bcc0e..84b4478425 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -467,7 +467,7 @@ static bool _is_pet_kill(killer_type killer, int i)
return (false);
const monsters *m = &menv[i];
- if (mons_friendly(m))
+ if (mons_friendly(m)) // this includes enslaved monsters
return (true);
// Check if the monster was confused by you or a friendly, which
@@ -685,11 +685,13 @@ static void _fire_monster_death_event(monsters *monster,
{
const level_id target(BRANCH_SLIME_PITS, 6);
if (is_existing_level(target))
+ {
apply_to_level(
target,
true,
target == level_id::current()?
_slime_pit_unlock_onlevel : _slime_pit_unlock_offlevel );
+ }
}
}
}
@@ -728,14 +730,16 @@ void monster_die(monsters *monster, killer_type killer, int i, bool silent)
if (me.ench == ENCH_CONFUSION && me.who == KC_YOU)
killer = KILL_YOU_CONF;
}
+ else if (MON_KILL(killer) && monster->has_ench(ENCH_CHARM))
+ killer = KILL_YOU_CONF; // Well, it was confused in a sense... (jpeg)
// Take note!
if (killer != KILL_RESET && killer != KILL_DISMISSED)
{
- if ( MONST_INTERESTING(monster) ||
+ if ( MONST_INTERESTING(monster)
// XXX yucky hack
- monster->type == MONS_PLAYER_GHOST ||
- monster->type == MONS_PANDEMONIUM_DEMON )
+ || monster->type == MONS_PLAYER_GHOST
+ || monster->type == MONS_PANDEMONIUM_DEMON )
{
take_note(Note(NOTE_KILL_MONSTER,
monster->type, mons_friendly(monster),