. If you'd rather port your own setting in, or use any of the multitude of other great settings out there, we've got you covered too. Urban fantasy and futuristic settings are in the works, and can and will be added as funding permits. More funding means more support for popular systems and settings as well as the possibility of map and grid support, all in-app!
Helping us make this project a reality is Josh Tischer of Codepyro, a great web and mobile app developer who built and helps run a successful media company in Durango, Colorado. Josh brings with him years of experience.
Helping with the art for Aeranos is Brady Choate of BC Illustration, who currently has a brother project running for his great Graphic Novel titled "Sons of a Distant Earth," based on some of our more exciting Aeranos adventures.
Money from the project will largely be going to Josh for a coding chore that he'll only make look easy, along with funds for promotion, additional art, and future expansions and releases.
If you think this sounds worth while, join the growing list of backers and be first to get the app. $10 is all it takes to get a copy of the app, with more money scoring you more copies, beta testing opportunities and all kinds of Aeranos swag!
Goal #1: $7,500: Coding for Pathfinder and the Aeranos game system.
Goal #2: $10,000: More Bells and whistles, including more spells, feats and classes, possible rules variants, and better in-app mapping capabilities. Plus a cooler home website!
Goal #3: $12,000+: Possible additional systems. To be chosen by a poll where backers will get to "stuff the ballot box" based on their funding level.
Questions about this project? Check out the FAQ
Support this project
Funding period
- (45 days)1.1 This guide covers and offers direction on the handling of data from interlaboratory tests for wear or erosion. It describes a format for entering data and for subsequently reporting results on measures of precision in a Committee G02 standard. It indicates methods for calculation of the needed statistical quantities.
1.2 This guide offers guidance based on a Committee G02 consensus, and exists for the purpose of emphasizing the need to use established statistical practices, and to introduce more uniformity in reporting interlaboratory test results in Committee G02 standards.
1.3 An example of how the methods described in this guide may be applied is available in personal computer format as a spreadsheet file. The purpose is to facilitate use of the methods in this guide. The example file contains all needed equations in the recommended format and can be edited to accept new data. Contact ASTM Headquarters or the Chairman of G02 for a copy of that computer file. The user must have spreadsheet software (EXCEL or compatible) available.
1.4 The methods used in this document are consistent with Practices E691 and E177.<filename>application/controllers/Home.php
<?php

class Home extends CI_Controller {
    public function index() {
        $this->load->library('session');
        
        $system_notify = "";
        if (!empty($this->session->system_notify)) {
            $system_notify = $this->session->system_notify;
        }
        $system_notify_context = "info";
        if (!empty($this->session->system_notify_context)) {
            $system_notify_context = $this->session->system_notify_context;
        }
        
        $is_member = $this->member->identify([
           'm_id'=>$this->session->m_id
        ]);
        if (empty($is_member)) {
            $is_member['m_id'] = '';
        }
        
        $this->load->view('templates/metahead', [
            'page_title' => 'Home',
           'sidebar' =>!empty($is_member['m_id']),
        ]);
        $this->load->view('pieces/navbar', [
            'page_title' => 'Home',
           'm_id' => $is_member['m_id'],
           'system_notify' => $system_notify,
           'system_notify_context' => $system_notify_context,
        ]);
        $this->clear_notifs();
        if (!empty($is_member['m_id'])) {
            $this->load->view('pieces/sidebar', [
                'page_title' => 'Home',
                'parent_page_title' => 'Home'
            ]);
        }
        $this->load->view('home/home');
        $this->load->view('templates/metafoot', [
           'sidebar' =>!empty($is_member['m_id']),
        ]);
    }
    public function browse() {
        $this->load->library('session');
        
        $system_notify = "";
        if (!empty($this->session->system_notify)) {
            $system_notify = $this->session->system_notify;
        }
        $system_notify_context = "info";
        if (!empty($this->session->system_notify_context)) {
            $system_notify_context = $this->session->system_notify_context;
        }
        
        $is_member = $this->member->identify([
           'm_id'=>$this->session->m_id
        ]);
        if (empty($is_member)) {
            $is_member['m_id'] = "";
        }
		
		$data = $this->input->post(null, true);
		if(isset($data['advsearchSubmit']))
		{
			$sort = $data['sort'];
			$beankey = "";
			$pkgkey = "";
			$roastkey = "";
			$prockey ="";
		if(empty($data['isbeans']) && empty($data['isroast']) && empty($data['ispkg']) && empty($data['isproc']))
		{
			if(!empty($data['seller']) || $data['location']!= "Any" ||!empty($data['pricerangelow']) ||!empty($data['pricerangehigh'])) 
			{
				$pricetrigger = "false";
				if(!empty($data['pricerangelow']) ||!empty($data['pricerangehigh']))
				{
					if(!empty($data['pricerangelow']) &&!empty($data['pricerangehigh']))
					{
						$beankey.= "b_unitprice between ".$data['pricerangelow']." and ".$data['pricerangehigh'];
						$pkgkey.= "pk_unitprice between ".$data['pricerangelow']." and ".$data['pricerangehigh'];
						$roastkey.= "ro_unitprice between ".$data['pricerangelow']." and ".$data['pricerangehigh'];
						$prockey.= "proc_unitprice between ".$data['pricerangelow']." and ".$data['pricerangehigh'];
						$pricetrigger = "true";
					}
					else if(!empty($data['pricerangelow']) && empty($data['pricerangehigh']))
					{
						$beankey.= "b_unitprice >= ".$data['pricerangelow']."";
						$pkgkey.= "pk_unitprice >= ".$data['pricerangelow']."";
						$roastkey.= "ro_unitprice >= ".$data['pricerangelow']."";
						$prockey.= "proc_unitprice >= ".$data['pricerangelow']."";
						$pricetrigger = "true";
					}
					else if(empty($data['pricerangelow']) &&!empty($data['pricerangehigh']))
					{
						$beankey.= "b_unitprice <= ".$data['pricerangehigh']."";
						$pkgkey.= "pk_unitprice <= ".$data['pricerangehigh']."";
						$roastkey.= "ro_unitprice <= ".$data['pricerangehigh']."";
						$prockey.= "proc_unitprice <= ".$data['pricerangehigh']."";
						$pricetrigger = "true";
					}
				
				}
				if(!empty($data['seller']))
				{
					if($pricetrigger == "true")
					{
						$beankey.= " AND";
						$roastkey.= " AND";
						$prockey.= " AND";
						$pkgkey.= " AND";
					}
					else
					{
						$pricetrigger = "true";
					}
					$beankey.= " s_name = '".$data['seller']."' ";	
					$pkgkey.= " s_name = '".$data['seller']."' ";	
					$roastkey.= " s_name = '".$data['seller']."' ";	