abstract class AICodeInterface
{

	public export static function CheckSlotsForEquipment( context : ref< ScriptExecutionContext >, puppet : gamePuppet, equipmentGroup : CName ) : AIbehaviorConditionOutcomes
	{
		var scriptedPuppet : ScriptedPuppet;
		scriptedPuppet = ( ( ScriptedPuppet )( puppet ) );
		if( AIActionTransactionSystem.ShouldPerformEquipmentCheck( scriptedPuppet, equipmentGroup ) )
		{
			if( !( AIActionTransactionSystem.CheckSlotsForEquipment( context, equipmentGroup ) ) )
			{
				return AIbehaviorConditionOutcomes.False;
			}
			return AIbehaviorConditionOutcomes.True;
		}
		return AIbehaviorConditionOutcomes.Failure;
	}

	public export static function GetLastRequestedTriggerMode( weapon : WeaponObject ) : gamedataTriggerMode
	{
		return AIActionHelper.GetLastRequestedTriggerMode( weapon );
	}

}

