Slight trigger refactor (#4320)

* Trigger tweaks

* Finish trigger refactor

* Clusterflash too
This commit is contained in:
metalgearsloth
2021-07-25 20:09:08 +10:00
committed by GitHub
parent 8cb5df2a56
commit ced39d4b2e
19 changed files with 211 additions and 179 deletions

View File

@@ -1,6 +1,7 @@
using System;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
using Content.Server.Flash.Components;
using Content.Server.Throwing;
using Content.Shared.Explosion;
using Content.Shared.Interaction;
@@ -58,7 +59,8 @@ namespace Content.Server.Explosion.Components
async Task<bool> IInteractUsing.InteractUsing(InteractUsingEventArgs args)
{
if (_grenadesContainer.ContainedEntities.Count >= _maxGrenades || !args.Using.HasComponent<FlashExplosiveComponent>())
if (_grenadesContainer.ContainedEntities.Count >= _maxGrenades ||
!args.Using.HasComponent<FlashOnTriggerComponent>())
return false;
_grenadesContainer.Insert(args.Using);
@@ -70,7 +72,7 @@ namespace Content.Server.Explosion.Components
{
base.Initialize();
_grenadesContainer = ContainerHelpers.EnsureContainer<Container>(Owner, "cluster-flash");
_grenadesContainer = Owner.EnsureContainer<Container>("cluster-flash");
}
@@ -117,10 +119,7 @@ namespace Content.Server.Explosion.Components
if (grenade.Deleted)
return;
if (grenade.TryGetComponent(out OnUseTimerTriggerComponent? useTimer))
{
useTimer.Trigger(eventArgs.User);
}
EntitySystem.Get<TriggerSystem>().Trigger(grenade, eventArgs.User);
});
}