-
Notifications
You must be signed in to change notification settings - Fork 0
Negotiation System
Version: 2.6.0+ Last Updated: 2026-01-27
- Overview
- Seller Personalities
- Base Acceptance Rates
- Weather Bonuses
- Offer Strategies
- Negotiation Outcomes
- Cooldown System
- Counter-Offers
- The Stand Firm Gamble
- The Mechanic's Whisper
- Tips & Best Practices
- Flowchart
- Related Systems
When you find a used vehicle through an agent and complete the inspection, you can negotiate the price instead of paying the full asking price. The negotiation system features:
- Strategic Price Offers - Choose from 70%, 80%, 85%, 90%, 95%, or 100% of asking price
- Seller Personalities - Five AI personality types with different acceptance thresholds
- Weather Effects - Bad weather improves your negotiating position
- Counter-Offers - Sellers may meet you halfway
- Real Consequences - Insult the seller and that listing is gone forever
- You hire an agent (Local, Regional, or National) to search for a used vehicle
- Agent finds a vehicle → Browse your portfolio
- Pay for an inspection → See vehicle condition and reliability
- Click "Make Offer" → Negotiation begins
The negotiation dialog showing offer percentages and mechanic's whisper about seller personality
Each used vehicle listing is assigned a hidden seller personality that determines their negotiation behavior. The personality is tied to the vehicle's underlying qualities - you'll need to pay attention to patterns to understand why some sellers are desperate while others are immovable.
| Personality | Frequency | Acceptance Threshold | Counter Threshold | Typical Behavior |
|---|---|---|---|---|
| Desperate | 10% | 65% | 75% | Eager to sell, accepts aggressive offers |
| Motivated | 25% | 75% | 85% | Room to negotiate, flexible |
| Reasonable | 40% | 85% | 92% | Standard negotiation, fair |
| Firm | 25% | 92% | 97% | Don't lowball, knows the value |
| Immovable | Rare | 98% | 99% | Take it or leave it |
- Acceptance Threshold: The minimum offer percentage (e.g., 80% = $80,000 on a $100,000 vehicle) the seller will accept outright
- Counter Threshold: Below acceptance but above counter = seller will meet you halfway
- Below Counter: Seller rejects or walks away depending on how insulting the offer is
Important: The seller's personality is not random - it correlates with the vehicle's history and condition. Pay attention to patterns.
When you make an offer, the game calculates an effective threshold by taking the seller's base personality threshold and applying modifiers:
Effective Threshold = Base Threshold - Modifiers
Lower threshold = easier to accept your offer
Certain listing conditions make sellers more motivated:
| Factor | Modifier | Reason |
|---|---|---|
| Days on Market | +0.3% per day (max +10%) | Longer listings = more motivation |
| Damage > 20% | +5% | Harder to sell damaged vehicles |
| High Operating Hours (>5000) | +3% | High-hour vehicles move slower |
| Premium Vehicle (>$200,000) | -5% | Seller knows the value |
Scenario: Reasonable seller (85% base) with vehicle listed for 20 days
Base Threshold: 85%
Days on Market: -6% (20 days × 0.3%)
Effective: 79%
Your 80% offer → ACCEPTED (above 79% threshold)
Bad weather makes sellers anxious to close deals. Check the weather forecast before negotiating for significant advantages.
| Weather Type | Acceptance Bonus | Psychology |
|---|---|---|
| Hail | +12% | Fear of outdoor equipment damage |
| Storm/Thunder | +8% | Urgency to close before things worsen |
| Rain | +5% | Stuck inside, reflective mood, willing to deal |
| Snow | +5% | Off-season blues, wants equipment gone |
| Fog | +3% | Gloomy outlook, slightly pessimistic |
| Cloudy | +2% | Mildly contemplative |
| Sun | 0% | Baseline - normal conditions |
| Perfect Clear | -3% | Optimistic, no rush, life is good |
Weather bonuses stack with listing modifiers. Example:
Motivated Seller (75% base)
+ Storm Weather (+8%)
+ Listed 15 days (+4.5%)
= Effective Threshold: 62.5%
Your 70% offer during the storm → ACCEPTED
Same 70% offer on a sunny day → REJECTED
Pro Tip: Wait for bad weather before making aggressive offers. A storm can turn a rejection into an acceptance.
Use these guidelines to minimize rejection risk:
| Seller Type | Safe Range | Aggressive Range | High Risk |
|---|---|---|---|
| Desperate | 70-80% | 65-70% | <65% |
| Motivated | 80-90% | 75-80% | <75% |
| Reasonable | 85-95% | 80-85% | <80% |
| Firm | 92-100% | 90-92% | <90% |
| Immovable | 98-100% | 95-98% | <95% |
Only go below 75% if:
- Mechanic whisper indicates desperate seller
- Vehicle has been listed for 2+ weeks
- Weather is significantly bad (Storm, Hail, Rain)
- You can afford to lose access to this listing
Pay 95-100% if:
- Mechanic whisper says seller is firm or knows the value
- Vehicle is in excellent condition with low hours
- Weather is perfect/sunny
- You really want this specific vehicle
After you submit your offer, the seller will respond with one of three outcomes:
Your offer meets or exceeds the effective threshold.
- Deal! You got the price you asked for
- Proceed to purchase at your offered price
- Credit score benefit (+2 points)
- Negotiation savings tracked in statistics
Success! Seller accepts your offer - proceed to purchase
Your offer is below acceptance but within counter range (usually within 5-10% of threshold).
- Seller wants more but is willing to negotiate
- Counter-offer shown (typically splits the difference)
- You have three options:
- Accept Counter - Close the deal at their price
- Stand Firm - Gamble on your original offer (see Stand Firm)
- Walk Away - End negotiations, 30-minute cooldown
Your offer is too low (more than 10% below threshold).
- Seller refuses to negotiate
- Two options:
- Pay Full Price - Buy at original asking price
- Walk Away - End negotiations, 30-minute cooldown
How far below threshold determines the severity:
| Gap Below Threshold | Seller Response | Result |
|---|---|---|
| Within 5% | Always counter | Safe zone |
| 5-10% below | Usually counter | Low risk |
| 10-15% below | 50/50 reject or counter | Medium risk |
| 15-20% below | Usually reject | High risk |
| >20% below | INSULTED |
Permanent walk-away |
If your offer is more than 20% below the seller's threshold, they will:
- Permanently remove the listing
- You cannot make another offer on this vehicle
- Listing is gone from your portfolio forever
- No cooldown - the listing is simply deleted
This is the harshest penalty. It represents insulting the seller so badly they refuse to do business with you.
If you walk away from negotiations or the seller rejects your offer, a 30-minute cooldown is applied to that specific listing.
- Listing remains in your portfolio (grayed out)
- "Make Offer" button disabled
- Dialog shows: "Seller is unavailable. Try again in X minutes."
- Cooldown timer displayed in real-time
- Listing becomes active again
- You can make a new offer
- Previous negotiation history is reset
- Seller may still remember (listing modifiers remain)
You do NOT trigger cooldown if:
- You accept the seller's counter-offer
- You accept a rejection and pay full price
- Your offer is accepted immediately
When the seller counters, they typically:
- Split the Difference - Counter at roughly the midpoint between your offer and their threshold
- Show Final Price - Display the counter-offer amount
- Give You Three Options - Accept, Stand Firm, or Walk Away
Seller counters your offer - accept, stand firm, or walk away
Vehicle Asking Price: $100,000
Your Offer: $80,000 (80%)
Seller Threshold: 85%
Counter-Offer: $92,500 (92.5% - splits the gap)
Your Options:
1. Accept Counter → Pay $92,500 (save $7,500)
2. Stand Firm → Gamble on $80,000 (see below)
3. Walk Away → 30-minute cooldown
Pros:
- Guaranteed savings vs. asking price
- No cooldown, deal closes immediately
- Builds credit score (+2 points)
Cons:
- Less savings than your original offer
- Might leave money on the table (if Stand Firm succeeds)
When you receive a counter-offer, you can Stand Firm on your original offer rather than accepting the seller's counter. This is a gamble with three possible outcomes.
| Outcome | Probability | What Happens |
|---|---|---|
| Seller Caves | 30% | They accept your original offer - you win! |
| Seller Holds | 50% | Counter-offer remains - accept or walk away |
| Seller Walks | 20% | Listing locked for 1 game hour |
If the seller walks away after Stand Firm:
- Listing is locked for 1 game hour (not 30 minutes - harsher penalty)
- You cannot make another offer during lockout
- Dialog shows: "Seller is unavailable. Try again in X minutes."
- Listing automatically unlocks after 1 hour
This is not permanent - unlike the >20% insult, the listing returns after 1 hour.
Good Scenarios:
- Counter-offer is only slightly better than your offer (within $2-3k)
- You can afford to wait 1 hour if seller walks
- Similar vehicles are available in your portfolio
- You're feeling lucky (30% success rate)
Bad Scenarios:
- This is the only vehicle that fits your needs
- Counter-offer is significantly better (saving $10k+)
- You need the vehicle immediately
- You've already waited weeks for this search
Before you make an offer, your mechanic provides intel about the seller's psychology and current conditions. This is your most valuable tool for negotiation strategy.
Based on seller personality and listing conditions:
| Whisper Phrase | Meaning | Recommended Strategy |
|---|---|---|
| "Between you and me... they seem pretty eager to sell. Might be in a tough spot." | Desperate | Go aggressive (70-80%) |
| "Between you and me... I've seen this rig listed for a while now. Seller might be motivated." | Long listing | Moderate aggression (80-85%) |
| "Between you and me... heard they're upgrading to bigger equipment. Could be flexible." | Motivated | Push a bit (80-90%) |
| "Between you and me... they've priced it fair and know exactly what it's worth." | Firm | Don't lowball (90-95%) |
| "Between you and me... just hit the market. Might not be in a rush to deal." | New listing | Be careful (90-100%) |
| "Between you and me... seems like a straightforward seller. Worth making an offer." | Reasonable | Standard negotiation (85-95%) |
If weather provides +5% or more advantage:
- "Plus, with that storm rolling in, they might want to close quick."
- "Rain's keeping everyone cooped up... good time to push for a deal."
- "That hail's got folks worried about their gear sitting out."
- "Snow falling... off-season always makes sellers more flexible."
If weather provides -3% or worse disadvantage:
- "Beautiful day like this though... don't expect any favors."
The mechanic is giving you two pieces of information:
- Seller Psychology - How flexible they are
- Environmental Factors - Weather and timing
Combine both to determine your offer strategy.
-
Check the Weather Forecast
- Wait for storms, hail, or rain before negotiating
- Avoid negotiating on perfect sunny days
- Weather bonuses can swing a rejection into acceptance
-
Listen to the Whisper
- Desperate sellers accept lower offers
- Firm sellers will reject lowballs
- Trust the mechanic's intel
-
Consider Listing Age
- Long-listed vehicles (2+ weeks) have motivated sellers
- Fresh listings (1-3 days) won't budge as easily
- Each day adds to seller motivation
-
Watch for High Damage/Hours
- Damaged vehicles (>20%) easier to negotiate
- High-hour equipment (>5000 hours) moves slower
- These factors stack with other modifiers
-
Start Conservative
- Offer 85-90% if seller psychology is unknown
- Only go 70-80% if whisper indicates desperate seller
- Never go below 65% unless extremely confident
-
Avoid Stand Firm Unless...
- You can afford to lose access for 1 hour
- The counter-offer is barely better than your offer
- You have backup options in your portfolio
-
Perfect Weather Days
- Expect to pay closer to asking price
- Sunny/clear weather favors the seller
- Consider waiting for weather to worsen
-
Watch for Walk-Away Risk
- Never offer >20% below threshold (permanent walk-away)
- If whisper says "firm" or "knows their worth," stay above 90%
- Better to pay more than lose the listing forever
The best deals happen when multiple factors align:
✅ Seller personality is Desperate or Motivated ✅ Vehicle has been listed for 2+ weeks ✅ Weather is bad (storm, hail, rain) ✅ You can wait for the perfect moment
Vehicle: $85,000 tractor
Seller: Motivated (75% base threshold)
Listing Age: 18 days (+5.4% modifier)
Weather: Check forecast → Storm coming in 2 hours
Strategy:
1. Wait for storm to hit
2. Storm arrives (+8% modifier)
3. Effective threshold: 75% - 5.4% - 8% = 61.6%
4. Offer 70% ($59,500)
5. Seller accepts!
6. Savings: $25,500 (30% off asking price)
Same offer on a sunny day? → REJECTED
Pay attention to patterns across multiple negotiations:
- Desperate sellers often have vehicles with hidden problems
- Immovable sellers often have premium equipment worth the price
- Motivated sellers offer the best balance of savings vs. quality
The negotiation system isn't random - it's revealing information about the vehicle through seller behavior.
┌─────────────────────────────────────┐
│ Used Vehicle Found by Agent │
│ → Request Inspection │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Inspection Complete │
│ → Click "Make Offer" │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Negotiation Dialog Opens │
│ → Mechanic's Whisper displayed │
│ → Choose offer: 70/80/85/90/95/100% │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Calculate Effective Threshold │
│ = Base - Listing Mods - Weather │
└──────────────┬──────────────────────┘
│
┌────────┴────────┐
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ Offer ≥ │ │ Offer < │
│Threshold │ │Threshold │
└─────┬────┘ └─────┬────┘
│ │
▼ │
┌──────────┐ │
│ ACCEPT ✅ │ │
│ Pay your │ │
│ price │ │
└──────────┘ │
│
┌────────┴────────┐
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│Within 10%│ │ >10% │
│of thresh │ │ below │
└─────┬────┘ └─────┬────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ COUNTER │ │ >20% │
│ 🤝 │ │ below? │
│ Accept / │ └─────┬────┘
│ Stand / │ │
│ Walk │ ┌──────┴──────┐
└─────┬────┘ │ │
│ ▼ ▼
│ ┌──────────┐ ┌──────────┐
│ │ REJECT ❌ │ │WALK-AWAY │
│ │ Pay full │ │ FOREVER │
│ │or walk │ │ ⚠️⚠️ │
│ └──────────┘ └──────────┘
│
┌──────┴──────┐
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ Accept │ │Stand Firm│
│ Counter │ │ Gamble │
└──────────┘ └─────┬────┘
│
┌───────┴───────┐
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│Seller │ │Seller │
│Caves 30% │ │Holds 50% │
│or Walks │ │ │
│20% │ │ │
└──────────┘ └──────────┘
Seller personality is directly tied to the vehicle's hidden DNA quality:
- Lemons (DNA 0.0-0.29) → Desperate sellers (eager to unload)
- Average (DNA 0.30-0.69) → Motivated/Reasonable sellers
- Workhorses (DNA 0.70-0.89) → Firm sellers
- Legendaries (DNA 0.90-1.00) → Immovable sellers (know what they have)
What This Means: Desperate sellers often have vehicles with hidden problems. Immovable sellers often have premium equipment worth the asking price. The negotiation system is revealing information about vehicle quality through seller behavior.
See Vehicle DNA Wiki for complete details.
Before negotiating, you should always request an inspection to see:
- Overall reliability score
- Component health (engine, electrical, hydraulic)
- DNA quality hints (mechanic quotes)
- RVB part status (if installed)
- UYT tire condition (if installed)
Inspection costs are small compared to buying a lemon. See Inspection Wiki for details.
The following negotiation statistics are tracked per farm:
| Statistic | Description |
|---|---|
negotiationsAttempted |
Total offers made |
negotiationsWon |
Offers accepted at your price |
negotiationsCountered |
Counter-offers accepted |
negotiationsRejected |
Walked away or paid full price |
totalNegotiationSavings |
Money saved through negotiation |
View in Finance Manager → Dashboard → Statistics
| File | Purpose |
|---|---|
src/gui/NegotiationDialog.lua |
Main negotiation interface |
src/gui/SellerResponseDialog.lua |
Accept/Counter/Reject display |
src/utils/NegotiationCalculations.lua |
Acceptance threshold calculations |
src/data/UsedVehicleSearch.lua |
Seller personality generation |
src/managers/FinanceManager.lua |
Statistics tracking |
gui/NegotiationDialog.xml |
Negotiation UI layout |
gui/SellerResponseDialog.xml |
Response UI layout |
All negotiation text is localized. Key prefixes:
-
usedplus_neg_*- Negotiation dialog text -
usedplus_whisper_*- Mechanic whisper messages -
usedplus_response_*- Seller response messages -
usedplus_standfirm_*- Stand firm outcomes
-- Get current weather type
local environment = g_currentMission.environment
if environment and environment.weather and environment.weather.getCurrentWeatherType then
local weatherType = environment.weather:getCurrentWeatherType()
-- weatherType: 0=Sun, 1=Cloudy, 2=Rain, 3=Storm, etc.
end-- Calculate effective threshold
local effectiveThreshold = baseThreshold - listingModifiers - weatherBonus
-- Determine outcome
if offerPercent >= effectiveThreshold then
return "accept"
elseif offerPercent >= (effectiveThreshold - 0.10) then
return "counter"
elseif offerPercent < (effectiveThreshold - 0.20) then
return "permanent_walkaway"
else
return "reject"
end- Initial implementation of negotiation system
- NegotiationDialog with 6 offer percentage buttons
- SellerResponseDialog with Accept/Counter/Reject flows
- Mechanic's Whisper with seller intel
- Weather modifier system
- 5 seller personalities with weighted distribution
- Stand Firm gamble mechanic
- Permanent walk-away for insulting offers (>20% below)
- 30-minute cooldown for rejections/walk-away
- 1-hour lockout for Stand Firm seller walk
- Statistics tracking for negotiations
- Full translation support (EN, DE, and all 27 languages)
"I waited for the hailstorm and saved 20% on that combine. Then I found out why the seller was so desperate..." - The stories players will tell their friends.