From 10801af2f7e312ac5e0ea9d62c5cded79bd939c8 Mon Sep 17 00:00:00 2001 From: Injazz <43905364+Injazz@users.noreply.github.com> Date: Fri, 7 Jun 2019 16:15:20 +0500 Subject: [PATCH] Explosions and Grenades, Triggers, OnDestroy, OnExAct, Fueltanks and destructible tables (#247) * initial explosiveComponent * remove garbagee * assets * tile mass deletion baby * grenades * tweaks * Update Content.Server/GameObjects/Components/Explosion/ExplosiveComponent.cs Co-Authored-By: Pieter-Jan Briers * Ex_act based on damage, fixes and tweaks * One finishing touch Done the most cringe way * ex_act explosions, tables are destructible now also adds fuel tanks * adds ex_act to mobs --- .../Trigger/TimerTriggerVisualizer2D.cs | 76 +++++++++ Content.Server/Content.Server.csproj | 2 +- Content.Server/EntryPoint.cs | 5 + .../Components/Damage/DamageThreshold.cs | 4 +- .../Components/Damage/DamageableComponent.cs | 8 +- .../Damage/DestructibleComponent.cs | 65 ++++++-- .../Explosion/ExplosiveComponent.cs | 147 ++++++++++++++++++ .../Items/Storage/ServerStorageComponent.cs | 14 +- .../Components/Mobs/SpeciesComponent.cs | 24 ++- .../OnUseTimerTriggerComponent.cs | 44 ++++++ .../GameObjects/EntitySystems/ActSystem.cs | 83 ++++++++++ .../EntitySystems/TriggerSystem.cs | 53 +++++++ Content.Shared/Content.Shared.csproj | 3 + .../Components/Trigger/TriggerVisuals.cs | 20 +++ Content.Shared/Maps/ContentTileDefinition.cs | 5 + Resources/Audio/effects/countdown.ogg | Bin 0 -> 23506 bytes Resources/Audio/effects/explosion.ogg | Bin 0 -> 20834 bytes Resources/Prototypes/Entities/Container.yml | 37 +++++ Resources/Prototypes/Entities/Explosives.yml | 74 +++++++++ Resources/Prototypes/Entities/Items.yml | 18 +++ Resources/Prototypes/Entities/closet.yml | 3 + Resources/Prototypes/Entities/table.yml | 5 + Resources/Prototypes/Tiles/floors.yml | 3 + Resources/Prototypes/Tiles/plating.yml | 1 + Resources/Textures/Buildings/weldtank.png | Bin 0 -> 1104 bytes Resources/Textures/Effects/explosion.png | Bin 0 -> 10134 bytes .../Effects/explosion.rsi/explosion.png | Bin 0 -> 88492 bytes .../Textures/Effects/explosion.rsi/meta.json | 28 ++++ .../Textures/Objects/grenade.rsi/icon.png | Bin 0 -> 274 bytes .../Textures/Objects/grenade.rsi/meta.json | 25 +++ .../Textures/Objects/grenade.rsi/primed.png | Bin 0 -> 332 bytes .../Textures/Objects/rack_parts.rsi/icon.png | Bin 0 -> 535 bytes .../Objects/rack_parts.rsi/inhand-left.png | Bin 0 -> 240 bytes .../Objects/rack_parts.rsi/inhand-right.png | Bin 0 -> 233 bytes .../Textures/Objects/rack_parts.rsi/meta.json | 1 + .../Textures/Objects/syndgrenade.rsi/icon.png | Bin 0 -> 215 bytes .../Objects/syndgrenade.rsi/meta.json | 25 +++ .../Objects/syndgrenade.rsi/primed.png | Bin 0 -> 524 bytes .../Textures/Objects/table_parts.rsi/icon.png | Bin 0 -> 915 bytes .../Objects/table_parts.rsi/inhand-left.png | Bin 0 -> 240 bytes .../Objects/table_parts.rsi/inhand-right.png | Bin 0 -> 233 bytes .../Objects/table_parts.rsi/meta.json | 1 + 42 files changed, 756 insertions(+), 18 deletions(-) create mode 100644 Content.Client/GameObjects/Components/Trigger/TimerTriggerVisualizer2D.cs create mode 100644 Content.Server/GameObjects/Components/Explosion/ExplosiveComponent.cs create mode 100644 Content.Server/GameObjects/Components/Trigger/TimerTrigger/OnUseTimerTriggerComponent.cs create mode 100644 Content.Server/GameObjects/EntitySystems/ActSystem.cs create mode 100644 Content.Server/GameObjects/EntitySystems/TriggerSystem.cs create mode 100644 Content.Shared/GameObjects/Components/Trigger/TriggerVisuals.cs create mode 100644 Resources/Audio/effects/countdown.ogg create mode 100644 Resources/Audio/effects/explosion.ogg create mode 100644 Resources/Prototypes/Entities/Explosives.yml create mode 100644 Resources/Textures/Buildings/weldtank.png create mode 100755 Resources/Textures/Effects/explosion.png create mode 100644 Resources/Textures/Effects/explosion.rsi/explosion.png create mode 100644 Resources/Textures/Effects/explosion.rsi/meta.json create mode 100644 Resources/Textures/Objects/grenade.rsi/icon.png create mode 100644 Resources/Textures/Objects/grenade.rsi/meta.json create mode 100644 Resources/Textures/Objects/grenade.rsi/primed.png create mode 100644 Resources/Textures/Objects/rack_parts.rsi/icon.png create mode 100644 Resources/Textures/Objects/rack_parts.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/rack_parts.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/rack_parts.rsi/meta.json create mode 100755 Resources/Textures/Objects/syndgrenade.rsi/icon.png create mode 100644 Resources/Textures/Objects/syndgrenade.rsi/meta.json create mode 100644 Resources/Textures/Objects/syndgrenade.rsi/primed.png create mode 100644 Resources/Textures/Objects/table_parts.rsi/icon.png create mode 100644 Resources/Textures/Objects/table_parts.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/table_parts.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/table_parts.rsi/meta.json diff --git a/Content.Client/GameObjects/Components/Trigger/TimerTriggerVisualizer2D.cs b/Content.Client/GameObjects/Components/Trigger/TimerTriggerVisualizer2D.cs new file mode 100644 index 0000000000..bc439ae632 --- /dev/null +++ b/Content.Client/GameObjects/Components/Trigger/TimerTriggerVisualizer2D.cs @@ -0,0 +1,76 @@ +using System; +using Content.Shared.GameObjects.Components.Triggers; +using Robust.Client.Animations; +using Robust.Client.GameObjects; +using Robust.Client.GameObjects.Components.Animations; +using Robust.Client.Interfaces.GameObjects.Components; +using Robust.Shared.Interfaces.GameObjects; +using Robust.Shared.Utility; +using YamlDotNet.RepresentationModel; + +namespace Content.Client.GameObjects.Components.Doors +{ + public class TimerTriggerVisualizer2D : AppearanceVisualizer + { + private const string AnimationKey = "priming_animation"; + + private Animation PrimingAnimation; + + public override void LoadData(YamlMappingNode node) + { + base.LoadData(node); + + var countdownSound = node.GetNode("countdown_sound").AsString(); + + + PrimingAnimation = new Animation { Length = TimeSpan.MaxValue }; + { + var flick = new AnimationTrackSpriteFlick(); + PrimingAnimation.AnimationTracks.Add(flick); + flick.LayerKey = TriggerVisualLayers.Base; + flick.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame("primed", 0f)); + + var sound = new AnimationTrackPlaySound(); + PrimingAnimation.AnimationTracks.Add(sound); + sound.KeyFrames.Add(new AnimationTrackPlaySound.KeyFrame(countdownSound, 0)); + } + } + + public override void InitializeEntity(IEntity entity) + { + if (!entity.HasComponent()) + { + entity.AddComponent(); + } + } + + public override void OnChangeData(AppearanceComponent component) + { + var sprite = component.Owner.GetComponent(); + var animPlayer = component.Owner.GetComponent(); + if (!component.TryGetData(TriggerVisuals.VisualState, out TriggerVisualState state)) + { + state = TriggerVisualState.Unprimed; + } + + switch (state) + { + case TriggerVisualState.Primed: + if (!animPlayer.HasRunningAnimation(AnimationKey)) + { + animPlayer.Play(PrimingAnimation, AnimationKey); + } + break; + case TriggerVisualState.Unprimed: + sprite.LayerSetState(0, "icon"); + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + } + public enum TriggerVisualLayers + { + Base + } +} diff --git a/Content.Server/Content.Server.csproj b/Content.Server/Content.Server.csproj index bef98d239a..25ef19f08a 100644 --- a/Content.Server/Content.Server.csproj +++ b/Content.Server/Content.Server.csproj @@ -1,4 +1,4 @@ - + net472 diff --git a/Content.Server/EntryPoint.cs b/Content.Server/EntryPoint.cs index 46cf2c90f3..4b8c401f2d 100644 --- a/Content.Server/EntryPoint.cs +++ b/Content.Server/EntryPoint.cs @@ -55,6 +55,8 @@ using Content.Server.Interfaces.GameObjects.Components.Movement; using Content.Server.GameObjects.Components.Research; using Content.Shared.GameObjects.Components.Research; using Robust.Shared.Interfaces.Log; +using Content.Server.GameObjects.Components.Explosive; +using Content.Server.GameObjects.Components.Triggers; namespace Content.Server { @@ -178,6 +180,9 @@ namespace Content.Server factory.Register(); + factory.Register(); + factory.Register(); + factory.Register(); factory.Register(); diff --git a/Content.Server/GameObjects/Components/Damage/DamageThreshold.cs b/Content.Server/GameObjects/Components/Damage/DamageThreshold.cs index 46e8a94a78..8e77872692 100644 --- a/Content.Server/GameObjects/Components/Damage/DamageThreshold.cs +++ b/Content.Server/GameObjects/Components/Damage/DamageThreshold.cs @@ -50,11 +50,13 @@ namespace Content.Server.GameObjects { public DamageThreshold DamageThreshold { get; } public bool Passed { get; } + public int ExcessDamage { get; } - public DamageThresholdPassedEventArgs(DamageThreshold threshold, bool passed) + public DamageThresholdPassedEventArgs(DamageThreshold threshold, bool passed, int excess) { DamageThreshold = threshold; Passed = passed; + ExcessDamage = excess; } } } diff --git a/Content.Server/GameObjects/Components/Damage/DamageableComponent.cs b/Content.Server/GameObjects/Components/Damage/DamageableComponent.cs index c7b997959c..52b3c663c2 100644 --- a/Content.Server/GameObjects/Components/Damage/DamageableComponent.cs +++ b/Content.Server/GameObjects/Components/Damage/DamageableComponent.cs @@ -123,7 +123,13 @@ namespace Content.Server.GameObjects var value = threshold.Value; if (((value * changeSign) > (oldValue * changeSign)) && ((value * changeSign) <= (_currentDamage[damageType] * changeSign))) { - var args = new DamageThresholdPassedEventArgs(threshold, (changeSign > 0)); + var excessDamage = change - value; + var typeOfDamage = damageType; + if (change - value < 0) + { + excessDamage = 0; + } + var args = new DamageThresholdPassedEventArgs(threshold, (changeSign > 0), excessDamage); DamageThresholdPassed?.Invoke(this, args); } } diff --git a/Content.Server/GameObjects/Components/Damage/DestructibleComponent.cs b/Content.Server/GameObjects/Components/Damage/DestructibleComponent.cs index 0fd5cdd388..62c9eb8ea8 100644 --- a/Content.Server/GameObjects/Components/Damage/DestructibleComponent.cs +++ b/Content.Server/GameObjects/Components/Damage/DestructibleComponent.cs @@ -1,21 +1,27 @@ using System; using System.Collections.Generic; using Robust.Shared.GameObjects; -using Robust.Shared.Log; -using Robust.Shared.Utility; -using YamlDotNet.RepresentationModel; -using Content.Server.Interfaces; -using Content.Shared.GameObjects; using Robust.Shared.Serialization; using Robust.Shared.ViewVariables; +using Robust.Shared.Interfaces.GameObjects; +using Robust.Shared.IoC; +using Robust.Shared.Log; +using Robust.Shared.Maths; +using Content.Server.Interfaces; +using Content.Server.GameObjects.EntitySystems; +using Content.Shared.GameObjects; namespace Content.Server.GameObjects.Components.Destructible { /// /// Deletes the entity once a certain damage threshold has been reached. /// - public class DestructibleComponent : Component, IOnDamageBehavior + public class DestructibleComponent : Component, IOnDamageBehavior, IDestroyAct, IExAct { + #pragma warning disable 649 + [Dependency] private readonly IEntitySystemManager _entitySystemManager; + #pragma warning restore 649 + /// public override string Name => "Destructible"; @@ -28,16 +34,24 @@ namespace Content.Server.GameObjects.Components.Destructible public DamageType damageType = DamageType.Total; public int damageValue = 0; - public string spawnOnDestroy = "SteelSheet"; + public string spawnOnDestroy = ""; public bool destroyed = false; + ActSystem _actSystem; + public override void ExposeData(ObjectSerializer serializer) { base.ExposeData(serializer); serializer.DataField(ref damageValue, "thresholdvalue", 100); serializer.DataField(ref damageType, "thresholdtype", DamageType.Total); - serializer.DataField(ref spawnOnDestroy, "spawnondestroy", "SteelSheet"); + serializer.DataField(ref spawnOnDestroy, "spawnondestroy", ""); + } + + public override void Initialize() + { + base.Initialize(); + _actSystem = _entitySystemManager.GetEntitySystem(); } /// @@ -49,13 +63,40 @@ namespace Content.Server.GameObjects.Components.Destructible /// void IOnDamageBehavior.OnDamageThresholdPassed(object obj, DamageThresholdPassedEventArgs e) - { + { if (e.Passed && e.DamageThreshold == Threshold && destroyed == false) { destroyed = true; - var wreck = Owner.EntityManager.SpawnEntity(spawnOnDestroy); - wreck.Transform.GridPosition = Owner.Transform.GridPosition; - Owner.EntityManager.DeleteEntity(Owner); + _actSystem.HandleDestruction(Owner, true); + } + + } + + void IExAct.OnExplosion(ExplosionEventArgs eventArgs) + { + var prob = new Random(); + switch (eventArgs.Severity) + { + case ExplosionSeverity.Destruction: + _actSystem.HandleDestruction(Owner, false); + break; + case ExplosionSeverity.Heavy: + _actSystem.HandleDestruction(Owner, true); + break; + case ExplosionSeverity.Light: + if (RandomExtensions.Prob(prob, 40)) + _actSystem.HandleDestruction(Owner, true); + break; + } + + } + + + void IDestroyAct.OnDestroy(DestructionEventArgs eventArgs) + { + if (!string.IsNullOrWhiteSpace(spawnOnDestroy) && eventArgs.IsSpawnWreck) + { + Owner.EntityManager.TrySpawnEntityAt(spawnOnDestroy, Owner.Transform.GridPosition, out var wreck); } } } diff --git a/Content.Server/GameObjects/Components/Explosion/ExplosiveComponent.cs b/Content.Server/GameObjects/Components/Explosion/ExplosiveComponent.cs new file mode 100644 index 0000000000..29dc5ded3a --- /dev/null +++ b/Content.Server/GameObjects/Components/Explosion/ExplosiveComponent.cs @@ -0,0 +1,147 @@ +using System; +using System.Linq; +using System.Collections.Generic; +using Robust.Server.Interfaces.GameObjects; +using Robust.Server.GameObjects.EntitySystems; +using Robust.Shared.GameObjects.EntitySystemMessages; +using Robust.Shared.GameObjects; +using Robust.Shared.Interfaces.Timing; +using Robust.Shared.Interfaces.Map; +using Robust.Shared.Interfaces.GameObjects; +using Robust.Shared.IoC; +using Robust.Shared.Map; +using Robust.Shared.Maths; +using Robust.Shared.Serialization; +using Content.Server.GameObjects.EntitySystems; +using Content.Shared.GameObjects; +using Content.Shared.Maps; + +namespace Content.Server.GameObjects.Components.Explosive +{ + public class ExplosiveComponent : Component, ITimerTrigger, IDestroyAct + { +#pragma warning disable 649 + [Dependency] private readonly ITileDefinitionManager _tileDefinitionManager; + [Dependency] private readonly IMapManager _mapManager; + [Dependency] private readonly IServerEntityManager _serverEntityManager; + [Dependency] private readonly IEntitySystemManager _entitySystemManager; +#pragma warning restore 649 + + public override string Name => "Explosive"; + + public int DevastationRange = 0; + public int HeavyImpactRange = 0; + public int LightImpactRange = 0; + public int FlashRange = 0; + + + public override void ExposeData(ObjectSerializer serializer) + { + base.ExposeData(serializer); + + serializer.DataField(ref DevastationRange, "devastationRange", 0); + serializer.DataField(ref HeavyImpactRange, "heavyImpactRange", 0); + serializer.DataField(ref LightImpactRange, "lightImpactRange", 0); + serializer.DataField(ref FlashRange, "flashRange", 0); + } + + private bool Explosion() + { + var maxRange = MathHelper.Max(DevastationRange, HeavyImpactRange, LightImpactRange, 0f); + //Entity damage calculation + var entitiesAll = _serverEntityManager.GetEntitiesInRange(Owner.Transform.GridPosition, maxRange).ToList(); + + foreach (var entity in entitiesAll) + { + Owner.Delete(); + if (entity == Owner) + continue; + if (!entity.Transform.IsMapTransform) + continue; + var distanceFromEntity = (int)entity.Transform.GridPosition.Distance(_mapManager, Owner.Transform.GridPosition); + var exAct = _entitySystemManager.GetEntitySystem(); + var severity = ExplosionSeverity.Destruction; + if (distanceFromEntity < DevastationRange) + { + severity = ExplosionSeverity.Destruction; + } + else if (distanceFromEntity < HeavyImpactRange) + { + severity = ExplosionSeverity.Heavy; + } + else if (distanceFromEntity < LightImpactRange) + { + severity = ExplosionSeverity.Light; + } + else + { + continue; + } + exAct.HandleExplosion(Owner, entity, severity); + } + + //Tile damage calculation mockup + //TODO: make it into some sort of actual damage component or whatever the boys think is appropriate + var mapGrid = _mapManager.GetGrid(Owner.Transform.GridPosition.GridID); + var circle = new Circle(Owner.Transform.GridPosition.Position, maxRange); + var tiles = mapGrid.GetTilesIntersecting(circle); + foreach (var tile in tiles) + { + var tileLoc = mapGrid.GridTileToLocal(tile.GridIndices); + var tileDef = (ContentTileDefinition)_tileDefinitionManager[tile.Tile.TypeId]; + var distanceFromTile = (int)tileLoc.Distance(_mapManager, Owner.Transform.GridPosition); + if (!string.IsNullOrWhiteSpace(tileDef.SubFloor)) { + if (distanceFromTile < DevastationRange) + mapGrid.SetTile(tileLoc, new Tile(_tileDefinitionManager["space"].TileId)); + if (distanceFromTile < HeavyImpactRange) + { + if (new Random().Prob(80)) + { + mapGrid.SetTile(tileLoc, new Tile(_tileDefinitionManager[tileDef.SubFloor].TileId)); + } + else + { + mapGrid.SetTile(tileLoc, new Tile(_tileDefinitionManager["space"].TileId)); + } + } + if (distanceFromTile < LightImpactRange) + { + if (new Random().Prob(50)) + { + mapGrid.SetTile(tileLoc, new Tile(_tileDefinitionManager[tileDef.SubFloor].TileId)); + } + } + } + } + + //Effects and sounds + var time = IoCManager.Resolve().CurTime; + var message = new EffectSystemMessage + { + EffectSprite = "Effects/explosion.png", + Born = time, + DeathTime = time + TimeSpan.FromSeconds(5), + Size = new Vector2(FlashRange / 2, FlashRange / 2), + Coordinates = Owner.Transform.GridPosition, + //Rotated from east facing + Rotation = 0f, + ColorDelta = new Vector4(0, 0, 0, -1500f), + Color = Vector4.Multiply(new Vector4(255, 255, 255, 750), 0.5f), + Shaded = false + }; + _entitySystemManager.GetEntitySystem().CreateParticle(message); + _entitySystemManager.GetEntitySystem().Play("/Audio/effects/explosion.ogg", Owner); + return true; + } + + bool ITimerTrigger.Trigger(TimerTriggerEventArgs eventArgs) + { + return Explosion(); + } + + void IDestroyAct.OnDestroy(DestructionEventArgs eventArgs) + { + Explosion(); + } + } +} diff --git a/Content.Server/GameObjects/Components/Items/Storage/ServerStorageComponent.cs b/Content.Server/GameObjects/Components/Items/Storage/ServerStorageComponent.cs index 33886c053d..f9a4b57b2c 100644 --- a/Content.Server/GameObjects/Components/Items/Storage/ServerStorageComponent.cs +++ b/Content.Server/GameObjects/Components/Items/Storage/ServerStorageComponent.cs @@ -1,4 +1,5 @@ -using Content.Server.GameObjects.EntitySystems; +using System.Linq; +using Content.Server.GameObjects.EntitySystems; using Content.Shared.GameObjects.Components.Storage; using Robust.Server.GameObjects; using Robust.Server.GameObjects.Components.Container; @@ -26,7 +27,7 @@ namespace Content.Server.GameObjects /// /// Storage component for containing entities within this one, matches a UI on the client which shows stored entities /// - public class ServerStorageComponent : SharedStorageComponent, IAttackBy, IUse, IActivate, IStorageComponent + public class ServerStorageComponent : SharedStorageComponent, IAttackBy, IUse, IActivate, IStorageComponent, IDestroyAct { #pragma warning disable 649 [Dependency] private readonly IMapManager _mapManager; @@ -340,5 +341,14 @@ namespace Content.Server.GameObjects _storageInitialCalculated = true; } + + void IDestroyAct.OnDestroy(DestructionEventArgs eventArgs) + { + var storedEntities = storage.ContainedEntities.ToList(); + foreach (var entity in storedEntities) + { + Remove(entity); + } + } } } diff --git a/Content.Server/GameObjects/Components/Mobs/SpeciesComponent.cs b/Content.Server/GameObjects/Components/Mobs/SpeciesComponent.cs index bb68d25f2f..63a7740c97 100644 --- a/Content.Server/GameObjects/Components/Mobs/SpeciesComponent.cs +++ b/Content.Server/GameObjects/Components/Mobs/SpeciesComponent.cs @@ -12,7 +12,7 @@ using Robust.Shared.Serialization; namespace Content.Server.GameObjects { - public class SpeciesComponent : SharedSpeciesComponent, IActionBlocker, IOnDamageBehavior + public class SpeciesComponent : SharedSpeciesComponent, IActionBlocker, IOnDamageBehavior, IExAct { /// /// Damagestates are reached by reaching a certain damage threshold, they will block actions after being reached @@ -115,6 +115,28 @@ namespace Content.Server.GameObjects Owner.RaiseEvent(new MobDamageStateChangedMessage(this)); } + + void IExAct.OnExplosion(ExplosionEventArgs eventArgs) + { + var burnDamage = 0; + var bruteDamage = 0; + switch(eventArgs.Severity) + { + case ExplosionSeverity.Destruction: + bruteDamage += 250; + burnDamage += 250; + break; + case ExplosionSeverity.Heavy: + bruteDamage += 60; + burnDamage += 60; + break; + case ExplosionSeverity.Light: + bruteDamage += 30; + break; + } + Owner.GetComponent().TakeDamage(Shared.GameObjects.DamageType.Brute, bruteDamage); + Owner.GetComponent().TakeDamage(Shared.GameObjects.DamageType.Heat, burnDamage); + } } /// diff --git a/Content.Server/GameObjects/Components/Trigger/TimerTrigger/OnUseTimerTriggerComponent.cs b/Content.Server/GameObjects/Components/Trigger/TimerTrigger/OnUseTimerTriggerComponent.cs new file mode 100644 index 0000000000..b41bd35bbd --- /dev/null +++ b/Content.Server/GameObjects/Components/Trigger/TimerTrigger/OnUseTimerTriggerComponent.cs @@ -0,0 +1,44 @@ +using System; +using Robust.Server.GameObjects; +using Robust.Shared.Interfaces.GameObjects; +using Robust.Shared.IoC; +using Robust.Shared.Serialization; +using Robust.Shared.GameObjects; +using Content.Server.GameObjects.EntitySystems; +using Content.Shared.GameObjects.Components.Triggers; + +namespace Content.Server.GameObjects.Components.Triggers +{ + public class OnUseTimerTriggerComponent : Component, IUse + { + #pragma warning disable 649 + [Dependency] private readonly IEntitySystemManager _entitySystemManager; +#pragma warning restore 649 + + public override string Name => "OnUseTimerTrigger"; + + private float _delay = 0f; + + public override void ExposeData(ObjectSerializer serializer) + { + base.ExposeData(serializer); + + serializer.DataField(ref _delay, "delay", 0f); + } + + public override void Initialize() + { + base.Initialize(); + } + + bool IUse.UseEntity(UseEntityEventArgs eventArgs) + { + var triggerSystem = _entitySystemManager.GetEntitySystem(); + if (Owner.TryGetComponent(out var appearance)) { + appearance.SetData(TriggerVisuals.VisualState, TriggerVisualState.Primed); + } + triggerSystem.HandleTimerTrigger(TimeSpan.FromSeconds(_delay), eventArgs.User, Owner); + return true; + } + } +} \ No newline at end of file diff --git a/Content.Server/GameObjects/EntitySystems/ActSystem.cs b/Content.Server/GameObjects/EntitySystems/ActSystem.cs new file mode 100644 index 0000000000..ae83a8788f --- /dev/null +++ b/Content.Server/GameObjects/EntitySystems/ActSystem.cs @@ -0,0 +1,83 @@ +using System; +using System.Linq; +using JetBrains.Annotations; +using Robust.Shared.GameObjects.Systems; +using Robust.Shared.Interfaces.GameObjects; +using Content.Shared.GameObjects; + +namespace Content.Server.GameObjects.EntitySystems +{ + /// + /// This interface gives components behavior on getting destoyed. + /// + public interface IDestroyAct + { + /// + /// Called when object is destroyed + /// + void OnDestroy(DestructionEventArgs eventArgs); + } + + public class DestructionEventArgs : EventArgs + { + public IEntity Owner { get; set; } + public bool IsSpawnWreck { get; set; } + } + + public interface IExAct + { + /// + /// Called when explosion reaches the entity + /// + void OnExplosion(ExplosionEventArgs eventArgs); + } + + public class ExplosionEventArgs : EventArgs + { + public IEntity Source { get; set; } + public IEntity Target { get; set; } + public ExplosionSeverity Severity { get; set; } + } + + [UsedImplicitly] + public sealed class ActSystem : EntitySystem + { + public void HandleDestruction(IEntity owner, bool isWreck) + { + var eventArgs = new DestructionEventArgs + { + Owner = owner, + IsSpawnWreck = isWreck + }; + var destroyActs = owner.GetAllComponents().ToList(); + + foreach (var destroyAct in destroyActs) + { + destroyAct.OnDestroy(eventArgs); + } + owner.Delete(); + } + + public void HandleExplosion(IEntity source, IEntity target, ExplosionSeverity severity) + { + var eventArgs = new ExplosionEventArgs + { + Source = source, + Target = target, + Severity = severity + }; + var exActs = target.GetAllComponents().ToList(); + + foreach (var exAct in exActs) + { + exAct.OnExplosion(eventArgs); + } + } + } + public enum ExplosionSeverity + { + Destruction, + Heavy, + Light, + } +} \ No newline at end of file diff --git a/Content.Server/GameObjects/EntitySystems/TriggerSystem.cs b/Content.Server/GameObjects/EntitySystems/TriggerSystem.cs new file mode 100644 index 0000000000..79b306c7d1 --- /dev/null +++ b/Content.Server/GameObjects/EntitySystems/TriggerSystem.cs @@ -0,0 +1,53 @@ +using System; +using System.Linq; +using JetBrains.Annotations; +using Robust.Shared.GameObjects.Systems; +using Robust.Shared.Interfaces.GameObjects; +using Robust.Shared.Timers; + +namespace Content.Server.GameObjects.EntitySystems +{ + /// + /// This interface gives components behavior when being "triggered" by timer or other conditions + /// + public interface ITimerTrigger + { + /// + /// Called when one object is triggering some event + /// + bool Trigger(TimerTriggerEventArgs eventArgs); + } + + public class TimerTriggerEventArgs : EventArgs + { + public IEntity User { get; set; } + public IEntity Source { get; set; } + } + + [UsedImplicitly] + public sealed class TriggerSystem : EntitySystem + { + public void HandleTimerTrigger(TimeSpan delay, IEntity user, IEntity trigger) + { + + Timer.Spawn(delay, () => + { + var timerTriggerEventArgs = new TimerTriggerEventArgs + { + User = user, + Source = trigger + }; + var timerTriggers = trigger.GetAllComponents().ToList(); + + foreach (var timerTrigger in timerTriggers) + { + if (timerTrigger.Trigger(timerTriggerEventArgs)) + { + // If an IOnTimerTrigger returns a status completion we finish our trigger + return; + } + } + }); + } + } +} \ No newline at end of file diff --git a/Content.Shared/Content.Shared.csproj b/Content.Shared/Content.Shared.csproj index 2266a22812..2ee3a7b57a 100644 --- a/Content.Shared/Content.Shared.csproj +++ b/Content.Shared/Content.Shared.csproj @@ -18,4 +18,7 @@ + + + diff --git a/Content.Shared/GameObjects/Components/Trigger/TriggerVisuals.cs b/Content.Shared/GameObjects/Components/Trigger/TriggerVisuals.cs new file mode 100644 index 0000000000..a8d90904fe --- /dev/null +++ b/Content.Shared/GameObjects/Components/Trigger/TriggerVisuals.cs @@ -0,0 +1,20 @@ +using System; +using Robust.Shared.Serialization; + +namespace Content.Shared.GameObjects.Components.Triggers +{ + [NetSerializable] + [Serializable] + public enum TriggerVisuals + { + VisualState, + } + + [NetSerializable] + [Serializable] + public enum TriggerVisualState + { + Primed, + Unprimed, + } +} diff --git a/Content.Shared/Maps/ContentTileDefinition.cs b/Content.Shared/Maps/ContentTileDefinition.cs index 3b939f0f9e..82115f4961 100644 --- a/Content.Shared/Maps/ContentTileDefinition.cs +++ b/Content.Shared/Maps/ContentTileDefinition.cs @@ -17,6 +17,7 @@ namespace Content.Shared.Maps public string DisplayName { get; private set; } public string SpriteName { get; private set; } public bool IsSubFloor { get; private set; } + public string SubFloor { get; private set; } public bool CanCrowbar { get; private set; } public string FootstepSounds { get; private set; } public float Friction { get; set; } @@ -36,6 +37,10 @@ namespace Content.Shared.Maps { IsSubFloor = node.AsBool(); } + if (mapping.TryGetNode("subfloor", out var another_node)) + { + SubFloor = another_node.AsString(); + } if (mapping.TryGetNode("can_crowbar", out node)) { diff --git a/Resources/Audio/effects/countdown.ogg b/Resources/Audio/effects/countdown.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bb19300ba945c1834915772580f1f87cdb8379d2 GIT binary patch literal 23506 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 NJ`7aTxXT6t{Rv0aw}b!y literal 0 HcmV?d00001 diff --git a/Resources/Audio/effects/explosion.ogg b/Resources/Audio/effects/explosion.ogg new file mode 100644 index 0000000000000000000000000000000000000000..14df2c88ccb2f976c636282f9fc7c0c67a1c039d GIT binary patch literal 20834 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 literal 0 HcmV?d00001 diff --git a/Resources/Prototypes/Entities/Container.yml b/Resources/Prototypes/Entities/Container.yml index b477d569fd..483b6f568a 100644 --- a/Resources/Prototypes/Entities/Container.yml +++ b/Resources/Prototypes/Entities/Container.yml @@ -18,6 +18,43 @@ - type: Collidable - type: Storage Capacity: 60 + + - type: Damageable + - type: Destructible + thresholdvalue: 100 + + placement: + snap: + - Wall + +- type: entity + id: weldtank + name: Fueltank + description: A storage tank containing welding fuel. + components: + - type: Sprite + texture: Buildings/weldtank.png + + - type: Icon + texture: Buildings/weldtank.png + + - type: Clickable + - type: BoundingBox + aabb: "-0.5,-0.25,0.5,0.25" + - type: Collidable + mask: 3 + IsScrapingFloor: true + - type: Physics + mass: 15 + Anchored: false + - type: Damageable + - type: Destructible + thresholdvalue: 10 + - type: Explosive + devastationRange: 1 + heavyImpactRange: 2 + lightImpactRange: 4 + flashRange: 5 placement: snap: diff --git a/Resources/Prototypes/Entities/Explosives.yml b/Resources/Prototypes/Entities/Explosives.yml new file mode 100644 index 0000000000..e7b379e5b9 --- /dev/null +++ b/Resources/Prototypes/Entities/Explosives.yml @@ -0,0 +1,74 @@ +- type: entity + name: Explosive Grenade + description: Grenade that creates small devastating explosion + parent: BaseItem + id: ExGrenade + components: + - type: Sprite + sprite: Objects/grenade.rsi + layers: + - state: icon + map: ["enum.TriggerVisualLayers.Base"] + + - type: Icon + sprite: Objects/grenade.rsi + state: icon + + - type: Item + Size: 5 + + - type: OnUseTimerTrigger + delay: 5 + + - type: Explosive + devastationRange: 1 + heavyImpactRange: 3 + lightImpactRange: 5 + flashRange: 7 + + - type: Damageable + - type: Destructible + thresholdvalue: 10 + + - type: Appearance + visuals: + - type: TimerTriggerVisualizer2D + countdown_sound: /Audio/effects/countdown.ogg + +- type: entity + name: Syndicate Minibomb + description: A syndicate manufactured explosive used to sow destruction and chaos. + parent: BaseItem + id: SyndieMiniBomb + components: + - type: Sprite + sprite: Objects/syndgrenade.rsi + layers: + - state: icon + map: ["enum.TriggerVisualLayers.Base"] + + - type: Icon + sprite: Objects/syndgrenade.rsi + state: icon + + - type: Item + Size: 5 + + - type: OnUseTimerTrigger + delay: 5 + + - type: Explosive + devastationRange: 3 + heavyImpactRange: 5 + lightImpactRange: 7 + flashRange: 10 + + - type: Damageable + - type: Destructible + thresholdvalue: 10 + + - type: Appearance + visuals: + - type: TimerTriggerVisualizer2D + countdown_sound: /Audio/effects/countdown.ogg + diff --git a/Resources/Prototypes/Entities/Items.yml b/Resources/Prototypes/Entities/Items.yml index 9a8e9a04a2..38386054b6 100644 --- a/Resources/Prototypes/Entities/Items.yml +++ b/Resources/Prototypes/Entities/Items.yml @@ -136,3 +136,21 @@ - type: Sound - type: EmitSoundOnUse sound: /Audio/items/bikehorn.ogg + +- type: entity + name: Table Parts + parent: BaseItem + id: TableParts + description: Parts of a table. + components: + - type: Sprite + sprite: Objects/table_parts.rsi + state: icon + + - type: Icon + sprite: Objects/table_parts.rsi + state: icon + + - type: Item + Size: 25 + sprite: Objects/table_parts.rsi diff --git a/Resources/Prototypes/Entities/closet.yml b/Resources/Prototypes/Entities/closet.yml index 4ef562074a..dd68a6f66a 100644 --- a/Resources/Prototypes/Entities/closet.yml +++ b/Resources/Prototypes/Entities/closet.yml @@ -25,6 +25,9 @@ Anchored: false - type: EntityStorage - type: PlaceableSurface + - type: Damageable + - type: Destructible + thresholdvalue: 100 - type: Appearance visuals: - type: StorageVisualizer2D diff --git a/Resources/Prototypes/Entities/table.yml b/Resources/Prototypes/Entities/table.yml index 9ffc7ce2d7..f39c868f29 100644 --- a/Resources/Prototypes/Entities/table.yml +++ b/Resources/Prototypes/Entities/table.yml @@ -21,3 +21,8 @@ - type: IconSmooth key: tables base: solid_ + + - type: Damageable + - type: Destructible + thresholdvalue: 50 + spawnondestroy: TableParts \ No newline at end of file diff --git a/Resources/Prototypes/Tiles/floors.yml b/Resources/Prototypes/Tiles/floors.yml index 8a608a8071..01c70a6317 100644 --- a/Resources/Prototypes/Tiles/floors.yml +++ b/Resources/Prototypes/Tiles/floors.yml @@ -6,6 +6,7 @@ can_crowbar: true footstep_sounds: footstep_floor friction: 0.35 + subfloor: plating - type: tile name: floor_white @@ -15,6 +16,7 @@ can_crowbar: true footstep_sounds: footstep_floor friction: 0.1 + subfloor: underplating - type: tile name: floor_techmaint @@ -24,3 +26,4 @@ can_crowbar: true footstep_sounds: footstep_floor friction: 0.5 + subfloor: underplating diff --git a/Resources/Prototypes/Tiles/plating.yml b/Resources/Prototypes/Tiles/plating.yml index e2083c8f20..d97886d00e 100644 --- a/Resources/Prototypes/Tiles/plating.yml +++ b/Resources/Prototypes/Tiles/plating.yml @@ -5,6 +5,7 @@ is_subfloor: true footstep_sounds: footstep_plating friction: 0.5 + subfloor: space - type: tile name: underplating diff --git a/Resources/Textures/Buildings/weldtank.png b/Resources/Textures/Buildings/weldtank.png new file mode 100644 index 0000000000000000000000000000000000000000..6daab863e380be6a49f1f8b76f9ea67587e3010e GIT binary patch literal 1104 zcmV-W1h4yvP)iG`)g8>_2(+P)BSIp_E1dw##) z`TY+3kN-LXtu`)=j936>!;ouASOwsxnHiT}K09cM@3HVMH)d7>4@b^e-!@K3nZolI zzP{R8IUmUAJe{B8!DSPGU=Q5551*bp4`2xr`Rt&zw+2AAV~TuZ(8_*dQu*_e)2!u3 z;zTRwOUp$bTsGM(2iYtK+4v>M!*P?PECA4@?aKre;FTS{E^~i<+uS-Ffl7G|vtihUl-8-%>Rh~Vp4p%0NTqc&RpsgY z9NXp=#r2JVo{U?|#oqv^*6PfX zNq&86Pfy0J;`)ZG7o2czj$XMYPZ^D9Wb}SCRh7St-cK~5v05qu5KHvANL6cfPG7&x z=i}p?zJ6PtUSRafH4o`Fu&BQjuz{?moh@U5FwzLUysRAVYlb?j64P z@@wwhy#v_tLQWu`9h65E@?{_?L-9!p19oJU@l zq+YIjhsf)aYu^u^2#AWESTRuE#5@Yl;&V16f%tHf$iNw3g=drPEgkz35TQEEEfCc& z^r8`sT5p=k$r4Offe^Lcw9BqvDqJZT$msH3AJm8z3k#kmBye?Ti6Sv+s8x z-zS+MA*P+*zJRhf6~&FXSyBLln?EW*QKl=F=#x{nC4uQDj}h(oT~o{nvthWJli&J4 zMrZoTV~?(USc>9v=JqIPrR!W5-nI!z}ae@W7oOf%C3w+Dy_H7`ElZG zeu&jlQAR+vL_Ha|1bgw?IWDIM*_PL^QwcE^-X)dRTfScYDGqHrpB=Q0vG%3&h0{9DcR0El3soCNISM9l6}GV13*+ZY zm;m`l4k82E!0!P1<#HL%0W|!}NcmR~prHGArvrBn?hecz%nsaz0A?kDNw{GpfEWaQ zbR9$;hIKw z-$uX$d;}nX_m)|7x@lH374lbRj?P9)!?-nkARD#%s1 z(BOlB?n8x(`|&#N@O}sR0?~?s-$cZ3AwW${1dv41OGc{-e#xjcq7`}FYD6n?3K0R^ zy*?`VO&-TV05jC=h~$&&@M>;cs0g9J#R4DnjJuqnz^6^0@9<%R3kAS_xm?QMZJPd8 z0xp+}1CVe4zX6N;-SlTAqm_udC$v4Gw;&qP#5eRBz)a}f16?8^0sxk{ zha8KUA%=?;&NVSNK~5icgtWuQf)EAtkT>{!hmRX#Ug1JUh#Nv&LB3ormmR?V`Sa)g zcVP6l5pcO&MB=$;mH3RhFR0rhk9$VhJirfmLx?-VvLdDpA+4zUf|yqHw4&z-A2#?HK+az-m;LkS&*fL+ z^vel&kos0LdJ(|Oc0yfGD4RatGK#%k7u1r4fIXv51aJ+gRULKr>WG~<;SUHPbWrFb z{o#=Q5DR?T5n@3|Ns1*Af^pIZHT88DX$25MO;?I<%YOqv}HxC39&@AYw=?$p8D%|TyPZ)tA)u^gj*>n~ zB-Cm^FX{u#1T}}=9SA^YQpq`p{)Dm$`1}2g{q`h8+=Ym3J)zte zl=~TVOW3ysbxUYlMpNl;C8AZY3p0m4nIHgQrjdpqT>(39r-Yv_7KBs~LWR#8V%`z+ z3ZHl6(@h9CFR1Gc^|YYuc|>HrMnol`caO*pJ~{Z{E|&}bR}%hb0xp+J8sOLMJWS1Y zd&Yi$#(qCzdy~iY`hxv_!hU^{$NL%k?S!&s^#!H@Nr2zQ_O}+$i#Xxdbp^}-`nyzw zn@MQ!Q5RmZBE+gh>T_j9N?E(>IL}i`h@-VjP?4A?fQ)E?HSwc3ETAv+x0A3Fr9VH>H{L$p2QJXvH87v zl|TYF2|+vXn2ZB!u1;6Njz=WqV}p+sULA2v1>q!)IGye&YsS82r1OGh%c%QRKrcxI zz}6tmBXuv=Wdbt6N2n(J6bU~~z+raE33WZAtOEFUd&YKs!FGMY`X=Dp<92;gZ4mpv z-^2uoV@{}R)-`}RUje^2hh9C<9lE6;ECM&l6MK$3`2)LT#IEOx0CvS1^b#& zZ@Tc>B3kiig%02i{Pvws#Sahfe=LsK%h`8_x;gk5;FO5EMNNMQ_>%sJL+aTG00HcT zce8%Pa8`ey4o4m2`Et4RA6=~dw;GVZoJXix?`JhHBK`N*Pq@GSf%VG^?qBrrReiym zIN$wx#(rB+ZWi@uw6hU<1A3W2{~#GT6(iXKpm)IY!>^h4RG>S+d4May6^X38O1hXD z0lS&sX>O8!f)(8);5yRZa7X$(Xdwt#e<=ZDp(S=-7Fql48T;)C>(zjM!S?!cXuy|G zBKfaR!~A>&{^rnj1*i&Om_RfnRqaRqjSkb#6E5>38#!$MG@v)VRsdWj^b*nY6lp05 z^4bAY;b(j>UGQOww8&cls3GKbxm?Te-Y{5-=45tPbl|{au@LX4zvx!#JC*XuzrwOVG=9}80(bz4r=Mw6n3Wvn z4&wdLwB8)JX7qkYeQ!s;$=*X&+m`fWcujQ>Y3|82skZqFAB=?WnxY@o0Lf}f3VD$v z+A1l9P2>Dk!_E8ai3QGCa*CdHdO{6)dkA zFy#Td0X;qM0I3fr`#r8eYXE79xcB&w>@#C;A8)R>jbxv%@J`kkF6imC`sNz`!W8`_ z0VC>ZMF@}#=2;h2N1VUDJ!5@+!K#3-U&QQe@4;U^+9u%7Qa=ID)(_#|5#iqbo)R#K zn5Esowo?4u7eNzQ%m5dlsfuv-V9vw2urfW@nVp+b-4CY}dxV6Fkn81gso#r=zDt0X z5hWp2OGZ`ayK8P|yPc0k)e&_~LU^SA3S{beYRej&8KR0b)$PfCkHy%J%=Of^|(BMMXnzE$1gC_bU z)4F4eJ6sY%OcUg4A3Ef35^zX=73nX#{4>pF_PENtNja5S5L5HpBbrN0ZPRiu8r zPr+lqodc*$K6XS+N&*qkoJVz8i#vzyx5Qq!ZrGAk*Y@R%a9>gMbx12(%y41XPw|x& ze4hYr5v?YzZb_o5+|LiG!qx~Ow2M!9ncVHrr zr^83u(RrNQI?y_(_QL>pc{Fo2QaJ{TnJ{xEZC8q21WiRA9}Biz5U#rby{w4&JRZw( zN8BZ7@o9ta5zdt#CSbIYw3?(>N8e0*z;ckVp0V9eD0eHYSfnH1w;gEK@1$RNmiz#4 zQm`X{4D&it*bEL7JP;k=9mqMbmt-3gsVUMJl*I;dXP|dbW1u#m3K1OI@HPBFBsHwr zY`UN;^B#b@MYxc$M=kK*ckKBjHHF)TeOVE20>0F|SJb>B6v5Et@==@1w=}?O$C|W? z)GAe~vMy3Mxl0LgznxHSC+znHn}(T3dcjGkd0cNeQV)oS_793@(yqn?D=tRF$w=zHS5|!o>z&E$UC$UQDa7l z1wJl_c~cTLB*RAQ+;z#CS(O66PaBBL{ePQ)(I{(4saB(yo^5$J_uE-ROCg}{6Zl&| zD+<0C2_D&Dxhku@XO(tj1K$BDfRYDd07nl5J-rj)oe)4cG6Y}-a|gPfrU9h_zJa|1 zIRg1AS%lev53uod!WDdksMQC!7*SG2*mmsq1tFi1);spw8S!)%BGv_EUl6sjCS8C* zJ1b~*#vf^b7zk?*6c*Fy+bP<`Q1+x6k`GN{XQnxEu>Dv-|2$hsiOsqXcjY zK=wciK=MEo5-0?felG-gZIYJMz+r;G3VsJ#1qBZd9w=3TC$J+BH89s>MLmbE58&(n zaTN(_g`{U`k5W3_4ovEnq@=0M1#PoVKWV+}HNppLMjl%5F#+6z{*i&7bs?6~tanGj zw^J@C8OA<=Z@C)Isc9@~MXB2H6DMJF{@wi8{Lg??3YtxE$wC7Gy4x$I;FeIN-08#>C z5DoAF91MIfC!8h6Fctw_%|-8EUxl<Ep1C9~wgGzq@e8ecQ(CkG=W>X^soNf7hYB&w6bk<<{{E`lh6nNh8{Q?;wYe1PtGaKSQM9}=KDQ)&RZ^yl|t zYXMQEagiEEC$mVt)=k^j(yw1;1|LZxAVd#NYHnf#a*)RuffNOBAAykM(JjKHGjlrS z5_lH^+NP1qj!~L4fq;V9JE%uZRWPXWk+z7FMySCU`64kzPWqOtidN(3;_PvC0ND=I4Sd}sAr&J9yB*I>3gq`3x)oLUi1|r{b(a2Nj=b9XFdQyI0AdmX zd<0?!LKfit32<3XiU3(8#FL3w0iS`k0`(5KO}<&2H6=_7H4j7yS?ABjreKz@YSZ6~ ziIq-`R)hG2xujVls^O;Kixzk=d(fe}9}v(SdiPqK2%|4%6sdP@*DwOKbp*|SRYsgh zuqbGRpaG!ZKv5%=s3e3aB!noy`vnMRz&!!}1afDvX#s+)iWvevSFl@wep4}44H<Nw2Q>Gy6*!f0c$ex@R3+`7BDYk9LdQ23gFu{)7% zFIJO3Z0xl?JgC{xH!c3?8mJE4T1Vv5l9dnLwEDFba0ECyAUKKdN30(XE$|Tt3lN_G z{{;AFz&!)*3FINIr{+3LaI@4&tv&i8#0XlQ|^Te$0JaSf6A^79p@ie-)k~LJcT(&=%#UfnLuG4hLZy*dgC||(YIy0~ z0|DetfPVtHKfvw<m^mt^JaHY?zaO zZSgg~^YrD&kuHox^2s^yNHM6#b{TL9?9Kq4LGB6UKLPXyh+Y6X1C+rgp1grLfyry- ztAVhCz1AUo(i(I*vZ}VKwsnGYq8%QO+G}Oe2Q2`APG}PzCbX>9Lw4~TyE|#5{|2q^ z2pC-edX6`mwg!P7TEuO;=t!bWYnSO#G+kQ06ph3hn>LsRI1Mu?i@kRzF+KDGxEFvv zf!&LkAtiuumng3T@D0Q}m{x$+DQeQz^A{UhFbemIRXcBsu^MQw+omqMw z3hB-gG6w)`Vn-O>kI8{XaIWDKNdyF(0D6L~=!zEMD?oP*LFMmQrJl{Jj%!Y;sr3a? z$Nj$GKbpbjgDmx7LODR3T3V*};aOV_65Qjv&Xozm_(kT!rjU^_U0|3re*B>P@bKHqj^nCEH}&!1^}F&e1GK?fM) zcRNOV8h0>t5LYoZfIc=|6WgO?)`+^k*Fz5qi1iw?=`=78clNdResmB4a17{PwW+5| z6NX1@{_cIkyEjtzYr75S|I-UN>W2h4n@%!$*(ns|Lr)$AN&8&68_dT7ZXjUY(WoF@ z}h;5&dFtb~9o*gCA|q`#3qf*C%p{a%h3qvz-WyP=V=DuVq- zmmZ?&XOCD3^Yjq`_UmM=O(d6h+7IbSS=Nh?sqK;OarE>4%O0L$yR3%$b7vqyZ*4!00I*7R;QuGmAkiZ7bR_Z39E3g;8*WJFuOM!8-zQm>@^; z$3vy8Ezer9?R99{F?={VI)Jw_-{>?LMGpoyKBTfu(r<-uw@G5nWl)zz7CDmNr439; zFV+DRpx=T13h)=8-$4DYrb)Z7ty0HbiuHOuYF(cjA(IBELJ#mw10+&oP-tT~$Y|j5 z9WHbgOr73B%~n_6BftQ+9>_LYut!sBtb+t^yAfSK5+}#o&jA6MnOE?oZp)y`;Myb` z+4XEyz;COBlyn6{w*zwp+^$*?z;GaRsqykEW~g65{XgLLCZyC=z;D_O-I}JO8_*bR zZ7hvPSDgvUgRdC)kC0YCmWC|@f5OVwLuid8nkfE=0NZ0b4?L1L(01(6BUxo8&)A@F z#Mpd9I9BF6z=!r_GN?9iYe4e?MyFED&b470a2Ww(vDn}T26afkH-Ys{N9G&@ zMDPs)K7anqm&=7kRj7le@m@|hJCCt1p~{8zLKH+};GE%@I|G+ zR*?5n%dJYJ+hBPs0s~ys)-RA1t_QJYJu3*i+WfnMe$#UUs%k*3LVP`*qjpg1(ziBs zQ*)b~?;yaO?l8k`?8u*ogE%iZjsN$@Mh+Z<1K&qMeYD`&v?+TddknECAw@SoA5E*y z3jw{24^8uzv08mIEl?6_19qo{bX{yYOHIhf;@$vX#QaPZF}6fKOREX`2J}swcU=Yi zvPmts6rffCzXGusTK5haZQ(1xtEcpuOgb*=7Vv45Z_6Gz| z(3FXYWyXSRL{PT1Mcc&+A0m2mhbT>7psNPB ziYsMsP7`TrKkZ)mXl+4$t=O&_5Y#z0Z8aImHC_73b7ym!#9pU3=@eP$!UOpw(o4zp8b1X_~OXF-K?%%+RGOlLH+ z?aa6hqxL|6I^s4tma1=5;BCxT-r(~-rjCSM;Fld?EvT`;hkzc)`hy;Ju2hT)+1#kh zu1S0k47<-@k?h_zL{$Q;aAOgdCH3acxZaPD)1scef=dN9J@*Fe9aI3kBVcUsc!>R- z_#L14ko>%>2JDE*Fxg}lk&@wcmyGy<20RXn{U{aDKvdyvoMYOL5nu6m^LSbj7kM4? zhMF@%PN;i>+XFbjl4WDp3dt9od-IR7Up>CDHrI01SltIL;2QyRrqpz|tF#IMR5ji& zNe&X_vEAvc{Vjajk1gp%3z?R&la>1@8^mt2o{rz@`N30zQ{1QkxfG zWPPcThs_VCT`hrZ&#(D; zW`vv(m!uO9wYgW8zog4zTa1wti5pq+*-UX006PPf1-#&aAPu(Uy*O(#J=PoAahM=x z-5FE$J*sHJ-hiDCsn_N?OSYQLA4?@cA8-+H3GlhX=Q6B7I;}|OJJPZtpKpVJsB`Fs z8S+Kiv%j8I{jCie5|+3q^E7?X8EX#%?pDOp9dXTw>w>i9W6+Y$U0`ih?B!S!s2PG` zHwoHEVKfG{3XTlYrYY%=rr`s~y~~$dKT;F&s7ZLqRkkTfxXDA}P3mDjz;;ktoH875 z04M=Ib%b1ymJRW|A)i+v;B-ek-ygu2b3+J%p9}j(=I5IPeE$4d#`pT5rbjoNrR9#Y ztVpLD%DNz*Z)4z5UGp*W#Rgy0EQ>N*jXiz@o3EYOrO z)kW zz9FA)`dq<3-DUKp1}q`1!vVkBn)G7?09B{QW-&iScK@YCrVG~Xsv{;d@|I-s$UNjo zN4}tYSxo6}NuKg7mMOLLwZ-7m_EKB_NZ8udareRC5LlDmc@b6d5MJ{1dJy!L({+d4 z54jAWJJZ^%zG_&21dE8=oTT5d?o9Wkp0s0lwl!H*N5&RFIicx5xCjFwl# z^9@NiYoz^(lS=;RnzorcI(G-iS~-yv0s6=^TKV9iV%8wNq(*|Z3R=U|yN`TizX?K@0G-1?RRr+mH z_Si+=FgEzjU22#Jcwd2|HffZRFt2V+``UDUK$%UF>QR9BH^}$qyBGm%>zlR22TYu4kJ%Gb1Sw%}t(U5XG+wuD_@F^T-Cz|9xtw>LI zJ$8*n$R=ZS!VtW_6KSK(mRT`M@EA(j4znL$Q`fj^m` zQGEkOm!!StC=AW<{eXn#P*ZLGc|$y}$mcuq%Nx@36{qJbPS0;x-jR@>-;mF5q5;co zvi}=o(Dyf`|Az?BV+T18A3Z{nf!4NvZgo2E000M3Nkl7#2v zZ?5AroQr5q%~6$#*6avv%`m4e=vX^EXu&LBrbV`Rt9jSmXkW%r5rZ@>5k=D zrT)_!^2;lhPjWs=|C`!=H9dKSiz~?4I{UlF4-xSB^XD#F5Ikbio9igpy}QHo%>APW zAQ&w!RyTDW#dlDMAn(THES@&_O+XsZqvk)6U8hG zxgOx3R&ly#ak%N}isj`^B>&|V=THAp^Ye<+^D7p0zWMxiIN!KJ!2h8Eu0KqG9V0nH;ett!MdQ;nfgO9c= z@Q3F}|5pSIQ{+4$W^G{}w-O=y&T4j~Wn**=IB9S3>8L4NX|t|b2e;}bw<6<;dzBgh zGse)5d6v^hRo9k~>;jycP3<&fB@~ z@M%HKJIX41k^MH`w80&VInxF{NEnMJK0NeSz>h&oU8{Cgr(Ep_i{o%82I0fdj4kul!S7*TmT=Byzn9UJQ{h)IxBR>n$?eE z-Vv@kZzpfq?+c>NUXb1QkJHm-+;;&^>n0j$4mdiq2H!N=*RI!jp`uQVn3sh7y=%HgV2 zquYv-PYBCNhdk*n{OzbK2=JQL=mfTV$S`0-Rn6I3%;Q3X)2X(k;D`734_G!eKbB0p zBcAT61=oXsr#B>h%;)Qfdg3CI@8kVv!T+BKP!e|41Ob2SE>p8(cHh}(N9`JjTHp!G zhO%r(>s?0Q=m_~^HpR3_+_uD8dV_H|eZpvyhqg*O9WO?{!lydgMS|9|<4NzJv}{^b zk>pxFUxkS0S0&?3|4%d_EH|V9zDfQ+a|exy1cna`EIj&3%>+nAsE*QH(CLCPpRuni z%4xxNJL|NO<+zEDnISbrb{7lVkw`XDmuOpwI zPIn0{PghAgp07f{NmsgyI^3T(JHM0wB|&{cuvY92N76UxwYA0W-{RATxSYp~wS8T* ztf{xL+GXTRQ}AULMUcp-Pg_FS={_yFi<0<({?NsJOgKCmrv?F8HQ*$btfX;#I^A?- zdlwQ;l3oy#b4Q4GkpHh@{qG&WgaBZWAPz7s9o1QT%Q4Q^s%!gQrwg9$$U0?e-xirm zH%7i>y^}^9D{b3>E*k?$vaOnnaCR$Owf){Ylc)QLjixd)gL4^C?<1B@cYS?($nAtA z8BWj-<#>Md_+$NdS8t6(O#0Vf0Y^Ywx57$YKq^ zdbwOA`XF!j@D%{6O_$9Xby;=TpWaKd=pZO1KoWl8-RuRa42+ex#lP-I_L&p5JL-9B zFtZzZ8u)S74h9VhqCTc|WHf!)EV1@?+)I-F{PWLW{hs6a%e$#od;ZbgRQ2A%toIS) z=22S!^j21L2s#eEo2uN;rH&0Hc1Km~*A#7#JL<`uQ+K$uA*Q2@7}Bcw{J-^Xs(&j1 zc6|4K!tz}29ahtk=AMQgy}zIEaKc}G9o^GLM-*iD6ZWHDQ~gnxnx>3|$NLH68=VZl z^7t(T03X~@n|mB%9p!G?I;mIhsNI{?mPfJ2W-m-82mt0ijHBM5z4%Ud_;~HhbkVx~ zwCBkmzG=FnHndsgcid6?w-I2+$M=+P2j~ajUc2jLc+?p8qUHy9mwmN;xK4NZ_^vl| zo9-!ZO~WI0_HgU@Wy25Xp60R9 zoQ^$NcE<~Hwriy+=%W|05xI{r}t>=^S(A5R(YWkny@ASosg6FO+Dh5?K{%b3E^ zd0P;To0-gQSl_&}#qT=)6$H%3m|gcU;%PLa=<_kj<(OelWD{AfC^=Vh=6(qNr$L{O ze;olI9TO?@`K^QJ^WOyaN5?N;i2WUhg7~in@@J3#1ELXf9lJi+=Kufz07*qoM6N<$ Ef}KS_3;+NC literal 0 HcmV?d00001 diff --git a/Resources/Textures/Effects/explosion.rsi/explosion.png b/Resources/Textures/Effects/explosion.rsi/explosion.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbdd0b854afd1f0d32e46ef1703e02623ffee7f GIT binary patch literal 88492 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≈%~Gg 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%0DdZ41=RAA{9$2n@(A; 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 IM6N<$f^ngu6#xJL literal 0 HcmV?d00001 diff --git a/Resources/Textures/Effects/explosion.rsi/meta.json b/Resources/Textures/Effects/explosion.rsi/meta.json new file mode 100644 index 0000000000..8179c1e152 --- /dev/null +++ b/Resources/Textures/Effects/explosion.rsi/meta.json @@ -0,0 +1,28 @@ +{ + "version": 1, + "size": { + "x": 96, + "y": 96 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/icons/effects/96x96.dmi at commit 96d69b71a3a0549b4b668c0a095306580bd157c0", + "states": [ + { + "name": "explosion", + "select": [], + "flags": {}, + "directions": 1, + "delays": [ + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} diff --git a/Resources/Textures/Objects/grenade.rsi/icon.png b/Resources/Textures/Objects/grenade.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9c6bc8b16472ec2203b0d36b30c798acac5f98cf GIT binary patch literal 274 zcmV+t0qy>YP)F{xU|(g8%>k07*qoM6N<$f+pB;E&u=k literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/grenade.rsi/meta.json b/Resources/Textures/Objects/grenade.rsi/meta.json new file mode 100644 index 0000000000..198dbe1347 --- /dev/null +++ b/Resources/Textures/Objects/grenade.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/icons/obj/grenade.dmi at commit 8c96d52deed1eeea28a16334eea549369d7f9974", + "states": [ + { + "name": "icon", + "directions": 1, + "delays": [ + [1.0] + ] + }, + { + "name": "primed", + "directions": 1, + "delays": [ + [0.2, 0.2] + ] + } + ] +} diff --git a/Resources/Textures/Objects/grenade.rsi/primed.png b/Resources/Textures/Objects/grenade.rsi/primed.png new file mode 100644 index 0000000000000000000000000000000000000000..72df008d651a7717cda8b8c3f9739b08dc31f77d GIT binary patch literal 332 zcmV-S0ki&zP)5vS7XCrBnPps~&Q}4+ z?)UPtOaM?6MNt&xU+IM`GRD-mYwvx~9$k?1_e14G1R`pMiGj4AT|l$(s;XL{Vj%5j zAD>q;?|si0Q^$B6r2PY~oQMEC+P_lADB&G`RsjHzB+07)(UA7D3$WIrEX(_Snx-N_ zKILZ*!O40DpO4`4Q73UI(tdUUzXtmi*e=E}jUyNvX+OJwEX&}WgSA#H#3%ji0)WdP z+8<6&&trWSOZtOnfZH75HpkHAopH+oZdr8RM~7hO!s%=%nS<|N%|-SR`xg*N^96oI eQ4~c{eupzF6qW;+fGN8G0000Znwno0X9@suy0sLSklMC_Df!P%_ax14|<@@Bkj5$~(YBHYB7} zrHTn80^8TY#EKQbq)pYu|Fd=0ci(s4|NeiS3>h+H$dKVbL!>3xwyj^I(O@vx+G{TX z+qQN6bDi<^nA4A^04PI6uTmVpJw_>oQbrV$3S~$PrI1n~rNr|*a=9F}T5T%{na2F) z#|_P9Q;e_2F@{;w@aDBw7b?)7?1r_(r=|B#R7_xTNhrz(ogqay+U zLPmt7z%<`ctyVElPIeMVC{VB00kA9!$8of2np}RnWHcHPgaLsc5ClGf@8kPEtMwXy zyTyXm`8f~w58N-8+%18HKN)!r(L}ItwrCctfLro|(LPsvO z+ifh%0>BS_Boe75p%6$VL2JaG%a*XU+Td^MGGxdA Z@Ee}w;e|Yaveb?!d=P%1QBRzW?)^6*VVm-JJr`4FnTTyYDEQUGd!KjCOZYpmFx?h%-6!rF(6U zUH%-J6c?=Gur>1Ju1WR^LPu}z`W<9!nxInFwTew1teQ8 zcJEx# XjLX;BchiW*8>L*@bmM_$;tWp`X(kO za&U0y>FK$;x~4HO7&9=;WMGKhKc5Y#n6V_tFPOpM*$tosLyD)1V~EDYT~jfjNd0! zmFzfw{Pf3m><1`{QZjd(i;Xd-Sh;hKb)Qru^lxt1w(V)R+W`R9>oox2csv3C_WM1o zwW2|g(!aTpG3I29iPkyi#9bhzf6uwNsw#9{2m54U8;h>%P*qimZW0pu4@s>azyCic zX{R%zKI;|OY&OxlzV8=#1tj!YjaI8wbQJd9FER^A=(An{BEmS1sO$Pt=A47~K2@Iu z5y5>pw9oBq`m8|^z*XlDheNV(Dq-jCyPbSLb^yXohrw8iu+w2MQc(wR8>j=+0fjo? zJO{@d@Z0=6CufbA1E%P+R)XU=M(c=Zk(Ho?K5HSg-EPq|%~jbj4CwnlMVpO;K6?!K zZxkN@_UG_03=+@rXZpqO2`Y-BD2k#eN}*)+Eg(TQ`2kX7lOG^OR`~%E1T6)4Lbl~r^8_6iaLPXKpmhC zDAWPxH9*V(OXLSgkxhPp6j|j5NKpLoc<}+qE#g82fCDG8D!`(A?p O0000P)Q+aLl} z(%9e3?7?;t$A+Sn(C&eeKH1}ZnR(}Z=NlUy?7{wHllceR+uMGh36GABN;w))GgK7~O0baM2Q(N#Q_>_bPR68ZO3;9-5mX5wV5YbO?wI@Jzkttzh~^Pq zUS6`bwIvt*KDcvsc825p_2);#!Ci0+a|jkll7!)KNTbo@_cw3&HW)A(jfmq0-FNRu z$79qC_j+P00G5}RdHwn~Z?#&e8SCroxI0hQpJ47F4kEZ2X_7J;ju;FEyn6YPpC3PF z{pnM#udeBIIul|*em;pY9F=`H z!$okaEHvgHm??rGCKzNInqlUc8|seds{nCwa>B*M#Uw_OBqiSf%&AkM!az}ZP{ULS zs+bkaa5c;gbH^=XW@l%o!s4vC8{ql+0RtKgiv+=NXHsn;L$Ta45N5{l+qZKGy~dYX z2C4u|5zE^}$UxY%Vl~fLFvasDR;O(VfH{a!hoFW5MMRjkOr~8{b>0VNsAf#yR*757 zfPi^fntA{l5M<`Wc!`BsAVqUl64o%{HT!M=ph&_0q#DnY`n379kf1tb+{(V0BRFPv z0C4^7I%A-y#HUrc`=pX2O&E?wjK3!&X<8{_){dcAypLjUX6?Aq^__J{}~!u!)x78e&w zzs)luQhf>C2%z`A$L{W~eE#y8xDnG{T_uiV+U@Kb$1!n~twy84=H@2NX0sHdxls0_ zNRTMv^pDdY19<-IIs5zj-d=6rDnW7l;wY*BSZFSkd^5jMf>IOaUn+P0Boh&$C?bl= zb#ywNlKeb?!d=P%1QBRzW?)^6*VVm-JJr`4FnTTyYDEQUGd!KjCOZYpmFx?h%-6!rF(6U zUH%-J6c?=Gur>1Ju1WR^LPu}z`W<9!nxInFwTew1teQ8 zcJEx# XjLX;Bch