Electus LogoElectus Documentation

Config Files

View the source-available Trap Phone configuration.

Config Files

Config = Config or {}

---@class TrapPhoneRange
---@field min number
---@field max number

---@class TrapPhoneBuyerDrugConfig
---@field drug string
---@field price TrapPhoneRange Per-item price range.
---@field amount TrapPhoneRange Requested item amount range.

---@class TrapPhoneBuyerConfig
---@field id string
---@field name string
---@field enabled boolean|nil
---@field minReputation number
---@field introducedBy string|nil
---@field drugs TrapPhoneBuyerDrugConfig[]
---@field neededBeforeMinutes number
---@field reputationReward number
---@field failedReputationPenalty number
---@field policeRisk number
---@field replyDelaySeconds TrapPhoneRange|nil
---@field buyIntervalHours TrapPhoneRange|nil
---@field buyerPedModel string|nil
---@field buyerVehicleModel string|nil
---@field angryChance number|nil

---@type TrapPhoneBuyerConfig[]
Config.Buyers = {
	{
		id = "amanda",
		name = "Amanda",
		minReputation = 0,
		drugs = {
			{
				drug = "weed",
				price = { min = 40, max = 75 },
				amount = { min = 1, max = 3 },
			},
		},
		neededBeforeMinutes = 12,
		reputationReward = 10,
		failedReputationPenalty = 5,
		policeRisk = 3,
		replyDelaySeconds = {
			min = 20,
			max = 45,
		},
		buyIntervalHours = {
			min = 1,
			max = 3,
		},
		buyerPedModel = "ig_amandatownley_02",
		buyerVehicleModel = "emperor",
		angryChance = 25,
	},
	{
		id = "theo",
		name = "Theo",
		minReputation = 0,
		drugs = {
			{
				drug = "weed",
				price = { min = 40, max = 70 },
				amount = { min = 1, max = 4 },
			},
		},
		neededBeforeMinutes = 10,
		reputationReward = 12,
		failedReputationPenalty = 6,
		policeRisk = 4,
		replyDelaySeconds = {
			min = 25,
			max = 55,
		},
		buyIntervalHours = {
			min = 1,
			max = 4,
		},
		buyerPedModel = "a_m_y_sunbathe_01",
		buyerVehicleModel = "asea",
		angryChance = 30,
	},
	{
		id = "lena",
		name = "Lena",
		minReputation = 25,
		introducedBy = "amanda",
		drugs = {
			{
				drug = "weed",
				price = { min = 45, max = 70 },
				amount = { min = 2, max = 5 },
			},
		},
		neededBeforeMinutes = 9,
		reputationReward = 18,
		failedReputationPenalty = 9,
		policeRisk = 6,
		replyDelaySeconds = {
			min = 35,
			max = 90,
		},
		buyIntervalHours = {
			min = 3,
			max = 6,
		},
		buyerPedModel = "s_f_y_clubbar_01",
		buyerVehicleModel = "surge",
		angryChance = 42,
	},
	{
		id = "elias",
		name = "Elias",
		minReputation = 50,
		introducedBy = "lena",
		drugs = {
			{
				drug = "weed",
				price = { min = 50, max = 75 },
				amount = { min = 3, max = 7 },
			},
		},
		neededBeforeMinutes = 11,
		reputationReward = 22,
		failedReputationPenalty = 11,
		policeRisk = 8,
		replyDelaySeconds = {
			min = 40,
			max = 100,
		},
		buyIntervalHours = {
			min = 4,
			max = 8,
		},
		buyerPedModel = "s_m_m_autoshop_01",
		buyerVehicleModel = "warrener2",
		angryChance = 45,
	},
	{
		id = "nina",
		name = "Nina",
		minReputation = 75,
		introducedBy = "elias",
		drugs = {
			{
				drug = "weed",
				price = { min = 50, max = 75 },
				amount = { min = 4, max = 8 },
			},
			{
				drug = "coke",
				price = { min = 50, max = 75 },
				amount = { min = 3, max = 7 },
			},
		},
		neededBeforeMinutes = 7,
		reputationReward = 26,
		failedReputationPenalty = 13,
		policeRisk = 12,
		replyDelaySeconds = {
			min = 45,
			max = 110,
		},
		buyIntervalHours = {
			min = 5,
			max = 10,
		},
		buyerPedModel = "s_f_m_sweatshop_01",
		buyerVehicleModel = "baller2",
		angryChance = 55,
	},
	{
		id = "sofia",
		name = "Sofia",
		minReputation = 100,
		introducedBy = "nina",
		drugs = {
			{
				drug = "weed",
				price = { min = 55, max = 80 },
				amount = { min = 4, max = 9 },
			},
		},
		neededBeforeMinutes = 10,
		reputationReward = 30,
		failedReputationPenalty = 15,
		policeRisk = 9,
		replyDelaySeconds = {
			min = 50,
			max = 120,
		},
		buyIntervalHours = {
			min = 6,
			max = 12,
		},
		buyerPedModel = "s_f_m_shop_high",
		buyerVehicleModel = "cavalcade3",
		angryChance = 52,
	},
	{
		id = "devon",
		name = "Devon",
		minReputation = 125,
		introducedBy = "sofia",
		drugs = {
			{
				drug = "coke",
				price = { min = 55, max = 85 },
				amount = { min = 5, max = 10 },
			},
		},
		neededBeforeMinutes = 8,
		reputationReward = 34,
		failedReputationPenalty = 17,
		policeRisk = 15,
		replyDelaySeconds = {
			min = 55,
			max = 130,
		},
		buyIntervalHours = {
			min = 7,
			max = 14,
		},
		buyerPedModel = "u_m_m_jewelthief",
		buyerVehicleModel = "toros",
		angryChance = 60,
	},
	{
		id = "iris",
		name = "Iris",
		minReputation = 150,
		introducedBy = "devon",
		drugs = {
			{
				drug = "coke",
				price = { min = 60, max = 90 },
				amount = { min = 6, max = 12 },
			},
		},
		neededBeforeMinutes = 12,
		reputationReward = 40,
		failedReputationPenalty = 20,
		policeRisk = 20,
		replyDelaySeconds = {
			min = 60,
			max = 150,
		},
		buyIntervalHours = {
			min = 8,
			max = 16,
		},
		buyerPedModel = "a_m_m_business_01",
		buyerVehicleModel = "schafter2",
		angryChance = 48,
	},
	{
		id = "rhea",
		name = "Rhea",
		minReputation = 175,
		introducedBy = "iris",
		drugs = {
			{
				drug = "weed",
				price = { min = 60, max = 85 },
				amount = { min = 6, max = 12 },
			},
			{
				drug = "coke",
				price = { min = 65, max = 95 },
				amount = { min = 5, max = 10 },
			},
		},
		neededBeforeMinutes = 9,
		reputationReward = 42,
		failedReputationPenalty = 21,
		policeRisk = 18,
		replyDelaySeconds = {
			min = 60,
			max = 150,
		},
		buyIntervalHours = {
			min = 8,
			max = 16,
		},
		buyerPedModel = "s_f_y_shop_low",
		buyerVehicleModel = "premier",
		angryChance = 45,
	},
	{
		id = "maia",
		name = "Maia",
		minReputation = 200,
		introducedBy = "rhea",
		drugs = {
			{
				drug = "coke",
				price = { min = 70, max = 100 },
				amount = { min = 6, max = 13 },
			},
		},
		neededBeforeMinutes = 10,
		reputationReward = 46,
		failedReputationPenalty = 23,
		policeRisk = 21,
		replyDelaySeconds = {
			min = 65,
			max = 155,
		},
		buyIntervalHours = {
			min = 9,
			max = 18,
		},
		buyerPedModel = "s_f_y_shop_mid",
		buyerVehicleModel = "primo",
		angryChance = 50,
	},
	{
		id = "kira",
		name = "Kira",
		minReputation = 225,
		introducedBy = "maia",
		drugs = {
			{
				drug = "weed",
				price = { min = 65, max = 90 },
				amount = { min = 7, max = 14 },
			},
			{
				drug = "coke",
				price = { min = 75, max = 105 },
				amount = { min = 6, max = 12 },
			},
		},
		neededBeforeMinutes = 8,
		reputationReward = 50,
		failedReputationPenalty = 25,
		policeRisk = 24,
		replyDelaySeconds = {
			min = 70,
			max = 165,
		},
		buyIntervalHours = {
			min = 10,
			max = 20,
		},
		buyerPedModel = "s_f_y_sweatshop_01",
		buyerVehicleModel = "tailgater",
		angryChance = 56,
	},
	{
		id = "selene",
		name = "Selene",
		minReputation = 250,
		introducedBy = "kira",
		drugs = {
			{
				drug = "coke",
				price = { min = 80, max = 115 },
				amount = { min = 7, max = 15 },
			},
		},
		neededBeforeMinutes = 9,
		reputationReward = 54,
		failedReputationPenalty = 27,
		policeRisk = 26,
		replyDelaySeconds = {
			min = 75,
			max = 175,
		},
		buyIntervalHours = {
			min = 11,
			max = 22,
		},
		buyerPedModel = "s_f_y_casino_01",
		buyerVehicleModel = "oracle",
		angryChance = 52,
	},
	{
		id = "alina",
		name = "Alina",
		minReputation = 275,
		introducedBy = "selene",
		drugs = {
			{
				drug = "weed",
				price = { min = 70, max = 95 },
				amount = { min = 8, max = 16 },
			},
			{
				drug = "coke",
				price = { min = 85, max = 120 },
				amount = { min = 7, max = 14 },
			},
		},
		neededBeforeMinutes = 11,
		reputationReward = 58,
		failedReputationPenalty = 29,
		policeRisk = 28,
		replyDelaySeconds = {
			min = 80,
			max = 185,
		},
		buyIntervalHours = {
			min = 12,
			max = 24,
		},
		buyerPedModel = "s_f_y_migrant_01",
		buyerVehicleModel = "felon",
		angryChance = 58,
	},
	{
		id = "valeria",
		name = "Valeria",
		minReputation = 400,
		introducedBy = "alina",
		drugs = {
			{
				drug = "coke",
				price = { min = 90, max = 130 },
				amount = { min = 8, max = 18 },
			},
		},
		neededBeforeMinutes = 12,
		reputationReward = 64,
		failedReputationPenalty = 32,
		policeRisk = 30,
		replyDelaySeconds = {
			min = 85,
			max = 200,
		},
		buyIntervalHours = {
			min = 14,
			max = 28,
		},
		buyerPedModel = "s_f_y_movprem_01",
		buyerVehicleModel = "exemplar",
		angryChance = 62,
	},
}

Config.MeetingSpots = Config.MeetingSpots or {}
Config.MeetingSpots.Static = {}