package BaseStats
using RTDB

StatFlag : Stat
{
	min = 0;
	max = 1;
	flags = 
	[
		"EquipOnPlayer", "EquipOnNPC"
	];
}

CanForceDismbember : StatFlag
{
	enumName = "CanForceDismbember";
}

CanInstaKillNPCs : StatFlag
{
	enumName = "CanInstaKillNPCs";
}

IsWeaponLethal : StatFlag
{
	enumName = "IsWeaponLethal";
	enumComment = "If true, this weapon will always kill an NPC";
	flags = [];
}

IsBlocking : StatFlag
{
	enumName = "IsBlocking";
	enumComment = "Flag checking if object is currently blocking.";
}

IsDodging : StatFlag
{
	enumName = "IsDodging";
	enumComment = "Flag checking if object is currently dodging.";
}

IsDeflecting : StatFlag
{
	enumName = "IsDeflecting";
	enumComment = "Flag checking if object is currently deflecting.";
}

IsInvulnerable : StatFlag
{
	enumName = "IsInvulnerable";
	enumComment = "Flag";
}

IsNotSlowedDuringReload : StatFlag
{
	enumName = "IsNotSlowedDuringReload";
}

IsNotSlowedDuringBlock : StatFlag
{
	enumName = "IsNotSlowedDuringBlock";
}

IsNotSlowedDuringADS : StatFlag
{
	enumName = "IsNotSlowedDuringADS";
}

HasMeleeTargeting : StatFlag
{
	enumName = "HasMeleeTargeting";
	enumComment = "Flag for toggling the targeting system on melee cyberware";
}

HasGPS : StatFlag
{
	enumName = "HasGPS";
}

HasSandevistan : StatFlag
{
	enumName = "HasSandevistan";
}

HasSandevistanTier1 : StatFlag
{
	enumName = "HasSandevistanTier1";
}

HasSandevistanTier2 : StatFlag
{
	enumName = "HasSandevistanTier2";
}

HasSandevistanTier3 : StatFlag
{
	enumName = "HasSandevistanTier3";
}

HasKers : StatFlag
{
	enumName = "HasKers";
}

HasHealthMonitorBomb : StatFlag
{
	enumName = "HasHealthMonitorBomb";
}

HasSecondHeart : StatFlag
{
	enumName = "HasSecondHeart";
}

HasBerserk : StatFlag
{
	enumName = "HasBerserk";
}

HasAutoReloader : StatFlag
{
	enumName = "HasAutoReloader";
}

HasKerenzikov : StatFlag
{
	enumName = "HasKerenzikov";
	enumComment = "Flag checking if object has kerenzikov.";
}

HasKerenzikovSlide : StatFlag
{
	enumName = "HasKerenzikovSlide";
	enumComment = "Flag checking if object has kerenzikov slide.";
}

HasKerenzikovOmen : StatFlag
{
	enumName = "HasKerenzikovOmen";
	enumComment = "Flag checking if object has kerenzikov omen.";
}

HasSystemCollapse : StatFlag
{
	enumName = "HasSystemCollapse";
	enumComment = "Flag checking if object has system reset quickhack equipped.";
}

HasGrenadeHack : StatFlag
{
	enumName = "HasGrenadeHack";
	enumComment = "Flag checking if object has grende hack equipped.";
}

BlockQuickhackMenu : StatFlag
{
	enumName = "BlockQuickhackMenu";
	enumComment = "Flag setting if QuickhackMenu can open on target";
}

IsPlayerGuardian : StatFlag
{
	enumName = "IsPlayerGuardian";
	enumComment = "Flag changing the targetting system for follower. Will target Player's enemies.";
}

IsIgnoredByEnemyNPC : StatFlag
{
	enumName = "IsIgnoredByEnemyNPC";
	enumComment = "Flag checking if follower should be targetted by enemy NPCs.";
}

HasSuperheroFall : StatFlag
{
	enumName = "HasSuperheroFall";
}

HasAirHover : StatFlag
{
	enumName = "HasAirHover";
}

HasAirThrusters : StatFlag
{
	enumName = "HasAirThrusters";
}

HasDoubleJump : StatFlag
{
	enumName = "HasDoubleJump";
}

HasChargeJump : StatFlag
{
	enumName = "HasChargeJump";
}

HasSubdermalArmor : StatFlag
{
	enumName = "HasSubdermalArmor";
}

HasICELevelBooster : StatFlag
{
	enumName = "HasICELevelBooster";
}

HasMechanicalControl : StatFlag
{
	enumName = "HasMechanicalControl";
}

HasGraphiteTissue : StatFlag
{
	enumName = "HasGraphiteTissue";
}

HasBoostedCortex : StatFlag
{
	enumName = "HasBoostedCortex";
}

HasMetabolicEnhancer : StatFlag
{
	enumName = "HasMetabolicEnhancer";
}

HasKnifeSharpener : StatFlag
{
	enumName = "HasKnifeSharpener";
}

HasDodge : StatFlag
{
	enumName = "HasDodge";
}

HasDodgeAir : StatFlag
{
	enumName = "HasDodgeAir";
}

HasCybereye : StatFlag
{
	enumName = "HasCybereye";
}

HasLinkToBountySystem : StatFlag
{
	enumName = "HasLinkToBountySystem";
}

HasAdditionalSplinterSlot : StatFlag
{
	enumName = "HasAdditionalSplinterSlot";
}

