Merge pull request #2775 from Capostrophic/dooractivation

Only disarm traps with keys when the door/container is locked (bug #5370)
pull/2799/head
Bret Curtis 5 years ago committed by GitHub
commit e7795f2bf7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -8,6 +8,7 @@
Bug #5364: Script fails/stops if trying to startscript an unknown script
Bug #5367: Selecting a spell on an enchanted item per hotkey always plays the equip sound
Bug #5369: Spawnpoint in the Grazelands doesn't produce oversized creatures
Bug #5370: Opening an unlocked but trapped door uses the key
Feature #5362: Show the soul gems' trapped soul in count dialog
0.46.0

@ -177,10 +177,9 @@ namespace MWClass
}
}
if ((isLocked || isTrapped) && hasKey)
if (isLocked && hasKey)
{
MWBase::Environment::get().getWindowManager ()->messageBox (keyName + " #{sKeyUsed}");
if(isLocked)
ptr.getCellRef().unlock();
// using a key disarms the trap
if(isTrapped)

@ -158,11 +158,10 @@ namespace MWClass
}
}
if ((isLocked || isTrapped) && hasKey)
if (isLocked && hasKey)
{
if(actor == MWMechanics::getPlayer())
MWBase::Environment::get().getWindowManager()->messageBox(keyName + " #{sKeyUsed}");
if(isLocked)
ptr.getCellRef().unlock(); //Call the function here. because that makes sense.
// using a key disarms the trap
if(isTrapped)

@ -130,7 +130,10 @@ void ESM::CellRef::loadData(ESMReader &esm, bool &isDeleted)
}
if (mLockLevel == 0 && !mKey.empty())
{
mLockLevel = UnbreakableLock;
mTrap.clear();
}
}
void ESM::CellRef::save (ESMWriter &esm, bool wideRefNum, bool inInventory, bool isDeleted) const

Loading…
Cancel
Save