diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-04-05 16:46:35 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-04-05 16:46:35 +0000 |
commit | 8b6403164380ecbc2a0a16b15757fd2cdce548eb (patch) | |
tree | 2f6d8bf84b4be0b82aad5ef055516e758e505b16 /crawl-ref/source/mstuff2.cc | |
parent | cd9d13b92dee71ff7671c10e69e4508b7554ff69 (diff) | |
download | crawl-ref-8b6403164380ecbc2a0a16b15757fd2cdce548eb.tar.gz crawl-ref-8b6403164380ecbc2a0a16b15757fd2cdce548eb.zip |
Merge trunk back into 0.2 for 0.2.2.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.2@1227 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/mstuff2.cc')
-rw-r--r-- | crawl-ref/source/mstuff2.cc | 34 |
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 |