diff --git a/Content.Server/Gravity/EntitySystems/GravityGeneratorSystem.cs b/Content.Server/Gravity/EntitySystems/GravityGeneratorSystem.cs index 6ede594f76..d1167d8375 100644 --- a/Content.Server/Gravity/EntitySystems/GravityGeneratorSystem.cs +++ b/Content.Server/Gravity/EntitySystems/GravityGeneratorSystem.cs @@ -20,11 +20,18 @@ namespace Content.Server.Gravity.EntitySystems base.Initialize(); SubscribeLocalEvent(OnComponentInitialized); + SubscribeLocalEvent(OnComponentShutdown); SubscribeLocalEvent(OnInteractHand); SubscribeLocalEvent( OnSwitchGenerator); } + private void OnComponentShutdown(EntityUid uid, GravityGeneratorComponent component, ComponentShutdown args) + { + component.GravityActive = false; + UpdateGravityActive(component, true); + } + public override void Update(float frameTime) { base.Update(frameTime); diff --git a/Content.Server/Gravity/EntitySystems/GravitySystem.cs b/Content.Server/Gravity/EntitySystems/GravitySystem.cs index 9f132dd5e0..251fffda98 100644 --- a/Content.Server/Gravity/EntitySystems/GravitySystem.cs +++ b/Content.Server/Gravity/EntitySystems/GravitySystem.cs @@ -10,6 +10,7 @@ namespace Content.Server.Gravity.EntitySystems { base.Initialize(); SubscribeLocalEvent(HandleGravityInitialize); + SubscribeLocalEvent(HandleGravityShutdown); } private void HandleGravityInitialize(EntityUid uid, GravityComponent component, ComponentInit args) @@ -34,6 +35,11 @@ namespace Content.Server.Gravity.EntitySystems RaiseLocalEvent(message); } + private void HandleGravityShutdown(EntityUid uid, GravityComponent component, ComponentShutdown args) + { + DisableGravity(component); + } + public void EnableGravity(GravityComponent comp) { if (comp.Enabled) return;