forked from teamnwah/openmw-tes3coop
added missing combat, magic and stealth columns for creatures (Feature #1312)
This commit is contained in:
parent
a25321f07e
commit
4f08efc4d7
5 changed files with 35 additions and 2 deletions
|
@ -174,6 +174,9 @@ namespace CSMWorld
|
||||||
{ ColumnId_PcRank, "PC Rank" },
|
{ ColumnId_PcRank, "PC Rank" },
|
||||||
{ ColumnId_Scope, "Scope" },
|
{ ColumnId_Scope, "Scope" },
|
||||||
{ ColumnId_ReferenceableId, "Referenceable ID" },
|
{ ColumnId_ReferenceableId, "Referenceable ID" },
|
||||||
|
{ ColumnId_CombatState, "Combat" },
|
||||||
|
{ ColumnId_MagicState, "Magic" },
|
||||||
|
{ ColumnId_StealthState, "Stealth" },
|
||||||
|
|
||||||
{ ColumnId_UseValue1, "Use value 1" },
|
{ ColumnId_UseValue1, "Use value 1" },
|
||||||
{ ColumnId_UseValue2, "Use value 2" },
|
{ ColumnId_UseValue2, "Use value 2" },
|
||||||
|
|
|
@ -167,6 +167,9 @@ namespace CSMWorld
|
||||||
ColumnId_PcRank = 154,
|
ColumnId_PcRank = 154,
|
||||||
ColumnId_Scope = 155,
|
ColumnId_Scope = 155,
|
||||||
ColumnId_ReferenceableId = 156,
|
ColumnId_ReferenceableId = 156,
|
||||||
|
ColumnId_CombatState = 157,
|
||||||
|
ColumnId_MagicState = 158,
|
||||||
|
ColumnId_StealthState = 159,
|
||||||
|
|
||||||
// Allocated to a separate value range, so we don't get a collision should we ever need
|
// Allocated to a separate value range, so we don't get a collision should we ever need
|
||||||
// to extend the number of use values.
|
// to extend the number of use values.
|
||||||
|
|
|
@ -248,6 +248,15 @@ QVariant CSMWorld::CreatureRefIdAdapter::getData (const RefIdColumn *column, con
|
||||||
if (column==mColumns.mOriginal)
|
if (column==mColumns.mOriginal)
|
||||||
return QString::fromUtf8 (record.get().mOriginal.c_str());
|
return QString::fromUtf8 (record.get().mOriginal.c_str());
|
||||||
|
|
||||||
|
if (column==mColumns.mCombat)
|
||||||
|
return static_cast<int> (record.get().mData.mCombat);
|
||||||
|
|
||||||
|
if (column==mColumns.mMagic)
|
||||||
|
return static_cast<int> (record.get().mData.mMagic);
|
||||||
|
|
||||||
|
if (column==mColumns.mStealth)
|
||||||
|
return static_cast<int> (record.get().mData.mStealth);
|
||||||
|
|
||||||
std::map<const RefIdColumn *, unsigned int>::const_iterator iter =
|
std::map<const RefIdColumn *, unsigned int>::const_iterator iter =
|
||||||
mColumns.mFlags.find (column);
|
mColumns.mFlags.find (column);
|
||||||
|
|
||||||
|
@ -271,6 +280,12 @@ void CSMWorld::CreatureRefIdAdapter::setData (const RefIdColumn *column, RefIdDa
|
||||||
record.get().mScale = value.toFloat();
|
record.get().mScale = value.toFloat();
|
||||||
else if (column==mColumns.mOriginal)
|
else if (column==mColumns.mOriginal)
|
||||||
record.get().mOriginal = value.toString().toUtf8().constData();
|
record.get().mOriginal = value.toString().toUtf8().constData();
|
||||||
|
else if (column==mColumns.mCombat)
|
||||||
|
record.get().mData.mCombat = value.toInt();
|
||||||
|
else if (column==mColumns.mMagic)
|
||||||
|
record.get().mData.mMagic = value.toInt();
|
||||||
|
else if (column==mColumns.mStealth)
|
||||||
|
record.get().mData.mStealth = value.toInt();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::map<const RefIdColumn *, unsigned int>::const_iterator iter =
|
std::map<const RefIdColumn *, unsigned int>::const_iterator iter =
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace CSMWorld
|
||||||
BaseRefIdAdapter (UniversalId::Type type, const BaseColumns& base);
|
BaseRefIdAdapter (UniversalId::Type type, const BaseColumns& base);
|
||||||
|
|
||||||
virtual std::string getId (const RecordBase& record) const;
|
virtual std::string getId (const RecordBase& record) const;
|
||||||
|
|
||||||
virtual void setId (RecordBase& record, const std::string& id);
|
virtual void setId (RecordBase& record, const std::string& id);
|
||||||
|
|
||||||
virtual QVariant getData (const RefIdColumn *column, const RefIdData& data, int index)
|
virtual QVariant getData (const RefIdColumn *column, const RefIdData& data, int index)
|
||||||
|
@ -57,7 +57,7 @@ namespace CSMWorld
|
||||||
{
|
{
|
||||||
(dynamic_cast<Record<RecordT>&> (record).get().mId) = id;
|
(dynamic_cast<Record<RecordT>&> (record).get().mId) = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename RecordT>
|
template<typename RecordT>
|
||||||
std::string BaseRefIdAdapter<RecordT>::getId (const RecordBase& record) const
|
std::string BaseRefIdAdapter<RecordT>::getId (const RecordBase& record) const
|
||||||
{
|
{
|
||||||
|
@ -631,6 +631,9 @@ namespace CSMWorld
|
||||||
const RefIdColumn *mSoul;
|
const RefIdColumn *mSoul;
|
||||||
const RefIdColumn *mScale;
|
const RefIdColumn *mScale;
|
||||||
const RefIdColumn *mOriginal;
|
const RefIdColumn *mOriginal;
|
||||||
|
const RefIdColumn *mCombat;
|
||||||
|
const RefIdColumn *mMagic;
|
||||||
|
const RefIdColumn *mStealth;
|
||||||
|
|
||||||
CreatureColumns (const ActorColumns& actorColumns);
|
CreatureColumns (const ActorColumns& actorColumns);
|
||||||
};
|
};
|
||||||
|
|
|
@ -175,6 +175,15 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
||||||
creatureColumns.mScale = &mColumns.back();
|
creatureColumns.mScale = &mColumns.back();
|
||||||
mColumns.push_back (RefIdColumn (Columns::ColumnId_OriginalCreature, ColumnBase::Display_String));
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_OriginalCreature, ColumnBase::Display_String));
|
||||||
creatureColumns.mOriginal = &mColumns.back();
|
creatureColumns.mOriginal = &mColumns.back();
|
||||||
|
mColumns.push_back (
|
||||||
|
RefIdColumn (Columns::ColumnId_CombatState, ColumnBase::Display_Integer));
|
||||||
|
creatureColumns.mCombat = &mColumns.back();
|
||||||
|
mColumns.push_back (
|
||||||
|
RefIdColumn (Columns::ColumnId_MagicState, ColumnBase::Display_Integer));
|
||||||
|
creatureColumns.mMagic = &mColumns.back();
|
||||||
|
mColumns.push_back (
|
||||||
|
RefIdColumn (Columns::ColumnId_StealthState, ColumnBase::Display_Integer));
|
||||||
|
creatureColumns.mStealth = &mColumns.back();
|
||||||
|
|
||||||
static const struct
|
static const struct
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue