diff --git a/HKMP/Game/Client/Entity/Component/ChildrenActivationComponent.cs b/HKMP/Game/Client/Entity/Component/ChildrenActivationComponent.cs
index 1020786..08644aa 100644
--- a/HKMP/Game/Client/Entity/Component/ChildrenActivationComponent.cs
+++ b/HKMP/Game/Client/Entity/Component/ChildrenActivationComponent.cs
@@ -7,7 +7,7 @@
namespace Hkmp.Game.Client.Entity.Component;
///
-/// This component manages the gravity scale of an entity.
+/// This component manages the activation of the children of an entity.
internal class ChildrenActivationComponent : EntityComponent {
private readonly List _hostChildren;
private readonly List _clientChildren;
@@ -80,4 +80,4 @@ public override void Update(EntityNetworkData data) {
public override void Destroy() {
MonoBehaviourUtil.Instance.OnUpdateEvent -= OnUpdate;
}
-}
\ No newline at end of file
+}
diff --git a/HKMP/Game/Client/Entity/Entity.cs b/HKMP/Game/Client/Entity/Entity.cs
index 6faae27..cfa920e 100644
--- a/HKMP/Game/Client/Entity/Entity.cs
+++ b/HKMP/Game/Client/Entity/Entity.cs
@@ -820,7 +820,7 @@ private void ObjectPoolOnRecycleGameObject(On.ObjectPool.orig_Recycle_GameObject
///
private void OnDoActivateGameObject(ActivateGameObject.orig_DoActivateGameObject orig, HutongGames.PlayMaker.Actions.ActivateGameObject self) {
// If the game object in the action is not our host game object, we skip it
- if (self.Fsm.GetOwnerDefaultTarget(self.gameObject) != Object.Host) {
+ if (self.Fsm.GetOwnerDefaultTarget(self.gameObject) != Object.Host || Object.Host == null) {
orig(self);
return;
}
@@ -951,9 +951,10 @@ public void MakeHost() {
// We need to set the isKinematic property of rigid bodies to ensure physics work again after enabling
// the host object. In Hornet 1 this is necessary because another state sets this property normally in the
- // fight. See the "Wake" or "Refight Ready" state of the "Control" FSM on Hornet 1
+ // fight. See the "Wake" or "Refight Ready" state of the "Control" FSM on Hornet 1.
+ // In the Mantis Lord entity, this should never be disabled, since they are always kinematic.
var rigidBody = Object.Host.GetComponent();
- if (rigidBody != null) {
+ if (rigidBody != null && Type != EntityType.MantisLord) {
Logger.Debug(" Resetting isKinematic of Rigidbody to ensure physics work for host object");
rigidBody.isKinematic = false;
}
diff --git a/HKMP/Game/Client/Entity/EntityInitializer.cs b/HKMP/Game/Client/Entity/EntityInitializer.cs
index a730928..8327f46 100644
--- a/HKMP/Game/Client/Entity/EntityInitializer.cs
+++ b/HKMP/Game/Client/Entity/EntityInitializer.cs
@@ -44,7 +44,8 @@ internal static class EntityInitializer {
/// Array of types of actions that should be skipped during initialization.
///
private static readonly Type[] ToSkipTypes = {
- typeof(Tk2dPlayAnimation)
+ typeof(Tk2dPlayAnimation),
+ typeof(ActivateAllChildren)
};
///