diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-12 16:14:37 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-12 16:14:37 +0000 |
commit | 0e8c71ba48ff332db6de8f37a2392b374ecadfe3 (patch) | |
tree | 1e746c37da6520df3e484138dc92ba5bc9d06973 | |
parent | f8aae176b973c33cc6e26a97f33198f781a2e2b8 (diff) | |
download | crawl-ref-0e8c71ba48ff332db6de8f37a2392b374ecadfe3.tar.gz crawl-ref-0e8c71ba48ff332db6de8f37a2392b374ecadfe3.zip |
Killing plants and fungi doesn't trigger divine conducts anymore, e.g.
power/hp gain or blessings of followers. (Fixes 2818253.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.5@10189 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r-- | crawl-ref/docs/changes.stone_soup | 2 | ||||
-rw-r--r-- | crawl-ref/source/beam.cc | 5 | ||||
-rw-r--r-- | crawl-ref/source/monspeak.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/monstuff.cc | 3 | ||||
-rw-r--r-- | crawl-ref/source/traps.cc | 14 |
5 files changed, 14 insertions, 14 deletions
diff --git a/crawl-ref/docs/changes.stone_soup b/crawl-ref/docs/changes.stone_soup index 713e54c492..27c2fe0932 100644 --- a/crawl-ref/docs/changes.stone_soup +++ b/crawl-ref/docs/changes.stone_soup @@ -11,7 +11,7 @@ Disclaimer: These are merely the highlights, not an exhaustive list of changes. * Fixed missing items in Tiles inventory menus. * Fixed Xom's repel stairs effect moving shops. * Really allow uniques to retain their spells when polymorphed. -* Adjust Yredelemnul's Enslave Soul to no longer use random resistance checks. +* Improve Yredelemnul's Enslave Soul, no longer uses random resistance checks. * Zin gets a power to once per game cure a follower of all mutations. * Artificers start with 1 MP. * Prompt before allowing TSO/Lugonu to bless your weapon. diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc index bb4c087ac6..365d48dd24 100644 --- a/crawl-ref/source/beam.cc +++ b/crawl-ref/source/beam.cc @@ -2923,7 +2923,7 @@ void bolt::drop_object() if (item->sub_type == MI_THROWING_NET) { monsters* m = monster_at(pos()); - // Player or monster on position is caught in net. + // Player or monster at position is caught in net. if (you.pos() == pos() && you.attribute[ATTR_HELD] || m && mons_is_caught(m)) { @@ -2932,7 +2932,6 @@ void bolt::drop_object() set_item_stationary(*item); } } - copy_item_to_grid(*item, pos(), 1); } } @@ -3441,7 +3440,7 @@ bool bolt::misses_player() return (false); const int dodge = player_evasion(); - int real_tohit = hit; + int real_tohit = hit; // Monsters shooting at an invisible player are very inaccurate. if (you.invisible() && !can_see_invis) diff --git a/crawl-ref/source/monspeak.cc b/crawl-ref/source/monspeak.cc index 07e284fd19..9420156c25 100644 --- a/crawl-ref/source/monspeak.cc +++ b/crawl-ref/source/monspeak.cc @@ -502,11 +502,11 @@ bool mons_speaks(monsters *monster) } #endif - const bool no_foe = foe == NULL; + const bool no_foe = (foe == NULL); const bool no_player = crawl_state.arena || (!mons_wont_attack(monster) && (!foe || foe->atype() != ACT_PLAYER)); - const bool mon_foe = m_foe != NULL; + const bool mon_foe = (m_foe != NULL); const bool no_god = no_foe || (mon_foe && foe->deity() == GOD_NO_GOD); const bool named_foe = !no_foe && (!mon_foe || (m_foe->is_named() diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 2d95dbdd44..9952595c3e 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -1099,7 +1099,8 @@ int monster_die(monsters *monster, killer_type killer, &summon_type); const int monster_killed = monster_index(monster); const bool hard_reset = testbits(monster->flags, MF_HARD_RESET); - const bool gives_xp = !summoned; + const bool gives_xp = (!summoned && !mons_class_flag(monster->type, + M_NO_EXP_GAIN)); const bool drop_items = !hard_reset; diff --git a/crawl-ref/source/traps.cc b/crawl-ref/source/traps.cc index ced11f2d1f..216901f4f1 100644 --- a/crawl-ref/source/traps.cc +++ b/crawl-ref/source/traps.cc @@ -175,18 +175,18 @@ bool trap_def::is_known(const actor* act) const // Returns the number of a net on a given square. -// If trapped only stationary ones are counted +// If trapped, only stationary ones are counted // otherwise the first net found is returned. int get_trapping_net(const coord_def& where, bool trapped) { for (stack_iterator si(where); si; ++si) { - if (si->base_type == OBJ_MISSILES - && si->sub_type == MI_THROWING_NET - && (!trapped || item_is_stationary(*si))) - { - return (si->index()); - } + if (si->base_type == OBJ_MISSILES + && si->sub_type == MI_THROWING_NET + && (!trapped || item_is_stationary(*si))) + { + return (si->index()); + } } return (NON_ITEM); } |