diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-22 20:43:44 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-22 20:43:44 +0000 |
commit | 91107a94e31ddd5e42b0e6fba2d2e0a9313b99cf (patch) | |
tree | 1b644ee0a90664db8824cecb84eca32d4d76f231 /crawl-ref/source/monstuff.cc | |
parent | e3be83aeba89076ac1b2c9e0cccbd2cfcfcdae82 (diff) | |
download | crawl-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.cc | 12 |
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), |