Wiki / DDS1 / Game Mechanics

DEA Raids Guide

The DEA raid system in Drug Dealer Simulator 1 is driven by your exposition factor level (heat), the game's difficulty setting, and how often you visit each apartment. The numbers on this page come straight from the decompiled statisticsManager_C.adaptDifficulty and deaRaidManager_C bytecode — not from community guesswork.

Datamined & Verified: All values on this page are pulled from the game's Blueprint Kismet bytecode using UAssetAPI. Earlier versions of this guide used hardcoded constants that turned out to be Normal-difficulty values quoted without the difficulty context. The table below shows the real per-difficulty scaling.

🔎 How DEA Observation Works

DEA agents do not raid apartments randomly. They observe one (or more) of your apartments based on how much heat you have generated and how often you have visited the apartment in question.

The four-step loop
  1. Heat threshold — observation can only begin once your expoFactorLevel reaches the difficulty-specific expoLevelDEA_start value.
  2. Target selection — on Normal/Hard the DEA picks the apartment with the most visits (areaVisits). On Hardcore every eligible apartment is observed simultaneously.
  3. Observation interval — once selected, an internal timer counts up to deaObservationInterval seconds. While the timer runs, repeated drug activity at that apartment increases raid probability.
  4. Raid roll — when the timer expires the game rolls for a raid using deaChanceMultiplier. If it fires, you get the in-game warning and the raid begins.
⚠ Eligibility filter: An apartment is only considered for observation if it is currently rented, not flagged areaForever, has an active save station, and is not already under areaDEAobserved. Buying an apartment outright (areaForever) removes it from the observation pool entirely.

🎯 Difficulty Scaling (Real Values)

Every value in this table is read straight from statisticsManager_C.adaptDifficulty. Hard and Hardcore share identical scalar parameters — the difference is that Hardcore observes all eligible apartments at once while Normal/Hard observe only one.

Parameter Easy Normal Hard Hardcore
expoLevelDEA_start
Heat needed for DEA to start watching
600.0 500.0 400.0 400.0
deaObservationInterval
Seconds in the observation window
3200 1600 1300 1300
deaChanceMultiplier
Raid roll multiplier at end of interval
0.55 0.65 0.80 0.80
expoFactorDropRatePS
Heat decay per second (continuous)
0.18 0.13 0.10 0.10
expoFactorMin
Floor — heat never decays below this
35.0 50.0 80.0 80.0
ExpoFactorMultiplier
Global heat scaling factor
0.70 1.00 1.20 1.20
Practical impact: On Easy the DEA gets 3200 seconds (~53 min) of observation per cycle and rolls a 55%-weighted raid chance. On Hard/Hardcore that window collapses to 1300 seconds (~22 min) with an 80% roll. Hard/Hardcore raids are not just more frequent — they hit nearly 4× faster per cycle and 45% harder.

🔌 Heat Decay (Continuous)

Your exposition factor drains continuously toward expoFactorMin (the floor for your difficulty) at the rate of expoFactorDropRatePS per second. It is not a "one-tick-per-second integer drain" — it is a real-valued continuous deduction.

Difficulty Drop / sec Drop / minute Floor (min heat)
Easy 0.18 10.8 35.0
Normal 0.13 7.8 50.0
Hard 0.10 6.0 80.0
Hardcore 0.10 6.0 80.0
Reading the table: Easy bleeds off ~10.8 heat per real-time minute; Hard/Hardcore only 6.0. From a peak of 500.0 heat (DEA start threshold on Normal), passive decay to the floor takes roughly 57 minutes of real time on Normal, 70 minutes on Hard, and 43 minutes on Easy. The decay is multiplied by ExpoFactorMultiplier when reading the final clamped level — on Hard your effective heat reads 20% higher than the raw factor.

🔥 What Builds Heat

Heat (exposition factor) is the weighted average of recent sales and events. Activity older than 200 timecodes is pruned from the running average.

  • Drug sales contribute heat via calcSaleExposure(): base Clamp(50 + qty*10, 60, 200); multiplied by 1.2 between 9 PM and 6 AM (the EXPO-NIGHT-SALE-MULTIPLIER BalanceFlag).
  • Events read from the ExpoEventDatabase DataTable. Each event has an ExpoEventValue and a weight (ExpoEventMedianePoints).
  • Sample handouts fire the CLIENT-SAMPLE event for +500 expo. Yes — samples add heat, even though the rest of the sample system is positive.
  • Base inactivity contributes via EXPO-BASE-INACTIVITY-MEDIANE — a small constant that prevents the running average from collapsing too fast when you stop selling.

🛡 Surviving an Active Raid

Once the raid actually fires, you have a fixed countdown to either get out, hide the evidence, or accept the consequences. The countdown is driven by deaRaidManager_C.

✅ Leave the apartment
Exiting the area before the raid timer hits zero cancels the raid completely. The DEA needs you on-site.
🧹 Hide the inventory
Use the hide spots in the apartment (mattress, vent, wall safe). Hidden items are not counted in the drug penalty calculation.
❌ Get caught
Drug fine scales by total grams found: $100 (≤10g), $300 (≤50g), $800 (≤300g), $2,000 (>300g). On Hardcore: instant game over.

🎯 Strategy

  • Rotate apartments. The DEA targets the most-visited apartment on Normal/Hard. Spreading visits across multiple safehouses spreads the risk.
  • Buy outright when you can. An areaForever apartment is removed from the observation pool. Permanent ownership = permanent exemption.
  • Avoid night sales when hot. The 1.2× night multiplier compounds with already-elevated heat. Run daytime routes whenever your exposition factor is above the DEA start threshold.
  • Watch the heat floor. On Hard/Hardcore your expoFactorMin is 80, which means even after long inactivity you sit near the DEA-trigger range. Easy lets you decay all the way down to 35.
  • Hardcore is different. On Hardcore every eligible apartment is observed simultaneously. Rotating apartments stops being a defensive strategy — only buying them outright or keeping heat low works.

Datamined from statisticsManager_C.adaptDifficulty, deaRaidManager_C, rentAppartmentArea_C, and policeManager_C Kismet bytecode using UAssetAPI. Last updated May 2026.

Was this article helpful?
🖨 Print
Created by Staff Last edited by mifsopo 3 revisions Published May 11, 2026

💬 Discussion