diff --git a/1.2/Assemblies/Rimworld-Animations.dll b/1.2/Assemblies/Rimworld-Animations.dll index 3b9a8b9..0c115d3 100644 Binary files a/1.2/Assemblies/Rimworld-Animations.dll and b/1.2/Assemblies/Rimworld-Animations.dll differ diff --git a/Source/Patches/HarmonyPatch_AlienRace.cs b/Source/Patches/HarmonyPatch_AlienRace.cs index d184a04..0391195 100644 --- a/Source/Patches/HarmonyPatch_AlienRace.cs +++ b/Source/Patches/HarmonyPatch_AlienRace.cs @@ -53,8 +53,8 @@ namespace Rimworld_Animations { if (!ba.CanDrawAddon(pawn: pawn)) continue; AlienPartGenerator.RotationOffset offset; - - offset = ((ba.drawnInBed || ba.alignWithHead) ? pawnAnimator.headFacing : rotation) == Rot4.South ? + if (ba.drawnInBed || ba.alignWithHead) { + offset = pawnAnimator.headFacing == Rot4.South ? ba.offsets.south : pawnAnimator.headFacing == Rot4.North ? ba.offsets.north : @@ -62,7 +62,19 @@ namespace Rimworld_Animations { ba.offsets.east : ba.offsets.west; + } else { + offset = rotation == Rot4.South ? + ba.offsets.south : + rotation == Rot4.North ? + ba.offsets.north : + rotation == Rot4.East ? + ba.offsets.east : + ba.offsets.west; + + } + + Vector2 bodyOffset = (portrait ? offset?.portraitBodyTypes ?? offset?.bodyTypes : offset?.bodyTypes)?.FirstOrDefault(predicate: to => to.bodyType == pawn.story.bodyType) ?.offset ?? Vector2.zero;