diff options
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/delay.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/tilepick.cc | 7 |
2 files changed, 12 insertions, 4 deletions
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc index 995494cf13..9244f4e5da 100644 --- a/crawl-ref/source/delay.cc +++ b/crawl-ref/source/delay.cc @@ -829,8 +829,15 @@ void handle_delay() // XXX: need to handle passwall when monster digs -- bwr if (delay.type == DELAY_FEED_VAMPIRE) { + // Vampires stop feeding if ... + // * engorged ("alive") + // * bat form runs out due to becoming full + // * corpse becomes poisonous as the Vampire loses poison resistance if (you.hunger_state == HS_ENGORGED - || you.hunger_state > HS_SATIATED && player_in_bat_form()) + || you.hunger_state > HS_SATIATED && player_in_bat_form() + || you.hunger_state >= HS_SATIATED + && is_valid_item(mitm[delay.parm1]) + && is_poisonous(mitm[delay.parm1])) { // Messages handled in _food_change() in food.cc. stop_delay(); diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index c32f7c6b5d..916dacc00a 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -4408,19 +4408,20 @@ void tile_place_monster(int gx, int gy, int idx, bool foreground, bool detected) else { // Retain the magic mapped terrain, but don't give away the real - // features either. + // features. if (is_terrain_mapped(gc)) { unsigned int feature = grd(gc); unsigned int grid_symbol; - unsigned short grid_color; - get_item_symbol(feature, &grid_symbol, &grid_color); + unsigned short grid_colour; + get_item_symbol(feature, &grid_symbol, &grid_colour); unsigned int fg; unsigned int bg; tileidx_unseen(fg, bg, grid_symbol, gc); env.tile_bk_bg(gc) = bg; +// env.tile_bk_bg(gc) = fg; } env.tile_bk_fg(gc) = t0; } |