mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-06 13:45:34 +00:00
Implement CellRef's faction rank (rank requirement to use item)
This commit is contained in:
parent
ca45a63cf7
commit
75366b2e37
25 changed files with 52 additions and 57 deletions
|
@ -250,6 +250,8 @@ void loadCell(ESM::Cell &cell, ESM::ESMReader &esm, Arguments& info)
|
||||||
std::cout << " ID: '" << ref.mRefID << "'\n";
|
std::cout << " ID: '" << ref.mRefID << "'\n";
|
||||||
std::cout << " Owner: '" << ref.mOwner << "'\n";
|
std::cout << " Owner: '" << ref.mOwner << "'\n";
|
||||||
std::cout << " Global: '" << ref.mGlobalVariable << "'" << std::endl;
|
std::cout << " Global: '" << ref.mGlobalVariable << "'" << std::endl;
|
||||||
|
std::cout << " Faction: '" << ref.mFaction << "'" << std::endl;
|
||||||
|
std::cout << " Faction rank: '" << ref.mFactionRank << "'" << std::endl;
|
||||||
std::cout << " Enchantment charge: '" << ref.mEnchantmentCharge << "'\n";
|
std::cout << " Enchantment charge: '" << ref.mEnchantmentCharge << "'\n";
|
||||||
std::cout << " Uses/health: '" << ref.mCharge << "'\n";
|
std::cout << " Uses/health: '" << ref.mCharge << "'\n";
|
||||||
std::cout << " Gold value: '" << ref.mGoldValue << "'\n";
|
std::cout << " Gold value: '" << ref.mGoldValue << "'\n";
|
||||||
|
|
|
@ -977,13 +977,13 @@ namespace CSMWorld
|
||||||
|
|
||||||
virtual QVariant get (const Record<ESXRecordT>& record) const
|
virtual QVariant get (const Record<ESXRecordT>& record) const
|
||||||
{
|
{
|
||||||
return record.get().mFactIndex;
|
return record.get().mFactionRank;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void set (Record<ESXRecordT>& record, const QVariant& data)
|
virtual void set (Record<ESXRecordT>& record, const QVariant& data)
|
||||||
{
|
{
|
||||||
ESXRecordT record2 = record.get();
|
ESXRecordT record2 = record.get();
|
||||||
record2.mFactIndex = data.toInt();
|
record2.mFactionRank = data.toInt();
|
||||||
record.setModified (record2);
|
record.setModified (record2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -97,9 +97,7 @@ namespace MWClass
|
||||||
std::string text;
|
std::string text;
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp())
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp())
|
||||||
{
|
{
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
info.text = text;
|
info.text = text;
|
||||||
|
|
|
@ -127,9 +127,7 @@ namespace MWClass
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
info.text = text;
|
info.text = text;
|
||||||
|
|
|
@ -247,9 +247,7 @@ namespace MWClass
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -139,9 +139,7 @@ namespace MWClass
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -193,9 +193,7 @@ namespace MWClass
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -235,9 +235,7 @@ namespace MWClass
|
||||||
text += "\n#{sTrapped}";
|
text += "\n#{sTrapped}";
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -251,10 +251,8 @@ namespace MWClass
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp())
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp())
|
||||||
{
|
{
|
||||||
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
}
|
}
|
||||||
info.text = text;
|
info.text = text;
|
||||||
|
|
||||||
|
|
|
@ -147,9 +147,7 @@ namespace MWClass
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -187,9 +187,7 @@ namespace MWClass
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -141,9 +141,7 @@ namespace MWClass
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -182,9 +182,7 @@ namespace MWClass
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -151,9 +151,7 @@ namespace MWClass
|
||||||
info.isPotion = true;
|
info.isPotion = true;
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -140,9 +140,7 @@ namespace MWClass
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -144,9 +144,7 @@ namespace MWClass
|
||||||
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
text += MWGui::ToolTips::getValueString(ref->mBase->mData.mValue, "#{sValue}");
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -351,9 +351,7 @@ namespace MWClass
|
||||||
info.remainingEnchantCharge = ptr.getCellRef().getEnchantmentCharge();
|
info.remainingEnchantCharge = ptr.getCellRef().getEnchantmentCharge();
|
||||||
|
|
||||||
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
if (MWBase::Environment::get().getWindowManager()->getFullHelp()) {
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getOwner(), "Owner");
|
text += MWGui::ToolTips::getCellRefString(ptr.getCellRef());
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getFaction(), "Faction");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ptr.getCellRef().getGlobalVariable(), "Global");
|
|
||||||
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
text += MWGui::ToolTips::getMiscString(ref->mBase->mScript, "Script");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -547,6 +547,17 @@ namespace MWGui
|
||||||
return " (" + boost::lexical_cast<std::string>(value) + ")";
|
return " (" + boost::lexical_cast<std::string>(value) + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string ToolTips::getCellRefString(const MWWorld::CellRef& cellref)
|
||||||
|
{
|
||||||
|
std::string ret;
|
||||||
|
ret += getMiscString(cellref.getOwner(), "Owner");
|
||||||
|
ret += getMiscString(cellref.getFaction(), "Faction");
|
||||||
|
if (cellref.getFactionRank() > 0)
|
||||||
|
ret += getValueString(cellref.getFactionRank(), "Rank");
|
||||||
|
ret += getMiscString(cellref.getGlobalVariable(), "Global");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
bool ToolTips::toggleFullHelp()
|
bool ToolTips::toggleFullHelp()
|
||||||
{
|
{
|
||||||
mFullHelp = !mFullHelp;
|
mFullHelp = !mFullHelp;
|
||||||
|
|
|
@ -66,6 +66,9 @@ namespace MWGui
|
||||||
static std::string getCountString(const int value);
|
static std::string getCountString(const int value);
|
||||||
///< @return blank string if count is 1, or else " (value)"
|
///< @return blank string if count is 1, or else " (value)"
|
||||||
|
|
||||||
|
static std::string getCellRefString(const MWWorld::CellRef& cellref);
|
||||||
|
///< Returns a string containing debug tooltip information about the given cellref.
|
||||||
|
|
||||||
// these do not create an actual tooltip, but they fill in the data that is required so the tooltip
|
// these do not create an actual tooltip, but they fill in the data that is required so the tooltip
|
||||||
// system knows what to show in case this widget is hovered
|
// system knows what to show in case this widget is hovered
|
||||||
static void createSkillToolTip(MyGUI::Widget* widget, int skillId);
|
static void createSkillToolTip(MyGUI::Widget* widget, int skillId);
|
||||||
|
|
|
@ -34,7 +34,9 @@ namespace
|
||||||
if (!faction.empty() && ptr.getClass().isNpc())
|
if (!faction.empty() && ptr.getClass().isNpc())
|
||||||
{
|
{
|
||||||
const std::map<std::string, int>& factions = ptr.getClass().getNpcStats(ptr).getFactionRanks();
|
const std::map<std::string, int>& factions = ptr.getClass().getNpcStats(ptr).getFactionRanks();
|
||||||
if (factions.find(Misc::StringUtils::lowerCase(faction)) == factions.end())
|
std::map<std::string, int>::const_iterator found = factions.find(Misc::StringUtils::lowerCase(faction));
|
||||||
|
if (found == factions.end()
|
||||||
|
|| found->second < item.getCellRef().getFactionRank())
|
||||||
isFactionOwned = true;
|
isFactionOwned = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -93,6 +93,11 @@ namespace MWWorld
|
||||||
return mCellRef.mGlobalVariable;
|
return mCellRef.mGlobalVariable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int CellRef::getFactionRank() const
|
||||||
|
{
|
||||||
|
return mCellRef.mFactionRank;
|
||||||
|
}
|
||||||
|
|
||||||
void CellRef::setOwner(const std::string &owner)
|
void CellRef::setOwner(const std::string &owner)
|
||||||
{
|
{
|
||||||
if (owner != mCellRef.mOwner)
|
if (owner != mCellRef.mOwner)
|
||||||
|
|
|
@ -75,6 +75,9 @@ namespace MWWorld
|
||||||
std::string getFaction() const;
|
std::string getFaction() const;
|
||||||
void setFaction (const std::string& faction);
|
void setFaction (const std::string& faction);
|
||||||
|
|
||||||
|
// PC faction rank required to use the item. Sometimes is -1, which means "any rank".
|
||||||
|
int getFactionRank() const;
|
||||||
|
|
||||||
// Lock level for doors and containers
|
// Lock level for doors and containers
|
||||||
// Positive for a locked door. 0 for a door that was never locked.
|
// Positive for a locked door. 0 for a door that was never locked.
|
||||||
// For an unlocked door, it is set to -(previous locklevel)
|
// For an unlocked door, it is set to -(previous locklevel)
|
||||||
|
|
|
@ -28,7 +28,7 @@ namespace MWWorld
|
||||||
cellRef.mRefNum.mContentFile = -1;
|
cellRef.mRefNum.mContentFile = -1;
|
||||||
cellRef.mRefID = name;
|
cellRef.mRefID = name;
|
||||||
cellRef.mScale = 1;
|
cellRef.mScale = 1;
|
||||||
cellRef.mFactIndex = 0;
|
cellRef.mFactionRank = 0;
|
||||||
cellRef.mCharge = -1;
|
cellRef.mCharge = -1;
|
||||||
cellRef.mGoldValue = 1;
|
cellRef.mGoldValue = 1;
|
||||||
cellRef.mEnchantmentCharge = -1;
|
cellRef.mEnchantmentCharge = -1;
|
||||||
|
|
|
@ -31,8 +31,8 @@ void ESM::CellRef::load (ESMReader& esm, bool wideRefNum)
|
||||||
mSoul = esm.getHNOString ("XSOL");
|
mSoul = esm.getHNOString ("XSOL");
|
||||||
|
|
||||||
mFaction = esm.getHNOString ("CNAM");
|
mFaction = esm.getHNOString ("CNAM");
|
||||||
mFactIndex = -2;
|
mFactionRank = -2;
|
||||||
esm.getHNOT (mFactIndex, "INDX");
|
esm.getHNOT (mFactionRank, "INDX");
|
||||||
|
|
||||||
mGoldValue = 1;
|
mGoldValue = 1;
|
||||||
mCharge = -1;
|
mCharge = -1;
|
||||||
|
@ -94,8 +94,8 @@ void ESM::CellRef::save (ESMWriter &esm, bool wideRefNum, bool inInventory) cons
|
||||||
esm.writeHNOCString("XSOL", mSoul);
|
esm.writeHNOCString("XSOL", mSoul);
|
||||||
|
|
||||||
esm.writeHNOCString("CNAM", mFaction);
|
esm.writeHNOCString("CNAM", mFaction);
|
||||||
if (mFactIndex != -2) {
|
if (mFactionRank != -2) {
|
||||||
esm.writeHNT("INDX", mFactIndex);
|
esm.writeHNT("INDX", mFactionRank);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mEnchantmentCharge != -1)
|
if (mEnchantmentCharge != -1)
|
||||||
|
@ -147,7 +147,7 @@ void ESM::CellRef::blank()
|
||||||
mGlobalVariable.clear();
|
mGlobalVariable.clear();
|
||||||
mSoul.clear();
|
mSoul.clear();
|
||||||
mFaction.clear();
|
mFaction.clear();
|
||||||
mFactIndex = -1;
|
mFactionRank = -2;
|
||||||
mCharge = 0;
|
mCharge = 0;
|
||||||
mEnchantmentCharge = 0;
|
mEnchantmentCharge = 0;
|
||||||
mGoldValue = 0;
|
mGoldValue = 0;
|
||||||
|
|
|
@ -50,9 +50,8 @@ namespace ESM
|
||||||
// you take it and are not a faction member)
|
// you take it and are not a faction member)
|
||||||
std::string mFaction;
|
std::string mFaction;
|
||||||
|
|
||||||
// INDX might be PC faction rank required to use the item? Sometimes
|
// PC faction rank required to use the item. Sometimes is -1, which means "any rank".
|
||||||
// is -1, which I assume means "any rank".
|
int mFactionRank;
|
||||||
int mFactIndex;
|
|
||||||
|
|
||||||
// For weapon or armor, this is the remaining item health.
|
// For weapon or armor, this is the remaining item health.
|
||||||
// For tools (lockpicks, probes, repair hammer) it is the remaining uses.
|
// For tools (lockpicks, probes, repair hammer) it is the remaining uses.
|
||||||
|
|
Loading…
Reference in a new issue