Generalize ResistanceSets into DamageModifierSets (#4619)
* generalize ResistanceSets into DamageModifierSets * remove unneeded test prototype
This commit is contained in:
@@ -53,14 +53,9 @@ namespace Content.IntegrationTests.Tests.Damageable
|
|||||||
- TestDamage3b
|
- TestDamage3b
|
||||||
- TestDamage3c
|
- TestDamage3c
|
||||||
|
|
||||||
- type: resistanceSet
|
|
||||||
id: testResistances
|
|
||||||
# this space is intentionally left blank
|
|
||||||
|
|
||||||
# This container should not support TestDamage1 or TestDamage2b
|
# This container should not support TestDamage1 or TestDamage2b
|
||||||
- type: damageContainer
|
- type: damageContainer
|
||||||
id: testDamageContainer
|
id: testDamageContainer
|
||||||
defaultResistanceSet: testResistances
|
|
||||||
supportedGroups:
|
supportedGroups:
|
||||||
- TestGroup3
|
- TestGroup3
|
||||||
supportedTypes:
|
supportedTypes:
|
||||||
@@ -189,9 +184,9 @@ namespace Content.IntegrationTests.Tests.Damageable
|
|||||||
Assert.That(sDamageableComponent.TotalDamage, Is.EqualTo(damageToDeal));
|
Assert.That(sDamageableComponent.TotalDamage, Is.EqualTo(damageToDeal));
|
||||||
Assert.That(sDamageableComponent.DamagePerGroup[group3.ID], Is.EqualTo(damageToDeal));
|
Assert.That(sDamageableComponent.DamagePerGroup[group3.ID], Is.EqualTo(damageToDeal));
|
||||||
// integer rounding. In this case, first member gets 1 less than others.
|
// integer rounding. In this case, first member gets 1 less than others.
|
||||||
Assert.That(sDamageableComponent.Damage.DamageDict[type3a.ID], Is.EqualTo(damageToDeal / types.Count()));
|
Assert.That(sDamageableComponent.Damage.DamageDict[type3a.ID], Is.EqualTo(damageToDeal / types.Count()));
|
||||||
Assert.That(sDamageableComponent.Damage.DamageDict[type3b.ID], Is.EqualTo(1 + damageToDeal / types.Count()));
|
Assert.That(sDamageableComponent.Damage.DamageDict[type3b.ID], Is.EqualTo(1 + damageToDeal / types.Count()));
|
||||||
Assert.That(sDamageableComponent.Damage.DamageDict[type3c.ID], Is.EqualTo(1 + damageToDeal / types.Count()));
|
Assert.That(sDamageableComponent.Damage.DamageDict[type3c.ID], Is.EqualTo(1 + damageToDeal / types.Count()));
|
||||||
|
|
||||||
// Heal
|
// Heal
|
||||||
sDamageableSystem.TryChangeDamage(uid, -damage);
|
sDamageableSystem.TryChangeDamage(uid, -damage);
|
||||||
|
|||||||
@@ -1,27 +1,22 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Robust.Shared.Prototypes;
|
using Content.Shared.Damage.Prototypes;
|
||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
using Robust.Shared.Serialization.Manager.Attributes;
|
using Robust.Shared.Serialization.Manager.Attributes;
|
||||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
||||||
using Robust.Shared.ViewVariables;
|
|
||||||
|
|
||||||
namespace Content.Shared.Damage.Prototypes
|
namespace Content.Shared.Damage
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Prototype of damage resistance sets. Can be applied to <see cref="DamageSpecifier"/> using <see
|
/// A set of coefficients or flat modifiers to damage types.. Can be applied to <see cref="DamageSpecifier"/> using <see
|
||||||
/// cref="DamageSpecifier.ApplyResistanceSet(ResistanceSetPrototype)"/>. This can be done several times as the
|
/// cref="DamageSpecifier.ApplyModifierSet(DamageSpecifier, DamageModifierSet)"/>. This can be done several times as the
|
||||||
/// <see cref="DamageSpecifier"/> is passed to it's final target. By default the receiving <see cref="DamageableComponent"/>, will
|
/// <see cref="DamageSpecifier"/> is passed to it's final target. By default the receiving <see cref="DamageableComponent"/>, will
|
||||||
/// also apply it's own <see cref="ResistanceSetPrototype"/>.
|
/// also apply it's own <see cref="DamageModifierSet"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Prototype("resistanceSet")]
|
[DataDefinition]
|
||||||
[Serializable, NetSerializable]
|
[Serializable, NetSerializable]
|
||||||
public class ResistanceSetPrototype : IPrototype
|
public class DamageModifierSet
|
||||||
{
|
{
|
||||||
[ViewVariables]
|
|
||||||
[DataField("id", required: true)]
|
|
||||||
public string ID { get; } = default!;
|
|
||||||
|
|
||||||
[DataField("coefficients", customTypeSerializer: typeof(PrototypeIdDictionarySerializer<float, DamageTypePrototype>))]
|
[DataField("coefficients", customTypeSerializer: typeof(PrototypeIdDictionarySerializer<float, DamageTypePrototype>))]
|
||||||
public Dictionary<string, float> Coefficients = new();
|
public Dictionary<string, float> Coefficients = new();
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ namespace Content.Shared.Damage
|
|||||||
{
|
{
|
||||||
if (_damageDict == null)
|
if (_damageDict == null)
|
||||||
DeserializeDamage();
|
DeserializeDamage();
|
||||||
return _damageDict!;
|
return _damageDict!;
|
||||||
}
|
}
|
||||||
set => _damageDict = value;
|
set => _damageDict = value;
|
||||||
}
|
}
|
||||||
@@ -120,7 +120,7 @@ namespace Content.Shared.Damage
|
|||||||
// This can happen if deserialized before prototypes are loaded.
|
// This can happen if deserialized before prototypes are loaded.
|
||||||
Logger.Error($"Unknown damage group given to DamageSpecifier: {entry.Key}");
|
Logger.Error($"Unknown damage group given to DamageSpecifier: {entry.Key}");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Simply distribute evenly (except for rounding).
|
// Simply distribute evenly (except for rounding).
|
||||||
// We do this by reducing remaining the # of types and damage every loop.
|
// We do this by reducing remaining the # of types and damage every loop.
|
||||||
@@ -141,12 +141,12 @@ namespace Content.Shared.Damage
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Reduce (or increase) damages by applying a resistance set.
|
/// Reduce (or increase) damages by applying a damage modifier set.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Only applies resistance to a damage type if it is dealing damage, not healing.
|
/// Only applies resistance to a damage type if it is dealing damage, not healing.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public static DamageSpecifier ApplyResistanceSet(DamageSpecifier damageSpec, ResistanceSetPrototype resistanceSet)
|
public static DamageSpecifier ApplyModifierSet(DamageSpecifier damageSpec, DamageModifierSet modifierSet)
|
||||||
{
|
{
|
||||||
// Make a copy of the given data. Don't modify the one passed to this function. I did this before, and weapons became
|
// Make a copy of the given data. Don't modify the one passed to this function. I did this before, and weapons became
|
||||||
// duller as you hit walls. Neat, but not intended. And confusing, when you realize your fists don't work no
|
// duller as you hit walls. Neat, but not intended. And confusing, when you realize your fists don't work no
|
||||||
@@ -159,9 +159,9 @@ namespace Content.Shared.Damage
|
|||||||
|
|
||||||
float newValue = entry.Value;
|
float newValue = entry.Value;
|
||||||
|
|
||||||
if (resistanceSet.FlatReduction.TryGetValue(entry.Key, out var reduction))
|
if (modifierSet.FlatReduction.TryGetValue(entry.Key, out var reduction))
|
||||||
{
|
{
|
||||||
newValue -= reduction;
|
newValue -= reduction;
|
||||||
if (newValue <= 0)
|
if (newValue <= 0)
|
||||||
{
|
{
|
||||||
// flat reductions cannot heal you
|
// flat reductions cannot heal you
|
||||||
@@ -170,7 +170,7 @@ namespace Content.Shared.Damage
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resistanceSet.Coefficients.TryGetValue(entry.Key, out var coefficient))
|
if (modifierSet.Coefficients.TryGetValue(entry.Key, out var coefficient))
|
||||||
{
|
{
|
||||||
// negative coefficients **can** heal you.
|
// negative coefficients **can** heal you.
|
||||||
newValue = MathF.Round(newValue*coefficient, MidpointRounding.AwayFromZero);
|
newValue = MathF.Round(newValue*coefficient, MidpointRounding.AwayFromZero);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace Content.Shared.Damage
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// The supported damage types are specified using a <see cref="DamageContainerPrototype"/>s. DamageContainers
|
/// The supported damage types are specified using a <see cref="DamageContainerPrototype"/>s. DamageContainers
|
||||||
/// may also have resistances to certain damage types, defined via a <see cref="ResistanceSetPrototype"/>.
|
/// may also have resistances to certain damage types, defined via a <see cref="DamageModifierSetPrototype"/>.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
[RegisterComponent]
|
[RegisterComponent]
|
||||||
[NetworkedComponent()]
|
[NetworkedComponent()]
|
||||||
@@ -36,12 +36,16 @@ namespace Content.Shared.Damage
|
|||||||
public string? DamageContainerID;
|
public string? DamageContainerID;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This <see cref="ResistanceSetPrototype"/> will be applied to any damage that is dealt to this container,
|
/// This <see cref="DamageModifierSetPrototype"/> will be applied to any damage that is dealt to this container,
|
||||||
/// unless the damage explicitly ignores resistances.
|
/// unless the damage explicitly ignores resistances.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Though DamageModifierSets can be deserialized directly, we only want to use the prototype version here
|
||||||
|
/// to reduce duplication.
|
||||||
|
/// </remarks>
|
||||||
[ViewVariables(VVAccess.ReadWrite)]
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
[DataField("resistanceSet", customTypeSerializer: typeof(PrototypeIdSerializer<ResistanceSetPrototype>))]
|
[DataField("damageModifierSet", customTypeSerializer: typeof(PrototypeIdSerializer<DamageModifierSetPrototype>))]
|
||||||
public string? ResistanceSetID;
|
public string? DamageModifierSetId;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// All the damage information is stored in this <see cref="DamageSpecifier"/>.
|
/// All the damage information is stored in this <see cref="DamageSpecifier"/>.
|
||||||
@@ -116,14 +120,14 @@ namespace Content.Shared.Damage
|
|||||||
public class DamageableComponentState : ComponentState
|
public class DamageableComponentState : ComponentState
|
||||||
{
|
{
|
||||||
public readonly Dictionary<string, int> DamageDict;
|
public readonly Dictionary<string, int> DamageDict;
|
||||||
public readonly string? ResistanceSetID;
|
public readonly string? ModifierSetId;
|
||||||
|
|
||||||
public DamageableComponentState(
|
public DamageableComponentState(
|
||||||
Dictionary<string, int> damageDict,
|
Dictionary<string, int> damageDict,
|
||||||
string? resistanceSetID)
|
string? modifierSetId)
|
||||||
{
|
{
|
||||||
DamageDict = damageDict;
|
DamageDict = damageDict;
|
||||||
ResistanceSetID = resistanceSetID;
|
ModifierSetId = modifierSetId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ namespace Content.Shared.Damage
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void DamageableInit(EntityUid uid, DamageableComponent component, ComponentInit _)
|
private void DamageableInit(EntityUid uid, DamageableComponent component, ComponentInit _)
|
||||||
{
|
{
|
||||||
if (component.DamageContainerID != null &&
|
if (component.DamageContainerID != null &&
|
||||||
_prototypeManager.TryIndex<DamageContainerPrototype>(component.DamageContainerID,
|
_prototypeManager.TryIndex<DamageContainerPrototype>(component.DamageContainerID,
|
||||||
out var damageContainerPrototype))
|
out var damageContainerPrototype))
|
||||||
{
|
{
|
||||||
@@ -118,11 +118,11 @@ namespace Content.Shared.Damage
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply resistances
|
// Apply resistances
|
||||||
if (!ignoreResistances && damageable.ResistanceSetID != null)
|
if (!ignoreResistances && damageable.DamageModifierSetId != null)
|
||||||
{
|
{
|
||||||
if (_prototypeManager.TryIndex<ResistanceSetPrototype>(damageable.ResistanceSetID, out var resistanceSet))
|
if (_prototypeManager.TryIndex<DamageModifierSetPrototype>(damageable.DamageModifierSetId, out var modifierSet))
|
||||||
{
|
{
|
||||||
damage = DamageSpecifier.ApplyResistanceSet(damage, resistanceSet);
|
damage = DamageSpecifier.ApplyModifierSet(damage, modifierSet);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (damage.Empty)
|
if (damage.Empty)
|
||||||
@@ -174,7 +174,7 @@ namespace Content.Shared.Damage
|
|||||||
|
|
||||||
private void DamageableGetState(EntityUid uid, DamageableComponent component, ref ComponentGetState args)
|
private void DamageableGetState(EntityUid uid, DamageableComponent component, ref ComponentGetState args)
|
||||||
{
|
{
|
||||||
args.State = new DamageableComponentState(component.Damage.DamageDict, component.ResistanceSetID);
|
args.State = new DamageableComponentState(component.Damage.DamageDict, component.DamageModifierSetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DamageableHandleState(EntityUid uid, DamageableComponent component, ref ComponentHandleState args)
|
private void DamageableHandleState(EntityUid uid, DamageableComponent component, ref ComponentHandleState args)
|
||||||
@@ -184,7 +184,7 @@ namespace Content.Shared.Damage
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
component.ResistanceSetID = state.ResistanceSetID;
|
component.DamageModifierSetId = state.ModifierSetId;
|
||||||
|
|
||||||
// Has the damage actually changed?
|
// Has the damage actually changed?
|
||||||
DamageSpecifier newDamage = new() { DamageDict = state.DamageDict };
|
DamageSpecifier newDamage = new() { DamageDict = state.DamageDict };
|
||||||
@@ -202,7 +202,7 @@ namespace Content.Shared.Damage
|
|||||||
public class DamageChangedEvent : EntityEventArgs
|
public class DamageChangedEvent : EntityEventArgs
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is the component whose damage was changed.
|
/// This is the component whose damage was changed.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Given that nearly every component that cares about a change in the damage, needs to know the
|
/// Given that nearly every component that cares about a change in the damage, needs to know the
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
using Robust.Shared.Serialization;
|
||||||
|
using Robust.Shared.Serialization.Manager.Attributes;
|
||||||
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
||||||
|
using Robust.Shared.ViewVariables;
|
||||||
|
|
||||||
|
namespace Content.Shared.Damage.Prototypes
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// A version of DamageModifierSet that can be serialized as a prototype, but is functionally identical.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Done to avoid removing the 'required' tag on the ID and passing around a 'prototype' when we really
|
||||||
|
/// just want normal data to be deserialized.
|
||||||
|
/// </remarks>
|
||||||
|
[Prototype("damageModifierSet")]
|
||||||
|
public class DamageModifierSetPrototype : DamageModifierSet, IPrototype
|
||||||
|
{
|
||||||
|
[ViewVariables]
|
||||||
|
[DataField("id", required: true)]
|
||||||
|
public string ID { get; } = default!;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@ namespace Content.Tests.Shared
|
|||||||
// Basic tests of various damage prototypes and classes.
|
// Basic tests of various damage prototypes and classes.
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
[TestOf(typeof(DamageSpecifier))]
|
[TestOf(typeof(DamageSpecifier))]
|
||||||
[TestOf(typeof(ResistanceSetPrototype))]
|
[TestOf(typeof(DamageModifierSetPrototype))]
|
||||||
[TestOf(typeof(DamageGroupPrototype))]
|
[TestOf(typeof(DamageGroupPrototype))]
|
||||||
public class DamageTest : ContentUnitTest
|
public class DamageTest : ContentUnitTest
|
||||||
{
|
{
|
||||||
@@ -26,7 +26,7 @@ namespace Content.Tests.Shared
|
|||||||
|
|
||||||
static private Dictionary<string, float> _resistanceReductionDict = new()
|
static private Dictionary<string, float> _resistanceReductionDict = new()
|
||||||
{
|
{
|
||||||
{ "Blunt", - 5 },
|
{ "Blunt", - 5 },
|
||||||
// "missing" piercing entry
|
// "missing" piercing entry
|
||||||
{ "Slash", 8 },
|
{ "Slash", 8 },
|
||||||
{ "Radiation", 0.5f }, // Fractional adjustment
|
{ "Radiation", 0.5f }, // Fractional adjustment
|
||||||
@@ -132,13 +132,13 @@ namespace Content.Tests.Shared
|
|||||||
|
|
||||||
//Check that DamageSpecifier will be properly adjusted by a resistance set
|
//Check that DamageSpecifier will be properly adjusted by a resistance set
|
||||||
[Test]
|
[Test]
|
||||||
public void ResistanceSetTest()
|
public void ModifierSetTest()
|
||||||
{
|
{
|
||||||
// Create a copy of the damage data
|
// Create a copy of the damage data
|
||||||
DamageSpecifier damageSpec = 10 * new DamageSpecifier(_damageSpec);
|
DamageSpecifier damageSpec = 10 * new DamageSpecifier(_damageSpec);
|
||||||
|
|
||||||
// Create a resistance set
|
// Create a modifier set
|
||||||
ResistanceSetPrototype resistanceSet = new()
|
DamageModifierSetPrototype modifierSet = new()
|
||||||
{
|
{
|
||||||
Coefficients = _resistanceCoefficientDict,
|
Coefficients = _resistanceCoefficientDict,
|
||||||
FlatReduction = _resistanceReductionDict
|
FlatReduction = _resistanceReductionDict
|
||||||
@@ -149,14 +149,14 @@ namespace Content.Tests.Shared
|
|||||||
//then multiply by 1 / -2 / 3 / 1.06
|
//then multiply by 1 / -2 / 3 / 1.06
|
||||||
|
|
||||||
// Apply once
|
// Apply once
|
||||||
damageSpec = DamageSpecifier.ApplyResistanceSet(damageSpec, resistanceSet);
|
damageSpec = DamageSpecifier.ApplyModifierSet(damageSpec, modifierSet);
|
||||||
Assert.That(damageSpec.DamageDict["Blunt"], Is.EqualTo(25));
|
Assert.That(damageSpec.DamageDict["Blunt"], Is.EqualTo(25));
|
||||||
Assert.That(damageSpec.DamageDict["Piercing"], Is.EqualTo(-40)); // became healing
|
Assert.That(damageSpec.DamageDict["Piercing"], Is.EqualTo(-40)); // became healing
|
||||||
Assert.That(damageSpec.DamageDict["Slash"], Is.EqualTo(6));
|
Assert.That(damageSpec.DamageDict["Slash"], Is.EqualTo(6));
|
||||||
Assert.That(damageSpec.DamageDict["Radiation"], Is.EqualTo(31)); // would be 32 w/o fraction adjustment
|
Assert.That(damageSpec.DamageDict["Radiation"], Is.EqualTo(31)); // would be 32 w/o fraction adjustment
|
||||||
|
|
||||||
// And again, checking for some other behavior
|
// And again, checking for some other behavior
|
||||||
damageSpec = DamageSpecifier.ApplyResistanceSet(damageSpec, resistanceSet);
|
damageSpec = DamageSpecifier.ApplyModifierSet(damageSpec, modifierSet);
|
||||||
Assert.That(damageSpec.DamageDict["Blunt"], Is.EqualTo(30));
|
Assert.That(damageSpec.DamageDict["Blunt"], Is.EqualTo(30));
|
||||||
Assert.That(damageSpec.DamageDict["Piercing"], Is.EqualTo(-40)); // resistances don't apply to healing
|
Assert.That(damageSpec.DamageDict["Piercing"], Is.EqualTo(-40)); // resistances don't apply to healing
|
||||||
Assert.That(!damageSpec.DamageDict.ContainsKey("Slash")); // Reduction reduced to 0, and removed from specifier
|
Assert.That(!damageSpec.DamageDict.ContainsKey("Slash")); // Reduction reduced to 0, and removed from specifier
|
||||||
@@ -241,7 +241,7 @@ namespace Content.Tests.Shared
|
|||||||
damageTypes:
|
damageTypes:
|
||||||
- Cellular
|
- Cellular
|
||||||
|
|
||||||
- type: resistanceSet
|
- type: damageModifierSet
|
||||||
id: Metallic
|
id: Metallic
|
||||||
coefficients:
|
coefficients:
|
||||||
Blunt: 0.7
|
Blunt: 0.7
|
||||||
@@ -251,7 +251,7 @@ namespace Content.Tests.Shared
|
|||||||
flatReductions:
|
flatReductions:
|
||||||
Blunt: 5
|
Blunt: 5
|
||||||
|
|
||||||
- type: resistanceSet
|
- type: damageModifierSet
|
||||||
id: Inflatable
|
id: Inflatable
|
||||||
coefficients:
|
coefficients:
|
||||||
Blunt: 0.5
|
Blunt: 0.5
|
||||||
@@ -261,7 +261,7 @@ namespace Content.Tests.Shared
|
|||||||
flatReductions:
|
flatReductions:
|
||||||
Blunt: 5
|
Blunt: 5
|
||||||
|
|
||||||
- type: resistanceSet
|
- type: damageModifierSet
|
||||||
id: Glass
|
id: Glass
|
||||||
coefficients:
|
coefficients:
|
||||||
Blunt: 0.5
|
Blunt: 0.5
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
- type: resistanceSet
|
- type: damageModifierSet
|
||||||
id: Metallic
|
id: Metallic
|
||||||
coefficients:
|
coefficients:
|
||||||
Blunt: 0.7
|
Blunt: 0.7
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
flatReductions:
|
flatReductions:
|
||||||
Blunt: 5
|
Blunt: 5
|
||||||
|
|
||||||
- type: resistanceSet
|
- type: damageModifierSet
|
||||||
id: Inflatable
|
id: Inflatable
|
||||||
coefficients:
|
coefficients:
|
||||||
Blunt: 0.5
|
Blunt: 0.5
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
flatReductions:
|
flatReductions:
|
||||||
Blunt: 5
|
Blunt: 5
|
||||||
|
|
||||||
- type: resistanceSet
|
- type: damageModifierSet
|
||||||
id: Glass
|
id: Glass
|
||||||
coefficients:
|
coefficients:
|
||||||
Blunt: 0.5
|
Blunt: 0.5
|
||||||
@@ -27,4 +27,4 @@
|
|||||||
Heat: 0
|
Heat: 0
|
||||||
Shock: 0
|
Shock: 0
|
||||||
flatReductions:
|
flatReductions:
|
||||||
Blunt: 5
|
Blunt: 5
|
||||||
@@ -126,7 +126,7 @@
|
|||||||
- type: Airtight
|
- type: Airtight
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
isOpen: true
|
isOpen: true
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Glass
|
damageModifierSet: Glass
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
- type: Anchorable
|
- type: Anchorable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
@@ -141,7 +141,7 @@
|
|||||||
- type: Anchorable
|
- type: Anchorable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
- SmallImpassable
|
- SmallImpassable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Inflatable
|
damageModifierSet: Inflatable
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -27,10 +27,10 @@
|
|||||||
- type: Lock
|
- type: Lock
|
||||||
locked: false
|
locked: false
|
||||||
lockOnClick: true # toggle lock just by clicking on barrier
|
lockOnClick: true # toggle lock just by clicking on barrier
|
||||||
- type: DeployableBarrier
|
- type: DeployableBarrier
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
fillBaseName: beaker
|
fillBaseName: beaker
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Glass
|
damageModifierSet: Glass
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
- type: Pullable
|
- type: Pullable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
anchored: true
|
anchored: true
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
- type: Occluder
|
- type: Occluder
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
- type: InteractionOutline
|
- type: InteractionOutline
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
- type: InteractionOutline
|
- type: InteractionOutline
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
- type: Rotatable
|
- type: Rotatable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
- type: ApcPowerReceiver
|
- type: ApcPowerReceiver
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Glass
|
damageModifierSet: Glass
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
components:
|
components:
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: PlaceableSurface
|
- type: PlaceableSurface
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
netsync: false
|
netsync: false
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
sprite: Structures/Furniture/Tables/frame.rsi
|
sprite: Structures/Furniture/Tables/frame.rsi
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
sprite: Structures/Furniture/Tables/generic.rsi
|
sprite: Structures/Furniture/Tables/generic.rsi
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
rotation: -90
|
rotation: -90
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
sprite: Structures/Furniture/instruments.rsi
|
sprite: Structures/Furniture/instruments.rsi
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
- type: Pullable
|
- type: Pullable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
state: 0
|
state: 0
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
- MobMask
|
- MobMask
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
- MobImpassable
|
- MobImpassable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
node: missingWires
|
node: missingWires
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
node: machineFrame
|
node: machineFrame
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
anchored: true
|
anchored: true
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
anchored: true
|
anchored: true
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Anchorable
|
- type: Anchorable
|
||||||
- type: Rotatable
|
- type: Rotatable
|
||||||
- type: Pullable
|
- type: Pullable
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
- type: Anchorable
|
- type: Anchorable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
nodeGroupID: MVPower
|
nodeGroupID: MVPower
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
- SmallImpassable
|
- SmallImpassable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
- SmallImpassable
|
- SmallImpassable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
anchored: true
|
anchored: true
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
anchored: true
|
anchored: true
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
anchored: true
|
anchored: true
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
anchored: true
|
anchored: true
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
drawdepth: BelowFloor
|
drawdepth: BelowFloor
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
drawRate: 50
|
drawRate: 50
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
acts: [ "Destruction" ]
|
acts: [ "Destruction" ]
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Physics
|
- type: Physics
|
||||||
bodyType: Dynamic
|
bodyType: Dynamic
|
||||||
fixtures:
|
fixtures:
|
||||||
@@ -364,7 +364,7 @@
|
|||||||
acts: [ "Destruction" ]
|
acts: [ "Destruction" ]
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: InteractionOutline
|
- type: InteractionOutline
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Structures/Storage/canister.rsi
|
sprite: Structures/Storage/canister.rsi
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
placeCentered: true
|
placeCentered: true
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
- type: PlaceableSurface
|
- type: PlaceableSurface
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -531,7 +531,7 @@
|
|||||||
state_closed: livestockcrate_door
|
state_closed: livestockcrate_door
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
- SmallImpassable
|
- SmallImpassable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
- type: Anchorable
|
- type: Anchorable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
!type:PhysShapeAabb {}
|
!type:PhysShapeAabb {}
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
type: SignalPortSelectorBoundUserInterface
|
type: SignalPortSelectorBoundUserInterface
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
state: 0
|
state: 0
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
- ExplosivePassable
|
- ExplosivePassable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
state: full
|
state: full
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Physics
|
- type: Physics
|
||||||
bodyType: Static
|
bodyType: Static
|
||||||
fixtures:
|
fixtures:
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
- ExplosivePassable
|
- ExplosivePassable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
state: metal
|
state: metal
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
sprite: Structures/Windows/plasma_window.rsi
|
sprite: Structures/Windows/plasma_window.rsi
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Glass
|
damageModifierSet: Glass
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
- VaultImpassable
|
- VaultImpassable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Glass
|
damageModifierSet: Glass
|
||||||
- type: Repairable
|
- type: Repairable
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
drawdepth: FloorObjects
|
drawdepth: FloorObjects
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
state: spike
|
state: spike
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
- SmallImpassable
|
- SmallImpassable
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
resistanceSet: Metallic
|
damageModifierSet: Metallic
|
||||||
- type: Destructible
|
- type: Destructible
|
||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
|
|||||||
Reference in New Issue
Block a user