Fix welder interaction (#14704)
This commit is contained in:
@@ -23,7 +23,6 @@ public sealed class IgnitionSourceSystem : EntitySystem
|
||||
|
||||
private void OnIsHot(EntityUid uid, IgnitionSourceComponent component, IsHotEvent args)
|
||||
{
|
||||
Logger.Debug(args.IsHot.ToString());
|
||||
SetIgnited(uid,component,args.IsHot);
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ using Content.Shared.Weapons.Melee.Events;
|
||||
using Robust.Server.GameObjects;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Player;
|
||||
|
||||
namespace Content.Server.Tools
|
||||
{
|
||||
@@ -302,6 +301,7 @@ namespace Content.Server.Tools
|
||||
|
||||
if (neededFuel > fuel)
|
||||
{
|
||||
_popupSystem.PopupEntity(Loc.GetString("welder-component-cannot-weld-message"), uid, args.User);
|
||||
args.Cancel();
|
||||
}
|
||||
|
||||
|
||||
@@ -65,6 +65,7 @@ namespace Content.Shared.Tools.Components
|
||||
|
||||
public ToolUseFinishAttemptEvent(float fuel, EntityUid user)
|
||||
{
|
||||
User = user;
|
||||
Fuel = fuel;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public abstract class SharedToolSystem : EntitySystem
|
||||
if (args.Handled || args.AdditionalData.Ev == null)
|
||||
return;
|
||||
|
||||
if (args.Cancelled)
|
||||
if (args.Cancelled || !ToolFinishUse(uid, args.Args.User, args.AdditionalData.Fuel))
|
||||
{
|
||||
if (args.AdditionalData.CancelledEv != null)
|
||||
{
|
||||
@@ -50,15 +50,12 @@ public abstract class SharedToolSystem : EntitySystem
|
||||
return;
|
||||
}
|
||||
|
||||
if (ToolFinishUse(uid, args.Args.User, args.AdditionalData.Fuel))
|
||||
{
|
||||
if (args.AdditionalData.TargetEntity != null)
|
||||
RaiseLocalEvent(args.AdditionalData.TargetEntity.Value, args.AdditionalData.Ev);
|
||||
else
|
||||
RaiseLocalEvent(args.AdditionalData.Ev);
|
||||
if (args.AdditionalData.TargetEntity != null)
|
||||
RaiseLocalEvent(args.AdditionalData.TargetEntity.Value, args.AdditionalData.Ev);
|
||||
else
|
||||
RaiseLocalEvent(args.AdditionalData.Ev);
|
||||
|
||||
args.Handled = true;
|
||||
}
|
||||
args.Handled = true;
|
||||
}
|
||||
|
||||
public bool UseTool(EntityUid tool, EntityUid user, EntityUid? target, float doAfterDelay, IEnumerable<string> toolQualitiesNeeded, ToolEventData toolEventData, float fuel = 0f, ToolComponent? toolComponent = null, Func<bool>? doAfterCheck = null, CancellationTokenSource? cancelToken = null)
|
||||
|
||||
Reference in New Issue
Block a user