package BaseStatusEffect
using RTDB, Prereqs, Attacks

NetwatcherGeneral : StatusEffect
{
	fk< StatusEffectFX >[] VFX = 
	[
		{
			name = "hacking_glitch_low";
		}
	];
	fk< StatModifierGroup > duration = "BaseStats.InfiniteDuration";
	packages = 
	[
		{
			effectors = 
			[
				"Effectors.Phase1", "Effectors.Phase2", "Effectors.Phase3_VFX"
			];
		} : GameplayLogicPackage
	];
}

SasquatchGrabAttackEffect : StatusEffect
{
	fk< StatModifierGroup > duration = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 10;
			} : ConstantStatModifier
		];
	};
	statusEffectType = "BaseStatusEffectTypes.Wounded";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			effectors = 
			[
				{
					fk< IPrereq > prereqRecord = 
					{
						duration = 3.05f;
					} : Prereqs.DurationPrereq;
					CName effectorClassName = "TriggerContinuousAttackEffector";
					delayTime = 999999.f;
					attackRecord = "BaseStatusEffect.SasquatchGrabAttackDamage";
				} : ContinuousAttackEffector, 
				{
					fk< IPrereq > prereqRecord = 
					{
						duration = 3.7f;
					} : Prereqs.DurationPrereq;
					CName effectorClassName = "TriggerContinuousAttackEffector";
					delayTime = 999999.f;
					attackRecord = "BaseStatusEffect.SasquatchGrabAttackDamage";
				} : ContinuousAttackEffector, 
				{
					fk< IPrereq > prereqRecord = 
					{
						duration = 8.95f;
					} : Prereqs.DurationPrereq;
					CName effectorClassName = "TriggerContinuousAttackEffector";
					delayTime = 999999.f;
					attackRecord = "BaseStatusEffect.SasquatchGrabAttackDamage";
				} : ContinuousAttackEffector
			];
		} : GameplayLogicPackage
	];
}

SasquatchGrabAttackDamage : BasePhysicalDamageOverTime
{
	hitFlags += 
	[
		"CannotKillPlayer"
	];
	statModifiers += 
	[
		{
			statType = "BaseStats.PhysicalDamage";
			modifierType = "Multiplier";
			value = 0.03f;
		} : MediumTargetPercentage
	];
}

