forked from teamnwah/openmw-tes3coop
Pass item count to ManualRef constructor
This remove the need to call setCount in multiple places.
This commit is contained in:
parent
0691978603
commit
aefa54d72d
8 changed files with 7 additions and 19 deletions
|
@ -219,7 +219,6 @@ namespace MWClass
|
||||||
MWWorld::LiveCellRef<ESM::Miscellaneous> *ref =
|
MWWorld::LiveCellRef<ESM::Miscellaneous> *ref =
|
||||||
newRef.getPtr().get<ESM::Miscellaneous>();
|
newRef.getPtr().get<ESM::Miscellaneous>();
|
||||||
newPtr = MWWorld::Ptr(&cell.mMiscItems.insert(*ref), &cell);
|
newPtr = MWWorld::Ptr(&cell.mMiscItems.insert(*ref), &cell);
|
||||||
newPtr.getRefData ().setCount(1);
|
|
||||||
newPtr.getCellRef().mGoldValue = goldAmount;
|
newPtr.getCellRef().mGoldValue = goldAmount;
|
||||||
} else {
|
} else {
|
||||||
MWWorld::LiveCellRef<ESM::Miscellaneous> *ref =
|
MWWorld::LiveCellRef<ESM::Miscellaneous> *ref =
|
||||||
|
|
|
@ -207,8 +207,7 @@ namespace MWGui
|
||||||
|
|
||||||
if (amount > 0)
|
if (amount > 0)
|
||||||
{
|
{
|
||||||
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(), "Gold_001");
|
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(), "Gold_001", amount);
|
||||||
ref.getPtr().getRefData().setCount(amount);
|
|
||||||
playerStore.add(ref.getPtr(), player);
|
playerStore.add(ref.getPtr(), player);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -84,9 +84,8 @@ namespace MWMechanics
|
||||||
enchantment.mEffects = mEffectList;
|
enchantment.mEffects = mEffectList;
|
||||||
|
|
||||||
// Create a new item
|
// Create a new item
|
||||||
MWWorld::ManualRef ref (MWBase::Environment::get().getWorld()->getStore(), mOldItemId);
|
MWWorld::ManualRef ref (MWBase::Environment::get().getWorld()->getStore(), mOldItemId, 1);
|
||||||
const MWWorld::Ptr& newItemPtr = ref.getPtr();
|
const MWWorld::Ptr& newItemPtr = ref.getPtr();
|
||||||
newItemPtr.getRefData().setCount(1);
|
|
||||||
|
|
||||||
// Apply the enchantment
|
// Apply the enchantment
|
||||||
const ESM::Enchantment *enchantmentPtr = MWBase::Environment::get().getWorld()->createRecord (enchantment);
|
const ESM::Enchantment *enchantmentPtr = MWBase::Environment::get().getWorld()->createRecord (enchantment);
|
||||||
|
|
|
@ -53,10 +53,8 @@ namespace MWScript
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
MWWorld::ManualRef ref (MWBase::Environment::get().getWorld()->getStore(), item);
|
MWWorld::ManualRef ref (MWBase::Environment::get().getWorld()->getStore(), item, count);
|
||||||
|
|
||||||
ref.getPtr().getRefData().setCount (count);
|
|
||||||
|
|
||||||
// Configure item's script variables
|
// Configure item's script variables
|
||||||
std::string script = MWWorld::Class::get(ref.getPtr()).getScript(ref.getPtr());
|
std::string script = MWWorld::Class::get(ref.getPtr()).getScript(ref.getPtr());
|
||||||
if (script != "")
|
if (script != "")
|
||||||
|
|
|
@ -348,9 +348,7 @@ namespace MWScript
|
||||||
const MWWorld::ESMStore& store = MWBase::Environment::get().getWorld()->getStore();
|
const MWWorld::ESMStore& store = MWBase::Environment::get().getWorld()->getStore();
|
||||||
store.get<ESM::Creature>().find(creature); // This line throws an exception if it can't find the creature
|
store.get<ESM::Creature>().find(creature); // This line throws an exception if it can't find the creature
|
||||||
|
|
||||||
MWWorld::ManualRef ref (MWBase::Environment::get().getWorld()->getStore(), gem);
|
MWWorld::ManualRef ref (MWBase::Environment::get().getWorld()->getStore(), gem, 1);
|
||||||
|
|
||||||
ref.getPtr().getRefData().setCount (1);
|
|
||||||
|
|
||||||
ref.getPtr().getCellRef().mSoul = creature;
|
ref.getPtr().getCellRef().mSoul = creature;
|
||||||
|
|
||||||
|
|
|
@ -496,9 +496,8 @@ namespace MWScript
|
||||||
|
|
||||||
// create item
|
// create item
|
||||||
MWWorld::CellStore* store = actor.getCell();
|
MWWorld::CellStore* store = actor.getCell();
|
||||||
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(),itemID);
|
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(), itemID, count);
|
||||||
ref.getPtr().getCellRef().mPos = ipos;
|
ref.getPtr().getCellRef().mPos = ipos;
|
||||||
ref.getPtr().getRefData().setCount(count);
|
|
||||||
|
|
||||||
MWBase::Environment::get().getWorld()->safePlaceObject(ref.getPtr(),*store,ipos);
|
MWBase::Environment::get().getWorld()->safePlaceObject(ref.getPtr(),*store,ipos);
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,11 +140,9 @@ MWWorld::ContainerStoreIterator MWWorld::ContainerStore::addImp (const Ptr& ptr)
|
||||||
|| Misc::StringUtils::ciEqual(ptr.getCellRef().mRefID, "gold_025")
|
|| Misc::StringUtils::ciEqual(ptr.getCellRef().mRefID, "gold_025")
|
||||||
|| Misc::StringUtils::ciEqual(ptr.getCellRef().mRefID, "gold_100"))
|
|| Misc::StringUtils::ciEqual(ptr.getCellRef().mRefID, "gold_100"))
|
||||||
{
|
{
|
||||||
MWWorld::ManualRef ref(esmStore, "Gold_001");
|
|
||||||
|
|
||||||
int count = MWWorld::Class::get(ptr).getValue(ptr) * ptr.getRefData().getCount();
|
int count = MWWorld::Class::get(ptr).getValue(ptr) * ptr.getRefData().getCount();
|
||||||
|
MWWorld::ManualRef ref(esmStore, "Gold_001", count);
|
||||||
|
|
||||||
ref.getPtr().getRefData().setCount(count);
|
|
||||||
for (MWWorld::ContainerStoreIterator iter (begin(type)); iter!=end(); ++iter)
|
for (MWWorld::ContainerStoreIterator iter (begin(type)); iter!=end(); ++iter)
|
||||||
{
|
{
|
||||||
if (Misc::StringUtils::ciEqual((*iter).get<ESM::Miscellaneous>()->mRef.mRefID, "gold_001"))
|
if (Misc::StringUtils::ciEqual((*iter).get<ESM::Miscellaneous>()->mRef.mRefID, "gold_001"))
|
||||||
|
@ -250,7 +248,7 @@ void MWWorld::ContainerStore::addInitialItem (const std::string& id, const std::
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ManualRef ref (MWBase::Environment::get().getWorld()->getStore(), id);
|
ManualRef ref (MWBase::Environment::get().getWorld()->getStore(), id, count);
|
||||||
|
|
||||||
if (ref.getPtr().getTypeName()==typeid (ESM::ItemLevList).name())
|
if (ref.getPtr().getTypeName()==typeid (ESM::ItemLevList).name())
|
||||||
{
|
{
|
||||||
|
@ -300,7 +298,6 @@ void MWWorld::ContainerStore::addInitialItem (const std::string& id, const std::
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ref.getPtr().getRefData().setCount (count);
|
|
||||||
ref.getPtr().getCellRef().mOwner = owner;
|
ref.getPtr().getCellRef().mOwner = owner;
|
||||||
addImp (ref.getPtr());
|
addImp (ref.getPtr());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1949,7 +1949,6 @@ namespace MWWorld
|
||||||
if(werewolf)
|
if(werewolf)
|
||||||
{
|
{
|
||||||
ManualRef ref(getStore(), "WerewolfRobe");
|
ManualRef ref(getStore(), "WerewolfRobe");
|
||||||
ref.getPtr().getRefData().setCount(1);
|
|
||||||
|
|
||||||
// Configure item's script variables
|
// Configure item's script variables
|
||||||
std::string script = Class::get(ref.getPtr()).getScript(ref.getPtr());
|
std::string script = Class::get(ref.getPtr()).getScript(ref.getPtr());
|
||||||
|
|
Loading…
Reference in a new issue