diff --git a/src/ResearchTree/NodeIDs.h b/src/ResearchTree/NodeIDs.h index fdec6e8..b99eeb9 100644 --- a/src/ResearchTree/NodeIDs.h +++ b/src/ResearchTree/NodeIDs.h @@ -85,12 +85,12 @@ enum EngineIDs: Int { enum OSIDs: Int { // Tier 1 - NeuralOS = 300010, - ExoSkelOS, - Shields1, - Enhancements1, - FuelSave1, - LongRange1, + NeuralOS = 300010, + ExoSkelOS = 300030, + Shields1 = 400010, + Enhancements1 = 400050, + FuelSave1 = 400051, + LongRange1 = 400030, // Tier 2 SparkOS, diff --git a/src/ResearchTree/ResearchTree.cpp b/src/ResearchTree/ResearchTree.cpp index 22653ca..db2dbba 100644 --- a/src/ResearchTree/ResearchTree.cpp +++ b/src/ResearchTree/ResearchTree.cpp @@ -334,10 +334,33 @@ void ResearchTree::generateOSTree() { return; } + // T1 _osNodes.emplace(NeuralOS, Node{Node::Type::OS, "Neural OS", 1, 3, "Synchronise the links between your nervous system and the M.A.S.S. perfectly.", "Accuracy +24, Shield +624, Fuel burn rate +200, Magazine reload +24, Energy recharge +66, Shield recover +1620", "Shield +3%"}); + _osNodes.emplace(ExoSkelOS, Node{Node::Type::OS, "ExoSkel OS", 1, 3, + "An OS that simulates the M.A.S.S. as your exoskeleton.", + "Accuracy +45, Shield +360, Fuel burn rate +300, Magazine reload +30, Energy recharge +83, Shield recover +608", + "Accuracy +3%"}); + _osNodes.emplace(Shields1, Node{Node::Type::Module, "Shields 1", 1, 0, + "Module that helps in optimising shield usage.", + "Shield +60, Fuel burn rate +25, Shield recover +506", ""}); + _osNodes.emplace(Enhancements1, Node{Node::Type::Module, "Enhancements 1", 1, 0, + "An overall enhancement module.", + "Accuracy +1, Shield +36, Magazine reload +13, Energy recharge +16, Fuel burn rate -3, Shield recover +169", ""}); + _osNodes.emplace(FuelSave1, Node{Node::Type::Module, "Fuel Save 1", 1, 0, + "Optimisation module for energy usage of the M.A.S.S. frame.", + "Fuel burn rate -5, Fuel recharge +2", ""}); + _osNodes.emplace(LongRange1, Node{Node::Type::Module, "Long Range 1", 1, 0, + "Controlling module that helps in stabilisation for higher accuracy and reload speed.", + "Accuracy +2, Fuel burn rate +50, Magazine reload +25, Energy recharge +33", ""}); + + _osNodes.at(NeuralOS).addChild(_osNodes.at(Shields1)); + _osNodes.at(NeuralOS).addChild(_osNodes.at(Enhancements1)); + _osNodes.at(NeuralOS).addChild(_osNodes.at(ExoSkelOS)); + _osNodes.at(ExoSkelOS).addChild(_osNodes.at(FuelSave1)); + _osNodes.at(ExoSkelOS).addChild(_osNodes.at(LongRange1)); _osNodes.at(NeuralOS).setState(Node::State::Unlocked); }