diff options
-rw-r--r-- | crawl-ref/source/beam.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/newgame.cc | 4 |
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; |