using Content.Server.Tabletop; using Content.Shared.EntityEffects; using Content.Shared.EntityEffects.Effects.Smite; using Content.Shared.Tabletop.Components; namespace Content.Server.EntityEffects.Effects.Smite; /// /// Spawns a game board and moves this entity into its tabletop session. /// /// public sealed partial class TabletopDimensionEntityEffectSystem : EntityEffectSystem { [Dependency] private TabletopSystem _tabletop = default!; [Dependency] private SharedTransformSystem _transform = default!; protected override void Effect(Entity entity, ref EntityEffectEvent args) { var xform = Transform(entity); var board = Spawn(args.Effect.Prototype, xform.Coordinates); var session = _tabletop.EnsureSession(Comp(board)); _transform.SetMapCoordinates(entity, session.Position); _transform.SetWorldRotationNoLerp((entity.Owner, xform), Angle.Zero); } }