package RTDB

District
{
	fk< District > parentDistrict = "";
	fk< DistrictPreventionData > preventionPreset = "PreventionData.NCPD";
	string enumName = "";
	string enumComment = "";
	string localizedName = "";
	bool isQuestDistrict = false;
	float gunShotStimRange = 30.f;
	float explosiveDeviceStimRangeMultiplier = 1f;
	float crimeMultiplier = 1.0f;
	fk< Affiliation >[] gangs = [];
	CName uiIcon = "";
	CName uiState = "";
	CName policeRadioSceneEntryPoint = "";
}

FastTravelSystem
{
	int fastTravelPointsTotal = 0;
}

FastTravelPoint
{
	string displayName = "";
	string description = "";
	fk< District > district = "";
	bool showOnWorldMap = true;
	bool showInWorld = true;
	bool SubwayStation = false;
}

LoadingTipsGroup
{
	CName unlockingFact = "";
	CName[] hintLocalizationKeys = [];
}

DistrictPreventionData
{
	fk< PreventionHeatData > recon = "";
	fk< PreventionHeatData > heat1 = "";
	fk< PreventionHeatData > heat2 = "";
	fk< PreventionHeatData > heat3 = "";
	fk< PreventionHeatData > heat4 = "";
	fk< PreventionHeatData > heat5 = "";
	float inputLockTime = 7.f;
	int inputLockOverrideThreshold = 3;
	float spawnOriginMaxDistance = 65.0f;
}

PreventionHeatData
{
	int unitsCount = 1;
	int vehicleCount = 1;
	float spawnInterval = 0.5f;
	Vector2 spawnRange = ( 45f, 65f );
	float crimeScoreMultiplier = 2.f;
	fk< PreventionUnitPoolData >[] unitRecordsPool = [];
	fk< PreventionFallbackUnitData > fallbackUnitData = "PreventionData.WyvernDroneFallbackUnitData";
	fk< PreventionVehiclePoolData >[] vehicleRecordPool = [];
	fk< PreventionVehiclePoolData >[] questVehicleRecordPool = [];
	fk< Vehicle > avRecord = "";
	Vector2 vehicleSpawnDistanceRange = ( 150f, 250f );
	Vector2 vehicleSpawnAngleRange = ( 0f, 360f );
	Vector2 avSpawnDistanceRange = ( 5.0f, 100.0f );
	Vector2 avSpawnAngleRange = ( 0f, 360f );
	Vector2 roadblockadeSpawnRange = ( 250f, 350f );
}

PreventionHeatDataMatrix
{
	fk< PreventionHeatTable > recon = "";
	fk< PreventionHeatTable > heat0 = "";
	fk< PreventionHeatTable > heat1 = "";
	fk< PreventionHeatTable > heat2 = "";
	fk< PreventionHeatTable > heat3 = "";
	fk< PreventionHeatTable > heat4 = "";
	fk< PreventionHeatTable > heat5 = "";
	fk< PreventionMinimapData > minimapData = "";
}

PreventionHeatTable
{
	string displayName = "";
	float crimeAreaRadius = 18.f;
	float heatThresholdCapacity = 400.f;
	float heatCrimeScoreResetTime = 15.f;
	float civVehicleCrimeScoreMultiplier = 1.5f;
	float policeVehicleCrimeScoreMultiplier = 3.f;
	float heatHijackVehicle = 100.f;
	float heatStealPoliceVehicle = 100.f;
	float heatRangeAttackCiv = 20.f;
	float heatMeleAttackCiv = 20.f;
	float heatQuickHackCiv = 20.f;
	float heatExplosionCiv = 50.f;
	float heatKillCiv = 50.f;
	float heatRangeAttackPolice = 20.f;
	float heatMeleAttackPolice = 20.f;
	float heatQuickHackPolice = 20.f;
	float heatExplosionPolice = 50.f;
	float heatKillPolice = 50.f;
	float heatShootMaxTac = 400.f;
	float heatKillMaxTac = 400.f;
	float stateBufferTimer = 20.f;
	float stateGreyStarTime = 30.f;
	float stateBlinkingStarTime = 25.f;
	int spawnedEngagedCars = 1;
	int spawnedSupportCars = 3;
	int maxUnitCount = 12;
	int maxUnitFallbackCount = 2;
	float vehicleSpawnCooldown = 8.f;
	int vehicleTicketsAmount = 3;
	float vehicleTicketCooldown = 7.f;
	int roadblockT1TicketAmount = 0;
	float roadblockT1Cooldown = 30.f;
	int roadblockT2TicketAmount = 0;
	float roadblockT2Cooldown = 30.f;
	int roadblockT3TicketAmount = 0;
	float roadblockT3Cooldown = 30.f;
	float avCooldown = 20.f;
	int avSpawnPointsPerRequest = 40;
	Vector2 avSpawnRange = ( 25f, 100f );
	float avMaxDistanceForNewRequest = 150.f;
	float avMinDistToSpawnedAV = 20.f;
	int fallbackVehicleSpawnFailedAttempts = 8;
	float fallbackMaxDistanceToRoad = 50.f;
	float fallbackMaxHeightDifference = 15.f;
	float fallbackMaxDistanceForHeight = 30.f;
	fk< StrategyData > strategy0 = "";
	fk< StrategyData > strategy1 = "";
	fk< StrategyData > strategy2 = "";
	fk< StrategyData > strategy3 = "";
	fk< StrategyData > strategy4 = "";
	fk< StrategyData > strategy5 = "";
	fk< StrategyData > strategy6 = "";
	fk< StrategyData > strategy7 = "";
	bool isVehicleHackingLoopEnabled = false;
	float idleStateTransitionDelay = 5.0f;
	float introRadioStateTransitionDelay = 2.0f;
	float hackLoopTimeToHack = 45.0f;
	float hackLoopTimeToHack2 = 30.0f;
	float hackLoopTimeToHack3 = 15.0f;
	float hackLoopHackDuration = 300.0f;
	float hackLoopDurationInGoodSpot = 300.0f;
	float hackLoopPlayerVehicleMaxtacDistance = 50.0f;
	float timeBetweenAVSpawnsAfterEncounter = 35.0f;
}

StrategyData
{
	Vector2 vehicleSpawnDistanceRange = ( -1.0f, -1.0f );
	Vector2 vehicleSpawnDistanceRangeHighway = ( -1.0f, -1.0f );
	Vector2 vehicleSpawnDistanceRangeOnFoot = ( -1.0f, -1.0f );
	Vector2 vehicleSpawnAngleRange = ( 0.0f, 360.0f );
	Vector2 playerToIntersectionDistance = ( -1.0f, -1.0f );
	Vector2 minDistanceBetweenSpawningVehicles = ( -1.0f, -1.0f );
	float minDirectDistance = 200.f;
}

PreventionMinimapData
{
	float minRadius = 110;
	float maxRadius = 500;
	float minSpeed = 30;
	float maxSpeed = 110;
}

PreventionUnitPoolData
{
	fk< Character > characterRecord = "";
	float weight = 1.0f;
}

PreventionVehiclePoolData
{
	fk< Vehicle > vehicleRecord = "";
	float weight = 1.0f;
}

PreventionFallbackUnitData
{
	fk< Character > characterRecord = "";
	float minSpawnRange = 15.0f;
	int unitsCount = 1;
}

PreventionAttackTypeData
{
	float melee = 0.15f;
	float ranged = 0.4f;
	float explosion = 0.5f;
	float hack = 0.3f;
	float indirect = 0.1f;
	float kill = 0.75f;
}

