Round 4 of Doafter fixes (#14476)

This commit is contained in:
keronshb
2023-03-09 03:45:19 -05:00
committed by GitHub
parent c7c5704aeb
commit 5e8bd137f6
3 changed files with 9 additions and 8 deletions

View File

@@ -267,8 +267,8 @@ namespace Content.Server.Nutrition.EntitySystems
var doAfterEventArgs = new DoAfterEventArgs(user, drink.ForceDrink ? drink.ForceFeedDelay : drink.Delay,
target: target, used: item)
{
RaiseOnTarget = drink.ForceDrink,
RaiseOnUser = !drink.ForceDrink,
RaiseOnTarget = user != target,
RaiseOnUser = false,
BreakOnUserMove = drink.ForceDrink,
BreakOnDamage = true,
BreakOnStun = true,
@@ -295,17 +295,17 @@ namespace Content.Server.Nutrition.EntitySystems
return;
}
if (args.Handled || args.Cancelled || component.Deleted)
if (args.Handled || component.Deleted)
return;
if (!TryComp<BodyComponent>(args.Args.Target, out var body))
return;
component.Drinking = false;
var transferAmount = FixedPoint2.Min(component.TransferAmount, args.AdditionalData.DrinkSolution.Volume);
var drained = _solutionContainerSystem.Drain(uid, args.AdditionalData.DrinkSolution, transferAmount);
//var forceDrink = args.Args.Target.Value != args.Args.User;
if (!_bodySystem.TryGetBodyOrganComponents<StomachComponent>(args.Args.Target.Value, out var stomachs, body))
{
_popupSystem.PopupEntity(component.ForceDrink ? Loc.GetString("drink-component-try-use-drink-cannot-drink-other") : Loc.GetString("drink-component-try-use-drink-had-enough"), args.Args.Target.Value, args.Args.User);
@@ -375,7 +375,6 @@ namespace Content.Server.Nutrition.EntitySystems
//TODO: Grab the stomach UIDs somehow without using Owner
_stomachSystem.TryTransferSolution(firstStomach.Value.Comp.Owner, drained, firstStomach.Value.Comp);
component.Drinking = false;
component.ForceDrink = false;
args.Handled = true;
}