Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream sync #1559

Merged
merged 117 commits into from
Nov 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
bda8a9c
microwave can be turned on with signal (#21138)
deltanedas Nov 4, 2023
7a2a3ce
fix hand examine (#21309)
EmoGarbage404 Nov 4, 2023
4a730c5
Fix double counting bounties (#21399)
EmoGarbage404 Nov 4, 2023
1263206
Automatic changelog update
PJBot Nov 4, 2023
84b55c4
fix borg actions (#21235)
EmoGarbage404 Nov 4, 2023
83a2513
Automatic changelog update
PJBot Nov 4, 2023
7d0070d
Soap dont have 100% vomit chance (#21428)
TheEmber Nov 4, 2023
34c69b2
Senior Physician Beret (#21426)
UbaserB Nov 4, 2023
d152e64
Automatic changelog update
PJBot Nov 4, 2023
9182c20
Enter mech with drag-drop (#21405)
themias Nov 4, 2023
8abc084
Automatic changelog update
PJBot Nov 4, 2023
10be264
adjust radiation blockers (#21286)
daerSeebaer Nov 4, 2023
40afc27
Automatic changelog update
PJBot Nov 4, 2023
6a8023c
Fix admin verb PVS issue (#21406)
ElectroJr Nov 4, 2023
84bc7ee
SO gets sec beret (#21433)
TsjipTsjip Nov 4, 2023
843a7d1
Fix ambuzol zombie damage (#21432)
themias Nov 4, 2023
26519ab
Automatic changelog update
PJBot Nov 4, 2023
a385990
Fix accidental crayon graffiti when writing on paper (#21445)
themias Nov 4, 2023
349f583
Automatic changelog update
PJBot Nov 4, 2023
ef8ecf8
Move "id" clothing layer above gloves, shoes, ears, outerclothing, ey…
DrSmugleaf Nov 5, 2023
8b11c4f
Cleanup chemistry-bottles.yml (#21459)
lzk228 Nov 5, 2023
670f745
fix susbox slots (#21435)
deltanedas Nov 5, 2023
cfaac4b
wintercoats fit small items (#21463)
joshepvodka Nov 5, 2023
c54febc
Stop mice eating soap (#21446)
crazybrain23 Nov 5, 2023
34e03d1
Automatic changelog update
PJBot Nov 5, 2023
488433c
give chemistry bag better storage (#21447)
deltanedas Nov 5, 2023
77d49ea
:trollface: (#21470)
deltanedas Nov 5, 2023
e5fd5cc
Automatic changelog update
PJBot Nov 5, 2023
b1eb5d4
Convert license.txt to attributions.yml in misc folder (#21465)
RieBi Nov 6, 2023
10c7363
Convert license.txt to attributions.yml in Items folder (#21466)
RieBi Nov 6, 2023
13d412e
Convert license.txt to attributions.yml in Animals folder (#21471)
RieBi Nov 6, 2023
f6f73aa
Converted weapons license.txts to attributions.ymls (#21444)
RieBi Nov 6, 2023
2c87c53
hide medibot messages from chat and logs (#21468)
deltanedas Nov 6, 2023
196be3c
Adds more sources for sheet paper material (#21364)
SpaceRox1244 Nov 6, 2023
3a430f3
Automatic changelog update
PJBot Nov 6, 2023
79cd2a7
Significantly nerf chemvomit and give it a reasonable default. (#21453)
IProduceWidgets Nov 6, 2023
b79607b
Automatic changelog update
PJBot Nov 6, 2023
95a651e
Bicaridine metabolism bandaid (#21443)
themias Nov 6, 2023
36c82ca
Notice board (#21410)
Tunguso4ka Nov 6, 2023
9c9a3f7
Automatic changelog update
PJBot Nov 6, 2023
c540b61
Fix erase verb not removing chat messages in some cases (#21355)
DrSmugleaf Nov 6, 2023
1c497db
Artifact fragments can now stack. (#21232)
c0rigin Nov 6, 2023
fd7db80
sprite change (#21423)
UbaserB Nov 6, 2023
2b08889
Automatic changelog update
PJBot Nov 6, 2023
3d13332
The Mobs of the Living Light (#21338)
Nimfar11 Nov 6, 2023
f103a38
Automatic changelog update
PJBot Nov 6, 2023
e35cd61
allow network payload data to inherit nullability (#21327)
graevy Nov 6, 2023
f9369db
Made livestock crates not airtight. (#21315)
IProduceWidgets Nov 6, 2023
284547e
Automatic changelog update
PJBot Nov 6, 2023
615f15e
Nukeops hud (#21260)
IntegerTempest Nov 6, 2023
3079b38
:trollface: (#21182)
JoeHammad1844 Nov 6, 2023
f87152a
Automatic changelog update
PJBot Nov 6, 2023
5af97da
diagonal window glass and pirate shuttle improvements (#21174)
brainfood1183 Nov 6, 2023
d07ea20
Use object-spaced bounding boxes for putting stuff in crates (#21427)
ChrisThirtle Nov 6, 2023
b1f39ad
Automatic changelog update
PJBot Nov 6, 2023
4cacb7b
Ice anomaly spawns ice underneath it (#21227)
YuriyKiss Nov 6, 2023
40b36d1
Roller Skates (#20257)
brainfood1183 Nov 6, 2023
3be6c5b
Microreactor power cell research (#21473)
deltanedas Nov 6, 2023
71ec51b
Replicate the PDA belt slot sprite in the IDSLOT (#21457)
QuietlyWhisper Nov 6, 2023
8302bef
Automatic changelog update
PJBot Nov 6, 2023
96e2781
add ied (#20966)
deltanedas Nov 6, 2023
db1eba1
Automatic changelog update
PJBot Nov 6, 2023
f0f54b5
mech nitrogen filtering 2 (#19868)
deltanedas Nov 6, 2023
dd0ab19
Freelance Radio Channel and Encryption Key (#20904)
LordEclipse Nov 6, 2023
e0a11f9
(Reagent) Minor blood and uncooked protein rework (#20891)
QuietlyWhisper Nov 6, 2023
ad1a280
Automatic changelog update
PJBot Nov 6, 2023
8b3adf6
Anomaly Synchronizer (#20945)
TheShuEd Nov 6, 2023
18eae13
Automatic changelog update
PJBot Nov 6, 2023
525d8e3
Add map info to status HTTP API (#21089)
Morb0 Nov 6, 2023
3890490
ninja stun change (#20503)
deltanedas Nov 6, 2023
4729024
Convert ItemSize to prototypes (#21481)
EmoGarbage404 Nov 6, 2023
df46c52
Automatic changelog update
PJBot Nov 6, 2023
b9c3887
Port python packaging to Content.Packaging (#21458)
metalgearsloth Nov 6, 2023
2a9e08b
Update submodule to 176.0.0 (#21500)
metalgearsloth Nov 6, 2023
fb60a56
Guardian bugfixes (#21467)
ElectroJr Nov 7, 2023
778d3e9
eek (penis) (#21498)
Emisse Nov 7, 2023
651dffb
Fix map renderer (#21515)
DrSmugleaf Nov 7, 2023
dc3b6e3
Fix Client RoleSystem not inheriting SharedRoleSystem, network job co…
DrSmugleaf Nov 7, 2023
c90316d
Lockers for clown, mime and NT Representative (#21504)
Tunguso4ka Nov 7, 2023
201fe5f
Automatic changelog update
PJBot Nov 7, 2023
b1fd313
Minor rule change to include disability slurs in rules (#21518)
Titian3 Nov 7, 2023
611bfea
Merge remote-tracking branch 'upstream/master' into update-sposnors
Morb0 Nov 8, 2023
5d2f429
Apply changes
Morb0 Nov 8, 2023
104300b
uwu (#21521)
VasilisThePikachu Nov 8, 2023
45ddc30
Make the cloning pod and medical scanner fit through verical doors (#…
VasilisThePikachu Nov 8, 2023
3953257
Add method to clear an action's cooldown (#21517)
DrSmugleaf Nov 8, 2023
a6985e5
Automatic changelog update
PJBot Nov 8, 2023
94368f1
Speed Boots [Tier 3 Civ-Service] (#21438)
EmoGarbage404 Nov 8, 2023
d8a88d0
Origin Station Update 06.11.2023 (notice boards and gasgiant parallax…
brainfood1183 Nov 8, 2023
fb7afe4
Automatic changelog update
PJBot Nov 8, 2023
490ebdc
No more passive zombies (#21506)
VasilisThePikachu Nov 8, 2023
932c5db
content (#21505)
KingFroozy Nov 8, 2023
2f296dc
Allows reptilians to eat crayons, as is their right (#21420)
FluidRock Nov 8, 2023
33f211b
Automatic changelog update
PJBot Nov 8, 2023
ac25dd8
Fix mob state error (#21431)
ElectroJr Nov 8, 2023
b5e8890
Adding damage visuals for directional windows (#21194)
Darkenson Nov 8, 2023
e249aba
Automatic changelog update
PJBot Nov 8, 2023
8f72e0a
Add Spawners (#20495)
Deeeeja Nov 8, 2023
b360391
Update Robust to v177.0.0 (#21528)
DrSmugleaf Nov 8, 2023
37cecec
Fix maps
Morb0 Nov 8, 2023
7a328a7
Merge remote-tracking branch 'upstream/master' into upstream-sync
Morb0 Nov 8, 2023
da7b583
Fix attributions license format
Morb0 Nov 8, 2023
0a488e0
Update locale
Morb0 Nov 8, 2023
52af546
Arachnid 2: Episode 2 (#19984)
PixelTheKermit Nov 8, 2023
e8a47cd
Automatic changelog update
PJBot Nov 8, 2023
6550f42
Common spelling mistake (#21535)
VasilisThePikachu Nov 8, 2023
55c6c35
Fix O id prototype (#21534)
Morb0 Nov 8, 2023
52508a6
Fixed typo "tranexmic -> tranexamic" (#21537)
Brandon-Huu Nov 8, 2023
a466a9e
Grill Resprite (#21524)
ps3moira Nov 8, 2023
4831f2a
Automatic changelog update
PJBot Nov 8, 2023
3f4d998
nitrile gloves (#21509)
KingFroozy Nov 8, 2023
174aa3b
Automatic changelog update
PJBot Nov 8, 2023
4220b09
Sling Resprites (#21538)
Boaz1111 Nov 8, 2023
7d7c9e5
Merge remote-tracking branch 'upstream/master' into upstream-sync
Morb0 Nov 8, 2023
172c234
Update locale
Morb0 Nov 8, 2023
c41fb89
Fix locale
Morb0 Nov 8, 2023
307262c
Fix locale
Morb0 Nov 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 11 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,17 @@ jobs:
cd RobustToolbox
git fetch --depth=1

- name: Package all
run: |
Tools/package_server_build.py -p win-x64 linux-x64 osx-x64 linux-arm64
Tools/package_client_build.py
- name: Install dependencies
run: dotnet restore

- name: Build Packaging
run: dotnet build Content.Packaging --configuration Release --no-restore /m

- name: Package server
run: dotnet run --project Content.Packaging server --platform win-x64 --platform linux-x64 --platform osx-x64 --platform linux-arm64

- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release

- name: Update Build Info
env:
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/test-packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,15 @@ jobs:
- name: Install dependencies
run: dotnet restore

- name: Package client
run: |
Tools/package_server_build.py -p win-x64 linux-x64 osx-x64 linux-arm64
Tools/package_client_build.py
- name: Build Packaging
run: dotnet build Content.Packaging --configuration Release --no-restore /m

- name: Package server
run: dotnet run --project Content.Packaging server --platform win-x64 --platform linux-x64 --platform osx-x64 --platform linux-arm64

- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release

- name: Update Build Info
env:
FORK_ID: ${{ vars.FORK_ID }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ private void PlayerListItemPressed(BaseButton.ButtonEventArgs? args, ListData? d
}
else if (args.Event.Function == EngineKeyFunctions.UseSecondary && selectedPlayer.NetEntity != null)
{
_uiManager.GetUIController<VerbMenuUIController>().OpenVerbMenu(_entManager.GetEntity(selectedPlayer.NetEntity.Value));
_uiManager.GetUIController<VerbMenuUIController>().OpenVerbMenu(selectedPlayer.NetEntity.Value, true);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,13 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab
[GenerateTypedNameReferences]
public sealed partial class PlayerTab : Control
{
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IPlayerManager _playerMan = default!;

private const string ArrowUp = "↑";
private const string ArrowDown = "↓";
private readonly Color _altColor = Color.FromHex("#292B38");
private readonly Color _defaultColor = Color.FromHex("#2F2F3B");
private IEntityManager _entManager;
private readonly AdminSystem _adminSystem;
private IReadOnlyList<PlayerInfo> _players = new List<PlayerInfo>();

Expand All @@ -30,7 +32,7 @@ public sealed partial class PlayerTab : Control

public PlayerTab()
{
_entManager = IoCManager.Resolve<IEntityManager>();
IoCManager.InjectDependencies(this);
_adminSystem = _entManager.System<AdminSystem>();
RobustXamlLoader.Load(this);
RefreshPlayerList(_adminSystem.PlayerList);
Expand Down Expand Up @@ -95,13 +97,11 @@ private void RefreshPlayerList(IReadOnlyList<PlayerInfo> players)
foreach (var child in PlayerList.Children.ToArray())
{
if (child is PlayerTabEntry)
child.Orphan();
child.Dispose();
}

_players = players;

var playerManager = IoCManager.Resolve<IPlayerManager>();
PlayerCount.Text = $"Players: {playerManager.PlayerCount}";
PlayerCount.Text = $"Players: {_playerMan.PlayerCount}";

var sortedPlayers = new List<PlayerInfo>(players);
sortedPlayers.Sort(Compare);
Expand Down
8 changes: 8 additions & 0 deletions Content.Client/Construction/UI/ConstructionMenuPresenter.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
using System.Linq;
using Content.Client.UserInterface.Systems.MenuBar.Widgets;
using Content.Shared.Construction.Prototypes;
using Content.Shared.Tag;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.Placement;
using Robust.Client.Player;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.Utility;
Expand All @@ -25,6 +27,7 @@ internal sealed class ConstructionMenuPresenter : IDisposable
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IPlacementManager _placementManager = default!;
[Dependency] private readonly IUserInterfaceManager _uiManager = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;

private readonly IConstructionMenuView _constructionView;

Expand Down Expand Up @@ -152,6 +155,11 @@ private void OnViewPopulateRecipes(object? sender, (string search, string catago
if (recipe.Hide)
continue;

if (_playerManager.LocalSession == null
|| _playerManager.LocalEntity == null
|| (recipe.EntityWhitelist != null && !recipe.EntityWhitelist.IsValid(_playerManager.LocalEntity.Value)))
continue;

if (!string.IsNullOrEmpty(search))
{
if (!recipe.Name.ToLowerInvariant().Contains(search.Trim().ToLowerInvariant()))
Expand Down
43 changes: 43 additions & 0 deletions Content.Client/Overlays/ShowSyndicateIconsSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
using Content.Shared.Overlays;
using Content.Shared.StatusIcon.Components;
using Content.Shared.NukeOps;
using Content.Shared.StatusIcon;
using Robust.Shared.Prototypes;

namespace Content.Client.Overlays;
public sealed class ShowSyndicateIconsSystem : EquipmentHudSystem<ShowSyndicateIconsComponent>
{
[Dependency] private readonly IPrototypeManager _prototype = default!;

public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<NukeOperativeComponent, GetStatusIconsEvent>(OnGetStatusIconsEvent);
}

private void OnGetStatusIconsEvent(EntityUid uid, NukeOperativeComponent nukeOperativeComponent, ref GetStatusIconsEvent args)
{
if (!IsActive || args.InContainer)
{
return;
}

var healthIcons = SyndicateIcon(uid, nukeOperativeComponent);

args.StatusIcons.AddRange(healthIcons);
}

private IReadOnlyList<StatusIconPrototype> SyndicateIcon(EntityUid uid, NukeOperativeComponent nukeOperativeComponent)
{
var result = new List<StatusIconPrototype>();

if (_prototype.TryIndex<StatusIconPrototype>(nukeOperativeComponent.SyndStatusIcon, out var syndicateicon))
{
result.Add(syndicateicon);
}

return result;
}
}

24 changes: 24 additions & 0 deletions Content.Client/PowerCell/PowerCellSystem.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Content.Shared.PowerCell;
using Content.Shared.PowerCell.Components;
using JetBrains.Annotations;
using Robust.Client.GameObjects;

Expand All @@ -15,6 +16,29 @@ public override void Initialize()
SubscribeLocalEvent<PowerCellVisualsComponent, AppearanceChangeEvent>(OnPowerCellVisualsChange);
}

/// <inheritdoc/>
public override bool HasActivatableCharge(EntityUid uid, PowerCellDrawComponent? battery = null, PowerCellSlotComponent? cell = null,
EntityUid? user = null)
{
if (!Resolve(uid, ref battery, ref cell, false))
return true;

return battery.CanUse;
}

/// <inheritdoc/>
public override bool HasDrawCharge(
EntityUid uid,
PowerCellDrawComponent? battery = null,
PowerCellSlotComponent? cell = null,
EntityUid? user = null)
{
if (!Resolve(uid, ref battery, ref cell, false))
return true;

return battery.CanDraw;
}

private void OnPowerCellVisualsChange(EntityUid uid, PowerCellVisualsComponent component, ref AppearanceChangeEvent args)
{
if (args.Sprite == null)
Expand Down
6 changes: 4 additions & 2 deletions Content.Client/Roles/RoleSystem.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
namespace Content.Client.Roles;
using Content.Shared.Roles;

public sealed class RoleSystem : EntitySystem
namespace Content.Client.Roles;

public sealed class RoleSystem : SharedRoleSystem
{
}
11 changes: 7 additions & 4 deletions Content.Client/Storage/UI/StorageWindow.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Numerics;
using Content.Client.Items.Systems;
using Content.Client.Message;
using Robust.Client.Graphics;
using Robust.Client.UserInterface.Controls;
Expand All @@ -23,6 +24,7 @@ public sealed class StorageWindow : FancyWindow
private readonly IEntityManager _entityManager;

private readonly SharedStorageSystem _storage;
private readonly ItemSystem _item;

private readonly RichTextLabel _information;
public readonly ContainerButton StorageContainerButton;
Expand All @@ -34,6 +36,7 @@ public StorageWindow(IEntityManager entityManager)
{
_entityManager = entityManager;
_storage = _entityManager.System<SharedStorageSystem>();
_item = _entityManager.System<ItemSystem>();
SetSize = new Vector2(240, 320);
Title = Loc.GetString("comp-storage-window-title");
RectClipContent = true;
Expand Down Expand Up @@ -69,7 +72,7 @@ public StorageWindow(IEntityManager entityManager)
_information.SetMessage(Loc.GetString("comp-storage-window-weight",
("weight", 0),
("maxWeight", 0),
("size", SharedItemSystem.GetItemSizeLocale(ItemSize.Normal))));
("size", _item.GetItemSizeLocale(SharedStorageSystem.DefaultStorageMaxItemSize))));

vBox.AddChild(_information);

Expand Down Expand Up @@ -117,14 +120,14 @@ private void SetStorageInformation(Entity<StorageComponent> uid)
_information.SetMarkup(Loc.GetString("comp-storage-window-weight",
("weight", _storage.GetCumulativeItemSizes(uid, uid.Comp)),
("maxWeight", uid.Comp.MaxTotalWeight),
("size", SharedItemSystem.GetItemSizeLocale(_storage.GetMaxItemSize((uid, uid.Comp))))));
("size", _item.GetItemSizeLocale(_storage.GetMaxItemSize((uid, uid.Comp))))));
}
else
{
_information.SetMarkup(Loc.GetString("comp-storage-window-slots",
("itemCount", uid.Comp.Container.ContainedEntities.Count),
("maxCount", uid.Comp.MaxSlots),
("size", SharedItemSystem.GetItemSizeLocale(_storage.GetMaxItemSize((uid, uid.Comp))))));
("size", _item.GetItemSizeLocale(_storage.GetMaxItemSize((uid, uid.Comp))))));
}
}

Expand Down Expand Up @@ -167,7 +170,7 @@ public void GenerateButton(ListData data, ListContainerButton button)
{
Align = Label.AlignMode.Right,
Text = item?.Size != null
? $"{SharedItemSystem.GetItemSizeWeight(item.Size)}"
? $"{_item.GetItemSizeWeight(item.Size)}"
: Loc.GetString("comp-storage-no-item-size")
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ private void PlayerTabEntryPressed(ButtonEventArgs args)
if (function == EngineKeyFunctions.UIClick)
_conHost.ExecuteCommand($"vv {entity}");
else if (function == EngineKeyFunctions.UseSecondary)
_verb.OpenVerbMenu(EntityManager.GetEntity(entity), true);
_verb.OpenVerbMenu(entity, true);
else
return;

Expand Down
28 changes: 23 additions & 5 deletions Content.Client/Verbs/UI/VerbMenuUIController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controllers;
using Robust.Shared.Input;
using Robust.Shared.Utility;

namespace Content.Client.Verbs.UI
{
Expand All @@ -29,7 +30,7 @@ public sealed class VerbMenuUIController : UIController, IOnStateEntered<Gamepla
[UISystemDependency] private readonly CombatModeSystem _combatMode = default!;
[UISystemDependency] private readonly VerbSystem _verbSystem = default!;

public EntityUid CurrentTarget;
public NetEntity CurrentTarget;
public SortedSet<Verb> CurrentVerbs = new();

/// <summary>
Expand Down Expand Up @@ -64,8 +65,25 @@ public void OnStateExited(GameplayState state)
/// </param>
public void OpenVerbMenu(EntityUid target, bool force = false, ContextMenuPopup? popup=null)
{
if (_playerManager.LocalPlayer?.ControlledEntity is not {Valid: true} user ||
_combatMode.IsInCombatMode(user))
DebugTools.Assert(target.IsValid());
OpenVerbMenu(EntityManager.GetNetEntity(target), force, popup);
}

/// <summary>
/// Open a verb menu and fill it with verbs applicable to the given target entity.
/// </summary>
/// <param name="target">Entity to get verbs on.</param>
/// <param name="force">Used to force showing all verbs. Only works on networked entities if the user is an admin.</param>
/// <param name="popup">
/// If this is not null, verbs will be placed into the given popup instead.
/// </param>
public void OpenVerbMenu(NetEntity target, bool force = false, ContextMenuPopup? popup=null)
{
DebugTools.Assert(target.IsValid());
if (_playerManager.LocalEntity is not {Valid: true} user)
return;

if (!force && _combatMode.IsInCombatMode(user))
return;

Close();
Expand All @@ -82,7 +100,7 @@ public void OpenVerbMenu(EntityUid target, bool force = false, ContextMenuPopup?

// Add indicator that some verbs may be missing.
// I long for the day when verbs will all be predicted and this becomes unnecessary.
if (!EntityManager.IsClientSide(target))
if (!target.IsClientSide())
{
_context.AddElement(menu, new ContextMenuElement(Loc.GetString("verb-system-waiting-on-server-text")));
}
Expand Down Expand Up @@ -248,7 +266,7 @@ private void Close()

private void HandleVerbsResponse(VerbsResponseEvent msg)
{
if (OpenMenu == null || !OpenMenu.Visible || CurrentTarget != EntityManager.GetEntity(msg.Entity))
if (OpenMenu == null || !OpenMenu.Visible || CurrentTarget != msg.Entity)
return;

AddServerVerbs(msg.Verbs, OpenMenu);
Expand Down
Loading
Loading