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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user