[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