operator==( ebool : EBOOL, rbool : Bool ) : Bool
{
	if( ( rbool && ebool == EBOOL.TRUE ) || ( !( rbool ) && ebool == EBOOL.FALSE ) )
	{
		return true;
	}
	return false;
}

operator==( rbool : Bool, ebool : EBOOL ) : Bool
{
	return ebool == rbool;
}

operator!=( rbool : Bool, ebool : EBOOL ) : Bool
{
	return !( rbool == ebool );
}

operator!=( ebool : EBOOL, rbool : Bool ) : Bool
{
	return !( rbool == ebool );
}

operator!( ebool : EBOOL ) : Bool
{
	if( ebool == EBOOL.TRUE )
	{
		return false;
	}
	return true;
}

enum EBOOL
{
	UNINITIALZED = 0,
	FALSE = 1,
	TRUE = 2,
}

enum ECompareOp
{
	CO_Lesser = 0,
	CO_LesserEq = 1,
	CO_Greater = 2,
	CO_GreaterEq = 3,
	CO_Equal = 4,
	CO_NotEqual = 5,
}

enum EWeaponNamesList
{
	EWNL_PowerStreetRifle = 0,
	EWNL_TechStreetShotgun = 1,
	EWNL_PowerCorpHandgun = 2,
	EWNL_SmartCorpRifle = 3,
	EWNL_PowerCorpHandgunJackie = 4,
}

enum EAITargetType
{
	AITT_Undefined = 0,
	AITT_Argument = 1,
	AITT_Owner = 2,
	AITT_CombatTarget = 3,
	AITT_FacingTarget = 4,
	AITT_Attacker = 5,
	AITT_Companion = 6,
	AITT_Cover = 7,
}

enum EAIThreatCalculationType
{
	Regular = 0,
	Boss = 1,
	Madness = 2,
}

enum EBarkList
{
	vo_enemy_reaction_surprised_combat_start = 0,
	vo_enemy_reaction_generic_cursing = 1,
	vo_enemy_reaction_jammed_weapon = 2,
	vo_enemy_reaction_impact_hit = 3,
	vo_enemy_reaction_stagger_hit = 4,
	vo_enemy_reaction_crippled_arm = 5,
	vo_enemy_reaction_crippled_leg = 6,
	vo_enemy_reaction_death = 7,
	vo_enemy_group_call_to_combat = 8,
	vo_enemy_group_call_for_help = 9,
	vo_enemy_group_order_go_to_cover = 10,
	vo_enemy_group_order_flank_target = 11,
	vo_enemy_group_order_suppressing_fire = 12,
	vo_enemy_answer_to_order_suppressing_fire = 13,
	vo_enemy_group_notification_reloading = 14,
	vo_enemy_group_notification_squad_member_died = 15,
	vo_enemy_group_notification_grenade_nearby = 16,
	vo_enemy_group_notification_target_using_sandevistan = 17,
	vo_enemy_group_notification_target_using_kerenzikov = 18,
	vo_enemy_answer_to_notification_target_using_sandevistan = 19,
	vo_enemy_answer_to_notification_target_using_kerenzikov = 20,
	vo_enemy_group_generic_combat_question = 21,
	vo_enemy_answer_to_generic_combat_question = 22,
	vo_enemy_group_boost_combat_morale = 23,
}

enum EAIBlockDirection
{
	Undefined = 0,
	Center = 1,
	Left = 2,
	Right = 3,
}

enum EAIActionState
{
	Inactive = 0,
	Startup = 1,
	Loop = 2,
	Recover = 3,
}

import enum AIactionParamsPackageTypes
{
	Default,
	Reaction,
	StatusEffect,
	Undefined,
}

enum EAIActionTarget
{
	None = 0,
	CombatTarget = 1,
	FriendlyTarget = 2,
	CurrentCover = 3,
	StimTarget = 4,
	StimSource = 5,
	CustomWorldPosition = 6,
}

enum EAICombatPreset
{
	None = 0,
	IsReckless = 1,
	IsAggressive = 2,
	IsBalanced = 3,
	IsDefensive = 4,
	IsCautious = 5,
}

enum EHitReactionMode
{
	Regular = 0,
	ForceImpact = 1,
	ForceStagger = 2,
	ForceKnockdown = 3,
	Fragile = 4,
	Weak = 5,
	Tough = 6,
	Bulky = 7,
	Unstoppable = 8,
	UnstoppableTwitchMin = 9,
	UnstoppableTwitchNone = 10,
	StaggerMin = 11,
	BulkyStaggerMin = 12,
	Invalid = 13,
}

enum EMeleeAttacks
{
	Invalid = 0,
	LightAtk_Left = 1,
	LightAtk_Right = 2,
	ComboAtk_3hits_Part1 = 3,
	ComboAtk_3hits_Part2 = 4,
	ComboAtk_3hits_Part3 = 5,
	ChargeAttack = 6,
}

enum DeviceStimType
{
	Distract = 0,
	VisualDistract = 1,
	Explosion = 2,
	VentilationAreaEffect = 3,
	None = 4,
}

enum ETauntType
{
	Normal = 0,
	Melee = 1,
	Ranged = 2,
}

enum EWoundedBodyPart
{
	Invalid = 0,
	WoundedLeftArm = 1,
	WoundedRightArm = 2,
	WoundedLeftLeg = 3,
	WoundedRightLeg = 4,
	DismemberedLeftArm = 5,
	DismemberedRightArm = 6,
	DismemberedLeftLeg = 7,
	DismemberedRightLeg = 8,
	DismemberedBothLegs = 9,
}

