forked from mirror/openmw-tes3mp
Merge pull request #1228 from akortunov/master
Options to show hidden weapon parameters
This commit is contained in:
commit
f63b1e81cd
5 changed files with 50 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
||||||
#include "weapon.hpp"
|
#include "weapon.hpp"
|
||||||
|
|
||||||
#include <components/esm/loadweap.hpp>
|
#include <components/esm/loadweap.hpp>
|
||||||
|
#include <components/settings/settings.hpp>
|
||||||
|
|
||||||
#include "../mwbase/environment.hpp"
|
#include "../mwbase/environment.hpp"
|
||||||
#include "../mwbase/world.hpp"
|
#include "../mwbase/world.hpp"
|
||||||
|
@ -261,8 +262,8 @@ namespace MWClass
|
||||||
|
|
||||||
std::string text;
|
std::string text;
|
||||||
|
|
||||||
// weapon type & damage. arrows / bolts don't have his info.
|
// weapon type & damage
|
||||||
if (ref->mBase->mData.mType < 12)
|
if ((ref->mBase->mData.mType < 12 || Settings::Manager::getBool("show projectile damage", "Game")) && ref->mBase->mData.mType < 14)
|
||||||
{
|
{
|
||||||
text += "\n#{sType} ";
|
text += "\n#{sType} ";
|
||||||
|
|
||||||
|
@ -279,6 +280,8 @@ namespace MWClass
|
||||||
mapping[ESM::Weapon::MarksmanBow] = std::make_pair("sSkillMarksman", "");
|
mapping[ESM::Weapon::MarksmanBow] = std::make_pair("sSkillMarksman", "");
|
||||||
mapping[ESM::Weapon::MarksmanCrossbow] = std::make_pair("sSkillMarksman", "");
|
mapping[ESM::Weapon::MarksmanCrossbow] = std::make_pair("sSkillMarksman", "");
|
||||||
mapping[ESM::Weapon::MarksmanThrown] = std::make_pair("sSkillMarksman", "");
|
mapping[ESM::Weapon::MarksmanThrown] = std::make_pair("sSkillMarksman", "");
|
||||||
|
mapping[ESM::Weapon::Arrow] = std::make_pair("sSkillMarksman", "");
|
||||||
|
mapping[ESM::Weapon::Bolt] = std::make_pair("sSkillMarksman", "");
|
||||||
|
|
||||||
std::string type = mapping[ref->mBase->mData.mType].first;
|
std::string type = mapping[ref->mBase->mData.mType].first;
|
||||||
std::string oneOrTwoHanded = mapping[ref->mBase->mData.mType].second;
|
std::string oneOrTwoHanded = mapping[ref->mBase->mData.mType].second;
|
||||||
|
@ -318,6 +321,14 @@ namespace MWClass
|
||||||
+ MWGui::ToolTips::toString(ref->mBase->mData.mHealth);
|
+ MWGui::ToolTips::toString(ref->mBase->mData.mHealth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// add reach and attack speed for melee weapon
|
||||||
|
if (ref->mBase->mData.mType < 9 && Settings::Manager::getBool("show melee info", "Game"))
|
||||||
|
{
|
||||||
|
text += MWGui::ToolTips::getPercentString(ref->mBase->mData.mReach, "#{sRange}");
|
||||||
|
|
||||||
|
text += MWGui::ToolTips::getPercentString(ref->mBase->mData.mSpeed, "#{sAttributeSpeed}");
|
||||||
|
}
|
||||||
|
|
||||||
text += MWGui::ToolTips::getWeightString(ref->mBase->mData.mWeight, "#{sWeight}");
|
text += MWGui::ToolTips::getWeightString(ref->mBase->mData.mWeight, "#{sWeight}");
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
|
|
|
@ -594,6 +594,14 @@ namespace MWGui
|
||||||
return "\n" + prefix + ": " + toString(weight);
|
return "\n" + prefix + ": " + toString(weight);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string ToolTips::getPercentString(const float value, const std::string& prefix)
|
||||||
|
{
|
||||||
|
if (value == 0)
|
||||||
|
return "";
|
||||||
|
else
|
||||||
|
return "\n" + prefix + ": " + toString(value*100) +"%";
|
||||||
|
}
|
||||||
|
|
||||||
std::string ToolTips::getValueString(const int value, const std::string& prefix)
|
std::string ToolTips::getValueString(const int value, const std::string& prefix)
|
||||||
{
|
{
|
||||||
if (value == 0)
|
if (value == 0)
|
||||||
|
|
|
@ -63,6 +63,7 @@ namespace MWGui
|
||||||
///< set the screen-space position of the tooltip for focused object
|
///< set the screen-space position of the tooltip for focused object
|
||||||
|
|
||||||
static std::string getWeightString(const float weight, const std::string& prefix);
|
static std::string getWeightString(const float weight, const std::string& prefix);
|
||||||
|
static std::string getPercentString(const float value, const std::string& prefix);
|
||||||
static std::string getValueString(const int value, const std::string& prefix);
|
static std::string getValueString(const int value, const std::string& prefix);
|
||||||
///< @return "prefix: value" or "" if value is 0
|
///< @return "prefix: value" or "" if value is 0
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,28 @@ Enable visual clues for items owned by NPCs when the crosshair is on the object.
|
||||||
|
|
||||||
The default value is 0 (no clues). This setting can only be configured by editing the settings configuration file.
|
The default value is 0 (no clues). This setting can only be configured by editing the settings configuration file.
|
||||||
|
|
||||||
|
show projectile damage
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
:Type: boolean
|
||||||
|
:Range: True/False
|
||||||
|
:Default: False
|
||||||
|
|
||||||
|
If this setting is true, damage bonus of arrows and bolts will be showed on item tooltip.
|
||||||
|
|
||||||
|
The default value is false. This setting can only be configured by editing the settings configuration file.
|
||||||
|
|
||||||
|
show melee info
|
||||||
|
---------------
|
||||||
|
|
||||||
|
:Type: boolean
|
||||||
|
:Range: True/False
|
||||||
|
:Default: False
|
||||||
|
|
||||||
|
If this setting is true, melee weapons reach and speed will be showed on item tooltip.
|
||||||
|
|
||||||
|
The default value is false. This setting can only be configured by editing the settings configuration file.
|
||||||
|
|
||||||
best attack
|
best attack
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
|
|
@ -146,6 +146,12 @@ crosshair = true
|
||||||
# no color, 1 is tool tip only, 2 is crosshair only, and 3 is both).
|
# no color, 1 is tool tip only, 2 is crosshair only, and 3 is both).
|
||||||
show owned = 0
|
show owned = 0
|
||||||
|
|
||||||
|
# Show damage bonus of arrow and bolts.
|
||||||
|
show projectile damage = false
|
||||||
|
|
||||||
|
# Show additional melee weapon info: reach and attack speed
|
||||||
|
show melee info = false
|
||||||
|
|
||||||
# Always use the best mode of attack: e.g. chop, slash or thrust.
|
# Always use the best mode of attack: e.g. chop, slash or thrust.
|
||||||
best attack = false
|
best attack = false
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue