summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mstuff2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mstuff2.cc')
-rw-r--r--crawl-ref/source/mstuff2.cc34
1 files changed, 25 insertions, 9 deletions
diff --git a/crawl-ref/source/mstuff2.cc b/crawl-ref/source/mstuff2.cc
index 9c52cb784d..9eafee035f 100644
--- a/crawl-ref/source/mstuff2.cc
+++ b/crawl-ref/source/mstuff2.cc
@@ -595,6 +595,9 @@ void mons_cast(struct monsters *monster, struct bolt &pbolt, int spell_cast)
break;
case MS_CANTRIP:
+ {
+ const bool friendly = mons_friendly(monster);
+ bool need_friendly_stub = false;
// Monster spell of uselessness, just prints a message.
// This spell exists so that some monsters with really strong
// spells (ie orc priest) can be toned down a bit. -- bwr
@@ -607,10 +610,16 @@ void mons_cast(struct monsters *monster, struct bolt &pbolt, int spell_cast)
MSGCH_MONSTER_ENCHANT );
break;
case 1:
- mpr( "You feel troubled." );
+ if (friendly)
+ need_friendly_stub = true;
+ else
+ mpr( "You feel troubled." );
break;
case 2:
- mpr( "You feel a wave of unholy energy pass over you." );
+ if (friendly)
+ need_friendly_stub = true;
+ else
+ mpr( "You feel a wave of unholy energy pass over you." );
break;
case 3:
simple_monster_message( monster, " looks stronger.",
@@ -626,14 +635,22 @@ void mons_cast(struct monsters *monster, struct bolt &pbolt, int spell_cast)
break;
case 6:
default:
- if (one_chance_in(20))
+ if (friendly)
+ need_friendly_stub = true;
+ else if (one_chance_in(20))
mpr( "You resist (whatever that was supposed to do)." );
else
mpr( "You resist." );
break;
}
+
+ if (need_friendly_stub)
+ simple_monster_message(monster, " shimmers for a moment.",
+ MSGCH_MONSTER_ENCHANT);
+
return;
}
+ }
fire_beam( pbolt );
} // end mons_cast()
@@ -834,8 +851,7 @@ void setup_dragon(struct monsters *monster, struct bolt &pbolt)
? draco_subspecies( monster ) : monster->type;
int scaling = 100;
- pbolt.name = ptr_monam( monster, DESC_PLAIN );
-
+ pbolt.name.clear();
switch (type)
{
case MONS_FIREDRAKE:
@@ -843,21 +859,21 @@ void setup_dragon(struct monsters *monster, struct bolt &pbolt)
case MONS_DRAGON:
case MONS_LINDWURM:
case MONS_XTAHUA:
- pbolt.name += "'s blast of flame";
+ pbolt.name += "blast of flame";
pbolt.flavour = BEAM_FIRE;
pbolt.colour = RED;
pbolt.aux_source = "blast of fiery breath";
break;
case MONS_ICE_DRAGON:
- pbolt.name += "'s blast of cold";
+ pbolt.name += "blast of cold";
pbolt.flavour = BEAM_COLD;
pbolt.colour = WHITE;
pbolt.aux_source = "blast of icy breath";
break;
case MONS_RED_DRACONIAN:
- pbolt.name += "'s searing breath";
+ pbolt.name += "searing blast";
#ifdef DEBUG_DIAGNOSTICS
mprf( MSGCH_DIAGNOSTICS, "bolt name: '%s'", pbolt.name.c_str() );
#endif
@@ -868,7 +884,7 @@ void setup_dragon(struct monsters *monster, struct bolt &pbolt)
break;
case MONS_WHITE_DRACONIAN:
- pbolt.name += "'s chilling breath";
+ pbolt.name += "chilling blast";
#ifdef DEBUG_DIAGNOSTICS
mprf( MSGCH_DIAGNOSTICS, "bolt name: '%s'", pbolt.name.c_str() );
#endif