diff --git a/include/RE/A/Actor.h b/include/RE/A/Actor.h index 58628cac8..c332f1d04 100644 --- a/include/RE/A/Actor.h +++ b/include/RE/A/Actor.h @@ -596,6 +596,7 @@ namespace RE void RemoveAnimationGraphEventSink(BSTEventSink* a_sink) const; void RemoveCastScroll(SpellItem* a_spell, MagicSystem::CastingSource a_source); void RemoveExtraArrows3D(); + void RemoveFromFaction(TESFaction* a_faction); void RemoveOutfitItems(BGSOutfit* a_outfit); bool RemoveSpell(SpellItem* a_spell); std::int32_t RequestDetectionLevel(Actor* a_target, DETECTION_PRIORITY a_priority = DETECTION_PRIORITY::kNormal); diff --git a/src/RE/A/Actor.cpp b/src/RE/A/Actor.cpp index 6df2c5a5f..5e267bf37 100644 --- a/src/RE/A/Actor.cpp +++ b/src/RE/A/Actor.cpp @@ -925,6 +925,13 @@ namespace RE extraList.RemoveByType(ExtraDataType::kAttachedArrows3D); } + void Actor::RemoveFromFaction(RE::TESFaction* a_faction) + { + using func_t = decltype(&Actor::RemoveFromFaction); + REL::Relocation func{ RELOCATION_ID(36680, 37688) }; + return func(this, a_faction); + } + bool Actor::RemoveSpell(SpellItem* a_spell) { using func_t = decltype(&Actor::RemoveSpell);