Fix more errors
This commit is contained in:
@@ -34,7 +34,7 @@ namespace Content.Server.Verbs.Commands
|
||||
{
|
||||
if (args[0] == "self" && shell.Player?.AttachedEntity != null)
|
||||
{
|
||||
playerEntity = shell.Player.AttachedEntityUid.Value;
|
||||
playerEntity = shell.Player.AttachedEntity.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -60,17 +60,15 @@ namespace Content.Server.Verbs.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
var entUid = new EntityUid(intUid);
|
||||
if (!entityManager.EntityExists(entUid))
|
||||
var target = new EntityUid(intUid);
|
||||
if (!entityManager.EntityExists(target))
|
||||
{
|
||||
shell.WriteError(Loc.GetString("invoke-verb-command-invalid-target-entity"));
|
||||
return;
|
||||
}
|
||||
|
||||
var verbName = args[2].ToLowerInvariant();
|
||||
var verbs = verbSystem.GetLocalVerbs(
|
||||
target, playerEntity, VerbType.All, true
|
||||
);
|
||||
var verbs = verbSystem.GetLocalVerbs(target, playerEntity, VerbType.All, true);
|
||||
|
||||
if ((Enum.TryParse(typeof(VerbType), verbName, ignoreCase: true, out var vtype) &&
|
||||
vtype is VerbType key) &&
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Content.Server.Verbs.Commands
|
||||
var verbSystem = EntitySystem.Get<SharedVerbSystem>();
|
||||
|
||||
// get the 'player' entity (defaulting to command user, otherwise uses a uid)
|
||||
EntityUid playerEntity = null;
|
||||
EntityUid? playerEntity = null;
|
||||
if (!int.TryParse(args[0], out var intPlayerUid))
|
||||
{
|
||||
if (args[0] == "self" && shell.Player?.AttachedEntity != null)
|
||||
@@ -58,16 +58,14 @@ namespace Content.Server.Verbs.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
var entUid = new EntityUid(intUid);
|
||||
if (!entityManager.EntityExists(entUid)
|
||||
var target = new EntityUid(intUid);
|
||||
if (!entityManager.EntityExists(target))
|
||||
{
|
||||
shell.WriteError(Loc.GetString("list-verbs-command-invalid-target-entity"));
|
||||
return;
|
||||
}
|
||||
|
||||
var verbs = verbSystem.GetLocalVerbs(
|
||||
target, playerEntity, VerbType.All, true
|
||||
);
|
||||
var verbs = verbSystem.GetLocalVerbs(target, playerEntity.Value, VerbType.All, true);
|
||||
|
||||
foreach (var (type, set) in verbs)
|
||||
{
|
||||
|
||||
@@ -29,14 +29,14 @@ namespace Content.Server.Verbs
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EntityManager.EntityExists(args.Target)
|
||||
if (!EntityManager.EntityExists(args.Target))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the list of verbs. This effectively also checks that the requested verb is in fact a valid verb that
|
||||
// the user can perform.
|
||||
var verbs = GetLocalVerbs(targetEntity, userEntity, args.Type)[args.Type];
|
||||
var verbs = GetLocalVerbs(args.Target, userEntity.Value, args.Type)[args.Type];
|
||||
|
||||
// Note that GetLocalVerbs might waste time checking & preparing unrelated verbs even though we know
|
||||
// precisely which one we want to run. However, MOST entities will only have 1 or 2 verbs of a given type.
|
||||
@@ -44,7 +44,7 @@ namespace Content.Server.Verbs
|
||||
|
||||
// Find the requested verb.
|
||||
if (verbs.TryGetValue(args.RequestedVerb, out var verb))
|
||||
ExecuteVerb(verb, userEntity, args.Target);
|
||||
ExecuteVerb(verb, userEntity.Value, args.Target);
|
||||
else
|
||||
// 404 Verb not found. Note that this could happen due to something as simple as opening the verb menu, walking away, then trying
|
||||
// to run the pickup-item verb. So maybe this shouldn't even be logged?
|
||||
@@ -55,7 +55,7 @@ namespace Content.Server.Verbs
|
||||
{
|
||||
var player = (IPlayerSession) eventArgs.SenderSession;
|
||||
|
||||
if (!EntityManager.EntityExists(args.EntityUid)
|
||||
if (!EntityManager.EntityExists(args.EntityUid))
|
||||
{
|
||||
Logger.Warning($"{nameof(HandleVerbRequest)} called on a non-existent entity with id {args.EntityUid} by player {player}.");
|
||||
return;
|
||||
@@ -71,7 +71,7 @@ namespace Content.Server.Verbs
|
||||
// this, and some verbs (e.g. view variables) won't even care about whether an entity is accessible through
|
||||
// the entity menu or not.
|
||||
|
||||
var response = new VerbsResponseEvent(args.EntityUid, GetLocalVerbs(target, player.AttachedEntity, args.Type));
|
||||
var response = new VerbsResponseEvent(args.EntityUid, GetLocalVerbs(args.EntityUid, player.AttachedEntity.Value, args.Type));
|
||||
RaiseNetworkEvent(response, player.ConnectedClient);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user