diff --git a/TemplePlus/gamesystems/gamesystems.cpp b/TemplePlus/gamesystems/gamesystems.cpp index cd5053396..f4cb34361 100644 --- a/TemplePlus/gamesystems/gamesystems.cpp +++ b/TemplePlus/gamesystems/gamesystems.cpp @@ -791,7 +791,6 @@ void GameSystems::InitializeSystems(LoadingScreen& loadingScreen) { loadingScreen.SetProgress(79 / 79.0f); mPathX = InitializeSystem(loadingScreen, mConfig); mPoison = InitializeSystem(loadingScreen); - skillSys.Init(); } void GameSystems::EndGame() { diff --git a/TemplePlus/gamesystems/legacysystems.cpp b/TemplePlus/gamesystems/legacysystems.cpp index 92247d7ad..c06843503 100644 --- a/TemplePlus/gamesystems/legacysystems.cpp +++ b/TemplePlus/gamesystems/legacysystems.cpp @@ -579,6 +579,7 @@ SkillSystem::SkillSystem(const GameSystemConf &config) { if (!startup(&config)) { throw TempleException("Unable to initialize game system Skill"); } + skillSys.Init(); } SkillSystem::~SkillSystem() { auto shutdown = temple::GetPointer(0x1007d0c0); diff --git a/TemplePlus/inventory.cpp b/TemplePlus/inventory.cpp index 7e5297e22..f75ec8d74 100644 --- a/TemplePlus/inventory.cpp +++ b/TemplePlus/inventory.cpp @@ -1374,7 +1374,8 @@ int InventorySystem::IsTradeGoods(objHndl item) int InventorySystem::GetAppraisedWorth(objHndl item, objHndl appraiser, objHndl vendor, SkillEnum skillEnum) { - auto skillLevel = dispatch.dispatch1ESkillLevel(appraiser, skillEnum, nullptr, objHndl::null, 1); + auto skillLevelGet_1007D430 = temple::GetRef(0x1007D430); + auto skillLevel = skillLevelGet_1007D430(appraiser, skillEnum); if (skillLevel > 19) skillLevel = 19; double price = (double)GetSellWorth(item, appraiser, vendor, skillEnum); @@ -1404,7 +1405,8 @@ int InventorySystem::GetAppraisedWorth(objHndl item, objHndl appraiser, objHndl int InventorySystem::GetAppraisedTransactionSum(objHndl item, objHndl parent, objHndl appraiser, SkillEnum skillEnum) { - auto skillLevel = dispatch.dispatch1ESkillLevel(appraiser, skillEnum, nullptr, objHndl::null, 1); + auto skillLevelGet_1007D430 = temple::GetRef(0x1007D430); + auto skillLevel = skillLevelGet_1007D430(appraiser, skillEnum); if (skillLevel > 19) skillLevel = 19; double price = (double)GetSellWorth(item, parent, appraiser, skillEnum);