Merchant Favor
Term

Merchant Trading & Favor System

Every item in the game has a base cost_gp value stored as a decimal (two places, representing copper accuracy). Merchants adjust the final trade price based on their personal merchant_favor toward the party.

merchant_favor is tracked per merchant as an integer from 0 to 100:

  1. 0 = Hated
  2. 50 = Neutral (default for most merchants)
  3. 100 = Beloved

Buy Price (what the player pays the merchant)

buy_P=max⁡(1.0, 4.0−(merchant_favor×0.03)+campaign_economy_modifier)\text{buy\_P} = \max(1.0,\ 4.0 - (\text{merchant\_favor} \times 0.03) + \text{campaign\_economy\_modifier})buy_P=max(1.0, 4.0−(merchant_favor×0.03)+campaign_economy_modifier)

Buy price = cost_gp × buy_P (rounded to nearest 0.01 gp / copper)

Sell Price (what the merchant pays the player)

sell_P=1.0+(merchant_favor×0.002)\text{sell\_P} = 1.0 + (\text{merchant\_favor} \times 0.002)sell_P=1.0+(merchant_favor×0.002)

Sell price = cost_gp × min(1.20, sell_P) (rounded to nearest 0.01 gp / copper)

campaign_economy_modifier is an optional global slider set by the GM at campaign start: –0.5 (generous world), 0 (standard), or +0.5 (harsh economy).

Final prices may be paid in any combination of copper (0.01 gp), silver (0.1 gp), gold (1 gp), and electrum (0.5 gp) coins.

Quick Reference Table

Favor Level

merchant_favor

Buy Multiplier

You Pay (Buy)

Merchant Pays You (Sell)

Feels Like

Hated

0

4.0×

400%

100%

Hostile — total gouge

Unfriendly

10–29

3.7–3.1×

310–370%

102–106%

Barely tolerated

Neutral

50

2.5×

250%

110%

Standard medieval merchant

Friendly

70

1.9×

190%

114%

Regular customer

Favored

90

1.3×

130%

118%

Good relationship

Beloved

100

1.0×

100% (at cost)

120%

VIP — best deals + bonus

Examples (cost_gp = 100.00 gp item)

Favor Level

You BUY it

Merchant pays you if you SELL it

Notes

Hated (0)

400.00 gp

100.00 gp

Pure gouge

Unfriendly (20)

340.00 gp

104.00 gp

Still painful

Neutral (50)

250.00 gp

110.00 gp

Classic 150 % medieval markup

Friendly (70)

190.00 gp

114.00 gp

Noticeable break

Favored (90)

130.00 gp

118.00 gp

Solid discount

Beloved (100)

100.00 gp

120.00 gp

At cost + 20 % sell bonus

Haggling (One-and-Done)

Before any buying or selling, a player may attempt haggling once per merchant visit. This is a contested roll:

  1. Player rolls: Influence
  2. Merchant rolls: Empathy

Difference = Player total − Merchant total (Tie always goes to the player.)

Permanent results (applied immediately to the database):

  1. Tie or win by 1–4: +8 merchant_favor
  2. Win by 5–9: +15 merchant_favor
  3. Win by 10+: +20 merchant_favor
  4. Lose: No change (GM may optionally apply –5 if the merchant is offended)

The updated favor takes effect for the entire visit and all future visits.

Gifting & Favor Gain

Gifting gold or valuable items improves merchant_favor, but it is deliberately expensive and inefficient, especially as favor rises. This prevents easy “gold-spam” juicing while still rewarding players who want to invest in a relationship (exactly like BG3’s level-scaled gifting cost).

  1. Value is based on the item’s sell price to the merchant (cost_gp × current sell_P).
  2. Strong diminishing returns apply — higher favor costs far more per point.
  3. Hard cap: Gifting cannot raise favor above 90 (“Favored”). Only quests, major story actions, or GM discretion can reach 91–100 (“Beloved”).
  4. Negative actions (rudeness, theft, failed quests) can lower favor at any time.

Approximate cost per +1 favor:

Current Favor Range

Value needed per +1 favor

0–45

50 gp

46–70

100 gp

71–85

200 gp

86–90

400 gp

This keeps gifting useful for small relationship boosts or roleplay flavor, but makes quests, haggling, and consistent good behavior the real path to “VIP” pricing.

d100
Mod
ADV/DIS
-or-

To access the dice log to keep track of your rolls

-or-

To edit characters or creatures.

Effect 1 Effect 2 Ambience Music