Difference between revisions of "Barter Overview"
Jump to navigation
Jump to search
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) |
Revision as of 10:49, 3 February 2023
Barter is not generally accessible to the construction set. There is precious little that can be done to affect it because the functionality is in the game code. Barter is a function of the relative mercantile skills, the merchant's current disposition, and the haggle percentage.
The dialogue presented during barter is set on the service tab of a quest. Below are the game settings that control the formulas for bartering prices.
- fBarterBuyBase
- fBarterBuyMult
- fBarterDispBase
- fBarterDispositionMod
- fBarterHaggleBase
- fBarterHaggleCurve
- fBarterHaggleDispMult
- fBarterHaggleMax
- fBarterSellBase
- 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)