Skip to content

Commit

Permalink
Added new organelle for respirating iron, you can also add it in the …
Browse files Browse the repository at this point in the history
…editor, added process: Iron CHemolithotrophy
  • Loading branch information
Untrustedlife authored and hhyyrylainen committed Feb 15, 2019
1 parent a803c90 commit cded168
Show file tree
Hide file tree
Showing 7 changed files with 85 additions and 1 deletion.
13 changes: 13 additions & 0 deletions scripts/SimulationParameters/MicrobeStage/BioProcesses.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,5 +110,18 @@
"outputs": {
"glucose": 0.33
}
},

"iron_chemolithoautotrophy": {
"name": "Iron Chemolithoautotrophy",

"inputs": {
"carbondioxide": 0.09,
"iron": 1.0
},

"outputs": {
"atp": 10.0
}
}
}
4 changes: 4 additions & 0 deletions scripts/gui/microbe_editor.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ const organelleSelectionElements = [
element: document.getElementById("addChemoSynthisizingProteins"),
organelle: "chemoSynthisizingProteins"
},
{
element: document.getElementById("addRusticyanin"),
organelle: "rusticyanin"
},
{
element: document.getElementById("addFlagellum"),
organelle: "flagellum"
Expand Down
28 changes: 28 additions & 0 deletions scripts/gui/thrive_gui.html
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,34 @@
<div id="ToxinVacuoleIcon"></div>Toxin Vacuole<br>70 MP</td>
<td id="addBioluminescent" class="OrganelleListItem DisabledButton">
<div id="BioluminescentIcon"></div>Bioluminescent Vacuole<br>N/A MP</td>
<td id="addChromatophor" class="OrganelleListItem">
<span class="tooltiptext">
Chromatophores <hr><br> Cost: 25 mutation points <hr><br>
Performs Process: Chromatophore Photosynthesis<br>(0.09 CO2 -> 0.33 glucose)/Second (Depending On Environmental C02)<br>
Performs Process: Glycolysis<br>(0.125 glucose -> 5 ATP)/Second (Depending On Environmental C02)<hr><br>
Storage Space: 10<hr><br>
Coloured, membrane-associated vesicles used by various prokaryotes perform photosynthesis.
Chromatophores contain bacteriochlorophyll pigments and carotenoids.</span>
<div id="ChromatophorIcon"></div>Chromatophores<br>25 MP</td>
<td id="addChemoSynthisizingProteins" class="OrganelleListItem">
<span class="tooltiptext">
ChemosynthisizingProteins <hr><br> Cost: 20 mutation points <hr><br>
Performs Process: Bacterial Chemosynthesis<br>(1 CO2 + 1 Hydrogen Sulfide -> 1 Glucose)/Second (Depending On Environmental C02)<br>
Performs Process: Glycolysis<br>(0.125 glucose -> 5 ATP)/Second<hr><br>
Storage Space: 20<hr><br>
Small membrane-associated structures that convert the noxious soup containing hydrogen
sulfide from hydrothermal vents into usable energy in the form of glucose.</span>
<div id="ChemosynthisizingProteinsIcon"></div>Chemosynthisizing Proteins<br>20 MP</td> </tr>
<tr>
<td id="addRusticyanin" class="OrganelleListItem">
<span class="tooltiptext">
Rusticyanin <hr><br> Cost: 20 mutation points <hr><br>
Performs Process: Iron Chemolithotrophy<br>(0.09 CO2 + 1 Iron Ion -> 10 ATP)/Second (Depending On Environmental C02)<br>
Storage Space: 5<hr><br>
Siderophores and Rusticyanin for storing and using iron ions and carbon from atmospheric carbon dioxide to produce ATP.
Iron Chemolithotrophy is a process by which organisms obtain their energy from the oxidation of reduced inorganic ions.
</span>
<div id="RusticyaninIcon"></div>Rusticyanin<br>20 MP</td>
</tr></table>
</div>
</div>
Expand Down
9 changes: 9 additions & 0 deletions scripts/gui/thrive_style.css
Original file line number Diff line number Diff line change
Expand Up @@ -1266,6 +1266,15 @@ video {
background-image: url("../../Textures/gui/bevel/ChemoproteinsIcon.png");
}

#RusticyaninIcon {
position: relative;
left: calc(50% - 30px);
width: 60px;
height: 60px;
background-size: contain;
background-image: url("../../Textures/gui/bevel/ChemoproteinsIcon.png");
}

#PilusIcon {
position: relative;
left: calc(50% - 30px);
Expand Down
1 change: 1 addition & 0 deletions scripts/microbe_stage/microbe_editor/microbe_editor.as
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ class MicrobeEditor{
{"chromatophors", PlacementFunctionType(this.addOrganelle)},
{"metabolosome", PlacementFunctionType(this.addOrganelle)},
{"chemoSynthisizingProteins", PlacementFunctionType(this.addOrganelle)},
{"rusticyanin", PlacementFunctionType(this.addOrganelle)},
{"remove", PlacementFunctionType(this.removeOrganelle)}
};
}
Expand Down
25 changes: 25 additions & 0 deletions scripts/microbe_stage/organelle_table.as
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,31 @@ void setupOrganelles(){

_addOrganelleToTable(Organelle(nitrogenFixationProtein));

// Rusticyanin
auto rusticyanin = OrganelleParameters("rusticyanin");

rusticyanin.mass = 0.1;
rusticyanin.gene = "f";
rusticyanin.mesh = "chemoproteins.mesh";
rusticyanin.chanceToCreate = 0.5f;
rusticyanin.prokaryoteChance = 1;
rusticyanin.mpCost = 20;
rusticyanin.initialComposition = {
{"phosphates", 1},
{"ammonia", 1}
};
rusticyanin.components = {
processorOrganelleFactory(1.0f),
storageOrganelleFactory(5.0f)
};
rusticyanin.processes = {
TweakedProcess("iron_chemolithoautotrophy", 1)
};
rusticyanin.hexes = {
Int2(0, 0),
};

_addOrganelleToTable(Organelle(rusticyanin));
// ------------------------------------ //
// Setup the organelle letters
setupOrganelleLetters();
Expand Down
6 changes: 5 additions & 1 deletion scripts/microbe_stage/species_system.as
Original file line number Diff line number Diff line change
Expand Up @@ -703,7 +703,7 @@ class Species{
// respiratory Proteins, or Oxy Toxy Producing Proteins, also pure cytoplasm
// aswell for variety.
//TODO when chemosynthesis is added add a protein for that aswell
switch(GetEngine().GetRandom().GetNumber(1,7))
switch(GetEngine().GetRandom().GetNumber(1,8))
{
case 1:
stringCode = getOrganelleDefinition("protoplasm").gene;
Expand All @@ -723,6 +723,10 @@ class Species{
case 6:
stringCode = getOrganelleDefinition("nitrogenFixationProteins").gene;
break;
case 7:
stringCode = getOrganelleDefinition("rusticyanin").gene;
stringCode += getOrganelleDefinition("protoplasm").gene;
break;
default:
stringCode = getOrganelleDefinition("protoplasm").gene;
break;
Expand Down

0 comments on commit cded168

Please sign in to comment.