HasHostileHackImmunity : StatFlag
{
	enumName = "HasHostileHackImmunity";
}

HasThermovision : StatFlag
{
	enumName = "HasThermovision";
}

HasGlowingTattoos : StatFlag
{
	enumName = "HasGlowingTattoos";
}

HasInfravision : StatFlag
{
	enumName = "HasInfravision";
}

HasCameraLinking : StatFlag
{
	enumName = "HasCameraLinking";
}

HasAheadTargeting : StatFlag
{
	enumName = "HasAheadTargeting";
}

HasAutomaticTagging : StatFlag
{
	enumName = "HasAutomaticTagging";
}

HasBlindImmunity : StatFlag
{
	enumName = "HasBlindImmunity";
}

HasCritImmunity : StatFlag
{
	enumName = "HasCritImmunity";
}

HasBleedImmunity : StatFlag
{
	enumName = "HasBleedImmunity";
}

HasStunImmunity : StatFlag
{
	enumName = "HasStunImmunity";
}

HasSmartLink : StatFlag
{
	enumName = "HasSmartLink";
}

HasPowerGrip : StatFlag
{
	enumName = "HasPowerGrip";
}

CanSeeRicochetVisuals : StatFlag
{
	enumName = "CanSeeRicochetVisuals";
}

HasElectroPlating : StatFlag
{
	enumName = "HasElectroPlating";
}

ItemRequiresSmartLink : StatFlag
{
	enumName = "ItemRequiresSmartLink";
}

ItemRequiresPowerGrip : StatFlag
{
	enumName = "ItemRequiresPowerGrip";
}

ItemRequiresElectroPlating : StatFlag
{
	enumName = "ItemRequiresElectroPlating";
}

HasCyberdeck : StatFlag
{
	enumName = "HasCyberdeck";
}

HasQuickhackResistance : StatFlag
{
	enumName = "HasQuickhackResistance";
}

HasMajorQuickhackResistance : StatFlag
{
	enumName = "HasMajorQuickhackResistance";
}

HasImmunityToNPCQuickhacks : StatFlag
{
	enumName = "HasImmunityToNPCQuickhacks";
}

HasRemoteBotAccessPointBreach : StatFlag
{
	enumName = "HasRemoteBotAccessPointBreach";
}

HasSpiderBotControl : StatFlag
{
	enumName = "HasSpiderBotControl";
}

HasHackingInteractions : StatFlag
{
	enumName = "HasHackingInteractions";
}

HasJuiceInjector : StatFlag
{
	enumName = "HasJuiceInjector";
}

HasLoweringPerception : StatFlag
{
	enumName = "HasLoweringPerception";
}

HasTimedImmunity : StatFlag
{
	enumName = "HasTimedImmunity";
}

HasSelfHealingSkin : StatFlag
{
	enumName = "HasSelfHealingSkin";
}

HasPoisonImmunity : StatFlag
{
	enumName = "HasPoisonImmunity";
}

HasHealingReapplication : StatFlag
{
	enumName = "HasHealingReapplication";
}

CanCharge : StatFlag
{
	enumName = "CanCharge";
}

CanFullyChargeWeapon : StatFlag
{
	enumName = "CanFullyChargeWeapon";
	enumComment = "If true, player can fully charge weapons";
}

CanOverchargeWeapon : StatFlag
{
	enumName = "CanOverchargeWeapon";
	enumComment = "If true, player can now overcharge weapons";
}

CanControlFullyChargedWeapon : StatFlag
{
	enumName = "CanControlFullyChargedWeapon";
	enumComment = "If true, weapons do not automatically shoot when fully charged";
}

CanShootWhileCarryingBody : StatFlag
{
	enumName = "CanShootWhileCarryingBody";
	enumComment = "If true, player can shoot while carrying body";
}

CanSprintWhileCarryingBody : StatFlag
{
	enumName = "CanSprintWhileCarryingBody";
	enumComment = "If true, player can sprint while carrying body";
}

IsDodgeStaminaFree : StatFlag
{
	enumName = "IsDodgeStaminaFree";
}

IsSprintStaminaFree : StatFlag
{
	enumName = "IsSprintStaminaFree";
}

CanShootWhileDodging : StatFlag
{
	enumName = "CanShootWhileDodging";
	enumComment = "If true, player can shoot and dodge at the same time";
}

CanShootWhileVaulting : StatFlag
{
	enumName = "CanShootWhileVaulting";
}

CanAimWhileDodging : StatFlag
{
	enumName = "CanAimWhileDodging";
	enumComment = "If true, player can aim and dodge at the same time";
}

CanUseGrenades : StatFlag
{
	enumName = "CanUseGrenades";
}

CanUseFragGrenades : StatFlag
{
	enumName = "CanUseFragGrenades";
}

CanUseFlashbangGrenades : StatFlag
{
	enumName = "CanUseFlashbangGrenades";
}

CanUseEMPGrenades : StatFlag
{
	enumName = "CanUseEMPGrenades";
}

CanUseBiohazardGrenades : StatFlag
{
	enumName = "CanUseBiohazardGrenades";
}

CanUseIncendiaryGrenades : StatFlag
{
	enumName = "CanUseIncendiaryGrenades";
}

CanUseReconGrenades : StatFlag
{
	enumName = "CanUseReconGrenades";
}

CanUseCuttingGrenades : StatFlag
{
	enumName = "CanUseCuttingGrenades";
}

