Instead of 'yes' show the defense cap value in help.

Suggested by Soliton. Also add a line of explanation in the help
that although a value is shown, if there is a cap it is always
the same as the defensive rating of the unit on that terrain and
cannot be larger.
This commit is contained in:
Chris Beck 2014-07-16 17:29:57 -04:00
parent 09c062d50a
commit 43fb84de8b
2 changed files with 5 additions and 3 deletions

View file

@ -496,7 +496,9 @@ Terrains come in two types: <italic>text='basic'</italic> terrain types and <ita
You can see what basic types are associated to a mixed type by mousing over its hex and checking the terrain type icons displayed in the upper right, under the default theme." + _"
Some units have <italic>text='defense caps'</italic> for a particular basic terrain type. In that case, the 'best defense' behavior is overridden -- they can never recieve a higher defense rating than the lowest defense cap value for any mixed terrain type which includes that basic type. For example, the loyalist cavalryman has a defense rating of 30% on forests, and a defense cap for forests. Thus, on forested hills, he has a defense rating of 30% rather than 40%, because the mixed rating cannot exceed the cap.
Some units have <italic>text='defense caps'</italic> for a particular basic terrain type. In that case, the 'best defense' behavior is overridden -- they can never recieve a higher defense rating than the lowest defense cap value for any mixed terrain type which includes that basic type. For example, the loyalist cavalryman has a defense rating of 30% on forests, and a defense cap for forests. Thus, on forested hills, he has a defense rating of 30% rather than 40%, because the mixed rating cannot exceed the cap." + _"
If a unit has a defense cap for some terrain, it is always the same as its defense rating on that terrain (it cannot be larger)." + _"
<header>text='Basic Terrain Types'</header>

View file

@ -1816,14 +1816,14 @@ public:
str.str(clear_stringstream);
const bool has_cap = movement_type.get_defense().capped(terrain);
if (has_cap) {
str << "<format>color=yellow text='yes'</format>";
str << "<format>color=yellow text='" << defense << "%'</format>";
} else {
str << "<format>color=white text='" << utils::unicode_figure_dash << "'</format>";
}
markup = str.str();
str.str(clear_stringstream);
if (has_cap) {
str << "yes";
str << defense << '%';
} else {
str << utils::unicode_figure_dash;
}