Compare commits
3 commits
c6b911300a
...
4f63ac3dee
Author | SHA1 | Date | |
---|---|---|---|
4f63ac3dee | |||
24aed4f9dc | |||
304acf2091 |
3 changed files with 258 additions and 14 deletions
|
@ -153,7 +153,208 @@ enum OSIDs: Int {
|
|||
BetaAssault2,
|
||||
};
|
||||
|
||||
enum ArchIDs: Int {
|
||||
// Tier 1
|
||||
enum ArchIDs: Int { // That tree is a **fucking mess**, so this enum will be too.
|
||||
// Left side T1
|
||||
StandardFrame = 500099,
|
||||
StrengthFrame,
|
||||
BoostFrame,
|
||||
SupportFrame,
|
||||
CombatFrame,
|
||||
DurableFibre1,
|
||||
EfficientThrusters1,
|
||||
MaterialsCollector1,
|
||||
TempoPreserver,
|
||||
|
||||
// Left side T2
|
||||
StopperFrame,
|
||||
ReinforcedFrame,
|
||||
Overtaker,
|
||||
GeneratorFrame,
|
||||
HeavyLoadFrame,
|
||||
SiegeMechFrame,
|
||||
SentryFrame,
|
||||
MetalsReplacement,
|
||||
ReactiveArmour1,
|
||||
FrameBoostingSystemSType,
|
||||
EnemyScanner1,
|
||||
MaterialsCollector2,
|
||||
CompositeNanorobotics,
|
||||
PinpointReticle1,
|
||||
|
||||
// Left side T3
|
||||
BlockerUnit,
|
||||
Hillgard,
|
||||
Atmosformer,
|
||||
Revitaliser,
|
||||
SupplyCarrier,
|
||||
TheEnforcer,
|
||||
Precelsior,
|
||||
ForcefulTinkeringDType,
|
||||
ReactiveArmour2,
|
||||
EfficienttThrusters2,
|
||||
EnemyScanner2,
|
||||
MaterialsCollector3,
|
||||
PressurisedGears1,
|
||||
PinpointReticle2,
|
||||
|
||||
// Left side T4
|
||||
Aurochs,
|
||||
Pantheris,
|
||||
Vulture,
|
||||
Vitalcycler,
|
||||
Amberjack,
|
||||
Bloodhounds,
|
||||
ManOWar,
|
||||
Steelwall,
|
||||
DurableFibre2,
|
||||
Streamliner,
|
||||
FortressConfigurations1,
|
||||
Afterburners1,
|
||||
PerpetualGenerator1,
|
||||
DataAnalyser1,
|
||||
VoidDestabiliser1,
|
||||
Ragelock,
|
||||
BinaryMonarchEType,
|
||||
Stingray,
|
||||
ShieldsformerSystem1,
|
||||
ShieldsEnhancer1,
|
||||
AcceleratedWalkers1,
|
||||
BulletRecollector1,
|
||||
EnemyScanner3,
|
||||
ArmsSBattery1,
|
||||
BinaryMonarchAType,
|
||||
|
||||
// Left side T5
|
||||
Longhorn,
|
||||
Lionel,
|
||||
Stormbyrd,
|
||||
Hydra,
|
||||
Orca,
|
||||
Felcaninus,
|
||||
Anglerwasp,
|
||||
Ramsgate,
|
||||
DoomsdayCargo,
|
||||
Ghostech,
|
||||
ReactiveArmour3,
|
||||
FrameBoostingSystemDType,
|
||||
PerpetualGenerator2,
|
||||
DataAnalyser2,
|
||||
PoweredNanorobotics,
|
||||
Styxgear,
|
||||
FullMetalJacketAType,
|
||||
Thornwhip,
|
||||
ShieldsformerSystem2,
|
||||
ShieldsRerouter,
|
||||
AdditionalThrusters1,
|
||||
BulletRecollector2,
|
||||
EnemyInspector1,
|
||||
ArmsSBattery2,
|
||||
FullMetalJacketIType,
|
||||
|
||||
// Elemental T1/2 (there's a lone T1 node, so I won't make a separate group just for it)
|
||||
EnemyObserverUnit,
|
||||
BladeBlazeCanister,
|
||||
BladeCryoCore,
|
||||
BladeVoltAmplifier,
|
||||
BlazeBulletsTech,
|
||||
CryoBulletsTech,
|
||||
VoltBulletsTech,
|
||||
BlazePodsTech,
|
||||
CryoPodsTech,
|
||||
VoltPodsTech,
|
||||
|
||||
// Elemental T3
|
||||
PowerTransferenceUnit1,
|
||||
Adaptive,
|
||||
BlazeArmsEnhancer,
|
||||
CryoArmsEnhancer,
|
||||
VoltArmsEnhancer,
|
||||
|
||||
// Elemental T4
|
||||
PowerTransferenceUnit2,
|
||||
Elemental,
|
||||
BlazeTransferenceUnit,
|
||||
CryoTransferenceUnit,
|
||||
VoltTransferenceUnit,
|
||||
QuickBurningChemicals,
|
||||
CryoCoatedMetals,
|
||||
VoltageOverclock,
|
||||
|
||||
// Elemental T5
|
||||
PowerTransferenceUnit3,
|
||||
Revenant,
|
||||
ArmsConductionController,
|
||||
TrinityCore1,
|
||||
PodsConductionController,
|
||||
MeltingChemicals,
|
||||
LongLastingCryoChems,
|
||||
VoltSplitters,
|
||||
|
||||
WeaponStanceControls, // This node is common to both the DW and shield sub-trees.
|
||||
|
||||
// Shield T2
|
||||
ProtectiveCoating1,
|
||||
MeteorShielder1,
|
||||
|
||||
// Shield T3
|
||||
Retaliator,
|
||||
Flagbearer1,
|
||||
AegisReinforcements1,
|
||||
|
||||
// Shield T4
|
||||
Flashspike,
|
||||
ProtectiveCoating2,
|
||||
MeteorShielder2,
|
||||
IntegrityStrengthening1,
|
||||
|
||||
// Shield T5
|
||||
Faithbinder,
|
||||
SaintessBulwark,
|
||||
MeteorShielder3,
|
||||
BlizzardCore1,
|
||||
|
||||
// DW T2
|
||||
GatheringStorm1,
|
||||
WildfireStarter1,
|
||||
|
||||
// DW T3
|
||||
MasterOfArms,
|
||||
Stormwielder,
|
||||
Suncaller,
|
||||
|
||||
// DW T4
|
||||
Evoker,
|
||||
GatheringStorm2,
|
||||
WildfireStarter2,
|
||||
GravitationDefier1,
|
||||
|
||||
// DW T5
|
||||
Bladedancer,
|
||||
Type3ArmsSBattery1,
|
||||
ShieldsBatteryRegulator1,
|
||||
GravitationDefier2,
|
||||
|
||||
// QB T2/3
|
||||
// Okay, time to rant. The first node of the QB sub-tree is a tier 2 node. By itself, it's not that bad,
|
||||
// except that... it's the child of Master of Arms, the first T3 node in the DW sub-tree. :DeadInside:
|
||||
QuantumMechanicsResearch,
|
||||
QuantumAccelerationResearch,
|
||||
QuantumControlResearch,
|
||||
QuantumCoatingResearch,
|
||||
|
||||
// QB T4
|
||||
EnergyCollector1,
|
||||
ParticleAccelerator1,
|
||||
AmplificationModule1,
|
||||
QAugmentedThrusters,
|
||||
EssenceRedistributor1,
|
||||
MomentumSpiker1,
|
||||
|
||||
// QB T5
|
||||
EnergyCollector2,
|
||||
ParticleAccelerator2,
|
||||
AmplificationModule2,
|
||||
QAugmentedShields,
|
||||
EssenceRedistributor2,
|
||||
MomentumSpiker2,
|
||||
};
|
||||
|
|
|
@ -127,6 +127,7 @@ void ResearchTree::generateEngineTree() {
|
|||
return;
|
||||
}
|
||||
|
||||
// T1
|
||||
_engineNodes.emplace(VerseEngine, Node{Node::Type::Engine, "Verse Engine", 1, 3,
|
||||
"A basic low-speed engine with great durability.",
|
||||
"Durability +346, Power +60, Armour +22, Acceleration +75, Magazine load +35, Energy capacity +35",
|
||||
|
@ -140,61 +141,83 @@ void ResearchTree::generateEngineTree() {
|
|||
_engineNodes.emplace(MetalPlatings1, Node{Node::Type::Gear, "Metal Platings 1", 1, 0,
|
||||
"Level 1 metal plating that adds durability and armour to your engine.",
|
||||
"Durability +60, Armour +5, Acceleration -15", ""});
|
||||
|
||||
_engineNodes.emplace(HeatTurbines1, Node{Node::Type::Gear, "Heat Turbines 1", 1, 0,
|
||||
"Modified heat turbines to increase speed for a M.A.S.S.",
|
||||
"Acceleration +75, Fuel capacity +5", ""});
|
||||
|
||||
_engineNodes.emplace(Microcontroller1, Node{Node::Type::Gear, "Microcontroller 1", 1, 0,
|
||||
"A microchip that enhances various aspects of a M.A.S.S.",
|
||||
"Durability +36, Power +1, Armour +11, Magazine load +5, Energy capacity +5, Fuel capacity +3", ""});
|
||||
|
||||
_engineNodes.emplace(CombustionController1, Node{Node::Type::Gear, "Combustion Controller 1", 1, 0,
|
||||
"Controlled combustion allows increased power generation through specific ignition.",
|
||||
"Power +2, Magazine load +10, Energy capacity +10, Acceleration -25", ""});
|
||||
|
||||
// T2
|
||||
_engineNodes.emplace(ModAlloyEngine, Node{Node::Type::Engine, "Mod. Alloy Engine", 2, 3,
|
||||
"Built with a modified alloy and able to sustain greater attacks from any enemy.",
|
||||
"Durability +1152, Power +75, Armour +194, Acceleration +75, Magazine load +40, Energy capacity +40",
|
||||
"Durability +3%"});
|
||||
|
||||
_engineNodes.emplace(ChargedEngine, Node{Node::Type::Engine, "Charged Engine", 2, 3,
|
||||
"Remove most armours to attain more speed and power, and fuel.",
|
||||
"Durability +960, Power +75, Acceleration +300, Magazine load +40, Energy capacity +40, Fuel capacity +52",
|
||||
"Acceleration +5"});
|
||||
|
||||
_engineNodes.emplace(ReinforcedLoadedEngine, Node{Node::Type::Engine, "Reinforced Loaded Engine", 2, 3,
|
||||
"An upgraded build of the basic model, with reinforced Verse Steel for more strength.",
|
||||
"Durability +960, Power +105, Armour +130, Acceleration +75, Magazine load +40, Energy capacity +40",
|
||||
"Power +3%"});
|
||||
|
||||
_engineNodes.emplace(HeavyImpactsEnabler, Node{Node::Type::Engine, "Heavy Impacts Enabler", 2, 0,
|
||||
"Enable the usage of Heavy Combos in close combat attacks.", "", ""});
|
||||
|
||||
_engineNodes.emplace(MetalPlatings2, Node{Node::Type::Gear, "Metal Platings 2", 2, 0,
|
||||
"Level 2 Metal plating that adds durability and armour to your engine.",
|
||||
"Durability +180, Armour +41, Acceleration -15", ""});
|
||||
|
||||
_engineNodes.emplace(HeatTurbines2, Node{Node::Type::Gear, "Heat Turbines 2", 2, 0,
|
||||
"Level 2 Modified heat turbines to increase speed for a M.A.S.S.",
|
||||
"Acceleration +75, Fuel capacity +16", ""});
|
||||
|
||||
_engineNodes.emplace(Microcontroller2, Node{Node::Type::Gear, "Microcontroller 2", 2, 0,
|
||||
"Level 2 Microchip that enhances various aspects of a M.A.S.S.",
|
||||
"Durability +108, Power +3, Armour +17, Magazine load +6, Energy capacity +6, Fuel capacity +8", ""});
|
||||
|
||||
_engineNodes.emplace(WeaponsCargo1, Node{Node::Type::Gear, "Weapons Cargo 1", 2, 0,
|
||||
"Added another cargo hold for ammo and energy recharger",
|
||||
"Added another cargo hold for ammo and energy recharger.",
|
||||
"Magazine load +24, Energy capacity +24, Acceleration -40", ""});
|
||||
|
||||
_engineNodes.emplace(CombustionController2, Node{Node::Type::Gear, "Combustion Controller 2", 2, 0,
|
||||
"Level 2 Controlled combustion allows increased power generation through specific ignition.",
|
||||
"Power +5, Magazine load +12, Energy capacity +12, Acceleration -25", ""});
|
||||
|
||||
_engineNodes.emplace(PoweredRewiring1, Node{Node::Type::Gear, "Powered Rewiring 1", 2, 0,
|
||||
"Rewiring that efficiently improves power and engine durability.",
|
||||
"Durability +180, Power +5", ""});
|
||||
|
||||
// T3
|
||||
_engineNodes.emplace(ModSteelEngine, Node{Node::Type::Engine, "Mod. Steel Engine", 3, 3,
|
||||
"Low-speed engine that uses heavy materials for high durability.",
|
||||
"Durability +2352, Power +90, Armour +311, Acceleration +75, Magazine load +47, Energy capacity +47",
|
||||
"Durability +3%"});
|
||||
_engineNodes.emplace(SuperchargedEngine, Node{Node::Type::Engine, "Supercharged Engine", 3, 3,
|
||||
"An engine with more thermal efficiency that does not sacrifice much performance for speed.",
|
||||
"Durability +1960, Power +90, Acceleration +300, Magazine load +47, Energy capacity +47, Fuel capacity +104",
|
||||
"Acceleration +5"});
|
||||
_engineNodes.emplace(NecriumAlloyEngine, Node{Node::Type::Engine, "Necrium Alloy Engine", 3, 3,
|
||||
"Engine constructed of Necrium Alloy. Costly but with better performance.",
|
||||
"Durability +1960, Power +126, Armour +207, Acceleration +75, Magazine load +47, Energy capacity +47",
|
||||
"Power +3%"});
|
||||
_engineNodes.emplace(MetalPlatings3, Node{Node::Type::Gear, "Metal Platings 3", 3, 0,
|
||||
"Level 2 Metal plating that adds durability and armour to your engine.",
|
||||
"Durability +360, Armour +57, Acceleration -15", ""});
|
||||
_engineNodes.emplace(HeatTurbines3, Node{Node::Type::Gear, "Heat Turbines 3", 3, 0,
|
||||
"Level 3 Modified heat turbines to increase speed for a M.A.S.S.",
|
||||
"Acceleration +75, Fuel capacity +32", ""});
|
||||
_engineNodes.emplace(Microcontroller3, Node{Node::Type::Gear, "Microcontroller 3", 3, 0,
|
||||
"Level 3 Microchip that enhances various aspects of a M.A.S.S.",
|
||||
"Durability +216, Power +5, Armour +24, Magazine load +7, Energy capacity +7, Fuel capacity +16", ""});
|
||||
_engineNodes.emplace(WeaponsCargo2, Node{Node::Type::Gear, "Weapons Cargo 2", 3, 0,
|
||||
"Level 2 Added another cargo hold for ammo and energy recharger.",
|
||||
"Magazine load +28, Energy capacity +28, Acceleration -40", ""});
|
||||
_engineNodes.emplace(CombustionController3, Node{Node::Type::Gear, "Combustion Controller 3", 3, 0,
|
||||
"Level 3 Controlled combustion allows increased power generation through specific ignition.",
|
||||
"Power +11, Magazine load +14, Energy capacity +14, Acceleration -25", ""});
|
||||
_engineNodes.emplace(PoweredRewiring2, Node{Node::Type::Gear, "Powered Rewiring 2", 3, 0,
|
||||
"Level 2 Rewiring that efficiently improves power and engine durability.",
|
||||
"Durability +360, Power +11", ""});
|
||||
|
||||
_engineNodes.at(VerseEngine).addChild(_engineNodes.at(MetalPlatings1));
|
||||
_engineNodes.at(VerseEngine).addChild(_engineNodes.at(HeatTurbines1));
|
||||
_engineNodes.at(VerseEngine).addChild(_engineNodes.at(LoadedEngine));
|
||||
|
@ -212,6 +235,20 @@ void ResearchTree::generateEngineTree() {
|
|||
_engineNodes.at(ReinforcedLoadedEngine).addChild(_engineNodes.at(CombustionController2));
|
||||
_engineNodes.at(ReinforcedLoadedEngine).addChild(_engineNodes.at(PoweredRewiring1));
|
||||
_engineNodes.at(ReinforcedLoadedEngine).addChild(_engineNodes.at(HeavyImpactsEnabler));
|
||||
_engineNodes.at(MetalPlatings2).addChild(_engineNodes.at(ModSteelEngine));
|
||||
_engineNodes.at(HeatTurbines2).addChild(_engineNodes.at(SuperchargedEngine));
|
||||
_engineNodes.at(Microcontroller2).addChild(_engineNodes.at(SuperchargedEngine));
|
||||
_engineNodes.at(WeaponsCargo1).addChild(_engineNodes.at(SuperchargedEngine));
|
||||
_engineNodes.at(CombustionController2).addChild(_engineNodes.at(NecriumAlloyEngine));
|
||||
_engineNodes.at(PoweredRewiring1).addChild(_engineNodes.at(NecriumAlloyEngine));
|
||||
_engineNodes.at(ModSteelEngine).addChild(_engineNodes.at(MetalPlatings3));
|
||||
_engineNodes.at(ModSteelEngine).addChild(_engineNodes.at(HeatTurbines3));
|
||||
_engineNodes.at(SuperchargedEngine).addChild(_engineNodes.at(HeatTurbines3));
|
||||
_engineNodes.at(SuperchargedEngine).addChild(_engineNodes.at(Microcontroller3));
|
||||
_engineNodes.at(SuperchargedEngine).addChild(_engineNodes.at(WeaponsCargo2));
|
||||
_engineNodes.at(NecriumAlloyEngine).addChild(_engineNodes.at(WeaponsCargo2));
|
||||
_engineNodes.at(NecriumAlloyEngine).addChild(_engineNodes.at(CombustionController3));
|
||||
_engineNodes.at(NecriumAlloyEngine).addChild(_engineNodes.at(PoweredRewiring2));
|
||||
|
||||
_engineNodes.at(VerseEngine).setState(Node::State::Unlocked);
|
||||
}
|
||||
|
|
|
@ -495,6 +495,9 @@ void SaveTool::drawNode(Node& node) {
|
|||
ImGui::TableNextColumn();
|
||||
|
||||
bool has_children = (node.children().size() > 0);
|
||||
if(node.state() == Node::State::Unavailable) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, ImGui::GetStyleColorVec4(ImGuiCol_TextDisabled));
|
||||
}
|
||||
if(has_children) {
|
||||
bool open = ImGui::TreeNodeEx(node.name(), ImGuiTreeNodeFlags_SpanAvailWidth|(node.state() == Node::State::Unlocked ? ImGuiTreeNodeFlags_Selected : 0));
|
||||
nodeTooltip();
|
||||
|
@ -510,6 +513,9 @@ void SaveTool::drawNode(Node& node) {
|
|||
ImGuiTreeNodeFlags_Bullet|(node.state() == Node::State::Unlocked ? ImGuiTreeNodeFlags_Selected : 0));
|
||||
nodeTooltip();
|
||||
}
|
||||
if(node.state() == Node::State::Unavailable) {
|
||||
ImGui::PopStyleColor();
|
||||
}
|
||||
}
|
||||
|
||||
void SaveTool::drawMassManager() {
|
||||
|
|
Loading…
Reference in a new issue