diff options
author | Robert Vollmert <rvollmert@gmx.net> | 2009-12-04 08:52:58 +0100 |
---|---|---|
committer | Robert Vollmert <rvollmert@gmx.net> | 2009-12-04 09:18:30 +0100 |
commit | 83a78c65abdbfa995225122be56548a75d46f0ff (patch) | |
tree | 8b94ef7340139ec8d7b2eced94a6a6d9ac71e1b3 /crawl-ref/source | |
parent | c4c9ac1d41f59ab9038529cbd90e45e41f4e20c7 (diff) | |
download | crawl-ref-83a78c65abdbfa995225122be56548a75d46f0ff.tar.gz crawl-ref-83a78c65abdbfa995225122be56548a75d46f0ff.zip |
Added monster MR display (petato, mantis-id 113).
Adds a line to the monster description screen that tells you how
resistant it is to magic. Uses the same scale as player MR (eg on the
% screen) except it skips "not resistant" levels of (non-)resistance.
Uploaded a new version of the patch; now includes experimental MR
display rescaling for both players and npcs. Try it out on the %
screen, or examine a creature. Adverbs stolen from the stealth
display, crazy resistant creatures are described as "almost entirely
resistant".
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/describe.cc | 17 | ||||
-rw-r--r-- | crawl-ref/source/output.cc | 7 | ||||
-rw-r--r-- | crawl-ref/source/player.cc | 7 |
3 files changed, 27 insertions, 4 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc index 47c8d42f66..b4ef97cf18 100644 --- a/crawl-ref/source/describe.cc +++ b/crawl-ref/source/describe.cc @@ -2732,6 +2732,23 @@ static std::string _monster_stat_description(const monsters& mon) // Magic resistance at MAG_IMMUNE. if (mons_immune_magic(&mon)) result << pronoun << " is immune to magical enchantments.$"; + else // How resistant is it? Same scale as the player. + { + const int mr = mon.res_magic(); + if (mr >= 10) + { + result << pronoun << make_stringf(" is %s resistant to magic.$", + (mr < 30) ? "slightly" : + (mr < 60) ? "somewhat" : + (mr < 90) ? "quite" : + (mr < 120) ? "very" : + (mr < 150) ? "extremely" : + (mr < 190) ? "extraordinarily" : + (mr < 240) ? "incredibly" : + (mr < 300) ? "uncannily" + : "almost entirely"); + } + } if (mons_class_flag(mon.type, M_STATIONARY)) result << pronoun << " cannot move.$"; diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc index ad90622cca..6b02f7d1e1 100644 --- a/crawl-ref/source/output.cc +++ b/crawl-ref/source/output.cc @@ -2287,8 +2287,11 @@ std::string _status_mut_abilities() (mr < 60) ? "somewhat" : (mr < 90) ? "quite" : (mr < 120) ? "very" : - (mr < 140) ? "extremely" - : "incredibly"); + (mr < 150) ? "extremely" : + (mr < 190) ? "extraordinarily" : + (mr < 240) ? "incredibly" : + (mr < 300) ? "uncannily" + : "almost entirely"); status.push_back(info); diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index ab351092fe..e69dc3c94d 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -3798,8 +3798,11 @@ void display_char_status() (mr < 60) ? "somewhat" : (mr < 90) ? "quite" : (mr < 120) ? "very" : - (mr < 140) ? "extremely" - : "incredibly"); + (mr < 150) ? "extremely" : + (mr < 190) ? "extraordinarily" : + (mr < 240) ? "incredibly" : + (mr < 300) ? "uncannily" + : "almost entirely"); // character evaluates their ability to sneak around: const int ustealth = check_stealth(); |