diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-09-21 15:16:15 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-09-21 15:16:15 +0000 |
commit | a0fc101bb8397b81ccd9cf5c1137764e14c57e89 (patch) | |
tree | 43de33e541d4274cc6787ad53571730ca8f91224 /crawl-ref | |
parent | d5efde9cb99ea1e17d8e7f80e865dd1cacc37149 (diff) | |
download | crawl-ref-a0fc101bb8397b81ccd9cf5c1137764e14c57e89.tar.gz crawl-ref-a0fc101bb8397b81ccd9cf5c1137764e14c57e89.zip |
Fixed note taking (NOTE_HP_CHANGE) for invisible monsters
(bug 1786776) and in general (wasn't working).
Also tweaked tutorial message on burning spellbooks
(Bug 1799350).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2174 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/notes.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/ouch.cc | 31 | ||||
-rw-r--r-- | crawl-ref/source/ouch.h | 2 | ||||
-rw-r--r-- | crawl-ref/source/player.cc | 7 | ||||
-rw-r--r-- | crawl-ref/source/tutorial.cc | 4 |
5 files changed, 29 insertions, 17 deletions
diff --git a/crawl-ref/source/notes.cc b/crawl-ref/source/notes.cc index c675b30639..e92c71ff3d 100644 --- a/crawl-ref/source/notes.cc +++ b/crawl-ref/source/notes.cc @@ -130,7 +130,9 @@ static bool is_noteworthy( const Note& note ) /* hp noteworthiness is handled in its own function */ if ( note.type == NOTE_HP_CHANGE && !is_noteworthy_hp(note.first, note.second) ) + { return false; + } /* skills are noteworthy if in the skill value list or if it's a new maximal skill (depending on options) */ diff --git a/crawl-ref/source/ouch.cc b/crawl-ref/source/ouch.cc index ed81b0e3bf..b388b4e500 100644 --- a/crawl-ref/source/ouch.cc +++ b/crawl-ref/source/ouch.cc @@ -732,7 +732,7 @@ static void xom_checks_damage(kill_method_type death_type, // death_source should be set to zero for non-monsters {dlb} void ouch( int dam, int death_source, kill_method_type death_type, - const char *aux ) + const char *aux, bool see_source ) { ait_hp_loss hpl(dam, death_type); interrupt_activity( AI_HP_LOSS, &hpl ); @@ -797,18 +797,25 @@ void ouch( int dam, int death_source, kill_method_type death_type, } xom_checks_damage(death_type, dam, death_source); - return; - } - - take_note( - Note( - NOTE_HP_CHANGE, - you.hp, - you.hp_max, - scorefile_entry(dam, death_source, death_type, aux, true) - .death_description(scorefile_entry::DDV_TERSE) - .c_str()) ); + // for note taking + std::string damage_desc = ""; + if (!see_source) + { + snprintf(info, INFO_SIZE, "something (%d)", dam); + damage_desc = info; + } + else + { + damage_desc = scorefile_entry(dam, death_source, death_type, aux, true) + .death_description(scorefile_entry::DDV_TERSE); + } + + take_note( + Note(NOTE_HP_CHANGE, you.hp, you.hp_max, damage_desc.c_str()) ); + + return; + } // else hp <= 0 } #ifdef WIZARD diff --git a/crawl-ref/source/ouch.h b/crawl-ref/source/ouch.h index 42dd31c35e..c1c063bdfb 100644 --- a/crawl-ref/source/ouch.h +++ b/crawl-ref/source/ouch.h @@ -96,7 +96,7 @@ void scrolls_burn(char burn_strength, char target_class); * ouch - output - religion - spells - spells2 - spells4 * *********************************************************************** */ void ouch(int dam, int death_source, kill_method_type death_type, - const char *aux = NULL); + const char *aux = NULL, bool see_source = true); // last updated 12may2000 {dlb} diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index cbb42c5678..5f33f10c4d 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -5705,9 +5705,12 @@ void player::teleport(bool now, bool abyss_shift) void player::hurt(const actor *agent, int amount) { + const monsters *mon = dynamic_cast<const monsters*>(agent); if (agent->atype() == ACT_MONSTER) - ouch(amount, monster_index( dynamic_cast<const monsters*>(agent) ), - KILLED_BY_MONSTER); + { + ouch(amount, monster_index( mon ), + KILLED_BY_MONSTER, "", player_monster_visible(mon)); + } else { // Should never happen! diff --git a/crawl-ref/source/tutorial.cc b/crawl-ref/source/tutorial.cc index a0642733cb..38cb5fe1c6 100644 --- a/crawl-ref/source/tutorial.cc +++ b/crawl-ref/source/tutorial.cc @@ -979,7 +979,7 @@ void learned_something_new(tutorial_event_type seen_what, int x, int y) more(); text << "\n\nAs a worshipper of " << god_name(GOD_TROG) - << ", though, you might instead wish to burn this tome of " + << ", though, you might instead wish to burn those tomes of " "hated magic by using the corresponding " "<w>a<magenta>bility."; } @@ -996,7 +996,7 @@ void learned_something_new(tutorial_event_type seen_what, int x, int y) if (Options.tutorial_type == TUT_BERSERK_CHAR) { text << "\nAs you're already trained in Axes you should stick " - "with these. Checking other axes can be worthwhile."; + "with these. Checking other axes can be worthwhile."; } break; |