Cross posting in the hope that this might be understood here. Or not.
Solik said:
It's extremely simplistic, but no more simplistic than a number for HP simulating physical wounds.
As I said at our own dear codex, this isn't "simplistic", it is nonsense.
It is totally insane for a 50000 item to sell for 1000 when the merchant can buy 50 items worth 1000. Should the 50000 item sell for 50000? Probably not. So make it sell for less. The selling price as a proportion of the actual price could diminish the higher the value of the item. Mercantile skill could reduce this rate of decrease. The rate of decrease could also depend on the mechant in question.
Here's a reasonable system:
Give each item a cost: objectCost
Give each merchant a funding level: merchantFunding
Use player and merchant mercantile skills: playerSkill, merchantSkill
merchantPrice = (objectCost * merchantFunding) / ( objectCost + merchantFunding )
merchantWouldPay = merchantPrice * ( 200 / (200 + merchantSkill))
playerReceives = (merchantWouldPay ^ ( 1.01 - 1/playerSkill))
This gives the following sale prices:
First keeping player skill and merchant skill at 50:
ObjectCost____MerchantFunding______PlayerReceives
20________________1000______________15
200_______________1000______________126
2000______________1000______________500
20________________5000______________15
200_______________5000______________146
2000______________5000______________1065
20________________20000_____________15
200_______________20000_____________150
2000______________20000_____________1352
When the price is low, the merchant's funding level makes little difference. High funding levels allow the merchant to give a reasonable price for valuable items. The player can sell a valuable item anywhere, but he'll get a better price at a well funded merchant - for a given player and merchant skill.
Now fix the object cost at 200 and the merchant's funding at 1000, to see the effect of player / mechant skill:
MerchantSkill____PlayerSkill______PlayerReceives
100______________20______________92
90_______________30______________102
80_______________40______________110
70_______________50______________117
60_______________60______________124
50_______________70______________130
40_______________80______________137
30_______________90______________144
20_______________100_____________151
The object cost is one fifth of the the merchant's funding level so this still has some effect. Player / merchant skill has a larger effect here though.
This kind of system would make reasonable sense, but be a simplification. "Investing" could for example increase the merchant's funding level, as well as giving the player a small percentage of profits from then on. This would give the impression that the merchant were now able to shift items of higher value more easily - resulting in a higher selling price. There would be no idiotic cutoff point though.
If desired, Merchant funding could be reduced as the player sells items to him, and slowly replenish as he "sells" them. This way, selling 50 items priced at 1000 would be possible, but the player would receive less and less money as he sold each one - since the merchant would be assuming a higher risk.
A system like the above takes hours (at most) to think up, and next to no time to implement: it only requires variables that are already present, and one moderately complex formula.
Sticking with the stupidly simple system they've got just seems a bit silly. A feature like this could be improved beyond recognition in one day. It's not even that complex - it can all be understood on an intuitive level.
Perhaps the system I outlined has problems (I don't
think it does - constant tweaking aside). It makes a lot more sense than what we're stuck with though.