Project

General

Profile

Bug #2222

Fatigue's effect on selling price is backwards

Added by Alexander Bessman over 3 years ago. Updated 9 days ago.

Status:
Resolved
Priority:
Low
Category:
Game Mechanics
Target version:
Start date:
12/20/2014
% Done:

100%

Reproducibility:
Always
Operating system:
Other
Severity:
Normal

Description

Low fatigue negatively affects purchasing price, which is reasonable. However, low fatigue also negatively affects selling price, which I think is incorrect.


Related issues

Duplicated by OpenMW - Bug #3270: Increasing mercantile skill and personality attribute cause lowering of selling price Rejected 03/27/2016
Duplicated by OpenMW - Bug #3398: When you increase merchantile skill you sell at a lower price Rejected 05/21/2016
Duplicated by OpenMW - Feature #4063: Better pricing Rejected 09/02/2017

History

#1 Updated by Alexander Bessman over 3 years ago

That sounded less confusing in my head. What I mean is:

High fatigue -> Item costs 120 gold
Low fatigue -> Item costs 150 gold
This seems OK to me.

High fatigue -> Items sells for 70 gold
Low fatigue -> Item sells for 90 gold
This seems backwards.

#2 Updated by Alexander Bessman over 3 years ago

Also, because "fatigue" is abiguous, "high fatigue" means the green bar is mostly full, "low fatigue" means it's mostly empty.

#3 Updated by scrawl . over 3 years ago

  • Target version set to openmw-future

That is a problem in the original engine too, though to reproduce it you need to have a character with a high value of the Mercantile skill. Buying the "Saint's Shield" from Galbedir and then selling it back, I got these values:

5 mercantile, 0% fatigue: shield sells for 5568 gold
5 mercantile, 100% fatigue: shield sells for 5718 gold
100 mercantile, 0% fatigue: shield sells for 10912 gold
100 mercantile, 100% fatigue: shield sells for 7874 gold

The reason is this statement in the barter mechanics :

if selling: x = min(buyTerm, sellTerm)

#4 Updated by scrawl . over 3 years ago

  • Priority changed from Normal to Low

#5 Updated by scrawl . about 2 years ago

  • Duplicated by Bug #3270: Increasing mercantile skill and personality attribute cause lowering of selling price added

#6 Updated by scrawl . almost 2 years ago

  • Duplicated by Bug #3398: When you increase merchantile skill you sell at a lower price added

#7 Updated by Dark Locq about 1 year ago

Simplest solution would seem to be to remove the fatigue effect on selling/buying price, since it's obscure and doesn't make sense. I don't get charged a different amount at the grocery store or a restaurant on the basis of whether I need a nap or just had a three cups of coffee, so why would this be a factor in MW game mechanics? It seems like an easter egg they threw in for number-crunchers, but it's broken and serves no purpose.

Does anyone know the Mercantile level at which this bug is triggered and the price point for selling flips into a reduction?

#8 Updated by Alexei Dobrohotov 8 months ago

#9 Updated by Loriel 2 8 months ago

I believe that the rejected "duplicates" addressed a somewhat different issue.

The fatigue issue, if I understand it correctly, is clearly a bug and should be fixed.

The mercantile/personality issue is not a bug, it's a continuation of vanilla behaviour which I find rather illogical. It's not a high priority, but I would like to have the option of more logical behaviour available, which is what I wanted in the rejected #4063.

I don't think it can be fixed by mods - I haven't come across any which do so. Perhaps it has to wait for post 1.0 advances to make it moddable.

#10 Updated by Alexei Dobrohotov 8 months ago

See "Related issues", the other two reports were marked as duplicate by scrawl and reference the same issue as yours.

#11 Updated by Dark Locq 7 months ago

Agreed with David Walley. It also goes beyond Fatigue, and so is much worse than reported here: Your sell-to-merchant price drops both as your Mercantile skill increases and as merchant Disposition increases! To get a reasonable selling price, you often have to first use Persuasion (e.g. Intimidate) to reduce Disposition to around 50 or so. If your Intimidate succeeds, Disposition temporarily raises, then is reduced to below what it was before, after you exit and re-open dialogue. If you have low Personality and Speechcraft, you can often manage to incrementally lower Disposition more directly by repeated failed Intimidate attempts. Second, if you have TB/BM/GotY, you can then use a strong Drain Mercantile on Self.

It's absurd, and wrecks the immersion.