CanUseSmokeGrenades : StatFlag
{
	enumName = "CanUseSmokeGrenades";
}

CanGrenadesCriticallyHit : StatFlag
{
	enumName = "CanGrenadesCriticallyHit";
}

CanWeaponIgnoreArmor : StatFlag
{
	min = -1.f;
	max = 1.f;
	enumName = "CanWeaponIgnoreArmor";
	localizedName = "LocKey#90755";
	multiplyBy100InText = true;
	bool shouldFlipNegativeValue = true;
	displayPlus = true;
	displayPercent = true;
}

CanSeeGrenadeRadius : StatFlag
{
	enumName = "CanSeeGrenadeRadius";
}

CanFastTravelWhileEncumbered : StatFlag
{
	enumName = "CanFastTravelWhileEncumbered";
}

CanUseCovers : StatFlag
{
	enumName = "CanUseCovers";
}

CanUseZoom : StatFlag
{
	enumName = "CanUseZoom";
}

CanCallDrones : StatFlag
{
	enumName = "CanCallDrones";
}

CanQuickhack : StatFlag
{
	enumName = "CanQuickhack";
}

CanQuickhackTransferBetweenEnemies : StatFlag
{
	enumName = "CanQuickhackTransferBetweenEnemies";
}

CanQuickhackHealPuppet : StatFlag
{
	enumName = "CanQuickhackHealPuppet";
}

CanGrenadeLaunch : StatFlag
{
	enumName = "CanGrenadeLaunch";
}

CanUseStrongArms : StatFlag
{
	enumName = "CanUseStrongArms";
	flags = 
	[
		"EquipOnPlayer"
	];
}

CanUseMantisBlades : StatFlag
{
	enumName = "CanUseMantisBlades";
}

CanUseTakedowns : StatFlag
{
	enumName = "CanUseTakedowns";
}

CanWallStick : StatFlag
{
	enumName = "CanWallStick";
}

CanSeeThroughWalls : StatFlag
{
	enumName = "CanSeeThroughWalls";
}

CanSeeThroughSmoke : StatFlag
{
	enumName = "CanSeeThroughSmoke";
}

CanSeeThroughOpticalCamos : StatFlag
{
	enumName = "CanSeeThroughOpticalCamos";
}

CanUseCoolingSystem : StatFlag
{
	enumName = "CanUseCoolingSystem";
}

CanUseOpticalCamo : StatFlag
{
	enumName = "CanUseOpticalCamo";
}

OpticalCamoIsActive : StatFlag
{
	enumName = "OpticalCamoIsActive";
}

CanUseStaticCamo : StatFlag
{
	enumName = "CanUseStaticCamo";
}

CanUseHolographicCamo : StatFlag
{
	enumName = "CanUseHolographicCamo";
}

CanUsePersonalSoundSilencer : StatFlag
{
	enumName = "CanUsePersonalSoundSilencer";
}

CanUseTerrainCamo : StatFlag
{
	enumName = "CanUseTerrainCamo";
}

CanUsePainInhibitors : StatFlag
{
	enumName = "CanUsePainInhibitors";
}

CanUseCombatStims : StatFlag
{
	enumName = "CanUseCombatStims";
}

CanUseConsumables : StatFlag
{
	enumName = "CanUseConsumables";
}

CanUseProjectileLauncher : StatFlag
{
	enumName = "CanUseProjectileLauncher";
}

CanUseRetractableShield : StatFlag
{
	enumName = "CanUseRetractableShield";
}

CanUseAntiStun : StatFlag
{
	enumName = "CanUseAntiStun";
}

CanUseOverclock : StatFlag
{
	enumName = "CanUseOverclock";
}

CanSilentKill : StatFlag
{
	enumName = "CanSilentKill";
	enumComment = "Flag for weapons, determining if we kill NPC in a single shot or not";
}

HasMuzzleBrake : StatFlag
{
	enumName = "HasMuzzleBrake";
	enumComment = "Flag for weapons/attachments to determine what muzzle effect should be used on shot";
}

NoJam : StatFlag
{
	enumName = "NoJam";
	enumComment = "Flag for weapons, determining if weapon will jam or not";
}

CanDealFullDamageToArmored : StatFlag
{
	enumName = "CanDealFullDamageToArmored";
}

CanDash : StatFlag
{
	enumName = "CanDash";
	enumComment = "Ability flag for dashing behavior";
}

CanMeleeDash : StatFlag
{
	enumName = "CanMeleeDash";
	enumComment = "Ability flag for Melee Dash before Sprint Attack";
}

CanMeleeLeap : StatFlag
{
	enumName = "CanMeleeLeap";
	enumComment = "Ability flag for MeleeLeap before Strong Attack";
}

CanMeleeLeapInAir : StatFlag
{
	enumName = "CanMeleeLeapInAir";
	enumComment = "Ability flag for MeleeLeap before Strong Attack in the air";
}

CanMeleeLeapTakedown : StatFlag
{
	enumName = "CanMeleeLeapTakedown";
	enumComment = "Ability flag for Performing Takedown after Leap on unaware enemies";
}

CanMeleeBerserk : StatFlag
{
	enumName = "CanMeleeBerserk";
	enumComment = "Ability flag for Attack Speed Buff On Melee Hits";
}

