package stims
using RTDB

FootStepRegularStimuli : Stim
{
	float radius = 6f;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"IgnoreFriendly", "Stealth", "Locomotion"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.FootStepRegular";
}

FootStepSprintStimuli : FootStepRegularStimuli
{
	float radius = 9.f;
	float fear = 20;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	tags = 
	[
		"IgnoreFriendly", "Stealth", "Locomotion"
	];
	fk< StimType > type = "StimTypes.FootStepSprint";
}

LandingRegularStimuli : Stim
{
	float radius = 6.f;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"IgnoreFriendly", "Stealth", "Locomotion"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.LandingRegular";
}

LandingHardStimuli : Stim
{
	float radius = 9.f;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"IgnoreFriendly", "Stealth", "Locomotion"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.LandingHard";
}

LandingVeryHardStimuli : Stim
{
	float radius = 12.f;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"IgnoreFriendly", "PotentialFear", "CrowdReaction", "ChildDanger", "Locomotion", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.LandingVeryHard";
}

DistractStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Distract";
}

CarAlarmStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.CarAlarm";
}

ReconStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Recon";
}

VisualDistractStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.VisualDistract";
}

GunshotStimuli : Stim
{
	float radius = 30;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"PanicFear", "CrowdReaction", "TrafficPlayerOnly", "Alert"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Gunshot";
	fk< StimTargets > targets = "StimTypes.All";
}

SilencedGunshotStimuli : GunshotStimuli
{
	float radius = 8;
	float aggressive = 0;
	float fear = 10;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.SilencedGunshot";
}

AimingAtStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"DirectThreat", "IgnoreFriendly", "CrowdReaction", "ChildDanger"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.AimingAt";
}

StopedAimingStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = false;
	float fear = 0;
	float aggressive = 0;
	propagation = "StimTypes.Visual";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.StopedAiming";
}

ReevaluateDetectionOverwriteStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = false;
	float fear = 0;
	float aggressive = 0;
	propagation = "StimTypes.Visual";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.ReevaluateDetectionOverwrite";
}

WeaponHolsteredStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"Safe"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.WeaponHolstered";
}

WeaponSafeStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = false;
	float fear = 0;
	float aggressive = 0;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.WeaponSafe";
}

WarningDistanceStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = false;
	float fear = 0;
	float aggressive = 0;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.WarningDistance";
}

TooCloseDistanceStimuli : Stim
{
	float radius = 10;
	bool isReactionStim = false;
	float fear = 0;
	float aggressive = 0;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.TooCloseDistance";
}

WeaponDisplayedStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"IgnoreFriendly", "PanicFear", "CrowdReaction", "AggressiveCrowd"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.WeaponDisplayed";
}

ReloadStimuli : Stim
{
	float radius = 10;
	bool isReactionStim = false;
	float fear = 0;
	float aggressive = 0;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.Reload";
}

GrenadeLandedStimuli : Stim
{
	float radius = 6;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"PanicFear", "Combat", "Alert", "CrowdReaction", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.GrenadeLanded";
}

ExplosionStimuli : Stim
{
	float radius = 25;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"PanicFear", "UnknownThreat", "CrowdReaction", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Explosion";
}

DeadBodyStimuli : Stim
{
	float radius = 50;
	bool isReactionStim = true;
	float fear = 5;
	float aggressive = 0;
	tags = 
	[
		"PotentialFear", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.DeadBody";
}

AlarmStimuli : Stim
{
	float radius = 30;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"Alert", "ChildDanger", "PotentialFear", "CrowdReaction"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.Alarm";
}

SilentAlarmStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"PotentialFear", "Alert", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.SilentAlarm";
}

OpeningDoorStimuli : Stim
{
	float radius = 1.5f;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"Security"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.OpeningDoor";
}

IllegalActionStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float interval = 2;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"IgnoreFriendly", "PotentialFear", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.IllegalAction";
}

IllegalActionNoCombatStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float interval = 2;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"IgnoreFriendly", "PotentialFear", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd", "NoAutoCombatStart", "NoInitFearAnimation"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.IllegalActionNoCombat";
}

CrowdIllegalActionStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float interval = 3;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"IgnoreFriendly", "PotentialFear", "CrowdReaction", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.CrowdIllegalAction";
}

CombatStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"PanicFear", "CrowdReaction", "Direct"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Combat";
}

ReprimandStimuli : Stim
{
	float radius = 30;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"Direct"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Reprimand";
}

AreaEffectStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"PotentialFear", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.AreaEffect";
}

AskToFollowOrderStimuli : Stim
{
	float radius = 2.5;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 5;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.AskToFollowOrder";
}

SoundDistractionStimuli : Stim
{
	float radius = 10;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.SoundDistraction";
}

ProjectileDistractionStimuli : Stim
{
	float radius = 8;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"PanicFear", "NavReach", "Alert", "CrowdReaction", "ChildDanger", "PlayerOnly", "IgnoreFriendly", "TrafficPlayerOnly"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.ProjectileDistraction";
}

