-- Dealer deal price/tension tuning extracted from server logic
Config.DealTuning = {
HardCapMult = 1.10,
Tension = {
Min = 0,
Max = 100,
},
DealDelays = {
MaxFailures = 3,
},
-- Case: price <= minPrice
UnderMin = {
TensionDelta = { Min = -2, Max = -1 },
},
-- Case: minPrice < price <= maxPrice
WithinRange = {
-- Chance formula: baseChance = BaseAtMin - floor(pct * DropAcrossRange)
-- pct = (price - minPrice) / (maxPrice - minPrice)
BaseAtMin = 85,
DropAcrossRange = 20,
FirstDealBonus = 5,
MinBaseChance = 40,
-- On success: small tension decrease
SuccessTensionDelta = { Min = -1, Max = 0 },
-- On fail: tension increase and delay increments
FailTensionDelta = { Min = 2, Max = 6 },
FailMessage = "The buyer hesitates... try a better price.",
},
-- Case: maxPrice < price <= hardCap
OverCap = {
-- Chance formula: chance = AtMaxPrice - floor(overPct * DropPerOverPct)
-- overPct = (price - maxPrice) / max(maxPrice, 1)
AtMaxPrice = 10,
DropPerOverPct = 50, -- 0.20 over => -10 => 0% chance
MinChance = 0,
SuccessTensionDelta = { Min = 10, Max = 15 },
FailTensionDelta = { Min = 20, Max = 35 },
FailMessage = "Too expensive. Lower your price.",
},
-- Case: price > hardCap
AboveHardCap = {
TensionDelta = { Min = 30, Max = 45 },
FailMessage = "Ridiculous price! Don't try to rip me off.",
},
}