Skip to content
This repository was archived by the owner on Jul 30, 2024. It is now read-only.

Commit 059983b

Browse files
authored
Fixed the issue where champion's skin were restored after resurrection.
1 parent e7982b6 commit 059983b

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

R3nzSkin/GUI.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ void GUI::render() noexcept
5555
const auto heroes{ cheatManager.memory->heroList };
5656
static const auto my_team{ player ? player->get_team() : 100 };
5757
static int gear{ player ? player->get_character_data_stack()->base_skin.gear : 0 };
58-
58+
59+
auto& values{ cheatManager.database->champions_skins[fnv::hash_runtime(player->get_character_data_stack()->base_skin.model.str)] };
60+
if (const auto stack{ player->get_character_data_stack() }; stack->base_skin.skin != values[cheatManager.config->current_combo_skin_index - 1].skin_id) {
61+
stack->base_skin.skin = values[cheatManager.config->current_combo_skin_index - 1].skin_id;
62+
stack->update(true);
63+
}
5964
static const auto vector_getter_skin = [](void* vec, const std::int32_t idx, const char** out_text) noexcept {
6065
const auto& vector{ *static_cast<std::vector<SkinDatabase::skin_info>*>(vec) };
6166
if (idx < 0 || idx > static_cast<std::int32_t>(vector.size())) return false;
@@ -90,13 +95,13 @@ void GUI::render() noexcept
9095
if (ImGui::BeginTabBar("TabBar", ImGuiTabBarFlags_Reorderable | ImGuiTabBarFlags_FittingPolicyScroll | ImGuiTabBarFlags_NoTooltip)) {
9196
if (player) {
9297
if (ImGui::BeginTabItem("Local Player")) {
93-
auto& values{ cheatManager.database->champions_skins[fnv::hash_runtime(player->get_character_data_stack()->base_skin.model.str)] };
9498
ImGui::Text("Player Skins Settings:");
9599

96100
if (ImGui::Combo("Current Skin", &cheatManager.config->current_combo_skin_index, vector_getter_skin, static_cast<void*>(&values), values.size() + 1))
97-
if (cheatManager.config->current_combo_skin_index > 0)
101+
if (cheatManager.config->current_combo_skin_index > 0) {
98102
player->change_skin(values[cheatManager.config->current_combo_skin_index - 1].model_name, values[cheatManager.config->current_combo_skin_index - 1].skin_id);
99-
103+
cheatManager.config->save();
104+
}
100105
const auto playerHash{ fnv::hash_runtime(player->get_character_data_stack()->base_skin.model.str) };
101106
if (const auto it{ std::ranges::find_if(cheatManager.database->specialSkins,
102107
[&skin = player->get_character_data_stack()->base_skin.skin, &ph = playerHash](const SkinDatabase::specialSkin& x) noexcept -> bool

0 commit comments

Comments
 (0)