From 4fd5210858042ffa3eeb6de181868eebb38cd81f Mon Sep 17 00:00:00 2001 From: zelgadis Date: Sun, 24 May 2009 08:22:40 +0000 Subject: Tutorial changes: - If a friendly monster is enslaved/charmed, note that it is only *temporarily* friendly, and that it will become hostile when its friendliness wears out. - Make sure TUT_MONSTER_FRIENDLY is fired for summoned friendly monsters, not just for enslaved/charmed monsters. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9816 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/mon-util.cc | 2 +- crawl-ref/source/monstuff.cc | 14 ++++++++++---- crawl-ref/source/tutorial.cc | 12 +++++++++++- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc index 7539df4f20..f7fd0bc1b9 100644 --- a/crawl-ref/source/mon-util.cc +++ b/crawl-ref/source/mon-util.cc @@ -6627,7 +6627,7 @@ void monsters::add_enchantment_effect(const mon_enchant &ench, bool quiet) patrol_point.reset(); } if (you.can_see(this)) - learned_something_new(TUT_MONSTER_FRIENDLY); + learned_something_new(TUT_MONSTER_FRIENDLY, pos()); break; default: diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 07e9a43170..4b6913717e 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -8929,11 +8929,17 @@ void seen_monster(monsters *monster) // First time we've seen this particular monster. monster->flags |= MF_SEEN; - if (!mons_is_mimic(monster->type) && MONST_INTERESTING(monster)) + if (!mons_is_mimic(monster->type)) { - take_note( - Note(NOTE_SEEN_MONSTER, monster->type, 0, - monster->name(DESC_NOCAP_A, true).c_str())); + if (Options.tutorial_left) + tutorial_first_monster(*monster); + + if (MONST_INTERESTING(monster)) + { + take_note( + Note(NOTE_SEEN_MONSTER, monster->type, 0, + monster->name(DESC_NOCAP_A, true).c_str())); + } } } diff --git a/crawl-ref/source/tutorial.cc b/crawl-ref/source/tutorial.cc index 62520d7e79..c1981c2072 100644 --- a/crawl-ref/source/tutorial.cc +++ b/crawl-ref/source/tutorial.cc @@ -2778,6 +2778,11 @@ void learned_something_new(tutorial_event_type seen_what, coord_def gc) "monsters killed by allies of what you'd get for killing them " "yourself. You can command your allies by pressing t " "to talk to them."; + + if (!mons_att_wont_attack(monster_at(gc)->attitude)) + text << "\n\nHowever, it is only temporarily friendly, " + "and will become dangerous again when this friendliness " + "wears off."; break; case TUT_SEEN_MONSTER: @@ -4032,7 +4037,8 @@ void tutorial_describe_monster(const monsters *mons) "better than to send you the same way.\n\n"; dangerous = true; } - else + // Don't call friendly horrible things dangerous. + else if (!mons_att_wont_attack(mons->attitude)) { // 8 is the default value for the note-taking of OOD monsters. // Since I'm too lazy to come up with any measurement of my own @@ -4063,6 +4069,10 @@ void tutorial_describe_monster(const monsters *mons) ostr << "Friendly monsters will follow you around and attempt to aid " "you in battle. You can order your allies by talking " "to them."; + if (!mons_att_wont_attack(mons->attitude)) + ostr << "\n\nHowever, it is only temporarily friendly, " + "and will become dangerous again when this friendliness " + "wears off."; } else if (dangerous) { -- cgit v1.2.3-54-g00ecf