You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I wrote some code to analyze certain perks, had to manually get public field rather than call GetEntryPoint() to make it work. Example code below. Not urgent for me, more of a heads up.
void DataCase::AnalyzePerks(void)
{
RE::TESDataHandler* dhnd = RE::TESDataHandler::GetSingleton();
if (!dhnd)
return;
for (RE::TESForm* form : dhnd->GetFormArray(RE::FormType::Perk))
{
const RE::BGSPerk* perk(form->As<RE::BGSPerk>());
if (!perk)
continue;
#if _DEBUG
_MESSAGE("Perk %s/0x%08x being checked", perk->GetName(), perk->GetFormID());
#endif
for (const RE::BGSPerkEntry* perkEntry : perk->perkEntries)
{
if (perkEntry->GetType() != RE::BGSPerkEntry::Type::kEntryPoint)
continue;
const RE::BGSEntryPointPerkEntry* entryPoint(static_cast<const RE::BGSEntryPointPerkEntry*>(perkEntry));
// Note that use of entryPoint->GetEntryPoint() here results in the incorrect value being returned
if (entryPoint->entryData.entryPoint == RE::BGSEntryPoint::ENTRY_POINT::kAddLeveledListOnDeath &&
entryPoint->entryData.function == RE::BGSEntryPointPerkEntry::EntryData::Function::kAddLeveledList)
{
#if _DEBUG
_MESSAGE("Leveled items added on death by perk %s/0x%08x", perk->GetName(), perk->GetFormID());
#endif
m_leveledItemOnDeathPerks.insert(perk);
break;
}
}
}
}
The text was updated successfully, but these errors were encountered:
I wrote some code to analyze certain perks, had to manually get public field rather than call
GetEntryPoint()
to make it work. Example code below. Not urgent for me, more of a heads up.The text was updated successfully, but these errors were encountered: