mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 22:23:51 +00:00
Make sure failed pick/trap attempts are a crime (bug #5149)
This commit is contained in:
parent
2daecc633e
commit
8317dc0709
3 changed files with 8 additions and 5 deletions
|
@ -135,6 +135,7 @@
|
||||||
Bug #5126: Swimming creatures without RunForward animations are motionless during combat
|
Bug #5126: Swimming creatures without RunForward animations are motionless during combat
|
||||||
Bug #5134: Doors rotation by "Lock" console command is inconsistent
|
Bug #5134: Doors rotation by "Lock" console command is inconsistent
|
||||||
Bug #5137: Textures with Clamp Mode set to Clamp instead of Wrap are too dark outside the boundaries
|
Bug #5137: Textures with Clamp Mode set to Clamp instead of Wrap are too dark outside the boundaries
|
||||||
|
Bug #5149: Failing lock pick attempts isn't always a crime
|
||||||
Feature #1774: Handle AvoidNode
|
Feature #1774: Handle AvoidNode
|
||||||
Feature #2229: Improve pathfinding AI
|
Feature #2229: Improve pathfinding AI
|
||||||
Feature #3025: Analogue gamepad movement controls
|
Feature #3025: Analogue gamepad movement controls
|
||||||
|
|
|
@ -48,7 +48,6 @@ namespace MWMechanics
|
||||||
resultMessage = "#{sLockImpossible}";
|
resultMessage = "#{sLockImpossible}";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MWBase::Environment::get().getMechanicsManager()->objectOpened(mActor, lock);
|
|
||||||
if (Misc::Rng::roll0to99() <= x)
|
if (Misc::Rng::roll0to99() <= x)
|
||||||
{
|
{
|
||||||
lock.getClass().unlock(lock);
|
lock.getClass().unlock(lock);
|
||||||
|
@ -60,6 +59,7 @@ namespace MWMechanics
|
||||||
resultMessage = "#{sLockFail}";
|
resultMessage = "#{sLockFail}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MWBase::Environment::get().getMechanicsManager()->objectOpened(mActor, lock);
|
||||||
int uses = lockpick.getClass().getItemHealth(lockpick);
|
int uses = lockpick.getClass().getItemHealth(lockpick);
|
||||||
--uses;
|
--uses;
|
||||||
lockpick.getCellRef().setCharge(uses);
|
lockpick.getCellRef().setCharge(uses);
|
||||||
|
@ -89,7 +89,6 @@ namespace MWMechanics
|
||||||
resultMessage = "#{sTrapImpossible}";
|
resultMessage = "#{sTrapImpossible}";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MWBase::Environment::get().getMechanicsManager()->objectOpened(mActor, trap);
|
|
||||||
if (Misc::Rng::roll0to99() <= x)
|
if (Misc::Rng::roll0to99() <= x)
|
||||||
{
|
{
|
||||||
trap.getCellRef().setTrap("");
|
trap.getCellRef().setTrap("");
|
||||||
|
@ -102,6 +101,7 @@ namespace MWMechanics
|
||||||
resultMessage = "#{sTrapFail}";
|
resultMessage = "#{sTrapFail}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MWBase::Environment::get().getMechanicsManager()->objectOpened(mActor, trap);
|
||||||
int uses = probe.getClass().getItemHealth(probe);
|
int uses = probe.getClass().getItemHealth(probe);
|
||||||
--uses;
|
--uses;
|
||||||
probe.getCellRef().setCharge(uses);
|
probe.getCellRef().setCharge(uses);
|
||||||
|
|
|
@ -712,9 +712,6 @@ namespace MWMechanics
|
||||||
if (target.getCellRef().getLockLevel() > 0)
|
if (target.getCellRef().getLockLevel() > 0)
|
||||||
{
|
{
|
||||||
MWBase::Environment::get().getSoundManager()->playSound3D(target, "Open Lock", 1.f, 1.f);
|
MWBase::Environment::get().getSoundManager()->playSound3D(target, "Open Lock", 1.f, 1.f);
|
||||||
if (!caster.isEmpty())
|
|
||||||
MWBase::Environment::get().getMechanicsManager()->objectOpened(getPlayer(), target);
|
|
||||||
// Use the player instead of the caster for vanilla crime compatibility
|
|
||||||
|
|
||||||
if (caster == getPlayer())
|
if (caster == getPlayer())
|
||||||
MWBase::Environment::get().getWindowManager()->messageBox("#{sMagicOpenSuccess}");
|
MWBase::Environment::get().getWindowManager()->messageBox("#{sMagicOpenSuccess}");
|
||||||
|
@ -723,6 +720,11 @@ namespace MWMechanics
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
MWBase::Environment::get().getSoundManager()->playSound3D(target, "Open Lock Fail", 1.f, 1.f);
|
MWBase::Environment::get().getSoundManager()->playSound3D(target, "Open Lock Fail", 1.f, 1.f);
|
||||||
|
|
||||||
|
// Failed attempt is a crime too
|
||||||
|
if (!caster.isEmpty())
|
||||||
|
MWBase::Environment::get().getMechanicsManager()->objectOpened(getPlayer(), target);
|
||||||
|
// Use the player instead of the caster for vanilla crime compatibility
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue