Allow ghosts to ignore obstructions (#8397)
This commit is contained in:
@@ -4,6 +4,7 @@ using Content.Shared.ActionBlocker;
|
|||||||
using Content.Shared.Administration.Logs;
|
using Content.Shared.Administration.Logs;
|
||||||
using Content.Shared.CombatMode;
|
using Content.Shared.CombatMode;
|
||||||
using Content.Shared.Database;
|
using Content.Shared.Database;
|
||||||
|
using Content.Shared.Ghost;
|
||||||
using Content.Shared.Hands.Components;
|
using Content.Shared.Hands.Components;
|
||||||
using Content.Shared.Input;
|
using Content.Shared.Input;
|
||||||
using Content.Shared.Interaction.Components;
|
using Content.Shared.Interaction.Components;
|
||||||
@@ -149,7 +150,7 @@ namespace Content.Shared.Interaction
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
UserInteraction(user.Value, coords, uid, altInteract: true);
|
UserInteraction(user.Value, coords, uid, altInteract: true, checkAccess: ShouldCheckAccess(user.Value));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -163,11 +164,18 @@ namespace Content.Shared.Interaction
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
UserInteraction(userEntity.Value, coords, !Deleted(uid) ? uid : null);
|
UserInteraction(userEntity.Value, coords, !Deleted(uid) ? uid : null, checkAccess: ShouldCheckAccess(userEntity.Value));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool ShouldCheckAccess(EntityUid user)
|
||||||
|
{
|
||||||
|
// This is for Admin/mapping convenience. If ever there are other ghosts that can still interact, this check
|
||||||
|
// might need to be more selective.
|
||||||
|
return !HasComp<SharedGhostComponent>(user);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Resolves user interactions with objects.
|
/// Resolves user interactions with objects.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -669,7 +677,7 @@ namespace Content.Shared.Interaction
|
|||||||
if (Deleted(uid))
|
if (Deleted(uid))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
InteractionActivate(user.Value, uid);
|
InteractionActivate(user.Value, uid, checkAccess: ShouldCheckAccess(user.Value));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user