BulletStimuli : ProjectileDistractionStimuli
{
	float radius = 10;
	bool isReactionStim = true;
	float fear = 5;
	float aggressive = 0;
	tags = 
	[
		"PanicFear", "NavReach", "CrowdReaction", "TrafficPlayerOnly"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Bullet";
}

ScreamStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"PanicFear", "Alert", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Scream";
}

HackedStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	tags = 
	[
		"PanicFear", "Alert", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Hacked";
}

TerrorStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"PanicFear", "Combat", "Alert", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Terror";
}

AttentionStimuli : Stim
{
	float radius = 5;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Attention";
}

CallStimuli : Stim
{
	float radius = 5;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"NavReach"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Call";
}

CombatCallStimuli : Stim
{
	float radius = 5;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"Combat", "Alert", "NavReach"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.CombatCall";
}

UndeadCallStimuli : Stim
{
	float radius = 50;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"Direct"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.UndeadCall";
}

WhistleStimuli : Stim
{
	float radius = 5;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Whistle";
}

CombatWhistleStimuli : Stim
{
	float radius = 5;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"Combat", "Alert"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.CombatWhistle";
}

ReprimandFinalWarningStimuli : Stim
{
	float radius = 30;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.ReprimandFinalWarning";
}

SecurityBreachStimuli : Stim
{
	float radius = 30;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.SecurityBreach";
}

CarryBodyStimuli : Stim
{
	float radius = 10;
	bool isReactionStim = true;
	float interval = 2;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"IgnoreFriendly", "PotentialFear", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.CarryBody";
}

VehicleHitStimuli : Stim
{
	float radius = 30;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"PanicFear", "CrowdReaction", "TryRunAway", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.VehicleHit";
}

IllegalInteractionStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"IgnoreFriendly", "PotentialFear", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.IllegalInteraction";
}

DeviceExplosionStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"PanicFear", "UnknownThreat", "CrowdReaction", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.DeviceExplosion";
}

CombatHitStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"IgnoreFriendly", "PanicFear", "CrowdReaction", "NoAutoCombatStart"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.CombatHit";
}

MeleeHitStimuli : Stim
{
	float radius = 7.5;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"PanicFear", "CrowdReaction"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.MeleeHit";
}

HijackVehicleStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 0;
	tags = 
	[
		"PanicFear", "CrowdReaction", "NoFearSpread", "TryRunAway"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.HijackVehicle";
}

SpreadFearStimuli : Stim
{
	float radius = 5;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"ChildDanger", "CrowdReaction", "IgnoreFriendly", "NonAggressiveCrowd", "NoFearSpread"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.SpreadFear";
}

MeleeAttackStimuli : Stim
{
	float radius = 15;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"ChildDanger", "PotentialFear", "CrowdReaction", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.MeleeAttack";
}

DrivingStimuli : Stim
{
	float radius = 30.f;
	bool isReactionStim = true;
	float fear = 10;
	float aggressive = 0;
	tags = 
	[
		"IgnoreFriendly", "Stealth", "CrowdReaction", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.Low";
	fk< StimType > type = "StimTypes.Driving";
}

DyingStimuli : Stim
{
	float radius = 10;
	bool isReactionStim = true;
	float fear = 0;
	float aggressive = 20;
	tags = 
	[
		"ChildDanger", "CrowdReaction", "PanicFear", "Alert", "NonAggressiveCrowd", "NoAutoCombatStart"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Dying";
}

ProvokeStimuli : Stim
{
	float radius = 3;
	bool isReactionStim = true;
	float fear = 10;
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Provoke";
}

DodgeVehicleStimuli : Stim
{
	float radius = 3;
	bool isReactionStim = true;
	float fear = 10;
	tags = 
	[
		"ChildDanger", "CrowdReaction", "Dodge", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.DodgeVehicle";
}

AudioEnemyPingStimuli : Stim
{
	float radius = 20;
	bool isReactionStim = false;
	propagation = "StimTypes.Audio";
	fk< StimType > type = "StimTypes.AudioEnemyPing";
}

EnvironmentalHazardStimuli : Stim
{
	float radius = 10;
	bool isReactionStim = true;
	tags = 
	[
		"PanicFear", "Combat", "ChildDanger", "CrowdReaction"
	];
	propagation = "StimTypes.Visual";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.EnvironmentalHazard";
}

CrimeWitnessStimuli : Stim
{
	radius = 40;
	interval = 0.5f;
	bool isReactionStim = true;
	propagation = "StimTypes.Audio";
	tags = 
	[
		"CrowdReaction", "NonAggressiveCrowd"
	];
	fk< StimType > type = "StimTypes.CrimeWitness";
}

BumpStimuli : Stim
{
	float radius = 2.5;
	bool isReactionStim = true;
	tags = 
	[
		"PotentialFear", "CrowdReaction"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.Bump";
}

VehicleHornStimuli : Stim
{
	float radius = 30;
	bool isReactionStim = true;
	tags = 
	[
		"Uncomfortable", "CrowdReaction", "ChildDanger", "NonAggressiveCrowd"
	];
	propagation = "StimTypes.Audio";
	priority = "StimTypes.High";
	fk< StimType > type = "StimTypes.VehicleHorn";
}