My typical routine at a merchant is to use Intimidate to reduce the Disposition (which keeps creeping up as Personality grows); this is an unrealistic "maintenance of dislike" routine, but proves necessary. If I actually want to buy something, wait for Fatigue to be full, use Fortify Personality or Charm to temporarily put Disposition at 100, plus use Fortify Mercantile. When that temporary boost is not in effect, and I want to sell, I use Drain Mercantile and Drain Fatigue. It's very time-consuming and ridiculous. "I love you, and you're the best bargainer I've ever met, so I'll offer you a deal you'd be an idiot to accept." "I detest you, and your bargaining skills are awful, so I will offer you prices that I'm crazy for giving you."

It's clearly a flat-out bug in the game mechanics, quite literally the opposite of the intention. I realize an OpenMW project goal is to mimic Bethesda's gameplay to the letter, but we really need to have ways to work around it when the original gameplay has flaws that were clearly not intended and which break the game.

A workaround for this should even be turned on by default, since no one would want the broken behavior unless they were doing some kind of testing, e.g. for consistent performance of their new mod in OpenMW and Bethesda.

#12 Updated by Niccolò Belli 7 months ago

I completely agree with Dark Locq.

#13 Updated by Alexei Dobrohotov 7 months ago

The point is to reverse the fatigue effect, I'm sure you understand that, Darklocq. Since Morrowind also has this issue, this isn't a 1.0 blocker and Morrowind behavior is kept. For now.

