# Negotiation System - FS25_UsedPlus Wiki

**Version:** 2.15.0 **Last Updated:** 2026-02-18 --- ## Table of Contents 1. [Overview](#overview) 2. [Seller Personalities](#seller-personalities) 3. [Base Acceptance Rates](#base-acceptance-rates) 4. [Weather Bonuses](#weather-bonuses) 5. [Offer Strategies](#offer-strategies) 6. [Negotiation Outcomes](#negotiation-outcomes) 7. [Cooldown System](#cooldown-system) 8. [Counter-Offers](#counter-offers) 9. [The Stand Firm Gamble](#the-stand-firm-gamble) 10. [The Mechanic's Whisper](#the-mechanics-whisper) 11. [Tips & Best Practices](#tips--best-practices) 12. [Flowchart](#negotiation-flowchart) 13. [Related Systems](#related-systems) --- ## Overview ### What Is Negotiation? 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 ### When Does It Happen? 1. You hire an agent (Local, Regional, or National) to search for a used vehicle 2. Agent finds a vehicle → Browse your portfolio 3. Pay for an inspection → See vehicle condition and reliability 4. Click **"Make Offer"** → Negotiation begins

Make an Offer
The negotiation dialog showing offer percentages and mechanic's whisper about seller personality

--- ## Seller Personalities 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. ### The Five Personalities | 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 | ### What This Means - **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. --- ## Base Acceptance Rates ### How Acceptance Works 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** ### Listing Condition Modifiers 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 | ### Example Calculation ``` 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) ``` --- ## Weather Bonuses Bad weather makes sellers anxious to close deals. Check the weather forecast before negotiating for significant advantages. ### Weather Modifier Table | 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 | ### Strategic Weather Watching 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. --- ## Offer Strategies ### Safe Offer Ranges by Personality 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% | ### When to Lowball 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 ### When to Pay Near Asking 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 --- ## Negotiation Outcomes ### Three Possible Responses After you submit your offer, the seller will respond with one of three outcomes: #### 1. Accept ✅ **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

Offer Accepted
Success! Seller accepts your offer - proceed to purchase

#### 2. Counter-Offer 🤝 **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: 1. **Accept Counter** - Close the deal at their price 2. **Stand Firm** - Gamble on your original offer (see [Stand Firm](#the-stand-firm-gamble)) 3. **Walk Away** - End negotiations, 30-minute cooldown #### 3. Reject ❌ **Your offer is too low (more than 10% below threshold).** - Seller refuses to negotiate - Two options: 1. **Pay Full Price** - Buy at original asking price 2. **Walk Away** - End negotiations, 30-minute cooldown ### The Walk-Away Gap Table 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** ⚠️ | ### 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. --- ## Cooldown System ### 30-Minute Penalty If you **walk away** from negotiations or the seller **rejects** your offer, a **30-minute cooldown** is applied to that specific listing. #### During Cooldown: - 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 #### After Cooldown: - Listing becomes active again - You can make a new offer - Previous negotiation history is reset - Seller may still remember (listing modifiers remain) ### No Cooldown Scenarios 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 --- ## Counter-Offers ### How Counter-Offers Work When the seller counters, they typically: 1. **Split the Difference** - Counter at roughly the midpoint between your offer and their threshold 2. **Show Final Price** - Display the counter-offer amount 3. **Give You Three Options** - Accept, Stand Firm, or Walk Away

Counter Offer
Seller counters your offer - accept, stand firm, or walk away

### Counter-Offer Example ``` 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 ``` ### Accept the Counter? **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) --- ## The Stand Firm Gamble ### What Is It? 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. ### Stand Firm Odds | 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** ⚠️ | ### When the Seller Walks 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. ### When to Stand Firm **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 --- ## The Mechanic's Whisper 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. ### Seller Intel (Always Shown) 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%) | ### Weather Intel (When Significant) 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."* ### Reading the Whisper The mechanic is giving you **two pieces of information**: 1. **Seller Psychology** - How flexible they are 2. **Environmental Factors** - Weather and timing Combine both to determine your offer strategy. --- ## Tips & Best Practices ### Maximize Your Savings 1. **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 2. **Listen to the Whisper** - Desperate sellers accept lower offers - Firm sellers will reject lowballs - Trust the mechanic's intel 3. **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 4. **Watch for High Damage/Hours** - Damaged vehicles (>20%) easier to negotiate - High-hour equipment (>5000 hours) moves slower - These factors stack with other modifiers ### Minimize Risk 1. **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 2. **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 3. **Perfect Weather Days** - Expect to pay closer to asking price - Sunny/clear weather favors the seller - Consider waiting for weather to worsen 4. **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 Magic Strategy 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** ### Example: The Perfect Storm Deal ``` 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 ``` ### Reading the Room 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. --- ## Negotiation Flowchart ``` ┌─────────────────────────────────────┐ │ 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% │ │ │ └──────────┘ └──────────┘ ``` --- ## Related Systems ### Vehicle DNA 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](Vehicle-DNA.md)** for complete details. ### Inspection System 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 the **[FAQ - Inspections](FAQ#can-i-inspect-a-used-vehicle-before-buying)** for details. ### Statistics Tracking 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** --- ## Technical Implementation ### Files | 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 | ### Translation Keys 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 ### Weather API ```lua -- 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 ``` ### Acceptance Formula ```lua -- 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 ``` --- ## Version History ### v2.6.0 (2026-01-14) - 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.*