CanMeleeInfinitelyCombo : StatFlag
{
	enumName = "CanMeleeInfinitelyCombo";
	enumComment = "Ability flag for Infite Combo";
}

CanAerialTakedown : StatFlag
{
	enumName = "CanAerialTakedown";
	enumComment = "Ability flag for taking down enemies from above";
}

CanThrowWeapon : StatFlag
{
	enumName = "CanThrowWeapon";
	enumComment = "Ability flag for throwing held weapon";
}

CanSwitchWeapon : StatFlag
{
	enumName = "CanSwitchWeapon";
	enumComment = "Ability flag for switching held weapon on NPC";
}

CanPickUpWeapon : StatFlag
{
	enumName = "CanPickUpWeapon";
	enumComment = "Ability flag for if an NPC can pick up a weapon from the world";
}

CanPushFromGrapple : StatFlag
{
	enumName = "CanPushFromGrapple";
	enumComment = "If true, player can push enemies form grapple state";
}

CanGrappleAndroids : StatFlag
{
	enumName = "CanGrappleAndroids";
}

CanGrappleSilently : StatFlag
{
	enumName = "CanGrappleSilently";
	enumComment = "If true, enemies do not make any sound when grappled";
}

CanShootWhileGrappling : StatFlag
{
	enumName = "CanShootWhileGrappling";
	enumComment = "If true, player can shoot while holding enemy in a grapple";
}

CanPickUpBodyAfterTakedown : StatFlag
{
	enumName = "CanPickUpBodyAfterTakedown";
	enumComment = "If true, player can pick up the body directly after performing a takedown";
}

CanTakedownSilently : StatFlag
{
	enumName = "CanTakedownSilently";
	enumComment = "If true, player can perform takedown silently";
}

CanTakedownLethally : StatFlag
{
	enumName = "CanTakedownLethally";
	enumComment = "If true, player can perform lethal takedown";
}

CanAutomaticallyRestoreKnives : StatFlag
{
	enumName = "CanAutomaticallyRestoreKnives";
}

CanBuffMechanicalsOnTakeControl : StatFlag
{
	enumName = "CanBuffMechanicalsOnTakeControl";
}

CanShareThreatsWithPlayer : StatFlag
{
	enumName = "CanShareThreatsWithPlayer";
	enumComment = "Ability flag for if Flathead can share threats with the player";
}

CanHeartattackQuickHack : StatFlag
{
	enumName = "CanHeartattackQuickHack";
	enumComment = "Ability flag for if one can use the heart attack quick hack to have someone shoot themselves";
}

CanSuicideQuickHack : StatFlag
{
	enumName = "CanSuicideQuickHack";
	enumComment = "Ability flag for if one can use the suicide quick hack to have someone shoot themselves";
}

CanGrenadeQuickHack : StatFlag
{
	enumName = "CanGrenadeQuickHack";
	enumComment = "Ability flag for if one can use the grenade quick hack to have someone explode themselves";
}

CanBlindQuickHack : StatFlag
{
	enumName = "CanBlindQuickHack";
	enumComment = "Ability flag for if one can use the blind quick hack to disable cyber eyes";
}

CanMalfunctionQuickHack : StatFlag
{
	enumName = "CanMalfunctionQuickHack";
	enumComment = "Ability flag for if one can cause malfunctions on device for distraction, explosions etc";
}

CanTakeControlQuickHack : StatFlag
{
	enumName = "CanTakeControlQuickHack";
	enumComment = "Ability flag for if one can take control over given device";
}

CanOverrideAttitudeQuickHack : StatFlag
{
	enumName = "CanOverrideAttitudeQuickHack";
	enumComment = "Ability flag for if one can take override attitude of given device";
}

CanOverrideAuthorizationQuickHack : StatFlag
{
	enumName = "CanOverrideAuthorizationQuickHack";
	enumComment = "Ability flag for if one can take override authorization of given device";
}

CanExplodeQuickHack : StatFlag
{
	enumName = "CanExplodeQuickHack";
	enumComment = "Ability flag for if one can trigger explosion on given device";
}

CanDataMineQuickHack : StatFlag
{
	enumName = "CanDataMineQuickHack";
	enumComment = "Ability flag for if one can data mine on given device";
}

CanJamWeaponQuickHack : StatFlag
{
	enumName = "CanJamWeaponQuickHack";
	enumComment = "Ability flag for if one can jam weapon";
}

CanJamWeaponLvl2QuickHack : StatFlag
{
	enumName = "CanJamWeaponLvl2QuickHack";
	enumComment = "Ability flag for if one can jam weapon lv2";
}

CanWeaponMalfunctionQuickHack : StatFlag
{
	enumName = "CanWeaponMalfunctionQuickHack";
	enumComment = "Ability flag for if one can weapon malfunction";
}

CanOverloadQuickHack : StatFlag
{
	enumName = "CanOverloadQuickHack";
	enumComment = "Ability flag for if one can overload an NPC";
}

CanPingQuickHack : StatFlag
{
	enumName = "CanPingQuickHack";
	enumComment = "Ability flag for if one can ping";
}

CanOverheatQuickHack : StatFlag
{
	enumName = "CanOverheatQuickHack";
	enumComment = "Ability flag for if one can overheat";
}

CanMadnessQuickHack : StatFlag
{
	enumName = "CanMadnessQuickHack";
	enumComment = "Ability flag for if one can madness";
}

