From 7ec7eeeab0f4d6dadba493d5b11cc3a0910f6a06 Mon Sep 17 00:00:00 2001 From: Stefan O'Rear Date: Fri, 13 Nov 2009 12:26:49 -0800 Subject: Add a little variety in summoned by tags --- crawl-ref/source/mon-place.cc | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'crawl-ref/source/mon-place.cc') diff --git a/crawl-ref/source/mon-place.cc b/crawl-ref/source/mon-place.cc index 545cd28454..32a6158786 100644 --- a/crawl-ref/source/mon-place.cc +++ b/crawl-ref/source/mon-place.cc @@ -1263,12 +1263,27 @@ static int _place_monster_aux(const mgen_data &mg, } mon->foe = mg.foe; + std::string blame_prefix; + + if (mg.abjuration_duration > 0) + { + blame_prefix = "summoned by "; + } + else if (mons_class_is_zombified(mg.cls)) + { + blame_prefix = "animated by "; + } + else + { + blame_prefix = "created by "; + } + if (!mg.non_actor_summoner.empty()) { CrawlStoreValue& blame = mon->props["blame"]; blame.new_vector(SV_STR, SFLAG_CONST_TYPE); - blame.get_vector().push_back(mg.non_actor_summoner); + blame.get_vector().push_back(blame_prefix + mg.non_actor_summoner); } else if (mg.summoner != NULL) { @@ -1278,13 +1293,14 @@ static int _place_monster_aux(const mgen_data &mg, if (mg.summoner->atype() == ACT_PLAYER) { - blame.get_vector().push_back("themselves"); + blame.get_vector().push_back(blame_prefix + "the player character"); } else { monsters* sum = &menv[mg.summoner->mindex()]; - blame.get_vector().push_back(sum->full_name(DESC_NOCAP_A, true)); + blame.get_vector().push_back(blame_prefix + + sum->full_name(DESC_NOCAP_A, true)); if (sum->props.exists("blame")) { -- cgit v1.2.3-54-g00ecf