diff --git a/Dalamud/Game/ClientState/Actors/ActorTable.cs b/Dalamud/Game/ClientState/Actors/ActorTable.cs
index 048259ada..c6746d29c 100644
--- a/Dalamud/Game/ClientState/Actors/ActorTable.cs
+++ b/Dalamud/Game/ClientState/Actors/ActorTable.cs
@@ -93,11 +93,12 @@ namespace Dalamud.Game.ClientState.Actors {
ObjectKind.Player => new PlayerCharacter(offset, actorStruct, this.dalamud),
ObjectKind.BattleNpc => new BattleNpc(offset, actorStruct, this.dalamud),
ObjectKind.EventObj => new EventObj(offset, actorStruct, this.dalamud),
- _ => new Actor(offset, actorStruct, this.dalamud)
+ ObjectKind.Companion => new Npc(offset, actorStruct, this.dalamud),
+ _ => new Actor(offset, actorStruct, this.dalamud)
};
}
catch (Exception e) {
- Log.Information($"{e}");
+ Log.Error(e, "Could not read actor from memory.");
return null;
}
}
diff --git a/Dalamud/Game/ClientState/Actors/Types/NonPlayer/Npc.cs b/Dalamud/Game/ClientState/Actors/Types/NonPlayer/Npc.cs
index 99cb9e739..35e659297 100644
--- a/Dalamud/Game/ClientState/Actors/Types/NonPlayer/Npc.cs
+++ b/Dalamud/Game/ClientState/Actors/Types/NonPlayer/Npc.cs
@@ -11,7 +11,7 @@ namespace Dalamud.Game.ClientState.Actors.Types.NonPlayer {
/// The memory representation of the base actor.
/// A dalamud reference needed to access game data in Resolvers.
/// The address of this actor in memory.
- protected Npc(IntPtr address, Structs.Actor actorStruct, Dalamud dalamud) : base(address, actorStruct, dalamud) { }
+ public Npc(IntPtr address, Structs.Actor actorStruct, Dalamud dalamud) : base(address, actorStruct, dalamud) { }
///
/// The data ID of the NPC linking to their respective game data.
diff --git a/Dalamud/Game/ClientState/Structs/Actor.cs b/Dalamud/Game/ClientState/Structs/Actor.cs
index ac481dcf2..683847cf3 100644
--- a/Dalamud/Game/ClientState/Structs/Actor.cs
+++ b/Dalamud/Game/ClientState/Structs/Actor.cs
@@ -30,27 +30,27 @@ namespace Dalamud.Game.ClientState.Structs
// public const int ??? = 464; // 0x01D0 TargetType
// public const int ??? = 480; // 0x01E0 EntityCount
// public const int ??? = 488; // 0x01E8 GatheringStatus
- public const int PlayerCharacterTargetActorId = 496; // 0x01F0 TargetID
+ public const int PlayerCharacterTargetActorId = 560; // 0x01F0 TargetID
// public const int ??? = 5297; // 0x14B1 Status
- public const int Customize = 6072; // 0x17B8
- public const int CompanyTag = 6096; // 0x17D0
- public const int BattleNpcTargetActorId = 6136; // 0x17F8 ClaimedByID
- public const int NameId = 6248; // 0x1868 ModelID
- public const int CurrentWorld = 6276; // 0x1884
- public const int HomeWorld = 6278; // 0x1886
- public const int CurrentHp = 6296; // 0x1898 HPCurrent
- public const int MaxHp = 6300; // 0x189C HPMax
- public const int CurrentMp = 6304; // 0x18A0 MPCurrent
- public const int MaxMp = 6308; // 0x18A4 MPMax
- public const int CurrentGp = 6314; // 0x18AA GPCurrent
- public const int MaxGp = 6316; // 0x18AC GPMax
- public const int CurrentCp = 6318; // 0x18AE CPCurrent
- public const int MaxCp = 6320; // 0x18B0 CPMax
+ public const int Customize = 6264; // 0x17B8
+ public const int CompanyTag = 1892; // 0x17D0
+ public const int BattleNpcTargetActorId = 6328; // 0x17F8 ClaimedByID
+ public const int NameId = 6432; // 0x1868 ModelID
+ public const int CurrentWorld = 6460; // 0x1884
+ public const int HomeWorld = 6462; // 0x1886
+ public const int CurrentHp = 452; // 0x1898 HPCurrent
+ public const int MaxHp = 456; // 0x189C HPMax
+ public const int CurrentMp = 460; // 0x18A0 MPCurrent
+ public const int MaxMp = 464; // 0x18A4 MPMax
+ public const int CurrentGp = 468; // 0x18AA GPCurrent
+ public const int MaxGp = 472; // 0x18AC GPMax
+ public const int CurrentCp = 476; // 0x18AE CPCurrent
+ public const int MaxCp = 480; // 0x18B0 CPMax
// public const int ??? = 6326; // 0x18B6 Title
// public const int ??? = 6354; // 0x18D2 Icon
// public const int ??? = 6356; // 0x18D4 ActionStatus
- public const int ClassJob = 6362; // 0x18DA Job
- public const int Level = 6364; // 0x18DC Level
+ public const int ClassJob = 482; // 0x18DA Job
+ public const int Level = 483; // 0x18DC Level
// public const int ??? = 6367; // 0x18DF GrandCompany
// public const int ??? = 6367; // 0x18DF GrandCompanyRank
// public const int ??? = 6371; // 0x18E3 DifficultyRank