summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/beam.cc9
-rw-r--r--crawl-ref/source/newgame.cc4
2 files changed, 8 insertions, 5 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index 11768a210b..6de61f0906 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -2121,7 +2121,7 @@ bool poison_monster( monsters *monster,
if (!monster->alive())
return (false);
- if (!force && mons_res_poison(monster) > 0)
+ if (!levels || (!force && mons_res_poison(monster) > 0))
return (false);
const mon_enchant old_pois = monster->get_ench(ENCH_POISON);
@@ -2130,7 +2130,7 @@ bool poison_monster( monsters *monster,
// actually do the poisoning
// note: order important here
- if (new_pois.degree > old_pois.degree && verbose)
+ if (verbose && new_pois.degree > old_pois.degree)
{
simple_monster_message( monster,
!old_pois.degree? " is poisoned."
@@ -3844,8 +3844,11 @@ static int affect_monster(bolt &beam, monsters *mon)
bool wake_mimic = true;
if (beam.name.find("curare") != std::string::npos)
{
- if (curare_hits_monster( beam, mon, whose_kill(beam), 2 ))
+ if (beam.ench_power == AUTOMATIC_HIT
+ && curare_hits_monster( beam, mon, whose_kill(beam), 2 ))
+ {
wake_mimic = false;
+ }
}
if (wake_mimic && mons_is_mimic( mon->type ))
diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc
index 75830d510f..b00150dc8e 100644
--- a/crawl-ref/source/newgame.cc
+++ b/crawl-ref/source/newgame.cc
@@ -1256,7 +1256,6 @@ static bool class_allowed( species_type speci, job_type char_class )
case SP_HIGH_ELF:
case SP_KENKU:
case SP_MINOTAUR:
- case SP_NAGA:
case SP_OGRE:
case SP_SPRIGGAN:
case SP_TROLL:
@@ -4422,7 +4421,8 @@ bool give_items_skills()
weap_skill = 3;
newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
- newgame_make_item(2, EQ_NONE, OBJ_BOOKS, give_first_conjuration_book());
+ if (!choose_book( you.inv[2], BOOK_CONJURATIONS_I, 2 ))
+ return false;
you.skills[SK_FIGHTING] = 2;
you.skills[SK_ARMOUR] = 1;