The duplicate issues (and your report as well, David! It's just a rephrased bug report, no actual feature request since illogical calculations are a bug) are obviously apparently not so obviously referencing virtually the same issue, and scrawl is the lead developer, he knows better. If it makes anyone feel better, David's report can be marked as duplicate of these other issues. Won't change anything.

For Darklocq's note, any new OpenMW release isn't even supposed to be mechanically compatible with the previous releases since OpenMW is in heavy development. Some cautions are taken (like save format specifically changing very rarely). You may have played OpenMW for its entire 9 year development if that's what you wanted, alright, it's fine. But it never was 1.0 and isn't at the moment.

#14 Updated by Dark Locq 7 months ago

I understand. However, I've seen it said repeatedly by the devs here that OpenMW is going to mimic Bethesda mechanics as closely as possible, except for serious problems, and this appears to qualify. I'm at least squeaking the wheel in that direction hoping this gets greased. Or another way of looking at it: it's not necessary that every improvement be put off for post-1.0 if a fix is figured out sooner, and for something this bad there's a strong incentive to fix it sooner – even if the general rule of thumb is to postpone improvements.

#15 Updated by scrawl . 7 months ago

I understand. However, I've seen it said repeatedly by the devs here that OpenMW is going to mimic Bethesda mechanics as closely as possible, except for serious problems, and this appears to qualify.

Maybe it does. But what if the blocker isn't whether or not we want to fix this, but how to do it? This issue appears to be a result of a design flaw in the formula, so we need a new formula which will behave differently, will not have been playtested, and will probably not match the intended difficulty curve of the original one in every respect. My point is that this isn't a simple 'bug' that can be fixed, rather a design flaw, and a solution will involve some amount of arbitrary-ness that we may not feel comfortable with. But if you can suggest one, go ahead.

#16 Updated by Will Herrmann 7 months ago

For what it's worth, this is not something that MCP has ever fixed, so we don't have an already tested solution from them unfortunately.

#17 Updated by Alexei Dobrohotov 7 months ago

  • Category set to Game Mechanics
  • Reproducibility changed from Have not tried to Always
  • Operating system changed from Linux to Other

#18 Updated by Dark Locq about 2 months ago

With regard to the Mercantile skill bug, the simplest solution would duplicating the effect of the skill on buying price and reversing it on selling price. I.e., in simple terms, if I get a 10% discount for 10-point-higher mercantile, I should get a 10% better profit when selling. Some pro gamer good at gaming math might also just look at what it's doing and see if they can detect an obvious error like off-by-one or reversed sign or whatever. I super-duper suck at math.

But the original intent might be determinable with a bunch of test sales what the buying curve is, then what the bugged selling curve is and what would look sane if something were changed in the latter. E.g. it may not be as simple as a mirror of selling versus buying, but the pattern might be clear. There's likely something intended to be a multiplier that's been turned into a divisor, or something that was meant to be positive is negative, or something meant to be a fraction is missing the decimal (or something that shouldn't be fractional is).

At a guess, the way to collect enough data would be to pick a merchant, set your Merc to 5, then 50, then 100, and test the merchant at each of those Merc skill levels (to establish one effect), which is 3x3 tests. At each of those 9 test levels, also try Disposition 25, 50, 100, so a total of 81 tests. If Fatigue really is a factor, and you tested it drained, medium, and maxed, that would come to a total of 729 tests. Which is doable over time, at least with a spreadsheet and paying attention. I'm just not sure it would reveal enough to work with in the end. I guess it depends on whether statistical analysis can be brought to bear on something that simplistic and if someone competent to do the analysis will do it. And maybe what I'm proposing is actually a stupid brute-force approach anyway. I see at UESP (and various sites for other games) that people have worked out really complicated formulae for how things like combat, and MW's alchemy, actually operate:

This would be doing that kind of analysis, then experimenting with variables and math functions to reverse engineer something that's not ass-backwards.

Or, just go with the simple solution, and apply Merc's buying effect in reverse on selling (or some obvious fraction of it, like half the effect in reverse – maybe it should be markedly easier to get a discount off retail when you're buying than to actually get cash out of the merchant when you're selling). In a perfect world we'd probably adapt some things from economics mods, or implement something all new, because Morrowind's economics are ridiculous anyway, even if you Disable Creeper and Mudcrab Merchant.

On my next game, I may see if any of the major economics mods are working with OpenMW.

#19 Updated by scrawl . about 2 months ago

With regard to the Mercantile skill bug, the simplest solution would duplicating the effect of the skill on buying price and reversing it on selling price. I.e., in simple terms, if I get a 10% discount for 10-point-higher mercantile, I should get a 10% better profit when selling

Can't I get infinite moneys that way if I buy and sell the same item repeatedly?

#20 Updated by Chris Robinson about 2 months ago

scrawl . wrote:

Can't I get infinite moneys that way if I buy and sell the same item repeatedly?

Is it possible to actually buy for less (or sell for more) than the item's base price? IIRC, you're always selling for less than the base price and buying for more; higher skill and fatigue are just supposed to bring you closer to equilibrium. Creeper and the Mudcrab Merchant are the only vendors that you can actually sell to at full price, because they're creatures and have no disposition stat or mercantile skill to work off of.

#21 Updated by Andrei Kortunov about 2 months ago

Is it possible to actually buy for less (or sell for more) than the item's base price?

Yes, at least, for the Creeper and the Mudcrab Merchant.

#22 Updated by Alexei Dobrohotov about 1 month ago

at least for the Creeper and the Mudcrab Merchant.

They don't have a Mercantile skill, so they sell and buy things at their exact cost. Probably not a good example.

#23 Updated by Dark Locq about 1 month ago

Yeah, the creature merchants are flat-rate.

The entire economics system is broken. E.g., I figured out an infinite money cheat within five minutes of discovering Creeper and that he buys flat-rate: Walk across the street and buy restocking stuff (after Fortify Personality and [if you have it] Fortify Mercantile) from the closest human merchant – Silver Bolts are a the best local goods for this. Then sell them to Creeper until he's broke. Rest 24 hours, and repeat. (While it's too slow for practical rapid millionaire cheat, it's way more that sufficient to unbalance the entire first third of the game by making money for non-garbage gear of no concern at all, and thus reducing any incentive beyond curiosity to take any quests that are not mandatory.) There are all sorts of other, more hardcore gold exploits, like working Creeper up to more money by buying stuff from him, and just selling it back on a different day – you can get 100% value for any artifact this way as long as you've previously sold him enough loot to match the artifact's total base value. And the creating and selling junk potions with negative effects and made from the cheapest ingredients, b using stacked Fortify Intelligence to create superpotions that command very high prices but which no sane person would actually really buy. Once you can handle Daedra, just remove their corpses after every kill and keep going into and out of Daedric shrines; between Daedra Hearts, Dremora- and Saint-looted gear, salts, and – especially – filled soul gems, you'll have a million septims worth of stuff within the hour. Yadda yadda. Most of us just choose to ignore infinite money cheats like these for the same reason we don't do Player->SetHealth,10000000.

Anyway, there's a known exploit where with stats boosted with stacked Fortify effects, you can get a merchant to sell you their entire inventory, no matter how valuable, for a single septim from you, or get them to buy one piece of Saltrice from you for all their gold no matter how much they have. I don't know if it works in OpenMW, but it's been documented at UESP forever (it seemed too lame for me to bother attempting it).

So, you can definitely get a humanoid merchant to sell stuff for less, and buy stuff for more, than base value. It would be great if merchants would never sell for less than at least 1 gold more than base, or buy for 1 less than base, on the principle that they're in business to make a profit and they don't have brain damage (and it should take serious power to get them go that close to wholesale). But that'd be a feature request, and a departure from the [awful] original Bethesda gameplay.

In routine play, where I'm not bothering with any kind of fortification of relevant stats beyond a short-term Fortify Attribute or Fortify Skill up to +100 (or -100, for the buying bug), I can almost always get merchants to sell stuff for much lower than base value, but cannot get them to exceed more than about 75% (often more like 55%) of base value when I'm selling to them, and that's after tricks to move their Disposition down and using Drain Merc, for the selling bug. There's no single sweet spot (merchants' own stats affect it), but on average a Dispo of 45–70, and Drain Merc 100 will get the best prices when you're selling, while when buying you want Dispo 100 (probably through Fortify Personality so you can leave them low for selling) combined with Fortify Merc 100. Of course, if you're running without TB and BM, you can't get Fortify Skill spells, so the effects aren't as severe in a totally vanilla game. I've run into one merchant with whom I get the best prices with 90–100 Dispo, and no other effects; need to go back there and examine the merchant's stats – I wonder if it's something like a Mercantile of 7, or what. Me just being my charismatic self with that one is the best approach, and that's unusual under the Merc bug.

#24 Updated by Alexei Dobrohotov 26 days ago

  • Status changed from New to Confirmed

#25 Updated by Dark Locq 26 days ago

PS: A potential option for dealing with all this would be to study the mathematical output of selling tests in Oblivion, in which merchants ALWAYS make a profit no matter what you try (or perhaps always at least break even - I have not yet tried 100 Merc and 100 Pers against an Oblivion merchant with super-low Merc, like Aurelinwae added by the Wizard's Tower DLC, who has a Merc of 6). Then just apply it to Morrowind and perhaps tweak it so it behaves as close to vanilla MW buying-from-merchants behavior as possible, and as much like selling-to-merchants in Oblivion as possible. That would probably be reasonable. Or just have an option to match exactly what Oblivion does both ways. I don't play Skyrim (my Windows VM can't handle it), but imagine it has a similar system, maybe a tweaked version of the Oblivion one. This might not even require repetitive testing; someone may have already worked out the algorithms, though I don't see any at UESP's Oblivion:Mercantile, Oblivion:Commerce, Oblivion:Personality, or Oblivion:Merchants pages. Might have to Google around for it.

Just leaving the Merc bug in place forever is a bad idea, because it not only is clearly an outright bug, producing confusing and directly opposite of intended results half the time, rendering Mercantile and Personality increases pointless until you deeply understand the bug and its effects; it's also a massive cheat once you DO figure the bug out, since you can use magic to push these stats up and down and get Merchants to sell you great stuff for nearly nothing and buy worthless junk for crazy amounts of coin. E.g., I can walk out of Elbert Nermarc's place with literally hundreds of Grand Soul Gems and every coin he has, after bringing nothing to sell to him but some random loot I don't need (and without even getting his discount price structure yet for returning his stolen book).

#26 Updated by Dark Locq 26 days ago

Self-correction: I did some checking, and merchants in Oblivion do eventually just break even, buying and selling to you at 100% nominal value, after your Merc is maxed. This lacks the cheatability of MW's Creeper and Mudcrab merchant, because you can't trick merchants into selling for less than nominal value, then turning around and selling them for 100%. Morrowind's economics are broken both ways (even aside from the Merc bug) in permitting you to buy below wholesale and sell above it, resulting in infinite PC money one way or another.

#27 Updated by Alexei Dobrohotov 26 days ago

I've written something and from my (brief) testing it seems to work - high mercantile and fatigue will always (?) result in higher selling price, but you won't be able to sell the item above its base price and buy it for less than the base price.

At 5 mercantile and 0% fatigue the selling price of Saint's Shield (merchant is Galbedir, player is a generic Dunmer) is about 6000 gold, at 100% fatigue it's 7000.
At 100 mercantile and 0% fatigue the selling price is 12000, at 100% it is clamped from 16000 to 15000 base price.

Any comments and suggestions?

#28 Updated by Nerevar 009 25 days ago

Will Herrmann wrote:

For what it's worth, this is not something that MCP has ever fixed, so we don't have an already tested solution from them unfortunately.

I just tested with MCP 2.4 and the GOG version of Morrowind with a Dunmer with 160 fatigue and its "Mercantile fix" patch in the bugfixes section seems to fix this for me. Without the patch enabled, selling a steel cuirass to Arrille starts at 47 gold and goes down to 1 with a 20,000 magnitude Fortify Fatigue spell, but it goes up from 61 to 178 with it enabled.

The patch also reduces the difference between buy/sell price and the base value by 50%, increasing the selling price with no fatigue fortification from 47 to 61.

#29 Updated by Nerevar 009 25 days ago

This was with a level 1 Dunmer with 5 Mercantile. With 100 Mercantile and the patch enabled, the steel cuirass sells for 105 gold with 100% fatigue and 87 with 0%.

#30 Updated by Alexei Dobrohotov 9 days ago

  • Status changed from Confirmed to Resolved
  • Assignee set to Alexei Dobrohotov
  • Target version changed from openmw-future to openmw-0.44
  • % Done changed from 0 to 100

Also available in: Atom PDF