void game::init_mutations() { int id = 0; // Set all post-PF_MAX to valid for (int i = PF_MAX + 1; i < PF_MAX2; i++) mutation_data[i].valid = true; mutation_data[PF_MARLOSS].valid = false; // Never valid! MUTATION(PF_FLEET); CANCELS (PF_PONDEROUS1, PF_PONDEROUS2, PF_PONDEROUS3); CHANGES_TO (PF_FLEET2); MUTATION(PF_FLEET2); PREREQS (PF_FLEET); CANCELS (PF_PONDEROUS1, PF_PONDEROUS2, PF_PONDEROUS3); MUTATION(PF_FASTHEALER); CANCELS (PF_ROT1, PF_ROT2, PF_ROT3); CHANGES_TO (PF_FASTHEALER2); MUTATION(PF_LIGHTEATER); MUTATION(PF_NIGHTVISION); CHANGES_TO (PF_NIGHTVISION2); MUTATION(PF_POISRESIST); MUTATION(PF_THICKSKIN); MUTATION(PF_DEFT); MUTATION(PF_ANIMALEMPATH); MUTATION(PF_TERRIFYING); MUTATION(PF_DISRESISTANT); CHANGES_TO (PF_DISIMMUNE); MUTATION(PF_ROBUST); MUTATION(PF_ADRENALINE); MUTATION(PF_MYOPIC); MUTATION(PF_HEAVYSLEEPER); MUTATION(PF_LIGHTWEIGHT); MUTATION(PF_SMELLY); CHANGES_TO (PF_SMELLY2); MUTATION(PF_WEAKSTOMACH); CHANGES_TO (PF_NAUSEA); MUTATION(PF_UGLY); CHANGES_TO (PF_DEFORMED); MUTATION(PF_SKIN_SMOOTH); CANCELS (PF_SKIN_ROUGH); // Mutation-only traits start here MUTATION(PF_HOOVES); CANCELS (PF_PADDED_FEET); MUTATION(PF_SKIN_ROUGH); CHANGES_TO (PF_SCALES, PF_FEATHERS, PF_LIGHTFUR, PF_CHITIN, PF_PLANTSKIN); CANCELS (PF_SKIN_SMOOTH); MUTATION(PF_NIGHTVISION2); PREREQS (PF_NIGHTVISION); CHANGES_TO (PF_NIGHTVISION3); MUTATION(PF_NIGHTVISION3); PREREQS (PF_NIGHTVISION2); LEADS_TO (PF_INFRARED); MUTATION(PF_FASTHEALER2); CANCELS (PF_ROT1, PF_ROT2, PF_ROT3); PREREQS (PF_FASTHEALER); CHANGES_TO (PF_REGEN); MUTATION(PF_REGEN); CANCELS (PF_ROT1, PF_ROT2, PF_ROT3); PREREQS (PF_FASTHEALER2); MUTATION(PF_FANGS); CANCELS (PF_BEAK); CHANGES_TO (PF_TUSKS); MUTATION(PF_MEMBRANE); PREREQS (PF_EYEBULGE); MUTATION(PF_SCALES); PREREQS (PF_SKIN_ROUGH); CHANGES_TO (PF_THICK_SCALES, PF_SLEEK_SCALES, PF_CHAMELEON_SCALES); MUTATION(PF_THICK_SCALES); PREREQS (PF_SCALES); CANCELS (PF_SLEEK_SCALES, PF_CHAMELEON_SCALES, PF_FEATHERS); MUTATION(PF_SLEEK_SCALES); PREREQS (PF_SCALES); CANCELS (PF_THICK_SCALES, PF_CHAMELEON_SCALES, PF_FEATHERS); MUTATION(PF_CHAMELEON_SCALES); PREREQS (PF_SCALES); CANCELS (PF_THICK_SCALES, PF_SLEEK_SCALES, PF_FEATHERS); MUTATION(PF_LIGHT_BONES); CHANGES_TO (PF_HOLLOW_BONES); MUTATION(PF_FEATHERS); PREREQS (PF_SKIN_ROUGH); CANCELS(PF_THICK_SCALES, PF_SLEEK_SCALES, PF_CHAMELEON_SCALES); MUTATION(PF_LIGHTFUR); PREREQS (PF_SKIN_ROUGH); CHANGES_TO (PF_FUR); MUTATION(PF_FUR); PREREQS (PF_LIGHTFUR); MUTATION(PF_CHITIN); CHANGES_TO (PF_CHITIN2); MUTATION(PF_CHITIN2); PREREQS (PF_CHITIN); CHANGES_TO (PF_CHITIN3); MUTATION(PF_CHITIN3); PREREQS (PF_CHITIN2); MUTATION(PF_SPINES); PREREQS (PF_SKIN_ROUGH); CHANGES_TO (PF_QUILLS); MUTATION (PF_QUILLS); PREREQS (PF_SPINES); MUTATION (PF_PLANTSKIN); CHANGES_TO (PF_BARK); LEADS_TO (PF_THORNS, PF_LEAVES); MUTATION(PF_BARK); PREREQS (PF_PLANTSKIN); MUTATION(PF_THORNS); PREREQS (PF_PLANTSKIN, PF_BARK); MUTATION(PF_LEAVES); PREREQS (PF_PLANTSKIN, PF_BARK); MUTATION(PF_NAILS); CHANGES_TO (PF_CLAWS, PF_TALONS); MUTATION(PF_CLAWS); PREREQS (PF_NAILS); CANCELS (PF_TALONS); MUTATION(PF_TALONS); PREREQS (PF_NAILS); CANCELS (PF_CLAWS); MUTATION(PF_PHEROMONE_INSECT); PREREQS (PF_SMELLY2); CANCELS (PF_PHEROMONE_MAMMAL); MUTATION(PF_PHEROMONE_MAMMAL); PREREQS (PF_SMELLY2); CANCELS (PF_PHEROMONE_INSECT); MUTATION(PF_DISIMMUNE); PREREQS (PF_DISRESISTANT); MUTATION(PF_POISONOUS); PREREQS (PF_POISRESIST); MUTATION(PF_SLIME_HANDS); PREREQS (PF_SLIMY); LEADS_TO (PF_ACID_RESIST); MUTATION(PF_COMPOUND_EYES); PREREQS (PF_EYEBULGE); CANCELS (PF_CROSSEYED); MUTATION(PF_PADDED_FEET); CANCELS (PF_HOOVES); MUTATION(PF_HOOVES); CANCELS (PF_PADDED_FEET); MUTATION(PF_SAPROVORE); PREREQS (PF_CARNIVORE); CANCELS (PF_HERBIVORE, PF_RUMINANT); MUTATION(PF_RUMINANT); PREREQS (PF_HERBIVORE); CANCELS (PF_CARNIVORE, PF_SAPROVORE); MUTATION(PF_HORNS); PREREQS (PF_HEADBUMPS); CANCELS (PF_ANTENNAE); CHANGES_TO (PF_HORNS_CURLED, PF_HORNS_POINTED, PF_ANTLERS); MUTATION(PF_HORNS_CURLED); PREREQS (PF_HORNS); CANCELS (PF_ANTENNAE, PF_HORNS_POINTED, PF_ANTLERS); MUTATION(PF_HORNS_POINTED); PREREQS (PF_HORNS); CANCELS (PF_ANTENNAE, PF_HORNS_CURLED, PF_ANTLERS); MUTATION(PF_ANTLERS); PREREQS (PF_HORNS); CANCELS (PF_ANTENNAE, PF_HORNS_CURLED, PF_HORNS_POINTED); MUTATION(PF_ANTENNAE); PREREQS (PF_HEADBUMPS); CANCELS (PF_HORNS, PF_HORNS_CURLED, PF_HORNS_POINTED, PF_ANTLERS); MUTATION(PF_TAIL_STUB); CHANGES_TO (PF_TAIL_LONG, PF_TAIL_FIN); MUTATION(PF_TAIL_FIN); PREREQS (PF_TAIL_STUB); CANCELS (PF_TAIL_LONG, PF_TAIL_FLUFFY, PF_TAIL_STING, PF_TAIL_CLUB); LEADS_TO (PF_FIN_DORSAL); MUTATION(PF_TAIL_LONG); PREREQS (PF_TAIL_STUB); CANCELS (PF_TAIL_FIN); CHANGES_TO (PF_TAIL_FLUFFY, PF_TAIL_STING, PF_TAIL_CLUB); MUTATION(PF_TAIL_FLUFFY); PREREQS (PF_TAIL_LONG); CANCELS (PF_TAIL_STING, PF_TAIL_CLUB, PF_TAIL_FIN); MUTATION(PF_TAIL_STING); PREREQS (PF_TAIL_LONG); CANCELS (PF_TAIL_FLUFFY, PF_TAIL_CLUB, PF_TAIL_FIN); MUTATION(PF_TAIL_CLUB); PREREQS (PF_TAIL_LONG); CANCELS (PF_TAIL_FLUFFY, PF_TAIL_STING, PF_TAIL_FIN); MUTATION(PF_PAINREC1); CHANGES_TO (PF_PAINREC2); MUTATION(PF_PAINREC2); PREREQS (PF_PAINREC1); CHANGES_TO (PF_PAINREC3); MUTATION(PF_PAINREC3); PREREQS (PF_PAINREC2); MUTATION(PF_MOUTH_TENTACLES); PREREQS (PF_MOUTH_FLAPS); CANCELS (PF_MANDIBLES); MUTATION(PF_MANDIBLES); PREREQS (PF_MOUTH_FLAPS); CANCELS (PF_BEAK, PF_FANGS, PF_MOUTH_TENTACLES); MUTATION(PF_WEB_WALKER); LEADS_TO (PF_WEB_WEAVER); MUTATION(PF_WEB_WEAVER); PREREQS (PF_WEB_WALKER); CANCELS (PF_SLIMY); MUTATION(PF_EYE_STALKS); PREREQS (PF_EYEBULGE); MUTATION(PF_TUSKS); PREREQS (PF_FANGS); CANCELS (PF_MANDIBLES, PF_MOUTH_TENTACLES, PF_BEAK); MUTATION(PF_EYES_4); PREREQS (PF_EYEBULGE); CANCELS (PF_CROSSEYED); CHANGES_TO (PF_EYES_6); MUTATION(PF_EYES_6); PREREQS (PF_EYEBULGE, PF_EYES_4); CANCELS (PF_CROSSEYED); CHANGES_TO (PF_EYES_8); MUTATION(PF_EYES_8); PREREQS (PF_EYEBULGE, PF_EYES_6); CANCELS (PF_CROSSEYED); MUTATION(PF_FIN_DORSAL); PREREQS (PF_TAIL_FIN); CANCELS (PF_SHELL); MUTATION(PF_ACID_TRAIL); PREREQS (PF_SLIMY, PF_ACID_IMMUNE); MUTATION(PF_CANINE_EARS); CANCELS (PF_EAR_HOLES); // Bad mutations below this point MUTATION(PF_HEADBUMPS); CHANGES_TO (PF_HORNS, PF_ANTENNAE); MUTATION(PF_EYEBULGE); LEADS_TO (PF_MEMBRANE); CHANGES_TO (PF_COMPOUND_EYES ,PF_EYE_STALKS); MUTATION(PF_PALE); CHANGES_TO (PF_ALBINO); LEADS_TO (PF_TROGLO); MUTATION(PF_SPOTS); CHANGES_TO (PF_SORES); MUTATION(PF_SMELLY2); PREREQS (PF_SMELLY); LEADS_TO (PF_PHEROMONE_INSECT, PF_PHEROMONE_MAMMAL); MUTATION(PF_DEFORMED); PREREQS (PF_UGLY); CHANGES_TO (PF_DEFORMED2); MUTATION(PF_DEFORMED2); PREREQS (PF_DEFORMED); CHANGES_TO (PF_DEFORMED3); MUTATION(PF_DEFORMED3); PREREQS (PF_DEFORMED2); MUTATION(PF_HOLLOW_BONES); PREREQS (PF_LIGHT_BONES); MUTATION(PF_NAUSEA); PREREQS (PF_WEAKSTOMACH); CHANGES_TO (PF_VOMITOUS); MUTATION(PF_VOMITOUS); PREREQS (PF_NAUSEA); MUTATION(PF_ROT1); CANCELS (PF_FASTHEALER, PF_FASTHEALER2, PF_REGEN); CHANGES_TO (PF_ROT2); MUTATION(PF_ROT2); CANCELS (PF_FASTHEALER, PF_FASTHEALER2, PF_REGEN); PREREQS (PF_ROT1); CHANGES_TO (PF_ROT3); MUTATION(PF_ROT3); CANCELS (PF_FASTHEALER, PF_FASTHEALER2, PF_REGEN); PREREQS (PF_ROT2); MUTATION(PF_ALBINO); PREREQS (PF_PALE); MUTATION(PF_SORES); PREREQS (PF_SPOTS); MUTATION(PF_TROGLO); CANCELS (PF_SUNLIGHT_DEPENDANT); CHANGES_TO (PF_TROGLO2); MUTATION(PF_TROGLO2); CANCELS (PF_SUNLIGHT_DEPENDANT); PREREQS (PF_TROGLO); CHANGES_TO (PF_TROGLO3); MUTATION(PF_TROGLO3); CANCELS (PF_SUNLIGHT_DEPENDANT); PREREQS (PF_TROGLO2); MUTATION(PF_BEAK); CANCELS (PF_FANGS, PF_MANDIBLES); MUTATION(PF_RADIOACTIVE1); CHANGES_TO (PF_RADIOACTIVE2); MUTATION(PF_RADIOACTIVE2); PREREQS (PF_RADIOACTIVE1); CHANGES_TO (PF_RADIOACTIVE3); MUTATION(PF_RADIOACTIVE3); PREREQS (PF_RADIOACTIVE2); MUTATION(PF_SLIMY); LEADS_TO (PF_SLIME_HANDS); MUTATION(PF_CARNIVORE); CANCELS (PF_HERBIVORE, PF_RUMINANT); LEADS_TO (PF_SAPROVORE); MUTATION(PF_HERBIVORE); CANCELS (PF_CARNIVORE, PF_SAPROVORE); LEADS_TO (PF_RUMINANT); MUTATION(PF_PONDEROUS1); CANCELS (PF_FLEET, PF_FLEET2); CHANGES_TO (PF_PONDEROUS2); MUTATION(PF_PONDEROUS2); CANCELS (PF_FLEET, PF_FLEET2); PREREQS (PF_PONDEROUS1); CHANGES_TO (PF_PONDEROUS3); MUTATION(PF_PONDEROUS3); CANCELS (PF_FLEET, PF_FLEET2); PREREQS (PF_PONDEROUS2); MUTATION(PF_SUNLIGHT_DEPENDANT); CANCELS (PF_TROGLO, PF_TROGLO2, PF_TROGLO3); MUTATION(PF_GROWL); CHANGES_TO (PF_SNARL); MUTATION(PF_SNARL); PREREQS (PF_GROWL); MUTATION(PF_COLDBLOOD); CHANGES_TO (PF_COLDBLOOD2); MUTATION(PF_COLDBLOOD2); PREREQS (PF_COLDBLOOD); CHANGES_TO (PF_COLDBLOOD3); MUTATION(PF_COLDBLOOD3); PREREQS (PF_COLDBLOOD2); MUTATION(PF_SHOUT1); CHANGES_TO (PF_SHOUT2); MUTATION(PF_SHOUT2); PREREQS (PF_SHOUT1); CHANGES_TO (PF_SHOUT3); MUTATION(PF_SHOUT3); PREREQS (PF_SHOUT2); MUTATION(PF_WINGS_STUB); CHANGES_TO (PF_WINGS_BIRD, PF_WINGS_BAT, PF_WINGS_INSECT); MUTATION(PF_WINGS_BIRD); PREREQS (PF_WINGS_STUB); CANCELS (PF_WINGS_BAT, PF_WINGS_INSECT); MUTATION(PF_WINGS_BAT); PREREQS (PF_WINGS_STUB); CANCELS (PF_WINGS_BIRD, PF_WINGS_INSECT); MUTATION(PF_WINGS_INSECT); PREREQS (PF_WINGS_STUB); CANCELS (PF_WINGS_BIRD, PF_WINGS_BAT); MUTATION(PF_ARM_TENTACLES); CHANGES_TO (PF_ARM_TENTACLES_4); MUTATION(PF_ARM_TENTACLES_4); PREREQS (PF_ARM_TENTACLES); CHANGES_TO (PF_ARM_TENTACLES_8); MUTATION(PF_ARM_TENTACLES_8); PREREQS (PF_ARM_TENTACLES_4); MUTATION(PF_PINCERS); PREREQS(PF_CHITIN2); MUTATION(PF_SHELL); PREREQS (PF_CHITIN); CANCELS (PF_CHITIN3); CANCELS (PF_FIN_DORSAL); MUTATION(PF_CROSSEYED); CANCELS (PF_COMPOUND_EYES, PF_EYES_4, PF_EYES_6, PF_EYES_8, PF_EYE_STALKS); MUTATION(PF_EAR_HOLES); CANCELS (PF_CANINE_EARS); MUTATION(PF_ACID_RESIST); CHANGES_TO (PF_ACID_IMMUNE); MUTATION(PF_ACID_IMMUNE); LEADS_TO (PF_ACID_TRAIL); }
void game::init_mutations() { int id = 0; MUTATION(PF_NULL); VALID(false); MUTATION(PF_FLEET); VALID(true); CANCELS (PF_PONDEROUS1, PF_PONDEROUS2, PF_PONDEROUS3); CHANGES_TO (PF_FLEET2); MUTATION(PF_PARKOUR); VALID(false); MUTATION(PF_QUICK); VALID(true); MUTATION(PF_OPTIMISTIC); VALID(false); MUTATION(PF_FASTHEALER); VALID(true); CANCELS (PF_ROT1, PF_ROT2, PF_ROT3); CHANGES_TO (PF_FASTHEALER2); MUTATION(PF_LIGHTEATER); VALID(true); MUTATION(PF_PAINRESIST); VALID(false); MUTATION(PF_NIGHTVISION); VALID(true); CHANGES_TO (PF_NIGHTVISION2); MUTATION(PF_POISRESIST); VALID(true); MUTATION(PF_FASTREADER); VALID(false); MUTATION(PF_TOUGH); VALID(false); MUTATION(PF_THICKSKIN); VALID(true); MUTATION(PF_PACKMULE); VALID(false); MUTATION(PF_FASTLEARNER); VALID(false); MUTATION(PF_DEFT); VALID(true); MUTATION(PF_DRUNKEN); VALID(false); MUTATION(PF_GOURMAND); VALID(false); MUTATION(PF_ANIMALEMPATH); VALID(true); MUTATION(PF_TERRIFYING); VALID(true); MUTATION(PF_DISRESISTANT); VALID(true); CHANGES_TO (PF_DISIMMUNE); MUTATION(PF_ADRENALINE); VALID(true); MUTATION(PF_SELFAWARE); VALID(false); MUTATION(PF_INCONSPICUOUS); VALID(false); MUTATION(PF_MASOCHIST); VALID(false); MUTATION(PF_LIGHTSTEP); VALID(true); MUTATION(PF_ANDROID); VALID(false); MUTATION(PF_ROBUST); VALID(true); MUTATION(PF_CANNIBAL); VALID(false); MUTATION(PF_MARTIAL_ARTS); VALID(false); MUTATION(PF_MARTIAL_ARTS2); VALID(false); MUTATION(PF_MARTIAL_ARTS3); VALID(false); MUTATION(PF_MARTIAL_ARTS4); VALID(false); MUTATION(PF_LIAR); VALID(true); CANCELS (PF_TRUTHTELLER); MUTATION(PF_PRETTY); VALID(true); CANCELS (PF_UGLY, PF_DEFORMED, PF_DEFORMED2, PF_DEFORMED3); CHANGES_TO (PF_BEAUTIFUL); MUTATION(PF_SPLIT); // Null trait VALID(false); // Negative start traits begin here MUTATION(PF_MYOPIC); VALID(true); MUTATION(PF_HYPEROPIC); VALID(false); MUTATION(PF_HEAVYSLEEPER); VALID(true); MUTATION(PF_ASTHMA); VALID(false); MUTATION(PF_BADBACK); VALID(true); MUTATION(PF_ILLITERATE); VALID(false); MUTATION(PF_BADHEARING); VALID(true); MUTATION(PF_INSOMNIA); VALID(false); MUTATION(PF_VEGETARIAN); VALID(false); MUTATION(PF_GLASSJAW); VALID(true); MUTATION(PF_FORGETFUL); VALID(true); MUTATION(PF_LIGHTWEIGHT); VALID(true); MUTATION(PF_ADDICTIVE); VALID(false); MUTATION(PF_TRIGGERHAPPY); VALID(false); MUTATION(PF_SMELLY); VALID(true); CHANGES_TO (PF_SMELLY2); MUTATION(PF_CHEMIMBALANCE); VALID(true); MUTATION(PF_SCHIZOPHRENIC); VALID(false); MUTATION(PF_JITTERY); VALID(false); MUTATION(PF_HOARDER); VALID(false); MUTATION(PF_SAVANT); VALID(false); MUTATION(PF_MOODSWINGS); VALID(false); MUTATION(PF_WEAKSTOMACH); VALID(true); CHANGES_TO (PF_NAUSEA); MUTATION(PF_WOOLALLERGY); VALID(true); MUTATION(PF_TRUTHTELLER); VALID(true); CANCELS (PF_LIAR); MUTATION(PF_UGLY); VALID(true); CANCELS (PF_PRETTY, PF_BEAUTIFUL, PF_BEAUTIFUL2, PF_BEAUTIFUL3); CHANGES_TO (PF_DEFORMED); MUTATION(PF_HARDCORE); VALID(false); MUTATION(PF_MAX); //Null trait VALID(false); // Mutation-only traits start here MUTATION(PF_SKIN_ROUGH); VALID(true); CHANGES_TO (PF_SCALES, PF_FEATHERS, PF_LIGHTFUR, PF_CHITIN, PF_PLANTSKIN); MUTATION(PF_NIGHTVISION2); VALID(true); PREREQS (PF_NIGHTVISION); CHANGES_TO (PF_NIGHTVISION3); MUTATION(PF_NIGHTVISION3); VALID(true); PREREQS (PF_NIGHTVISION2); LEADS_TO (PF_INFRARED); MUTATION(PF_INFRARED); VALID(true); PREREQS (PF_NIGHTVISION3); MUTATION(PF_FASTHEALER2); VALID(true); CANCELS (PF_ROT1, PF_ROT2, PF_ROT3); PREREQS (PF_FASTHEALER); CHANGES_TO (PF_REGEN); MUTATION(PF_REGEN); VALID(true); CANCELS (PF_ROT1, PF_ROT2, PF_ROT3); PREREQS (PF_FASTHEALER2); MUTATION(PF_FANGS); VALID(true); CANCELS (PF_BEAK); MUTATION(PF_MEMBRANE); VALID(true); PREREQS (PF_EYEBULGE); MUTATION(PF_GILLS); VALID(true); MUTATION(PF_SCALES); VALID(true); PREREQS (PF_SKIN_ROUGH); CHANGES_TO (PF_THICK_SCALES, PF_SLEEK_SCALES); MUTATION(PF_THICK_SCALES); VALID(true); PREREQS (PF_SCALES); CANCELS (PF_SLEEK_SCALES, PF_FEATHERS); MUTATION(PF_SLEEK_SCALES); VALID(true); PREREQS (PF_SCALES); CANCELS (PF_THICK_SCALES, PF_FEATHERS); MUTATION(PF_LIGHT_BONES); VALID(true); CHANGES_TO (PF_HOLLOW_BONES); MUTATION(PF_FEATHERS); VALID(true); PREREQS (PF_SKIN_ROUGH); CANCELS(PF_THICK_SCALES, PF_SLEEK_SCALES); MUTATION(PF_LIGHTFUR); VALID(true); PREREQS (PF_SKIN_ROUGH); CANCELS (PF_SCALES, PF_FEATHERS, PF_CHITIN, PF_PLANTSKIN); CHANGES_TO (PF_FUR); MUTATION(PF_FUR); VALID(true); CANCELS (PF_SCALES, PF_FEATHERS, PF_CHITIN, PF_PLANTSKIN); PREREQS (PF_LIGHTFUR); MUTATION(PF_CHITIN); VALID(true); PREREQS (PF_SKIN_ROUGH); CANCELS (PF_SCALES, PF_FEATHERS, PF_LIGHTFUR, PF_PLANTSKIN); CHANGES_TO (PF_CHITIN2); MUTATION(PF_CHITIN2); VALID(true); PREREQS (PF_CHITIN); CHANGES_TO (PF_CHITIN3); MUTATION(PF_CHITIN3); VALID(true); PREREQS (PF_CHITIN2); MUTATION(PF_SPINES); VALID(true); CHANGES_TO (PF_QUILLS); MUTATION (PF_QUILLS); VALID(true); PREREQS (PF_SPINES); MUTATION (PF_PLANTSKIN); VALID(true); CANCELS (PF_FEATHERS, PF_LIGHTFUR, PF_FUR, PF_CHITIN, PF_CHITIN2, PF_CHITIN3, PF_SCALES); CHANGES_TO (PF_BARK); LEADS_TO (PF_THORNS, PF_LEAVES); MUTATION(PF_BARK); VALID(true); PREREQS (PF_PLANTSKIN); MUTATION(PF_THORNS); VALID(true); PREREQS (PF_PLANTSKIN, PF_BARK); MUTATION(PF_LEAVES); VALID(true); PREREQS (PF_PLANTSKIN, PF_BARK); MUTATION(PF_NAILS); VALID(true); CHANGES_TO (PF_CLAWS, PF_TALONS); MUTATION(PF_CLAWS); VALID(true); PREREQS (PF_NAILS); CANCELS (PF_TALONS); MUTATION(PF_TALONS); VALID(true); PREREQS (PF_NAILS); CANCELS (PF_CLAWS); MUTATION(PF_RADIOGENIC); VALID(true); MUTATION(PF_MARLOSS); VALID(false); MUTATION(PF_PHEROMONE_INSECT); VALID(true); PREREQS (PF_SMELLY2); CANCELS (PF_PHEROMONE_MAMMAL); MUTATION(PF_PHEROMONE_MAMMAL); VALID(true); PREREQS (PF_SMELLY2); CANCELS (PF_PHEROMONE_INSECT); MUTATION(PF_DISIMMUNE); VALID(true); PREREQS (PF_DISRESISTANT); MUTATION(PF_POISONOUS); VALID(true); PREREQS (PF_POISRESIST); MUTATION(PF_SLIME_HANDS); VALID(true); PREREQS (PF_SLIMY); MUTATION(PF_COMPOUND_EYES); VALID(true); PREREQS (PF_EYEBULGE); MUTATION(PF_PADDED_FEET); VALID(true); CANCELS (PF_HOOVES, PF_LEG_TENTACLES); MUTATION(PF_HOOVES); VALID(true); CANCELS (PF_PADDED_FEET, PF_LEG_TENTACLES); MUTATION(PF_SAPROVORE); VALID(true); PREREQS (PF_CARNIVORE); CANCELS (PF_HERBIVORE, PF_RUMINANT); MUTATION(PF_RUMINANT); VALID(true); PREREQS (PF_HERBIVORE); CANCELS (PF_CARNIVORE, PF_SAPROVORE); MUTATION(PF_HORNS); VALID(true); PREREQS (PF_HEADBUMPS); CANCELS (PF_ANTENNAE); CHANGES_TO (PF_HORNS_CURLED, PF_HORNS_POINTED, PF_ANTLERS); MUTATION(PF_HORNS_CURLED); VALID(true); PREREQS (PF_HORNS); CANCELS (PF_ANTENNAE, PF_HORNS_POINTED, PF_ANTLERS); MUTATION(PF_HORNS_POINTED); VALID(true); PREREQS (PF_HORNS); CANCELS (PF_ANTENNAE, PF_HORNS_CURLED, PF_ANTLERS); MUTATION(PF_ANTLERS); VALID(true); PREREQS (PF_HORNS); CANCELS (PF_ANTENNAE, PF_HORNS_CURLED, PF_HORNS_POINTED); MUTATION(PF_ANTENNAE); VALID(true); PREREQS (PF_HEADBUMPS); CANCELS (PF_HORNS, PF_HORNS_CURLED, PF_HORNS_POINTED, PF_ANTLERS); MUTATION(PF_FLEET2); VALID(true); PREREQS (PF_FLEET); CANCELS (PF_PONDEROUS1, PF_PONDEROUS2, PF_PONDEROUS3); MUTATION(PF_TAIL_STUB); VALID(true); CHANGES_TO (PF_TAIL_LONG, PF_TAIL_FIN); MUTATION(PF_TAIL_FIN); VALID(true); PREREQS (PF_TAIL_STUB); CANCELS (PF_TAIL_LONG, PF_TAIL_FLUFFY, PF_TAIL_STING, PF_TAIL_CLUB); MUTATION(PF_TAIL_LONG); VALID(true); PREREQS (PF_TAIL_STUB); CANCELS (PF_TAIL_FIN); CHANGES_TO (PF_TAIL_FLUFFY, PF_TAIL_STING, PF_TAIL_CLUB); MUTATION(PF_TAIL_FLUFFY); VALID(true); PREREQS (PF_TAIL_LONG); CANCELS (PF_TAIL_STING, PF_TAIL_CLUB, PF_TAIL_FIN); MUTATION(PF_TAIL_STING); VALID(true); PREREQS (PF_TAIL_LONG); CANCELS (PF_TAIL_FLUFFY, PF_TAIL_CLUB, PF_TAIL_FIN); MUTATION(PF_TAIL_CLUB); VALID(true); PREREQS (PF_TAIL_LONG); CANCELS (PF_TAIL_FLUFFY, PF_TAIL_STING, PF_TAIL_FIN); MUTATION(PF_PAINREC1); VALID(true); CHANGES_TO (PF_PAINREC2); MUTATION(PF_PAINREC2); VALID(true); PREREQS (PF_PAINREC1); CHANGES_TO (PF_PAINREC3); MUTATION(PF_PAINREC3); VALID(true); PREREQS (PF_PAINREC2); MUTATION(PF_WINGS_BIRD); VALID(true); PREREQS (PF_WINGS_STUB); CANCELS (PF_WINGS_BAT, PF_WINGS_INSECT); MUTATION(PF_WINGS_INSECT); VALID(true); PREREQS (PF_WINGS_STUB); CANCELS (PF_WINGS_BIRD, PF_WINGS_BAT); MUTATION(PF_MOUTH_TENTACLES); VALID(true); PREREQS (PF_MOUTH_FLAPS); CANCELS (PF_MANDIBLES); MUTATION(PF_MANDIBLES); VALID(true); PREREQS (PF_MOUTH_FLAPS); CANCELS (PF_BEAK, PF_FANGS, PF_MOUTH_TENTACLES); MUTATION(PF_CANINE_EARS); VALID(true); MUTATION(PF_WEB_WALKER); VALID(true); LEADS_TO (PF_WEB_WEAVER); MUTATION(PF_WEB_WEAVER); VALID(true); PREREQS (PF_WEB_WALKER); CANCELS (PF_SLIMY); MUTATION(PF_WHISKERS); VALID(true); MUTATION(PF_STR_UP); VALID(true); CHANGES_TO (PF_STR_UP_2); MUTATION(PF_STR_UP_2); VALID(true); PREREQS (PF_STR_UP); CHANGES_TO (PF_STR_UP_3); MUTATION(PF_STR_UP_3); VALID(true); PREREQS (PF_STR_UP_2); CHANGES_TO (PF_STR_UP_4); MUTATION(PF_STR_UP_4); VALID(true); PREREQS (PF_STR_UP_3); MUTATION(PF_DEX_UP); VALID(true); CHANGES_TO (PF_DEX_UP_2); MUTATION(PF_DEX_UP_2); VALID(true); PREREQS (PF_DEX_UP); CHANGES_TO (PF_DEX_UP_3); MUTATION(PF_DEX_UP_3); VALID(true); PREREQS (PF_DEX_UP_2); CHANGES_TO (PF_DEX_UP_4); MUTATION(PF_DEX_UP_4); VALID(true); PREREQS (PF_DEX_UP_3); MUTATION(PF_INT_UP); VALID(true); CHANGES_TO (PF_INT_UP_2); MUTATION(PF_INT_UP_2); VALID(true); PREREQS (PF_INT_UP); CHANGES_TO (PF_INT_UP_3); MUTATION(PF_INT_UP_3); VALID(true); PREREQS (PF_INT_UP_2); CHANGES_TO (PF_INT_UP_4); MUTATION(PF_INT_UP_4); VALID(true); PREREQS (PF_INT_UP_3); MUTATION(PF_PER_UP); VALID(true); CHANGES_TO (PF_PER_UP_2); MUTATION(PF_PER_UP_2); VALID(true); PREREQS (PF_PER_UP); CHANGES_TO (PF_PER_UP_3); MUTATION(PF_PER_UP_3); VALID(true); PREREQS (PF_PER_UP_2); CHANGES_TO (PF_PER_UP_4); MUTATION(PF_PER_UP_4); VALID(true); PREREQS (PF_PER_UP_3); MUTATION(PF_BEAUTIFUL); VALID(true); CANCELS (PF_UGLY, PF_DEFORMED, PF_DEFORMED2, PF_DEFORMED3); PREREQS (PF_PRETTY); CHANGES_TO (PF_BEAUTIFUL2); MUTATION(PF_BEAUTIFUL2); VALID(true); CANCELS (PF_UGLY, PF_DEFORMED, PF_DEFORMED2, PF_DEFORMED3); PREREQS (PF_BEAUTIFUL); CHANGES_TO (PF_BEAUTIFUL3); MUTATION(PF_BEAUTIFUL3); VALID(true); CANCELS (PF_UGLY, PF_DEFORMED, PF_DEFORMED2, PF_DEFORMED3); PREREQS (PF_BEAUTIFUL2); // Bad mutations below this point MUTATION(PF_HEADBUMPS); VALID(true); CHANGES_TO (PF_HORNS, PF_ANTENNAE); MUTATION(PF_SLIT_NOSTRILS); VALID(true); MUTATION(PF_FORKED_TONGUE); VALID(true); MUTATION(PF_EYEBULGE); VALID(true); LEADS_TO (PF_MEMBRANE); CHANGES_TO (PF_COMPOUND_EYES); MUTATION(PF_MOUTH_FLAPS); VALID(true); LEADS_TO (PF_MOUTH_TENTACLES, PF_MANDIBLES); MUTATION(PF_WINGS_STUB); VALID(true); CHANGES_TO (PF_WINGS_BIRD, PF_WINGS_BAT, PF_WINGS_INSECT); MUTATION(PF_WINGS_BAT); VALID(true); PREREQS (PF_WINGS_STUB); CANCELS (PF_WINGS_BIRD, PF_WINGS_INSECT); MUTATION(PF_PALE); VALID(true); CHANGES_TO (PF_ALBINO); LEADS_TO (PF_TROGLO); MUTATION(PF_SPOTS); VALID(true); CHANGES_TO (PF_SORES); MUTATION(PF_SMELLY2); VALID(true); PREREQS (PF_SMELLY); LEADS_TO (PF_PHEROMONE_INSECT, PF_PHEROMONE_MAMMAL); MUTATION(PF_DEFORMED); VALID(true); CANCELS (PF_PRETTY, PF_BEAUTIFUL, PF_BEAUTIFUL2, PF_BEAUTIFUL3); PREREQS (PF_UGLY); CHANGES_TO (PF_DEFORMED2); MUTATION(PF_DEFORMED2); VALID(true); CANCELS (PF_PRETTY, PF_BEAUTIFUL, PF_BEAUTIFUL2, PF_BEAUTIFUL3); PREREQS (PF_DEFORMED); CHANGES_TO (PF_DEFORMED3); MUTATION(PF_DEFORMED3); VALID(true); CANCELS (PF_PRETTY, PF_BEAUTIFUL, PF_BEAUTIFUL2, PF_BEAUTIFUL3); PREREQS (PF_DEFORMED2); MUTATION(PF_HOLLOW_BONES); VALID(true); PREREQS (PF_LIGHT_BONES); MUTATION(PF_NAUSEA); VALID(true); PREREQS (PF_WEAKSTOMACH); CHANGES_TO (PF_VOMITOUS); MUTATION(PF_VOMITOUS); VALID(true); PREREQS (PF_NAUSEA); MUTATION(PF_HUNGER); VALID(true); MUTATION(PF_THIRST); VALID(true); MUTATION(PF_ROT1); VALID(true); CANCELS (PF_FASTHEALER, PF_FASTHEALER2, PF_REGEN); CHANGES_TO (PF_ROT2); MUTATION(PF_ROT2); VALID(true); CANCELS (PF_FASTHEALER, PF_FASTHEALER2, PF_REGEN); PREREQS (PF_ROT1); CHANGES_TO (PF_ROT3); MUTATION(PF_ROT3); VALID(true); CANCELS (PF_FASTHEALER, PF_FASTHEALER2, PF_REGEN); PREREQS (PF_ROT2); MUTATION(PF_ALBINO); VALID(true); PREREQS (PF_PALE); MUTATION(PF_SORES); VALID(true); PREREQS (PF_SPOTS); MUTATION(PF_TROGLO); VALID(true); CANCELS (PF_SUNLIGHT_DEPENDENT); CHANGES_TO (PF_TROGLO2); MUTATION(PF_TROGLO2); VALID(true); CANCELS (PF_SUNLIGHT_DEPENDENT); PREREQS (PF_TROGLO); CHANGES_TO (PF_TROGLO3); MUTATION(PF_TROGLO3); VALID(true); CANCELS (PF_SUNLIGHT_DEPENDENT); PREREQS (PF_TROGLO2); MUTATION(PF_WEBBED); VALID(true); MUTATION(PF_BEAK); VALID(true); CANCELS (PF_FANGS, PF_MANDIBLES); MUTATION(PF_UNSTABLE); VALID(true); MUTATION(PF_RADIOACTIVE1); VALID(true); CHANGES_TO (PF_RADIOACTIVE2); MUTATION(PF_RADIOACTIVE2); VALID(true); PREREQS (PF_RADIOACTIVE1); CHANGES_TO (PF_RADIOACTIVE3); MUTATION(PF_RADIOACTIVE3); VALID(true); PREREQS (PF_RADIOACTIVE2); MUTATION(PF_SLIMY); VALID(true); LEADS_TO (PF_SLIME_HANDS); MUTATION(PF_HERBIVORE); VALID(true); CANCELS (PF_CARNIVORE, PF_SAPROVORE); LEADS_TO (PF_RUMINANT); MUTATION(PF_CARNIVORE); VALID(true); CANCELS (PF_HERBIVORE, PF_RUMINANT); LEADS_TO (PF_SAPROVORE); MUTATION(PF_PONDEROUS1); VALID(true); CANCELS (PF_FLEET, PF_FLEET2); CHANGES_TO (PF_PONDEROUS2); MUTATION(PF_PONDEROUS2); VALID(true); CANCELS (PF_FLEET, PF_FLEET2); PREREQS (PF_PONDEROUS1); CHANGES_TO (PF_PONDEROUS3); MUTATION(PF_PONDEROUS3); VALID(true); CANCELS (PF_FLEET, PF_FLEET2); PREREQS (PF_PONDEROUS2); MUTATION(PF_SUNLIGHT_DEPENDENT); VALID(true); CANCELS (PF_TROGLO, PF_TROGLO2, PF_TROGLO3); MUTATION(PF_COLDBLOOD); VALID(true); CHANGES_TO (PF_COLDBLOOD2); MUTATION(PF_COLDBLOOD2); VALID(true); PREREQS (PF_COLDBLOOD); CHANGES_TO (PF_COLDBLOOD3); MUTATION(PF_COLDBLOOD3); VALID(true); PREREQS (PF_COLDBLOOD2); MUTATION(PF_GROWL); VALID(true); CHANGES_TO (PF_SNARL); MUTATION(PF_SNARL); VALID(true); PREREQS (PF_GROWL); MUTATION(PF_SHOUT1); VALID(true); CHANGES_TO (PF_SHOUT2); MUTATION(PF_SHOUT2); VALID(true); PREREQS (PF_SHOUT1); CHANGES_TO (PF_SHOUT3); MUTATION(PF_SHOUT3); VALID(true); PREREQS (PF_SHOUT2); MUTATION(PF_ARM_TENTACLES); VALID(true); CHANGES_TO (PF_ARM_TENTACLES_4); MUTATION(PF_ARM_TENTACLES_4); VALID(true); PREREQS (PF_ARM_TENTACLES); CHANGES_TO (PF_ARM_TENTACLES_8); MUTATION(PF_ARM_TENTACLES_8); VALID(true); PREREQS (PF_ARM_TENTACLES_4); MUTATION(PF_SHELL); VALID(true); PREREQS (PF_CHITIN); CANCELS (PF_CHITIN3); MUTATION(PF_LEG_TENTACLES); VALID(true); CANCELS (PF_PADDED_FEET, PF_HOOVES); MUTATION(PF_MAX2); //Null trait VALID(false); }