[Avida-SVN] r3557 - branches/parasites/source/main

zaman at myxo.css.msu.edu zaman at myxo.css.msu.edu
Tue Dec 15 14:39:52 PST 2009


Author: zaman
Date: 2009-12-15 17:39:52 -0500 (Tue, 15 Dec 2009)
New Revision: 3557

Modified:
   branches/parasites/source/main/cAvidaConfig.h
   branches/parasites/source/main/cPhenotype.cc
   branches/parasites/source/main/cPhenotype.h
   branches/parasites/source/main/cPopulation.cc
Log:
added option to kill host

Modified: branches/parasites/source/main/cAvidaConfig.h
===================================================================
--- branches/parasites/source/main/cAvidaConfig.h	2009-12-15 21:42:24 UTC (rev 3556)
+++ branches/parasites/source/main/cAvidaConfig.h	2009-12-15 22:39:52 UTC (rev 3557)
@@ -358,6 +358,7 @@
   
   
   CONFIG_ADD_VAR(INJECT_PROB_FROM_TASKS, int, 1, "Inject occurs based on probability from performing tasks");
+  CONFIG_ADD_VAR(INJECT_STERILIZES_HOST, int, 0, "Infection causes host steralization");
   CONFIG_ADD_VAR(INJECT_PROB_SIGMOID, int, 1, "Inject Probs follow a psuedo-sigmoid path - only works if task probs are turned on");
 	
   CONFIG_ADD_GROUP(RECOMBINATION_GROUP, "Sexual Recombination and Modularity");

Modified: branches/parasites/source/main/cPhenotype.cc
===================================================================
--- branches/parasites/source/main/cPhenotype.cc	2009-12-15 21:42:24 UTC (rev 3556)
+++ branches/parasites/source/main/cPhenotype.cc	2009-12-15 22:39:52 UTC (rev 3557)
@@ -1286,7 +1286,10 @@
   return true;
 }
 
-
+void cPhenotype::Sterilize()
+{
+  is_fertile = false;
+}
 void cPhenotype::PrintStatus(ostream& fp) const
 {
   fp << "  MeritBase:"

Modified: branches/parasites/source/main/cPhenotype.h
===================================================================
--- branches/parasites/source/main/cPhenotype.h	2009-12-15 21:42:24 UTC (rev 3556)
+++ branches/parasites/source/main/cPhenotype.h	2009-12-15 22:39:52 UTC (rev 3557)
@@ -276,6 +276,7 @@
 	
   bool OK();
 
+  void Sterilize();
   // Run when being setup *as* and offspring.
   void SetupOffspring(const cPhenotype & parent_phenotype, const cGenome & _genome);
 

Modified: branches/parasites/source/main/cPopulation.cc
===================================================================
--- branches/parasites/source/main/cPopulation.cc	2009-12-15 21:42:24 UTC (rev 3556)
+++ branches/parasites/source/main/cPopulation.cc	2009-12-15 22:39:52 UTC (rev 3557)
@@ -640,6 +640,10 @@
     child_genotype->AddParasite();
     child_cpu.ThreadSetOwner(child_genotype);
     m_world->GetClassificationManager().AdjustInjectGenotype(*child_genotype);
+	
+	if(m_world->GetConfig().INJECT_STERILIZES_HOST.Get())
+		target_organism->GetPhenotype().Sterilize();
+	
   }
   else
     return false;




More information about the Avida-cvs mailing list