CanLocomotionMalfunctionQuickHack : StatFlag
{
	enumName = "CanLocomotionMalfunctionQuickHack";
	enumComment = "Ability flag for if one can locomotion hack";
}

CanDeathQuickHack : StatFlag
{
	enumName = "CanDeathQuickHack";
	enumComment = "Ability flag for if one can death hack";
}

CanCyberwareMalfunctionQuickHack : StatFlag
{
	enumName = "CanCyberwareMalfunctionQuickHack";
	enumComment = "Ability flag for if one can cyberware hack";
}

CyberWareMalfunctionDoT : StatFlag
{
	enumName = "CyberWareMalfunctionDoT";
	enumComment = "Ability flag for if cyberware hack can deal DoT";
}

CyberWareMalfunctionBlocked : StatFlag
{
	enumName = "CyberWareMalfunctionBlocked";
	enumComment = "Ability flag for if cyberware hack can no longer be applied";
}

CyberWareMalfunctionBlockedMaxStacks : StatFlag
{
	enumName = "CyberWareMalfunctionBlockedMaxStacks";
	enumComment = "Ability flag for if cyberware hack can no longer be applied since max stacks were reached";
}

CyberwareMalfunctionCanExplode : StatFlag
{
	enumName = "CyberwareMalfunctionCanExplode";
}

CanBuffCamoQuickHack : StatFlag
{
	enumName = "CanBuffCamoQuickHack";
	enumComment = "Ability flag for if one can buff camo";
}

CanBuffSturdinessQuickHack : StatFlag
{
	enumName = "CanBuffSturdinessQuickHack";
	enumComment = "Ability flag for if one can buf sturdiness";
}

CanCommsCallInQuickHack : StatFlag
{
	enumName = "CanCommsCallInQuickHack";
	enumComment = "Ability flag for if one can comms call in";
}

CanCommsNoiseQuickHack : StatFlag
{
	enumName = "CanCommsNoiseQuickHack";
	enumComment = "Ability flag for if one can comms noise";
}

CanMemoryWipeQuickHack : StatFlag
{
	enumName = "CanMemoryWipeQuickHack";
	enumComment = "Ability flag for if one can memory wipe";
}

CanBlock : StatFlag
{
	enumName = "CanBlock";
	enumComment = "Ability flag for if a puppet can use the block action";
}

CanParry : StatFlag
{
	enumName = "CanParry";
	enumComment = "Ability flag for if a puppet can use the block action";
}

CanGuardBreak : StatFlag
{
	enumName = "CanGuardBreak";
	enumComment = "Ability flag for if a puppet can use the guardbreak action";
}

CanPushBack : StatFlag
{
	enumName = "CanPushBack";
	enumComment = "Ability flag for if a puppet can use the push action";
}

CanGrab : StatFlag
{
	enumName = "CanGrab";
	enumComment = "Ability flag for if a puppet can use the grab action";
}

CanWalkSilently : StatFlag
{
	enumName = "CanWalkSilently";
	enumComment = "Ability flag for if a puppet will generate the footstep stims";
}

CanRunSilently : StatFlag
{
	enumName = "CanRunSilently";
	enumComment = "Ability flag for if a puppet will generate the footstep stims";
}

CanLandSilently : StatFlag
{
	enumName = "CanLandSilently";
	enumComment = "Ability flag for if a puppet will generate landing stim";
}

CanRegenInCombat : StatFlag
{
	enumName = "CanRegenInCombat";
	enumComment = "Ability flag for if a puppet can regenerate health in combat";
}

CanShootWhileMoving : StatFlag
{
	enumName = "CanShootWhileMoving";
	enumComment = "Ability flag for if a puppet can walk and shoot";
}

CanPreciseShoot : StatFlag
{
	enumName = "CanPreciseShoot";
	enumComment = "Ability flag for if a puppet can shoot in idle stand";
}

CanChargedShoot : StatFlag
{
	enumName = "CanChargedShoot";
	enumComment = "Ability flag for if a puppet can shoot with tech weapons";
}

CanSmartShoot : StatFlag
{
	enumName = "CanSmartShoot";
	enumComment = "Ability flag for if a puppet can shoot with smart weapons";
}

CanIgnoreStamina : StatFlag
{
	enumName = "CanIgnoreStamina";
	enumComment = "Ability flag for pupper will not consume stamina on stamina requiered actions";
}

CanIgnoreArmorDamageReduction : StatFlag
{
	enumName = "CanIgnoreArmorDamageReduction";
	enumComment = "If set to TRUE, this ability allows object to ignore armored layers of NPC - armor, cyberware and metal";
}

BulletMagnetismDefaultAngle : StatFlag
{
	min = 0;
	max = 360;
	enumName = "BulletMagnetismDefaultAngle";
	enumComment = "Angle from a target in which to enable bullet magnetism";
}

BulletMagnetismHighVelocityAngle : StatFlag
{
	min = 0;
	max = 360;
	enumName = "BulletMagnetismHighVelocityAngle";
	enumComment = "Angle from a target at which to use bullet magnetism when target has high angular velocity";
}

CanCrouch : StatFlag
{
	enumName = "CanCrouch";
	enumComment = "Ability flag for crouching";
}

CanSprint : StatFlag
{
	enumName = "CanSprint";
	enumComment = "Ability flag for sprinting";
}

CanCatchUp : StatFlag
{
	enumName = "CanCatchUp";
	enumComment = "Can close distance when target is not visible";
}

