summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/it_use3.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/crawl-ref/source/it_use3.cc b/crawl-ref/source/it_use3.cc
index f059f78805..d05cab0499 100644
--- a/crawl-ref/source/it_use3.cc
+++ b/crawl-ref/source/it_use3.cc
@@ -147,7 +147,26 @@ void shadow_lantern_effect()
{
create_monster(mgen_data(MONS_SHADOW, BEH_FRIENDLY, 2, 0, you.pos(),
MHITYOU));
- did_god_conduct(DID_NECROMANCY, 1);
+
+ item_def * lantern = you.weapon();
+
+ // This should only get called when we are wielding a lantern
+ // of shadows.
+ ASSERT(lantern && lantern->base_type ==OBJ_MISCELLANY
+ && lantern->sub_type == MISC_LANTERN_OF_SHADOWS);
+
+ bool known = fully_identified(*lantern);
+ did_god_conduct(DID_NECROMANCY, 1, known);
+
+ // ID the lantern and refresh the weapon display
+ if(!known)
+ {
+ set_ident_type(*lantern, ID_KNOWN_TYPE);
+ set_ident_flags(*lantern, ISFLAG_IDENT_MASK);
+
+ you.wield_change = true;
+ }
+
}
}