summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-12 16:14:37 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-12 16:14:37 +0000
commit0e8c71ba48ff332db6de8f37a2392b374ecadfe3 (patch)
tree1e746c37da6520df3e484138dc92ba5bc9d06973
parentf8aae176b973c33cc6e26a97f33198f781a2e2b8 (diff)
downloadcrawl-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_soup2
-rw-r--r--crawl-ref/source/beam.cc5
-rw-r--r--crawl-ref/source/monspeak.cc4
-rw-r--r--crawl-ref/source/monstuff.cc3
-rw-r--r--crawl-ref/source/traps.cc14
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);
}