CanCatchUpDistance : StatFlag
{
	enumName = "CanCatchUpDistance";
	enumComment = "Can close distance when target is too far away";
}

CanJump : StatFlag
{
	enumName = "CanJump";
	enumComment = "Ability flag for jumping";
}

CanUseLeftHand : StatFlag
{
	enumName = "CanUseLeftHand";
	enumComment = "Ability flag for using left hand in general cases";
}

CanUseRightHand : StatFlag
{
	enumName = "CanUseRightHand";
	enumComment = "Ability flag for using right hand in general cases";
}

CanUseLegs : StatFlag
{
	enumName = "CanUseLegs";
	enumComment = "Ability flag for using both legs in general cases";
}

CanTaunt : StatFlag
{
	enumName = "CanTaunt";
	enumComment = "Ability flag for using taunts";
}

CanCloseCombat : StatFlag
{
	enumName = "CanCloseCombat";
	enumComment = "Ability flag for using melee close combat ring";
}

CanDropWeapon : StatFlag
{
	enumName = "CanDropWeapon";
	enumComment = "Ability flag for dropping weapon from the player shooting their hand";
}

PoisonRegenHealth : StatFlag
{
	enumName = "PoisonRegenHealth";
}

HasToxicCleanser : StatFlag
{
	enumName = "HasToxicCleanser";
}

BurningRegenStamina : StatFlag
{
	enumName = "BurningRegenStamina";
}

HasFireproofSkin : StatFlag
{
	enumName = "HasFireproofSkin";
}

HasElectricCoating : StatFlag
{
	enumName = "HasElectricCoating";
}

HasExtendedHitReactionImmunity : StatFlag
{
	enumName = "HasExtendedHitReactionImmunity";
}

HasMeleeHitReactionAndTakedownResistance : StatFlag
{
	enumName = "HasMeleeHitReactionAndTakedownResistance";
}

CanResurrectAllies : StatFlag
{
	enumName = "CanResurrectAllies";
	enumComment = "Ability flag for reviving allies";
}

CanBreatheUnderwater : StatFlag
{
	enumName = "CanBreatheUnderwater";
	enumComment = "Ability to breathe underwater";
}

CanUsePhoneUnderwater : StatFlag
{
	enumName = "CanUsePhoneUnderWater";
	enumComment = "Ability to initiate and participate in phone calls underwater";
}

CannotBeHealed : StatFlag
{
	enumName = "CannotBeHealed";
	enumComment = "IF set to TRUE, object cannot receive any healing";
}

CannotBeDetectedWhileSubmerged : StatFlag
{
	enumName = "CannotBeDetectedWhileSubmerged";
}

CanCallReinforcements : StatFlag
{
	enumName = "CanCallReinforcements";
	enumComment = "Ability flag for Calling Reinforcements from Quest";
}

CanAskToFollowOrder : StatFlag
{
	enumName = "CanAskToFollowOrder";
	enumComment = "Ability flag for Ask To Follow Order for Quest scenarios";
}

CanAskToHolsterWeapon : StatFlag
{
	enumName = "CanAskToHolsterWeapon";
	enumComment = "Ability flag for Ask To Holster a weapon for Quest scenarios";
}

CanExitWSOnSoundStimuli : StatFlag
{
	enumName = "CanExitWSOnSoundStimuli";
	enumComment = "Ability flag to exit workspot instead of just look-at on sound stimuli";
}

IsItemBroken : StatFlag
{
	enumName = "IsItemBroken";
	enumComment = "When TRUE, item cannot be used";
}

IsItemCracked : StatFlag
{
	enumName = "IsItemCracked";
	enumComment = "When false, item cannot be used and has to be cracked, by performing hacking minigame on it";
}

IsItemCrafted : StatFlag
{
	enumName = "IsItemCrafted";
	flags = 
	[
		"ExcludeRootCombination"
	];
}

CanPlayerBoostGrenades : StatFlag
{
	enumName = "CanPlayerBoostGrenades";
}

CanPlayerBoostConsumables : StatFlag
{
	enumName = "CanPlayerBoostConsumables";
}

IsItemIconic : StatFlag
{
	enumName = "IsItemIconic";
	flags = 
	[
		"ExcludeRootCombination"
	];
}

IsItemUpgraded : StatFlag
{
	enumName = "IsItemUpgraded";
}

CanUpgradeToLegendaryQuality : StatFlag
{
	enumName = "CanUpgradeToLegendaryQuality";
}

CanDisassemble : StatFlag
{
	enumName = "CanDisassemble";
}

CanDisassembleGadgets : StatFlag
{
	enumName = "CanDisassembleGadgets";
}

CanDisassembleConsumables : StatFlag
{
	enumName = "CanDisassembleConsumables";
}

CanElectrocuteRoot : StatFlag
{
	enumName = "CanElectrocuteRoot";
}

CanElectrocuteNullifyStats : StatFlag
{
	enumName = "CanElectrocuteNullifyStats";
}

CanPoisonSlow : StatFlag
{
	enumName = "CanPoisonSlow";
}

CanPoisonLowerArmor : StatFlag
{
	enumName = "CanPoisonLowerArmor";
}

CanRemoveModsFromWeapons : StatFlag
{
	enumName = "CanRemoveModsFromWeapons";
}

CanRemoveModsFromClothing : StatFlag
{
	enumName = "CanRemoveModsFromClothing";
}

