Wizard Fix - Summon Ghost Event no longer shows Admin Ghosts or Revenants (#34994)

* Prevents admin ghosts from being shown with ghost event

* Changes summon ghost tooltip to permanently visible

* Adds AllowGhostShownByEvent tag, adds it to regular observers, removes ghost hands check & revenant check and replaces it with a tag check.
This commit is contained in:
keronshb
2025-02-16 15:29:10 -05:00
committed by GitHub
parent 489876af8b
commit 7bf33ffaa9
4 changed files with 13 additions and 2 deletions

View File

@@ -26,6 +26,7 @@ using Content.Shared.Movement.Events;
using Content.Shared.Movement.Systems;
using Content.Shared.Popups;
using Content.Shared.Storage.Components;
using Content.Shared.Tag;
using Robust.Server.GameObjects;
using Robust.Server.Player;
using Robust.Shared.Configuration;
@@ -64,6 +65,7 @@ namespace Content.Server.Ghost
[Dependency] private readonly DamageableSystem _damageable = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly TagSystem _tag = default!;
private EntityQuery<GhostComponent> _ghostQuery;
private EntityQuery<PhysicsComponent> _physicsQuery;
@@ -398,8 +400,11 @@ namespace Content.Server.Ghost
public void MakeVisible(bool visible)
{
var entityQuery = EntityQueryEnumerator<GhostComponent, VisibilityComponent>();
while (entityQuery.MoveNext(out var uid, out _, out var vis))
while (entityQuery.MoveNext(out var uid, out var _, out var vis))
{
if (!_tag.HasTag(uid, "AllowGhostShownByEvent"))
continue;
if (visible)
{
_visibilitySystem.AddLayer((uid, vis), (int) VisibilityFlags.Normal, false);

View File

@@ -73,6 +73,9 @@
id: MobObserver
components:
- type: Spectral
- type: Tag
tags:
- AllowGhostShownByEvent
- type: entity
id: ActionGhostBoo

View File

@@ -1,7 +1,7 @@
- type: entity
id: ActionSummonGhosts
name: Summon Ghosts
description: Makes all current ghosts permanently invisible
description: Makes all current ghosts permanently visible
components:
- type: InstantAction
useDelay: 120

View File

@@ -15,6 +15,9 @@
- type: Tag
id: AirSensor
- type: Tag
id: AllowGhostShownByEvent
- type: Tag
id: Ambrosia