enum EStatusEffects
{
	Invalid = 0,
	WeaponJammed = 1,
	Blind = 2,
	SmokeScreen = 3,
	Unconscious = 4,
	Burning = 5,
	Stun = 6,
	HeartAttack = 7,
	SuicideWithWeapon = 8,
	SuicideWithGrenade = 9,
	Wounded = 10,
	MonowireGrapple = 11,
	Exhausted = 12,
	Defeated = 13,
	Sleep = 14,
	Berserker = 15,
	Pain = 16,
	Sandevistan = 17,
	NetwatcherHackStage1 = 18,
	NetwatcherHackStage2 = 19,
	NetwatcherHackStage3 = 20,
	Count = 21,
}

enum EstatusEffectsState
{
	Deactivated = 0,
	Activating = 1,
	Activated = 2,
}

enum EAISquadAction
{
	Invalid = 0,
	Shoot = 1,
	Charge = 2,
	TakeCover = 3,
	Search = 4,
	Reprimand = 5,
	Investigate = 6,
	Melee = 7,
	Taunt = 8,
	Defend = 9,
	Takedown = 10,
	Peek = 11,
	GrenadeThrow = 12,
	Dash = 13,
	Sync = 14,
	BattleCry = 15,
	CallOff = 16,
	BackUp = 17,
	RangedStrafe = 18,
	Quickhack = 19,
	GroupReaction = 20,
	Crouch = 21,
}

enum EAISquadTactic
{
	Invalid = 0,
	Flanking = 1,
	Assault = 2,
	Snipe = 3,
	Regroup = 4,
	Retreat = 5,
	Defend = 6,
	Suppress = 7,
	Medivac = 8,
	Panic = 9,
}

enum EAISquadChoiceAlgorithm
{
	Invalid = 0,
	TargetDistance = 1,
	SectorDistance = 2,
	SquadmateDistance = 3,
	CoopDistance = 4,
	LineOfSight = 5,
	StimDistance = 6,
	StimDistancePerSource = 7,
	AvoidLastPuppetIfPossible = 8,
	Officer = 9,
	Group = 10,
	CallForBackUp = 11,
	CallOffAction = 12,
	ShareNewThreat = 13,
}

enum EAISquadRing
{
	Invalid = 0,
	Melee = 1,
	Close = 2,
	Medium = 3,
	Far = 4,
	Extreme = 5,
}

enum EAISquadVerb
{
	Invalid = 0,
	JoinSquad = 1,
	LeaveSquad = 2,
	OpenSquadAction = 3,
	RevokeSquadAction = 4,
	RevokeOrder = 5,
	CommitToSquadAction = 6,
	ReportDoneOnSquadAction = 7,
	ReportFailureOnSquadAction = 8,
	EvaluateTicketActivation = 9,
	EvaluateTicketDeactivation = 10,
	AcknowledgeOrder = 11,
}

enum EAITicketStatus
{
	Invalid = 0,
	Evaluate = 1,
	OrderFail = 2,
	OrderDone = 3,
	OrderRevoked = 4,
}

enum EAIPlayerSquadOrder
{
	Takedown = 0,
	Invalid = 1,
}

enum EReactionValue
{
	Fear = 0,
	Aggressive = 1,
}

enum EAICoverAction
{
	StepOut = 0,
	LeanOut = 1,
	StepUp = 2,
	LeanOver = 3,
	Undefined = 4,
}

enum EAICoverActionDirection
{
	Front = 0,
	FrontRight = 1,
	Right = 2,
	BackRight = 3,
	Back = 4,
	BackLeft = 5,
	Left = 6,
	FrontLeft = 7,
}

enum EAIGateSignalFlags
{
	AIGSF_Undefined = 0,
	AIGSF_OverridesSelf = 1,
	AIGSF_InterruptsSamePriorityTask = 2,
	AIGSF_InterruptsForcedBehavior = 3,
	AIGSF_AcceptsAdditives = 4,
}

enum ENPCPhaseState
{
	Phase1 = 0,
	Phase2 = 1,
	Phase3 = 2,
	Phase4 = 3,
	Phase5 = 4,
	Invalid = 5,
}

enum EAIGateEventFlags
{
	AIGEF_Undefined = 0,
	AIGEF_OverridesSelf = 1,
	AIGEF_InterruptsSamePriorityTask = 2,
	AIGEF_InterruptsForcedBehavior = 3,
	AIGEF_AcceptsAdditives = 4,
}

enum EAIShootingPatternRange
{
	Close = 0,
	Medium = 1,
	Long = 2,
	Undefined = 3,
}

enum EStatusEffectBehaviorType
{
	Invalid = 0,
	Basic = 1,
	Stoppable = 2,
	Unstoppable = 3,
}

enum EComparisonOperator
{
	Equal = 0,
	NotEqual = 1,
	More = 2,
	MoreOrEqual = 3,
	Less = 4,
	LessOrEqual = 5,
}

enum EArgumentType
{
	Object = 0,
	CoverID = 1,
	Vector4 = 2,
}

enum EInitReactionAnim
{
	Shock = 0,
	Fear = 1,
	Curious = 2,
	Call = 3,
}

enum ENeutralizeType
{
	None = 0,
	Killed = 1,
	Defeated = 2,
	Unconscious = 3,
}

enum EMathOperator
{
	None = 0,
	Add = 1,
	Subtract = 2,
	Multiply = 3,
	Divide = 4,
}

enum EMagazineAmmoState
{
	None = 0,
	FirstBullet = 1,
	LastBullet = 2,
}

enum EBroadcasteingType
{
	Active = 0,
	SingleActive = 1,
	Direct = 2,
	Remove = 3,
	Single = 4,
}

