From b765dcbea43b5dea8f3e96ca2bf33a5e53f6b3b4 Mon Sep 17 00:00:00 2001 From: William JCM Date: Sat, 7 Aug 2021 16:38:51 +0200 Subject: [PATCH] ResearchTree: add engine T5 nodes. --- src/ResearchTree/ResearchTree.cpp | 75 +++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/src/ResearchTree/ResearchTree.cpp b/src/ResearchTree/ResearchTree.cpp index 14e1dbe..1fcc80a 100644 --- a/src/ResearchTree/ResearchTree.cpp +++ b/src/ResearchTree/ResearchTree.cpp @@ -270,6 +270,58 @@ void ResearchTree::generateEngineTree() { "Redirection of power into fuel management for more power and acceleration.", "Power +16, Acceleration +50", ""}); + // T5 + _engineNodes.emplace(AsteriteCarbonEngine, Node{Node::Type::Engine, "Asterite Carbon Engine", 5, 4, + "A modified version of carbon steel with additional metals alloyed into it. Surprisingly harder, but heavier.", + "Durability +5952, Power +130, Armour +544, Acceleration +75, Magazine load +62, Energy capacity +62", + "Durability +3%"}); + _engineNodes.emplace(ChargedAsteriteEngine, Node{Node::Type::Engine, "Charged Asterite Engine", 5, 4, + "Charged-up Asterite steel. Extremely high resistance for better acceleration.", + "Durability +4960, Power +130, Acceleration +300, Magazine load +62, Energy capacity +62, Fuel capacity +244", + "Acceleration +5"}); + _engineNodes.emplace(AsteriteSteelEngine, Node{Node::Type::Engine, "Asterite Steel Engine", 5, 4, + "Engine made of Asterite steel, a technology learnt from researching interstellar metals.", + "Durability +4960, Power +182, Armour +363, Acceleration +75, Magazine load +62, Energy capacity +62", + "Power +3%"}); + _engineNodes.emplace(MeldedEngine, Node{Node::Type::Engine, "Melded Engine", 5, 4, + "Instead of infusing armour platings, they are melded to the engine itself for greater performance.", + "Durability +8680, Power +104, Armour +435, Acceleration -50, Magazine load +50, Energy capacity +50", + "Durability +3%"}); + _engineNodes.emplace(MetalPlatings5, Node{Node::Type::Gear, "Metal Platings 5", 5, 0, + "Level 5 Metal plating that adds durability and armour to your engine.", + "Durability +840, Armour +91, Acceleration -15", ""}); + _engineNodes.emplace(HeatTurbines5, Node{Node::Type::Gear, "Heat Turbines 5", 5, 0, + "Level 5 Modified heat turbines to increase speed for a M.A.S.S.", + "Acceleration +75, Fuel capacity +74", ""}); + _engineNodes.emplace(Microcontroller5, Node{Node::Type::Gear, "Microcontroller 5", 5, 0, + "Level 5 Microchip that enhances various aspects of a M.A.S.S.", + "Durability +504, Power +13, Armour +38, Magazine load +9, Energy capacity +9, Fuel capacity +37", ""}); + _engineNodes.emplace(WeaponsCargo4, Node{Node::Type::Gear, "Weapons Cargo 4", 5, 0, + "Level 4 Added another cargo hold for ammo and energy recharger.", + "Magazine load +36, Energy capacity +36, Acceleration -40", ""}); + _engineNodes.emplace(CombustionController5, Node{Node::Type::Gear, "Combustion Controller 5", 5, 0, + "Level 5 Controlled combustion allows increased power generation through specific ignition.", + "Power +25, Magazine load +18, Energy capacity +18, Acceleration -25", ""}); + _engineNodes.emplace(PoweredRewiring4, Node{Node::Type::Gear, "Powered Rewiring 4", 5, 0, + "Level 4 Rewiring that efficiently improves power and engine durability.", + "Durability +840, Power +25", ""}); + _engineNodes.emplace(ArmouredCargo2, Node{Node::Type::Gear, "Armoured Cargo 2", 5, 0, + "Level 2 Added armoured platings for large cargo holds.", + "Armour +76, Magazine load +18, Energy capacity +18, Acceleration -40", ""}); + _engineNodes.emplace(ArmouredFuelTank2, Node{Node::Type::Gear, "Armoured Fuel Tank 2", 5, 0, + "Level 2 Added armoured platings for a large fuel tank.", + "Armour +76, Fuel capacity +37, Acceleration -15", ""}); + _engineNodes.emplace(ExtraCapacity2, Node{Node::Type::Gear, "Extra Capacity 2", 5, 0, + "Level 2 Space management with added capacity for more cargo holds and fuel.", + "Magazine load +18, Energy capacity +18, Fuel capacity +74, Acceleration -40", ""}); + _engineNodes.emplace(CastHighmetalEngine, Node{Node::Type::Engine, "Cast Highmetal Engine", 5, 4, + "An upgraded version of the highmetal material, casted into a complex mold for better performance.", + "Durability +4340, Power +234, Armour +318, Acceleration -50", + "Power +3%"}); + _engineNodes.emplace(PowerRedirector2, Node{Node::Type::Gear, "Power Redirector 2", 5, 0, + "Level 2 Redirection of power into fuel management for more power and acceleration.", + "Power +25, Acceleration +50", ""}); + #define engineAddChild(parent, child) _engineNodes.at(parent).addChild(_engineNodes.at(child)); engineAddChild(VerseEngine, MetalPlatings1) engineAddChild(VerseEngine, HeatTurbines1) @@ -326,6 +378,29 @@ void ResearchTree::generateEngineTree() { engineAddChild(CombustionController4, PowerRedirector1) engineAddChild(PoweredRewiring3, HighmetalEngine) engineAddChild(PoweredRewiring3, PowerRedirector1) + engineAddChild(ArmouredCargo1, AsteriteCarbonEngine) + engineAddChild(ArmouredFuelTank1, AsteriteCarbonEngine) + engineAddChild(ExtraCapacity1, ChargedAsteriteEngine) + engineAddChild(HighmetalEngine, AsteriteSteelEngine) + engineAddChild(PowerRedirector1, AsteriteSteelEngine) + engineAddChild(AsteriteCarbonEngine, MeldedEngine) + engineAddChild(AsteriteCarbonEngine, MetalPlatings5) + engineAddChild(ChargedAsteriteEngine, HeatTurbines5) + engineAddChild(ChargedAsteriteEngine, Microcontroller5) + engineAddChild(ChargedAsteriteEngine, WeaponsCargo4) + engineAddChild(AsteriteSteelEngine, CombustionController5) + engineAddChild(AsteriteSteelEngine, PoweredRewiring4) + engineAddChild(MeldedEngine, ArmouredCargo2) + engineAddChild(MeldedEngine, ArmouredFuelTank2) + engineAddChild(MetalPlatings5, ArmouredCargo2) + engineAddChild(MetalPlatings5, ArmouredFuelTank2) + engineAddChild(HeatTurbines5, ExtraCapacity2) + engineAddChild(Microcontroller5, ExtraCapacity2) + engineAddChild(WeaponsCargo4, ExtraCapacity2) + engineAddChild(CombustionController5, CastHighmetalEngine) + engineAddChild(CombustionController5, PowerRedirector2) + engineAddChild(PoweredRewiring4, CastHighmetalEngine) + engineAddChild(PoweredRewiring4, PowerRedirector2) #undef engineAddChild _engineNodes.at(VerseEngine).setState(Node::State::Unlocked);