46 #define GENE_ENERGY_FROM_VEGETABLES(gene) GENE_VAL_REG(gene, 3, 13, 15, 3)
50 #define GENE_ENERGY_FROM_FRUITS(gene) GENE_VAL_REG(gene, 14, 7, 6, 4)
54 #define GENE_ENERGY_FROM_SHELLFISH(gene) GENE_VAL_REG(gene, 10, 12, 12, 2)
58 #define GENE_ENERGY_FROM_SEAWEED(gene) GENE_VAL_REG(gene, 0, 9, 11, 12)
62 #define GENE_ENERGY_FROM_BIRD_EGGS(gene) GENE_VAL_REG(gene, 7, 1, 9, 5)
66 #define GENE_ENERGY_FROM_LIZARD_EGGS(gene) GENE_VAL_REG(gene, 15, 3, 12, 8)
87 n_int return_value = 0;
89 n_int absorb_denom = 1 + vegetable + fruit + seawood + bird_eggs + lizard_eggs;
97 return_value = (vegetable << 4) / absorb_denom;
100 return_value = (fruit << 4) / absorb_denom;
103 return_value = (shellfish << 4) / absorb_denom;
106 return_value = (seawood << 4) / absorb_denom;
109 return_value = (seawood << 4) / absorb_denom;
112 return_value = (seawood << 4) / absorb_denom;
118 return_value = (max_energy * (1 + return_value) >> 3);
120 if (return_value > 320)
185 static n_byte food_eat_land(
192 n_int grass, trees, bush;
196 food_values(local_land, loc_x,loc_y,&grass, &trees, &bush);
199 if ((grass > bush) && (grass > trees))
226 static n_byte food_intertidal(
233 n_int seaweed, rockpool, beach;
253 if ((seaweed > rockpool) && (seaweed > beach))
260 if (rockpool > beach)
293 *food_type = food_eat_land(local_land, loc_x, loc_y, &max_energy);
298 *food_type = food_intertidal(local_land, loc_x, loc_y, &max_energy);