diff options
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r-- | crawl-ref/source/monstuff.cc | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 53c015fef6..22374c4f0c 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -2758,19 +2758,19 @@ static int get_draconian_breath_spell( struct monsters *monster ) default: break; } + } - if (draco_breath != MS_NO_SPELL) - { - // [ds] Check line-of-fire here. It won't happen elsewhere. - bolt beem; - setup_mons_cast(monster, beem, draco_breath); - - fire_tracer(monster, beem); - - if (!mons_should_fire(beem)) - draco_breath = MS_NO_SPELL; - } + if (draco_breath != MS_NO_SPELL) + { + // [ds] Check line-of-fire here. It won't happen elsewhere. + bolt beem; + setup_mons_cast(monster, beem, draco_breath); + + fire_tracer(monster, beem); + + if (!mons_should_fire(beem)) + draco_breath = MS_NO_SPELL; } return (draco_breath); @@ -3391,6 +3391,13 @@ static void handle_monster_move(int i, monsters *monster) } } + if (monster->type == MONS_TIAMAT && one_chance_in(3) ) + { + int cols[] = { RED, WHITE, DARKGREY, GREEN, MAGENTA }; + int newcol = cols[random2(sizeof(cols) / sizeof(cols[0]))]; + monster->colour = newcol; + } + if (handle_enchantment(monster)) continue; |