forked from mirror/openmw-tes3mp
Merge pull request #198 from OpenMW/master
Add OpenMW commits up to 14 Apr 2017
This commit is contained in:
commit
bf17464074
6 changed files with 54 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
|||
#include "weapon.hpp"
|
||||
|
||||
#include <components/esm/loadweap.hpp>
|
||||
#include <components/settings/settings.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
|
@ -261,8 +262,8 @@ namespace MWClass
|
|||
|
||||
std::string text;
|
||||
|
||||
// weapon type & damage. arrows / bolts don't have his info.
|
||||
if (ref->mBase->mData.mType < 12)
|
||||
// weapon type & damage
|
||||
if ((ref->mBase->mData.mType < 12 || Settings::Manager::getBool("show projectile damage", "Game")) && ref->mBase->mData.mType < 14)
|
||||
{
|
||||
text += "\n#{sType} ";
|
||||
|
||||
|
@ -279,6 +280,8 @@ namespace MWClass
|
|||
mapping[ESM::Weapon::MarksmanBow] = std::make_pair("sSkillMarksman", "");
|
||||
mapping[ESM::Weapon::MarksmanCrossbow] = 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 oneOrTwoHanded = mapping[ref->mBase->mData.mType].second;
|
||||
|
@ -318,6 +321,14 @@ namespace MWClass
|
|||
+ 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::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||
|
||||
|
|
|
@ -594,6 +594,14 @@ namespace MWGui
|
|||
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)
|
||||
{
|
||||
if (value == 0)
|
||||
|
|
|
@ -63,6 +63,7 @@ namespace MWGui
|
|||
///< 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 getPercentString(const float value, const std::string& prefix);
|
||||
static std::string getValueString(const int value, const std::string& prefix);
|
||||
///< @return "prefix: value" or "" if value is 0
|
||||
|
||||
|
|
|
@ -87,6 +87,8 @@ namespace SceneUtil
|
|||
{
|
||||
osg::ref_ptr<osg::Group> handle = new osg::Group;
|
||||
|
||||
osg::UserDataContainer* udc = toAttach->getUserDataContainer();
|
||||
|
||||
CopyRigVisitor copyVisitor(handle, filter);
|
||||
toAttach->accept(copyVisitor);
|
||||
copyVisitor.doCopy();
|
||||
|
@ -96,11 +98,13 @@ namespace SceneUtil
|
|||
osg::ref_ptr<osg::Node> newHandle = handle->getChild(0);
|
||||
handle->removeChild(newHandle);
|
||||
master->asGroup()->addChild(newHandle);
|
||||
newHandle->setUserDataContainer(udc);
|
||||
return newHandle;
|
||||
}
|
||||
else
|
||||
{
|
||||
master->asGroup()->addChild(handle);
|
||||
handle->setUserDataContainer(udc);
|
||||
return handle;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
||||
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
|
||||
-----------
|
||||
|
||||
|
|
|
@ -146,6 +146,12 @@ crosshair = true
|
|||
# no color, 1 is tool tip only, 2 is crosshair only, and 3 is both).
|
||||
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.
|
||||
best attack = false
|
||||
|
||||
|
|
Loading…
Reference in a new issue