CanScrapPartsFromMechanicals : StatFlag
{
	enumName = "CanScrapPartsFromMechanicals";
}

CanGrenadesDealExternalDamage : StatFlag
{
	enumName = "CanGrenadesDealExternalDamage";
}

CanInstallTechMods : StatFlag
{
	enumName = "CanInstallTechMods";
}

CanAutomaticallyDisassembleJunk : StatFlag
{
	enumName = "CanAutomaticallyDisassembleJunk";
}

CanCraftFromInventory : StatFlag
{
	enumName = "CanCraftFromInventory";
}

CanUpgradeFromInventory : StatFlag
{
	enumName = "CanUpgradeFromInventory";
}

CanSprintHarass : StatFlag
{
	enumName = "CanSprintHarass";
}

SandevistanDashShoot : StatFlag
{
	enumName = "SandevistanDashShoot";
}

CanUseShootingSpots : StatFlag
{
	enumName = "CanUseShootingSpots";
}

PrefersCovers : StatFlag
{
	enumName = "PrefersCovers";
}

PrefersShootingSpots : StatFlag
{
	enumName = "PrefersShootingSpots";
}

CanSandevistanSprintHarass : StatFlag
{
	enumName = "CanSandevistanSprintHarass";
}

CannotSprintHarass : StatFlag
{
	enumName = "CannotSprintHarass";
}

CanUseMeleeRing : StatFlag
{
	enumName = "CanUseMeleeRing";
}

CanUseCloseRing : StatFlag
{
	enumName = "CanUseCloseRing";
}

CanUseMediumRing : StatFlag
{
	enumName = "CanUseMediumRing";
}

CanUseFarRing : StatFlag
{
	enumName = "CanUseFarRing";
}

CanUseExtremeRing : StatFlag
{
	enumName = "CanUseExtremeRing";
}

IsGenericRangedArchetype : StatFlag
{
	enumName = "IsGenericRangedArchetype";
}

IsGenericMeleeArchetype : StatFlag
{
	enumName = "IsGenericMeleeArchetype";
}

IsFastMeleeArchetype : StatFlag
{
	enumName = "IsFastMeleeArchetype";
}

IsStrongMeleeArchetype : StatFlag
{
	enumName = "IsStrongMeleeArchetype";
}

IsFastRangedArchetype : StatFlag
{
	enumName = "IsFastRangedArchetype";
}

IsHeavyRangedArchetype : StatFlag
{
	enumName = "IsHeavyRangedArchetype";
}

IsShotgunnerArchetype : StatFlag
{
	enumName = "IsShotgunnerArchetype";
}

IsSniperArchetype : StatFlag
{
	enumName = "IsSniperArchetype";
}

IsTechieArchetype : StatFlag
{
	enumName = "IsTechieArchetype";
}

IsNetrunnerArchetype : StatFlag
{
	enumName = "IsNetrunnerArchetype";
}

IsTier1Archetype : StatFlag
{
	enumName = "IsTier1Archetype";
}

IsTier2Archetype : StatFlag
{
	enumName = "IsTier2Archetype";
}

IsTier3Archetype : StatFlag
{
	enumName = "IsTier3Archetype";
}

IsTier4Archetype : StatFlag
{
	enumName = "IsTier4Archetype";
}

IsReckless : StatFlag
{
	enumName = "IsReckless";
}

IsAggressive : StatFlag
{
	enumName = "IsAggressive";
}

IsBalanced : StatFlag
{
	enumName = "IsBalanced";
}

IsDefensive : StatFlag
{
	enumName = "IsDefensive";
}

IsCautious : StatFlag
{
	enumName = "IsCautious";
}

IsMechanical : StatFlag
{
	enumName = "IsMechanical";
}

IsExo : StatFlag
{
	enumName = "IsExo";
}

IsMainBoss : StatFlag
{
	enumName = "IsMainBoss";
}

IsManMassive : StatFlag
{
	enumName = "IsManMassive";
}

IsManBig : StatFlag
{
	enumName = "IsManBig";
}

IsCrowd : StatFlag
{
	enumName = "IsCrowd";
}

IsAVMaxTac : StatFlag
{
	enumName = "IsAVMaxTac";
}

HasAutomaticReplenishment : StatFlag
{
	enumName = "HasAutomaticReplenishment";
}

HasPoisonHeal : StatFlag
{
	enumName = "HasPoisonHeal";
}

HasBurningBuffs : StatFlag
{
	enumName = "HasBurningBuffs";
}

WasQuickHacked : StatFlag
{
	enumName = "WasQuickHacked";
	enumComment = "If true, target has already been quick hacked before";
}

FFInputLock : StatFlag
{
	enumName = "FFInputLock";
	enumComment = "Used to control what input we want to allow or disallow while during Fast Forwarding";
}

HasWeakspot : StatFlag
{
	enumName = "IsWeakspot";
}

CanPlayerPiercePoisonImmunity : StatFlag
{
	enumName = "CanPlayerPiercePoisonImmunity";
	enumComment = "Perk allowing the player to poison mechanical enemies. Removes poison immunity stat from some enemies";
}

CanPlayerDodgeOnDetection : StatFlag
{
	enumName = "CanPlayerDodgeOnDetection";
	enumComment = "Perk allowing the player to dodge on a sound clue and remain in stealth when almost detected";
}

