C1984 (C4 nerf) (#7612)
This commit is contained in:
@@ -16,6 +16,13 @@ public sealed class StickyComponent : Component
|
|||||||
[ViewVariables(VVAccess.ReadWrite)]
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
public EntityWhitelist? Whitelist;
|
public EntityWhitelist? Whitelist;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// What target entities can't be used as surface for sticky entity.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("blacklist")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public EntityWhitelist? Blacklist;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// How much time does it take to stick entity to target.
|
/// How much time does it take to stick entity to target.
|
||||||
/// If zero will stick entity immediately.
|
/// If zero will stick entity immediately.
|
||||||
|
|||||||
@@ -55,8 +55,12 @@ public sealed class StickySystem : EntitySystem
|
|||||||
{
|
{
|
||||||
if (!Resolve(uid, ref component))
|
if (!Resolve(uid, ref component))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
// check whitelist and blacklist
|
||||||
if (component.Whitelist != null && !component.Whitelist.IsValid(target))
|
if (component.Whitelist != null && !component.Whitelist.IsValid(target))
|
||||||
return false;
|
return false;
|
||||||
|
if (component.Blacklist != null && component.Blacklist.IsValid(target))
|
||||||
|
return false;
|
||||||
|
|
||||||
// check if delay is not zero to start do after
|
// check if delay is not zero to start do after
|
||||||
var delay = (float) component.StickDelay.TotalSeconds;
|
var delay = (float) component.StickDelay.TotalSeconds;
|
||||||
|
|||||||
@@ -14,3 +14,4 @@
|
|||||||
supportedTypes:
|
supportedTypes:
|
||||||
- Heat
|
- Heat
|
||||||
- Shock
|
- Shock
|
||||||
|
- Structural # this probably should be in separate container
|
||||||
|
|||||||
@@ -36,3 +36,8 @@
|
|||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Cellular
|
id: Cellular
|
||||||
|
|
||||||
|
# Damage represent structures internal integrity.
|
||||||
|
# Exclusive for structures such as walls, airlocks and others.
|
||||||
|
- type: damageType
|
||||||
|
id: Structural
|
||||||
|
|||||||
@@ -25,11 +25,14 @@
|
|||||||
stickPopupSuccess: comp-sticky-success-stick-bomb
|
stickPopupSuccess: comp-sticky-success-stick-bomb
|
||||||
unstickPopupStart: comp-sticky-start-unstick-bomb
|
unstickPopupStart: comp-sticky-start-unstick-bomb
|
||||||
unstickPopupSuccess: comp-sticky-success-unstick-bomb
|
unstickPopupSuccess: comp-sticky-success-unstick-bomb
|
||||||
|
blacklist: # can't stick it to other items
|
||||||
|
components:
|
||||||
|
- Item
|
||||||
- type: Explosive # Powerful explosion in a very small radius. Doesn't break underplating.
|
- type: Explosive # Powerful explosion in a very small radius. Doesn't break underplating.
|
||||||
explosionType: Default
|
explosionType: DemolitionCharge
|
||||||
maxIntensity: 300
|
totalIntensity: 60
|
||||||
intensitySlope: 100
|
intensitySlope: 5
|
||||||
totalIntensity: 300
|
maxIntensity: 30
|
||||||
canCreateVacuum: false
|
canCreateVacuum: false
|
||||||
- type: ExplodeOnTrigger
|
- type: ExplodeOnTrigger
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
@@ -38,10 +41,11 @@
|
|||||||
thresholds:
|
thresholds:
|
||||||
- trigger:
|
- trigger:
|
||||||
!type:DamageTrigger
|
!type:DamageTrigger
|
||||||
damage: 10
|
damage: 50
|
||||||
behaviors:
|
behaviors:
|
||||||
- !type:DoActsBehavior
|
- !type:DoActsBehavior
|
||||||
acts: ["Destruction"]
|
acts: ["Destruction"]
|
||||||
|
- !type:ExplodeBehavior
|
||||||
- type: StickyVisualizer
|
- type: StickyVisualizer
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
visuals:
|
||||||
|
|||||||
@@ -14,6 +14,21 @@
|
|||||||
texturePath: /Textures/Effects/fire.rsi
|
texturePath: /Textures/Effects/fire.rsi
|
||||||
fireStates: 3
|
fireStates: 3
|
||||||
|
|
||||||
|
- type: explosion
|
||||||
|
id: DemolitionCharge
|
||||||
|
damagePerIntensity:
|
||||||
|
types:
|
||||||
|
Heat: 3
|
||||||
|
Blunt: 3
|
||||||
|
Piercing: 3
|
||||||
|
Structural: 50
|
||||||
|
tileBreakChance: [ 0, 0.5, 1 ]
|
||||||
|
tileBreakIntensity: [ 0, 10, 30 ]
|
||||||
|
tileBreakRerollReduction: 20
|
||||||
|
lightColor: Orange
|
||||||
|
texturePath: /Textures/Effects/fire.rsi
|
||||||
|
fireStates: 3
|
||||||
|
|
||||||
- type: explosion
|
- type: explosion
|
||||||
id: Radioactive
|
id: Radioactive
|
||||||
damagePerIntensity:
|
damagePerIntensity:
|
||||||
|
|||||||
Reference in New Issue
Block a user