Bottles break when thrown and spill their contents on the ground.
Fixes #2918
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
#nullable enable
|
||||||
|
using Content.Server.GameObjects.Components.Chemistry;
|
||||||
|
using Content.Server.GameObjects.Components.Fluids;
|
||||||
|
using Content.Server.GameObjects.EntitySystems;
|
||||||
|
using JetBrains.Annotations;
|
||||||
|
using Robust.Shared.Interfaces.GameObjects;
|
||||||
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
|
namespace Content.Server.GameObjects.Components.Destructible.Thresholds.Behavior
|
||||||
|
{
|
||||||
|
[UsedImplicitly]
|
||||||
|
public class SpillBehavior : IThresholdBehavior
|
||||||
|
{
|
||||||
|
public void ExposeData(ObjectSerializer serializer) { }
|
||||||
|
|
||||||
|
public void Trigger(IEntity owner, DestructibleSystem system)
|
||||||
|
{
|
||||||
|
if (!owner.TryGetComponent(out SolutionContainerComponent? solutionContainer))
|
||||||
|
return;
|
||||||
|
|
||||||
|
solutionContainer.Solution.SpillAt(owner.Transform.Coordinates, "PuddleSmear", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
behaviors:
|
behaviors:
|
||||||
- !type:PlaySoundCollectionBehavior
|
- !type:PlaySoundCollectionBehavior
|
||||||
soundCollection: GlassBreak
|
soundCollection: GlassBreak
|
||||||
|
- !type:SpillBehavior { }
|
||||||
- !type:SpawnEntitiesBehavior
|
- !type:SpawnEntitiesBehavior
|
||||||
spawn:
|
spawn:
|
||||||
ShardGlass:
|
ShardGlass:
|
||||||
|
|||||||
@@ -10,8 +10,26 @@
|
|||||||
transferAmount: 5
|
transferAmount: 5
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: icon
|
state: icon
|
||||||
|
- type: DamageOnLand
|
||||||
|
amount: 5
|
||||||
|
- type: DamageOtherOnHit
|
||||||
|
amount: 10
|
||||||
- type: Spillable
|
- type: Spillable
|
||||||
|
- type: Damageable
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
5:
|
||||||
|
behaviors:
|
||||||
|
- !type:PlaySoundCollectionBehavior
|
||||||
|
soundCollection: GlassBreak
|
||||||
|
- !type:SpillBehavior { }
|
||||||
|
- !type:SpawnEntitiesBehavior
|
||||||
|
spawn:
|
||||||
|
ShardGlass:
|
||||||
|
min: 1
|
||||||
|
max: 2
|
||||||
|
- !type:DoActsBehavior
|
||||||
|
acts: [ "Destruction" ]
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: DrinkBottleBaseFull
|
parent: DrinkBottleBaseFull
|
||||||
|
|||||||
Reference in New Issue
Block a user