Profile,SaveTool: add support for T6 materials.

This commit is contained in:
Guillaume Jacquemin 2022-11-25 16:25:56 +01:00
parent 89a10ff98d
commit dfd0d56ab0
4 changed files with 92 additions and 20 deletions

View file

@ -131,24 +131,28 @@ void Profile::refreshValues() {
_necriumAlloy = getResource(PROFILE_MATERIAL, NecriumAlloy); _necriumAlloy = getResource(PROFILE_MATERIAL, NecriumAlloy);
_lunarite = getResource(PROFILE_MATERIAL, Lunarite); _lunarite = getResource(PROFILE_MATERIAL, Lunarite);
_asterite = getResource(PROFILE_MATERIAL, Asterite); _asterite = getResource(PROFILE_MATERIAL, Asterite);
_halliteFragma = getResource(PROFILE_MATERIAL, HalliteFragma);
_ednil = getResource(PROFILE_MATERIAL, Ednil); _ednil = getResource(PROFILE_MATERIAL, Ednil);
_nuflalt = getResource(PROFILE_MATERIAL, Nuflalt); _nuflalt = getResource(PROFILE_MATERIAL, Nuflalt);
_aurelene = getResource(PROFILE_MATERIAL, Aurelene); _aurelene = getResource(PROFILE_MATERIAL, Aurelene);
_soldus = getResource(PROFILE_MATERIAL, Soldus); _soldus = getResource(PROFILE_MATERIAL, Soldus);
_synthesisedN = getResource(PROFILE_MATERIAL, SynthesisedN); _synthesisedN = getResource(PROFILE_MATERIAL, SynthesisedN);
_nanoc = getResource(PROFILE_MATERIAL, Nanoc);
_alcarbonite = getResource(PROFILE_MATERIAL, Alcarbonite); _alcarbonite = getResource(PROFILE_MATERIAL, Alcarbonite);
_keriphene = getResource(PROFILE_MATERIAL, Keriphene); _keriphene = getResource(PROFILE_MATERIAL, Keriphene);
_nitinolCM = getResource(PROFILE_MATERIAL, NitinolCM); _nitinolCM = getResource(PROFILE_MATERIAL, NitinolCM);
_quarkium = getResource(PROFILE_MATERIAL, Quarkium); _quarkium = getResource(PROFILE_MATERIAL, Quarkium);
_alterene = getResource(PROFILE_MATERIAL, Alterene); _alterene = getResource(PROFILE_MATERIAL, Alterene);
_cosmium = getResource(PROFILE_MATERIAL, Cosmium);
_mixedComposition = getResource(PROFILE_QUARK_DATA, MixedComposition); _mixedComposition = getResource(PROFILE_QUARK_DATA, MixedComposition);
_voidResidue = getResource(PROFILE_QUARK_DATA, VoidResidue); _voidResidue = getResource(PROFILE_QUARK_DATA, VoidResidue);
_muscularConstruction = getResource(PROFILE_QUARK_DATA, MuscularConstruction); _muscularConstruction = getResource(PROFILE_QUARK_DATA, MuscularConstruction);
_mineralExoskeletology = getResource(PROFILE_QUARK_DATA, MineralExoskeletology); _mineralExoskeletology = getResource(PROFILE_QUARK_DATA, MineralExoskeletology);
_carbonisedSkin = getResource(PROFILE_QUARK_DATA, CarbonisedSkin); _carbonisedSkin = getResource(PROFILE_QUARK_DATA, CarbonisedSkin);
_isolatedVoidParticle = getResource(PROFILE_QUARK_DATA, IsolatedVoidParticle);
_valid = true; _valid = true;
} }
@ -272,6 +276,16 @@ auto Profile::setAsterite(Int amount) -> bool {
return setResource(PROFILE_MATERIAL, Asterite, amount); return setResource(PROFILE_MATERIAL, Asterite, amount);
} }
Int
Profile::halliteFragma() const {
return _halliteFragma;
}
bool
Profile::setHalliteFragma(Int amount) {
return setResource(PROFILE_MATERIAL, HalliteFragma, amount);
}
auto Profile::ednil() const -> Int { auto Profile::ednil() const -> Int {
return _ednil; return _ednil;
} }
@ -312,6 +326,16 @@ auto Profile::setSynthesisedN(Int amount) -> bool {
return setResource(PROFILE_MATERIAL, SynthesisedN, amount); return setResource(PROFILE_MATERIAL, SynthesisedN, amount);
} }
Int
Profile::nanoc() const {
return _nanoc;
}
bool
Profile::setNanoc(Int amount) {
return setResource(PROFILE_MATERIAL, Nanoc, amount);
}
auto Profile::alcarbonite() const -> Int { auto Profile::alcarbonite() const -> Int {
return _alcarbonite; return _alcarbonite;
} }
@ -352,6 +376,16 @@ auto Profile::setAlterene(Int amount) -> bool {
return setResource(PROFILE_MATERIAL, Alterene, amount); return setResource(PROFILE_MATERIAL, Alterene, amount);
} }
Int
Profile::cosmium() const {
return _cosmium;
}
bool
Profile::setCosmium(Int amount) {
return setResource(PROFILE_MATERIAL, Cosmium, amount);
}
auto Profile::mixedComposition() const -> Int { auto Profile::mixedComposition() const -> Int {
return _mixedComposition; return _mixedComposition;
} }
@ -392,6 +426,16 @@ auto Profile::setCarbonisedSkin(Int amount) -> bool {
return setResource(PROFILE_QUARK_DATA, CarbonisedSkin, amount); return setResource(PROFILE_QUARK_DATA, CarbonisedSkin, amount);
} }
Int
Profile::isolatedVoidParticle() const {
return _isolatedVoidParticle;
}
bool
Profile::setIsolatedVoidParticle(Int amount) {
return setResource(PROFILE_QUARK_DATA, IsolatedVoidParticle, amount);
}
auto Profile::getResource(Containers::StringView container, MaterialID id) -> Int { auto Profile::getResource(Containers::StringView container, MaterialID id) -> Int {
auto mats_prop = _profile.at<ArrayProperty>(container); auto mats_prop = _profile.at<ArrayProperty>(container);

View file

@ -78,6 +78,9 @@ class Profile {
auto asterite() const -> Int; auto asterite() const -> Int;
auto setAsterite(Int amount) -> bool; auto setAsterite(Int amount) -> bool;
Int halliteFragma() const;
bool setHalliteFragma(Int amount);
auto ednil() const -> Int; auto ednil() const -> Int;
auto setEdnil(Int amount) -> bool; auto setEdnil(Int amount) -> bool;
@ -93,6 +96,9 @@ class Profile {
auto synthesisedN() const -> Int; auto synthesisedN() const -> Int;
auto setSynthesisedN(Int amount) -> bool; auto setSynthesisedN(Int amount) -> bool;
Int nanoc() const;
bool setNanoc(Int amount);
auto alcarbonite() const -> Int; auto alcarbonite() const -> Int;
auto setAlcarbonite(Int amount) -> bool; auto setAlcarbonite(Int amount) -> bool;
@ -108,6 +114,9 @@ class Profile {
auto alterene() const -> Int; auto alterene() const -> Int;
auto setAlterene(Int amount) -> bool; auto setAlterene(Int amount) -> bool;
Int cosmium() const;
bool setCosmium(Int amount);
auto mixedComposition() const -> Int; auto mixedComposition() const -> Int;
auto setMixedComposition(Int amount) -> bool; auto setMixedComposition(Int amount) -> bool;
@ -123,6 +132,9 @@ class Profile {
auto carbonisedSkin() const -> Int; auto carbonisedSkin() const -> Int;
auto setCarbonisedSkin(Int amount) -> bool; auto setCarbonisedSkin(Int amount) -> bool;
Int isolatedVoidParticle() const;
bool setIsolatedVoidParticle(Int amount);
private: private:
auto getResource(Containers::StringView container, MaterialID id) -> Int; auto getResource(Containers::StringView container, MaterialID id) -> Int;
auto setResource(Containers::StringView container, MaterialID id, Int amount) -> bool; auto setResource(Containers::StringView container, MaterialID id, Int amount) -> bool;
@ -144,24 +156,28 @@ class Profile {
Int _necriumAlloy = 0; Int _necriumAlloy = 0;
Int _lunarite = 0; Int _lunarite = 0;
Int _asterite = 0; Int _asterite = 0;
Int _halliteFragma = 0;
Int _ednil = 0; Int _ednil = 0;
Int _nuflalt = 0; Int _nuflalt = 0;
Int _aurelene = 0; Int _aurelene = 0;
Int _soldus = 0; Int _soldus = 0;
Int _synthesisedN = 0; Int _synthesisedN = 0;
Int _nanoc = 0;
Int _alcarbonite = 0; Int _alcarbonite = 0;
Int _keriphene = 0; Int _keriphene = 0;
Int _nitinolCM = 0; Int _nitinolCM = 0;
Int _quarkium = 0; Int _quarkium = 0;
Int _alterene = 0; Int _alterene = 0;
Int _cosmium = 0;
Int _mixedComposition = 0; Int _mixedComposition = 0;
Int _voidResidue = 0; Int _voidResidue = 0;
Int _muscularConstruction = 0; Int _muscularConstruction = 0;
Int _mineralExoskeletology = 0; Int _mineralExoskeletology = 0;
Int _carbonisedSkin = 0; Int _carbonisedSkin = 0;
Int _isolatedVoidParticle = 0;
Containers::String _account; Containers::String _account;

View file

@ -26,22 +26,26 @@ enum MaterialID : Int {
NecriumAlloy = 0xC3502, NecriumAlloy = 0xC3502,
Lunarite = 0xC3503, Lunarite = 0xC3503,
Asterite = 0xC3504, Asterite = 0xC3504,
HalliteFragma = 0xC3505,
Ednil = 0xC350A, Ednil = 0xC350A,
Nuflalt = 0xC350B, Nuflalt = 0xC350B,
Aurelene = 0xC350C, Aurelene = 0xC350C,
Soldus = 0xC350D, Soldus = 0xC350D,
SynthesisedN = 0xC350E, SynthesisedN = 0xC350E,
Nanoc = 0xC350F,
Alcarbonite = 0xC3514, Alcarbonite = 0xC3514,
Keriphene = 0xC3515, Keriphene = 0xC3515,
NitinolCM = 0xC3516, NitinolCM = 0xC3516,
Quarkium = 0xC3517, Quarkium = 0xC3517,
Alterene = 0xC3518, Alterene = 0xC3518,
Cosmium = 0xC3519,
MixedComposition = 0xDBBA0, MixedComposition = 0xDBBA0,
VoidResidue = 0xDBBA1, VoidResidue = 0xDBBA1,
MuscularConstruction = 0xDBBA2, MuscularConstruction = 0xDBBA2,
MineralExoskeletology = 0xDBBA3, MineralExoskeletology = 0xDBBA3,
CarbonisedSkin = 0xDBBA4 CarbonisedSkin = 0xDBBA4,
IsolatedVoidParticle = 0xDBBA5,
}; };

View file

@ -309,7 +309,9 @@ void SaveTool::drawResearchInventory() {
drawMaterialRow("Asterite", 5, drawMaterialRow("Asterite", 5,
[this]{ return _currentProfile->asterite(); }, [this]{ return _currentProfile->asterite(); },
[this](Int amount){ return _currentProfile->setAsterite(amount); }); [this](Int amount){ return _currentProfile->setAsterite(amount); });
drawUnavailableMaterialRow("Hallite fragma", 6); drawMaterialRow("Hallite fragma", 6,
[this]{ return _currentProfile->halliteFragma(); },
[this](Int amount){ return _currentProfile->setHalliteFragma(amount); });
drawUnavailableMaterialRow("Unnoctinium", 7); drawUnavailableMaterialRow("Unnoctinium", 7);
ImGui::TableNextRow(ImGuiTableRowFlags_Headers); ImGui::TableNextRow(ImGuiTableRowFlags_Headers);
@ -331,7 +333,9 @@ void SaveTool::drawResearchInventory() {
drawMaterialRow("Synthesized N", 5, drawMaterialRow("Synthesized N", 5,
[this]{ return _currentProfile->synthesisedN(); }, [this]{ return _currentProfile->synthesisedN(); },
[this](Int amount){ return _currentProfile->setSynthesisedN(amount); }); [this](Int amount){ return _currentProfile->setSynthesisedN(amount); });
drawUnavailableMaterialRow("Nanoc", 6); drawMaterialRow("Nanoc", 6,
[this]{ return _currentProfile->nanoc(); },
[this](Int amount){ return _currentProfile->setNanoc(amount); });
drawUnavailableMaterialRow("Abyssillite", 7); drawUnavailableMaterialRow("Abyssillite", 7);
ImGui::TableNextRow(ImGuiTableRowFlags_Headers); ImGui::TableNextRow(ImGuiTableRowFlags_Headers);
@ -353,7 +357,9 @@ void SaveTool::drawResearchInventory() {
drawMaterialRow("Alterene", 5, drawMaterialRow("Alterene", 5,
[this]{ return _currentProfile->alterene(); }, [this]{ return _currentProfile->alterene(); },
[this](Int amount){ return _currentProfile->setAlterene(amount); }); [this](Int amount){ return _currentProfile->setAlterene(amount); });
drawUnavailableMaterialRow("Cosmium", 6); drawMaterialRow("Cosmium", 6,
[this]{ return _currentProfile->cosmium(); },
[this](Int amount){ return _currentProfile->setCosmium(amount); });
drawUnavailableMaterialRow("Purified quarkium", 7); drawUnavailableMaterialRow("Purified quarkium", 7);
ImGui::TableNextRow(ImGuiTableRowFlags_Headers); ImGui::TableNextRow(ImGuiTableRowFlags_Headers);
@ -375,7 +381,9 @@ void SaveTool::drawResearchInventory() {
drawMaterialRow("Carbonized skin", 5, drawMaterialRow("Carbonized skin", 5,
[this]{ return _currentProfile->carbonisedSkin(); }, [this]{ return _currentProfile->carbonisedSkin(); },
[this](Int amount){ return _currentProfile->setCarbonisedSkin(amount); }); [this](Int amount){ return _currentProfile->setCarbonisedSkin(amount); });
drawUnavailableMaterialRow("Isolated void particle", 6); drawMaterialRow("Isolated void particle", 6,
[this]{ return _currentProfile->isolatedVoidParticle(); },
[this](Int amount){ return _currentProfile->setIsolatedVoidParticle(amount); });
drawUnavailableMaterialRow("Weaponised physiology", 7); drawUnavailableMaterialRow("Weaponised physiology", 7);
ImGui::EndTable(); ImGui::EndTable();