From 2ec53251d929f68838268258fc39a9ad0a65953f Mon Sep 17 00:00:00 2001 From: Ege Yilmaz <47591838+Quantumyilmaz@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:31:35 +0200 Subject: [PATCH 1/2] Fix ActorValueOwner overload dispatch --- include/RE/A/ActorValueOwner.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/RE/A/ActorValueOwner.h b/include/RE/A/ActorValueOwner.h index e0e8274f..2acadee0 100644 --- a/include/RE/A/ActorValueOwner.h +++ b/include/RE/A/ActorValueOwner.h @@ -14,13 +14,14 @@ namespace RE virtual ~ActorValueOwner(); // 00 // add + // MSVC emits the ModActorValue overloads in reverse vtable order; keep their declarations reversed so calls use the documented slots. virtual float GetActorValue(const ActorValueInfo& a_info); // 01 virtual float GetPermanentActorValue(const ActorValueInfo& a_info); // 02 virtual float GetBaseActorValue(const ActorValueInfo& a_info); // 03 virtual void SetBaseActorValue(const ActorValueInfo& a_info, float a_value); // 04 virtual void ModBaseActorValue(const ActorValueInfo& a_info, float a_delta); // 05 - virtual void ModActorValue(ACTOR_VALUE_MODIFIER a_modifier, const ActorValueInfo& a_info, float a_delta, TESObjectREFR* a_ref); // 06 - new virtual void ModActorValue(ACTOR_VALUE_MODIFIER a_modifier, const ActorValueInfo& a_info, float a_delta); // 07 + virtual void ModActorValue(ACTOR_VALUE_MODIFIER a_modifier, const ActorValueInfo& a_info, float a_delta, TESObjectREFR* a_ref); // 06 virtual float GetModifier(ACTOR_VALUE_MODIFIER a_modifier, const ActorValueInfo& a_info); // 08 virtual void RestoreActorValue(const ActorValueInfo& a_info, float a_amount); // 09 virtual void SetActorValue(const ActorValueInfo& a_info, float a_value); // 0A From f2e30c91fd722dca00f856425a17d149387ab073 Mon Sep 17 00:00:00 2001 From: Ege Yilmaz <47591838+Quantumyilmaz@users.noreply.github.com> Date: Fri, 17 Jul 2026 16:19:26 +0200 Subject: [PATCH 2/2] Map Actor value adjustment virtual --- include/RE/A/Actor.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/RE/A/Actor.h b/include/RE/A/Actor.h index 78c99145..badda030 100644 --- a/include/RE/A/Actor.h +++ b/include/RE/A/Actor.h @@ -279,7 +279,7 @@ namespace RE virtual void Unk_19A(); // 19A virtual void Unk_19B(); // 19B virtual void Unk_19C(); // 19C - virtual void Unk_19D(); // 19D + virtual float Unk_19D(const ActorValueInfo& a_info, float a_delta); // 19D virtual void Unk_19E(); // 19E virtual void Unk_19F(); // 19F virtual void Unk_1A0(); // 1A0