From c7aea206571d85a1053338c291dbbd1d49816aff Mon Sep 17 00:00:00 2001 From: Capostrophic Date: Thu, 25 Jun 2020 14:55:27 +0300 Subject: [PATCH] Don't offer a price of 1 gold for zero value items (#5484) --- CHANGELOG.md | 1 + apps/openmw/mwmechanics/mechanicsmanagerimp.cpp | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 954292633..175ff85b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ Bug #5441: Enemies can't push a player character when in critical strike stance Bug #5451: Magic projectiles don't disappear with the caster Bug #5452: Autowalk is being included in savegames + Bug #5484: Zero value items shouldn't be able to be bought or sold for 1 gold Feature #390: 3rd person look "over the shoulder" Feature #2386: Distant Statics in the form of Object Paging Feature #5297: Add a search function to the "Datafiles" tab of the OpenMW launcher diff --git a/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp b/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp index 0ce9f981d..1828de628 100644 --- a/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp +++ b/apps/openmw/mwmechanics/mechanicsmanagerimp.cpp @@ -679,7 +679,9 @@ namespace MWMechanics int MechanicsManager::getBarterOffer(const MWWorld::Ptr& ptr,int basePrice, bool buying) { - if (ptr.getTypeName() == typeid(ESM::Creature).name()) + // Make sure zero base price items/services can't be bought/sold for 1 gold + // and return the intended base price for creature merchants + if (basePrice == 0 || ptr.getTypeName() == typeid(ESM::Creature).name()) return basePrice; const MWMechanics::NpcStats &sellerStats = ptr.getClass().getNpcStats(ptr);