fix broken forced climbing (#13034)

* fix broken forced climbing

* debug messages
This commit is contained in:
Nemanja
2022-12-18 20:10:37 -05:00
committed by GitHub
parent 881a2b2ece
commit e8f481de01
2 changed files with 14 additions and 15 deletions

View File

@@ -118,13 +118,13 @@ public sealed class ClimbSystem : SharedClimbSystem
if (TryBonk(component, user)) if (TryBonk(component, user))
return; return;
_doAfterSystem.DoAfter(new DoAfterEventArgs(entityToMove, component.ClimbDelay, default, climbable, user) _doAfterSystem.DoAfter(new DoAfterEventArgs(user, component.ClimbDelay, default, climbable, entityToMove)
{ {
BreakOnTargetMove = true, BreakOnTargetMove = true,
BreakOnUserMove = true, BreakOnUserMove = true,
BreakOnDamage = true, BreakOnDamage = true,
BreakOnStun = true, BreakOnStun = true,
UserFinishedEvent = new ClimbFinishedEvent(user, climbable, entityToMove) UsedFinishedEvent = new ClimbFinishedEvent(user, climbable, entityToMove)
}); });
} }

View File

@@ -22,7 +22,6 @@ using Content.Server.Mind.Components;
using Content.Server.Stack; using Content.Server.Stack;
using Content.Shared.Interaction.Events; using Content.Shared.Interaction.Events;
using Content.Shared.Popups; using Content.Shared.Popups;
using Robust.Shared.GameObjects;
using Robust.Shared.Player; using Robust.Shared.Player;
using Robust.Shared.Random; using Robust.Shared.Random;
using Robust.Shared.Configuration; using Robust.Shared.Configuration;
@@ -153,19 +152,19 @@ namespace Content.Server.Medical.BiomassReclaimer
if (component.CancelToken != null || args.Target == null) if (component.CancelToken != null || args.Target == null)
return; return;
if (HasComp<MobStateComponent>(args.Used) && CanGib(uid, args.Used, component)) if (!HasComp<MobStateComponent>(args.Used) || !CanGib(uid, args.Used, component))
return;
component.CancelToken = new CancellationTokenSource();
_doAfterSystem.DoAfter(new DoAfterEventArgs(args.User, 7f, component.CancelToken.Token, args.Target, args.Used)
{ {
component.CancelToken = new CancellationTokenSource(); BroadcastFinishedEvent = new ReclaimSuccessfulEvent(args.User, args.Used, uid),
_doAfterSystem.DoAfter(new DoAfterEventArgs(args.User, 7f, component.CancelToken.Token, target: args.Target) BroadcastCancelledEvent = new ReclaimCancelledEvent(uid),
{ BreakOnTargetMove = true,
BroadcastFinishedEvent = new ReclaimSuccessfulEvent(args.User, args.Used, uid), BreakOnUserMove = true,
BroadcastCancelledEvent = new ReclaimCancelledEvent(uid), BreakOnStun = true,
BreakOnTargetMove = true, NeedHand = true
BreakOnUserMove = true, });
BreakOnStun = true,
NeedHand = true
});
}
} }
private void OnClimbedOn(EntityUid uid, BiomassReclaimerComponent component, ClimbedOnEvent args) private void OnClimbedOn(EntityUid uid, BiomassReclaimerComponent component, ClimbedOnEvent args)