CanPlayerGagOnDetection : StatFlag
{
	enumName = "CanPlayerGagOnDetection";
	enumComment = "Perk allowing the player to gag an NPC after detection to prevent her from notifying other enemies";
}

CanPlayerExitCombatWithOpticalCamo : StatFlag
{
	enumName = "CanPlayerExitCombatWithOpticalCamo";
	enumComment = "Perk allowing the player to exit combat by activating Optical Camo CW";
}

BlockOpticalCamoRelicPerk : StatFlag
{
	enumName = "BlockOpticalCamoRelicPerk";
	enumComment = "Block the perk allowing the player to exit combat by activating Optical Camo CW";
}

CanUseNewMeleewareAttackSpyTree : StatFlag
{
	enumName = "CanUseNewMeleewareAttackSpyTree";
	enumComment = "Perk allowing the player to perform a special meleeware attack unlocked in the Espionage skill tree";
}

CanOnePunchWithGorillaArms : StatFlag
{
	enumName = "CanOnePunchWithGorillaArms";
	enumComment = "Perk allowing the player to perform a special shockwave attack with Gorilla Arms";
}

CanDoGrandFinaleWithMantisBlades : StatFlag
{
	enumName = "CanDoGrandFinaleWithMantisBlades";
	enumComment = "Perk allowing the player to perform a special slashing attack with Mantis Blades";
}

CanDoRapidFireWithProjectileLauncher : StatFlag
{
	enumName = "CanDoRapidFireWithProjectileLauncher";
	enumComment = "Perk allowing the player to perform a special projectile attack with Arms Rocket Launcher";
}

CanSpreadMonoWireQuickhack : StatFlag
{
	enumName = "CanSpreadMonoWireQuickhack";
	enumComment = "Perk allowing the player to spread quickhacks to nearby enemies by using a Regular Monowire Attack";
}

CanSeeCyberwareBreaches : StatFlag
{
	enumName = "CanSeeCyberwareBreaches";
	enumComment = "Perk allowing the player to see cyberware breaches on enemies";
}

BlockCyberwareBreaches : StatFlag
{
	enumName = "BlockCyberwareBreaches";
	enumComment = "Cyberware breaches will not appear on enemies with this stat";
}

IsAimingWithWeapon : StatFlag
{
	enumName = "IsAimingWithWeapon";
	enumComment = "If true player is aiming with weapon, set by a IsAiming status effect";
}

CanPlayerPierceDriver : StatFlag
{
	enumName = "CanPlayerPierceDriver";
	enumComment = "If true, when player's bullet attacks hit vehicles they will trigger a chance to kill the driver";
}

HasPlatingGlitch : StatFlag
{
	enumName = "HasPlatingGlitch";
	enumComment = "Flag checking if object has Plating Glitch.";
}

ForcePreventResurrect : StatFlag
{
	enumName = "ForcePreventResurrect";
	enumComment = "Allows to force prevent resurrect effect";
}

DriverUpdatePerkFlag : StatFlag
{
	enumName = "DriverUpdatePerkFlag";
	enumComment = "Adds one more secondary modifier to all cyberwares";
}

QualityRequirementMetFlag : StatFlag
{
	enumName = "QualityRequirementMetFlag";
	enumComment = "Used for checking if the quality of an item meets the required threshold for whichever purpose.";
	flags = [];
}

IsHealingItemEquipped : StatFlag
{
	enumName = "IsHealingItemEquipped";
	enumComment = "If true, the entity has a regular healing item (inhaler or injector) equipped";
}

CanPerformReflexFinisher : StatFlag
{
	enumName = "CanPerformReflexFinisher";
}

CanPerformCoolFinisher : StatFlag
{
	enumName = "CanPerformCoolFinisher";
}

CanPerformBluntFinisher : StatFlag
{
	enumName = "CanPerformBluntFinisher";
}

CanPerformMonowireFinisher : StatFlag
{
	enumName = "CanPerformMonowireFinisher";
}

CanIgnoreWeaponStaminaPenaties : StatFlag
{
	enumName = "CanIgnoreWeaponStaminaPenaties";
	enumComment = "Disables weapon's handling penalties coming from stamina use";
	max = 2;
}

FocusedGrenadeShootingPerk : StatFlag
{
	enumName = "FocusedGrenadeShootingPerk";
	enumComment = "Helps with targeting enemy grenades while in focus mode";
}

SpreadQuickhacksOnStart : StatFlag
{
	enumName = "SpreadQuickhacksOnStart";
	enumComment = "if true, QHs spread immediately when upload starts";
}

IgnoreAwarenessCostWhenOverclocked : StatFlag
{
	enumName = "IgnoreAwarenessCostWhenOverclocked";
	enumComment = "if true, when overclocked, uploading quickhacks do not speed up the reveal process (but still start the reveal)";
}

TechPierceHighlightsEnabled : StatFlag
{
	enumName = "TechPierceHighlightsEnabled";
	enumComment = "when true, tech pierce highlights are shown when aiming with a tech weapon";
}

CanRetreat : StatFlag
{
	enumName = "CanRetreat";
	enumComment = "Flag allowing NPC to perform a retreat behavior when player gets close (flashbang + sandevistan run away)";
}

IsExcludedFromExtraHealingOnHigherDifficulties : StatFlag
{
	enumName = "IsExcludedFromExtraHealingOnHigherDifficulties";
	enumComment = "Ability flag for NPC not to use special healing action on hard and very hard";
}

