WIP: Add a research tree view #1

Closed
williamjcm wants to merge 22 commits from research-tree into master
2 changed files with 29 additions and 6 deletions
Showing only changes of commit f2243f086f - Show all commits

View file

@ -86,11 +86,11 @@ enum EngineIDs: Int {
enum OSIDs: Int {
// Tier 1
NeuralOS = 300010,
ExoSkelOS,
Shields1,
Enhancements1,
FuelSave1,
LongRange1,
ExoSkelOS = 300030,
Shields1 = 400010,
Enhancements1 = 400050,
FuelSave1 = 400051,
LongRange1 = 400030,
// Tier 2
SparkOS,

View file

@ -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);
}