summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/religion.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/religion.cc')
-rw-r--r--crawl-ref/source/religion.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index c16c26c2c9..ff85634da1 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -894,11 +894,20 @@ static bool _tso_blessing_holy_wpn(monsters *mon)
{
// Pick a monster's weapon.
const int weapon = mon->inv[MSLOT_WEAPON];
+ const int alt_weapon = mon->inv[MSLOT_ALT_WEAPON];
- if (weapon == NON_ITEM)
+ if (weapon == NON_ITEM && alt_weapon == NON_ITEM)
return false;
- item_def& wpn(mitm[weapon]);
+ int slot;
+
+ do
+ {
+ slot = (coinflip()) ? weapon : alt_weapon;
+ }
+ while (slot == NON_ITEM);
+
+ item_def& wpn(mitm[slot]);
const int wpn_brand = get_weapon_brand(wpn);