Difference between revisions of "Barter Overview"

1,393 bytes added ,  10:49, 3 February 2023
Added the updated formula section.
imported>RobinHood70
m (Spelling)
(Added the updated formula section.)
Line 2: Line 2:


The [[:Category:Dialogue|dialogue]] presented during barter is set on the [[Service Tab|service tab]] of a quest. Below are the game settings that control the formulas for bartering prices.
The [[:Category:Dialogue|dialogue]] presented during barter is set on the [[Service Tab|service tab]] of a quest. Below are the game settings that control the formulas for bartering prices.


*[[fBarterBuyBase]]
*[[fBarterBuyBase]]
Line 14: Line 13:
*[[fBarterSellBase]]
*[[fBarterSellBase]]
*[[fBarterSellMult]]
*[[fBarterSellMult]]
The formula used to check if a trade will be accepted by the merchant depending on the position of the slider is:
Value = fBarterHaggleDispMult * floor(fActorLuckSkillMult * (Disposition - 10) / 4) + (100 + min(PlayerSkill + fActorLuckSkillMult * (PlayerLuck - 50), 100) - min(MerchantSkill + fActorLuckSkillMult * (MerchantLuck - 50), 100)) / (10 - (SliderPosition * fBarterHaggleBase))
* SliderPosition is a value between 0 and 40 (fBarterHaggleMax) and represents the position in which the slider is located
* If the value returned by the formula is greater or equal than 0 the trade will be accepted by the merchant
* Note that sometimes the result of the formula may give 0 (arithmetically) and therefore the trade should be accepted but it is not. This is because of floating-point errors. The handling of these errors can be done but that would over complicate the representation of the formula on this page.
* Editor note: it has yet to be found if and where fBarterHaggleCurve fits into the above formula.
Alternatively if you wish to know the best slider position you can use:
BestSliderPosition = floor(((fBarterHaggleDispMult * floor(fActorLuckSkillMult * (Disposition - 10) / 4) + (100 + min(PlayerSkill + fActorLuckSkillMult * (PlayerLuck - 50),100) - min(MerchantSkill + fActorLuckSkillMult * (MerchantLuck - 50),100)) /10) ^fBarterHaggleCurve) / fBarterHaggleBase)
9

edits