

Game Version: 0.4.3f3 alternate
CartelEnforcer.dll
SHA256 File Hash: 918C89F0E933BB1CC0981E1BCB32B22D779BA2224AB25571B06D01F8428D1FC7
Requires Melon Loader
Cartel Enforcer adds new features and challenges to the Cartel, including new ambush locations, events, and a better dealer robbery system. Experience the drive-by events, take on mini-quests, and influence the enforced Cartel's presence in new ways!
[Game Root]
└── Mods/
├── CartelEnforcer.dll (or CartelEnforcer-IL2Cpp.dll)
└── CartelEnforcer/
├── config.json
├── Allied/
| ├── config.json
| └── QuestData/
| └── (Persistent save data gets generated here)
├── Ambush/
| ├── ambush.json
| ├── default.json
| └── settings.json
├── CartelItems/
| └── (Persistent save data gets generated here)
├── Dealers/
| └── dealer.json
└── Influence/
└── influence.json
You can customize the basic mod settings through the config.json file.
{
"debugMode": false,
"activityFrequency": 0.0,
"activityInfluenceMin": 0.0,
"ambushFrequency": 1.0,
"deadDropStealFrequency": 1.0,
"cartelCustomerDealFrequency": 1.0,
"cartelRobberyFrequency": 1.0,
"cartelGraffitiFrequency": 1.0,
"driveByFrequency": 0.7,
"driveByEnabled": true,
"realRobberyEnabled": true,
"defaultRobberyEnabled": true,
"miniQuestsEnabled": true,
"interceptDeals": true,
"enhancedDealers": true,
"cartelGatherings": true,
"businessSabotage": true,
"stealBackCustomers": true,
"alliedExtensions": true,
"endGameQuest": true,
"endGameQuestMonologueSpeed": 1.0
}
debugMode:
true: Show debug messages, visualize spawn locations, and display coordinates.false: Hides debug content. The cartel features will still be active.activityFrequency: Adjusts how often Cartel activities occur.
1.0: Activities happen roughly 10 times more frequently.-1.0: Activities happen roughly 10 times less frequently.0.0 (Default): Activities happen at the game's default frequency.activityInfluenceMin: Changes the minimum Cartel Influence required for activities.
1.0: Activities will rarely happen, as they require maximum regional influence.-1.0: Activities do not require any regional influence and can happen anywhere.0.0 (Default): Influence requirements are set to the game's default.ambushFrequency: Adjusts the frequency of Ambush events.
1.0: Ambush can happen as often as every 1 in-game hour.0.0: Ambush can happen at most once every 2 in-game days.-1.0: Ambush can happen at most once every 4 in-game days.deadDropStealFrequency: Adjusts the frequency of Dead Drop Steal events.
1.0: Can happen as often as every 1 in-game hour.0.0: Can happen at most once every 2 in-game days.-1.0: Can happen at most once every 4 in-game days.cartelCustomerDealFrequency: Adjusts the frequency of Cartel Customer Deal events.
1.0: Can happen as often as every 1 in-game hour.0.0: Can happen at most once every 2 in-game days.-1.0: Can happen at most once every 4 in-game days.cartelRobberyFrequency: Adjusts the frequency of Cartel Robbery events.
1.0: Can happen as often as every 1 in-game hour.0.0: Can happen at most once every 2 in-game days.-1.0: Can happen at most once every 4 in-game dayscartelGraffitiFrequency: Adjusts the frequency of Cartel Goons spraying Graffiti
1.0: Can happen as often as every 1 in-game hour.0.0: Can happen at most once every 2 in-game days.-1.0: Can happen at most once every 4 in-game daysdriveByFrequency: Adjusts the frequency of the Drive-By events.
1.0: Random cooldown can have values down to 1 in-game hour.0.0: Random cooldown is around 2 in-game days.-1.0: Random cooldown can have values up to 4 in-game days.driveByEnabled:
true: Enables drive-by events.false: Disables drive-by events.realRobberyEnabled:
true: Enables the realistic robbery system.false: Disables the realistic robbery system.defaultRobberyEnabled:
true: Enables the game default robberies where you only get a text messagefalse: Disables the game default text message based robberiesminiQuestsEnabled:
true: Enables mini-quests.false: Disables mini-quests.interceptDeals:
true: Enables the Intercept Deals event.false: Disables the event.enhancedDealers:
true: Enables the Enhanced Cartel Dealers featurefalse: Disables the feature.cartelGatherings:
true: Enables the Cartel Gatherings eventfalse: Disables the event.businessSabotage:
true: Enables the Business Sabotage eventfalse: Disables the event.stealBackCustomers:
true: Enables the Steal Back Customers featurefalse: Disables the feature.alliedExtensions:
true: Enables usage of Allied Extensions features. (Requires endGameQuest to be true)false: Disables the features.endGameQuest:
true: Enables the generation of End Game Quest.false: Disables the generation.endGameQuestMonologueSpeed:
1.0: Monologue messages are displayed for roughly 5 seconds0.0: Monologue messages are displayed for roughly 10 seconds
When a dealer is being robbed, a robber will spawn and engage them in a fight. Your actions affect the regional Cartel influence:
This is a new type of event where the Cartel actively attempts to intercept one of your deals.
These events only happen when the Cartel is hostile.
driveByFrequency parameter.activityFrequency parameter.
Mini-quests can be obtained from select NPCs (Anna, Fiona, Dean, Mick, Jeff, Dan, Jeremy, Marco or Herbert).
Cartel Gatherings are a regional task that appear frequently and even during the early game, before the cartel becomes hostile. Their locations are picked from all unlocked regions, with new locations unlocking as you progress through the game.
You can reveal these gathering locations by bribing certain mini quest NPCs.
Gatherings include a "loot goblin" goon carrying stolen items and money if the cartel has stolen from your dealers.
Goons have varied behaviors, including random animations and voice lines, and they occasionally rotate.
If player gets nearby they will get annoyed and eventually turn hostile. If you have killed enough Cartel Dealers, the Gatherings will be hostile on sight at a range depending on the Cartel Dealer Activity value.
Player owned businesses can now be sabotaged by Cartel. For these events you will get a notification indicating which business is being sabotaged. After the notification, a goon will spawn and go plant a bomb at your business. Defuse the bomb or your current laundering operation will fail!
The frequency of Business Sabotage events is linked directly to the total cartel influence across all regions. When the cartel total influence is lower, these events become more frequent!
Unlocked customers can now be stolen back by the Cartel forcing you to re-unlock your customers by giving them free samples. This event scales in difficulty and frequency depending on how low the Cartels influence is across all regions. The lower their influence is, the harder they fight back!
CartelEnforcer/config.json by setting stealBackCustomer to falseAllied Extensions consists of multiple features that are added to the game while the Cartel is Truced. These features aim to provide new means of reducing influence even while Cartel is Truced in order to progress and complete the game. Additionally the Allied Extensions allow the player to Persude the Cartel Dealers to work for them!
Allied Extensions features and cooldowns can be modified from the
CartelEnforcer/Allied/config.jsonfile
The Allied Extensions saves persistent data and progression to the
CartelEnforcer/Allied/QuestDatafolder for each save
After choosing to Truce with the Cartel, each Cartel Dealer gets new Persuade Dialogue Options! Each of the choices offer different probability of success to persuade the Cartel Dealer. Once successfully persuaded, the player can hire the Cartel Dealer to work for them! Each persuasion attempt lowers the regions Cartel Influence!
CartelEnforcer/Allied/config.json file at PersuadeCooldownMinsChoice 1: Clothing Similarity
Choice 2: Overall Cartel Influence
Choice 3: Threatening
Choice 4: Spread Rumours
After hiring a succesfully persuaded Cartel Dealer the regions Cartel Influence is set to 0 instantly.
While a Cartel Goon Gathering is active, greeting all 3 goons in a short timeframe will award the player with influence reduction in the respective region.
CartelEnforcer/Influence/influence.json by changing the trucedGreetingChallenge valueAfter player attends the meeting with Thomas and chooses Truce or loads into a save where Westville Cartel Dealer is not recruited and Cartel is Truced, the Allied Intro Quest will be automatically enabled.
Completion XP: 200
When the Cartel is Truced an Allied Supplies Quest will periodically appear! Grab the Cartel supplies before they disappear.
Completion XP: 300
CartelEnforcer/Allied/config.json file at SupplyQuestCooldownHoursSupply Loot by type:
Blue Barrels:
White Van:
All end game quests scale in difficulty based on the total cartel influence across all regions. Higher total influence will result in enemies having more HP and being overall more lethal and harder to kill. XP Rewards are also scaled based on the total cartel influence to compensate for difficulty.
The End Game Quest can be started by speaking to Manny (the Warehouse Fixer). This Quest can be completed only once per session.
Note: The Unexpected Alliances Quest is in early phase development and is subject to change in content, difficulty and rewards.
Quest Prerequirements:
Upon paying the $5000 Bribe to Manny, you get a custom active quest:
Quest Rewards:
The End Game Quest can be started by speaking to Ray between 18:15 and 19:00 when they are smoking a cigarette near the courthouse. This Quest can be completed only once per session.
Note: The Infiltrate Manor Quest is in early phase development and is subject to change in content, difficulty and rewards.
Quest Prerequirements:
Upon paying the $2500 Bribe to Ray, you get a custom active quest:
Quest Rewards:
| Item | Drop Chance | Quantity | Notes |
|---|---|---|---|
| M1911 Magazine | 100% | 1 | This item is a guaranteed drop. |
| M1911 Pistol | 33.4% | 1 | |
| Cocaine | 10% | 12-20 | |
| Gold Bar | 70% | 3-7 | This drop prevents cash from spawning. |
| Cash | 30% | $1000 | Will spawn if a gold bar does not. |
| Silver Watch | 60% | 1 | |
| Silver Chain | 60% | 1 | |
| Stolen Cartel Item | 80% | 1 | Only spawns if the cartelStolenItems pool has items. |
The End Game Quest can be started by speaking to Cranky Frank between 16:00 and 18:00 when they are smoking a cigarette near the Northern Waterfront. This Quest can be completed only once per session.
Note: The Four Wheels Quest is in early phase development and is subject to change in content, difficulty and rewards.
Quest Prerequirements:
Upon paying the $3500 Bribe to Cranky Frank, you get a custom active quest:
Quest Rewards:
You can customize the Cartel Dealers' settings through the dealer.json file.
{
"CartelDealerWalkSpeed": 2.8,
"CartelDealerHP": 200.0,
"CartelDealerLethality": 0.5,
"CartelDealerWeapon": "M1911",
"StealDealerContractChance": 0.06,
"StealPlayerPendingChance": 0.08,
"DealerActivityDecreasePerKill": 0.10,
"DealerActivityIncreasePerDay": 0.25,
"SafetyThreshold": -0.85,
"SafetyEnabled": true,
"FreeTimeWalking": true
}
CartelDealerWalkSpeed: Adjusts the walking speed of Cartel Dealers (Range 1.0 - 7.0)CartelDealerHP: Sets the total health points for a Cartel dealer (Range 10.0 - 2000.0)CartelDealerLethality: Controls how lethal Cartel Dealers' weapons are (Range 0.0 - 1.0)CartelDealerWeapon: Specifies the weapon used by Cartel dealers. Supported values are: "M1911", "Revolver", "Knife" and "Shotgun".StealDealerContractChance: Controls the probability for the Cartel Dealer stealing Players hired dealers active contracts. (Range 0.0 - 1.0)StealPlayerPendingChance: Controls the probability for the Cartel Dealer stealing Players pending deal requests. (Range 0.0 - 1.0)DealerActivityDecreasePerKill: A decrease in dealer activity for each kill the player makes. (Range 0.0 - 1.0)DealerActivityIncreasePerDay: An increase in dealer activity for each in-game day that passes. (Range 0.0 - 1.0)SafetyThreshold: Defines the minimum value required for a dealers to stop leaving their houses. This will cause them to stay inside if too many dealers are killed. (Range -1.0 - 1.0)SafetyEnabled: When set to true, this enables the usage of SafetyThreshold.FreeTimeWalking: When true, dealers will randomly walk around when they are not performing an active task. When false, they will remain stationary at their apartment door when spawning. This also controls their walking during time which cartel is not hostile.You can add or modify custom ambush locations.
Mods/CartelEnforcer/Ambush/ambush.json file.mapRegion: A number from 0-5 for the region.ambushPosition: The X, Y, and Z coordinates of the trigger area.spawnPoints: At least four spawn points for enemies (only X and Z values matter for ambushes above ground, in Sewers you need the exact negative y value too).detectionRadius: A decimal number for how close the player must be to the ambushPosition. {
"mapRegion": 5,
"ambushPosition": {
"x": 143.05,
"y": 1.75,
"z": -16.73
},
"spawnPoints": [
{
"x": 138.56,
"y": 0.0,
"z": -38.61
},
{
"x": 128.19,
"y": 0.0,
"z": -9.84
},
{
"x": 135.87,
"y": 0.0,
"z": -6.18
},
{
"x": 155.29,
"y": 0.0,
"z": -23.90
}
],
"detectionRadius": 10.0
},
Mods/CartelEnforcer/Ambush/default.json.default.json to ensure your configuration is up to date. It will be recreated the next time you load a save.Open Mods/CartelEnforcer/Ambush/settings.json.
You can modify the weapons used for ambush events, change the minimum rank required for ranged weapon usage in ambushes and also disable the ambushes that happen rarely after deals get completed by player.
The file content is by default:
{
"RangedWeaponAssetPaths": [
"Avatar/Equippables/Revolver",
"Avatar/Equippables/M1911",
"Avatar/Equippables/PumpShotgun"
],
"MeleeWeaponAssetPaths": [
"Avatar/Equippables/Knife"
],
"MinRankForRanged": 2,
"AfterDealAmbushEnabled": true
}
Mods/CartelEnforcer/CartelItems/(organisation name).json.Mods/CartelEnforcer/Influence/influence.json.{
"interceptFail": 0.025,
"interceptSuccess": -0.050,
"deadDropFail": 0.025,
"deadDropSuccess": -0.050,
"gatheringFail": 0.025,
"gatheringSuccess": -0.080,
"robberyPlayerEscape": 0.025,
"robberyGoonEscapeSuccess": 0.025,
"robberyGoonDead": -0.080,
"robberyGoonEscapeDead": -0.050,
"sabotageBombDefused": -0.150,
"sabotageGoonKilled": -0.050,
"sabotageBombExploded": 0.200,
"cartelDealerPersuaded": -0.100,
"trucedGreetingChallenge": -0.150,
"passiveInfluenceGainPerDay": 0.025,
"cartelDealerDied": -0.100,
"ambushDefeated": -0.100,
"graffitiInfluenceReduction": -0.050,
"customerUnlockInfluenceChange": -0.075
}
Note: Due to the way which the mod handles some of the influence changes, sometimes the displayed influence change is not displaying the correct change and can rarely display the change twice for the event
Open Mods/CartelEnforcer/Allied/config.json.
Each Cartel Dealers "Cut" and "Signing Fee" is defined in this file
Additionally the Persuade Cooldown (in-game) minutes and Supply Quest Cooldown (in-game) Hours are defined in this file
The file content is by default:
{
"WestvilleCartelDealerCut": 0.3,
"WestvilleCartelSigningFee": 6000.0,
"DowntownCartelDealerCut": 0.4,
"DowntownCartelSigningFee": 12000.0,
"DocksCartelDealerCut": 0.5,
"DocksCartelSigningFee": 18000.0,
"SuburbiaCartelDealerCut": 0.55,
"SuburbiaCartelSigningFee": 24000.0,
"UptownCartelDealerCut": 0.6,
"UptownCartelSigningFee": 36000.0,
"PersuadeCooldownMins": 60,
"SupplyQuestCooldownHours": 48
}
In debug mode, you can see various visual cues and use keybinds to test features.
The Debug Mode does not log anything into console in version 1.4.0 and above for performance reasons. For Console Logs you need to build the dll file from source code using DEBUG configuration. See GitHub BUILD.md for more info.
Left CTRL + R: Trigger a Dealer Robbery at the nearest dealer.Left CTRL + G: Trigger an instant drive-by at the nearest location.Left CTRL + H: Give a mini-quest to one of the select NPCs.Left CTRL + L: Log internal mod data to the console. ( Only Debug Builds )Left CTRL + T: Trigger an Intercept Deal event.Left CTRL + Y: Generate the Unexpected Alliances Quest dialogue option for Manny, without checking prerequirements.Left CTRL + U: Generate the Infiltrate Manor Quest dialogue option for Ray, without checking prerequirements.Left CTRL + P: Instantly spawn a Cartel Gathering at a random locationLeft CTRL + N: Start a Sabotage Event at nearest supported businessLeft CTRL + O: Steal back the nearest customer to the player without checking prerequirementsLeft CTRL + I: Start the Allied Intro Quest (note: might cause errors or break the game)Left CTRL + K: Start the Allied Supplies Quest (note: might cause errors or break the game)For multiplayer to function correctly, all players must have the same default.json, ambush.json and config.json content.
Most of the events and activities added by this mod do not support multiplayer yet.
Note: The configuration files and directory structure described in this document will be created automatically in the
Mods/CartelEnforcer/directory if they are missing.
Contribute, Build from Source or Verify Integrity -> GitHub