More Resilient Grenades (#34499)
* Inital commit * Balanced damage to explode instantly * Rebalanced based on suggestions * matched all grenade instant thresholds to 45 damage. Signed-off-by: Nox38 <nebulousnox38@gmail.com> * Redid files and values Signed-off-by: Nox38 <nebulousnox38@gmail.com> * Minor spelling mistake Signed-off-by: Nox38 <nebulousnox38@gmail.com> * Moved abstracts and fixed typo in comments Signed-off-by: Nox38 <nebulousnox38@gmail.com> --------- Signed-off-by: Nox38 <nebulousnox38@gmail.com>
This commit is contained in:
parent
831c53603d
commit
febc0f9897
5 changed files with 216 additions and 206 deletions
|
|
@ -0,0 +1,87 @@
|
|||
- type: entity # Starts fuse after taking 10 damage.
|
||||
parent: BaseItem
|
||||
abstract: true
|
||||
id: GrenadeBase
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/grenade.rsi
|
||||
layers:
|
||||
- state: icon
|
||||
map: ["enum.TriggerVisualLayers.Base"]
|
||||
- type: Item
|
||||
size: Small
|
||||
- type: Clothing
|
||||
quickEquip: false
|
||||
slots:
|
||||
- Belt
|
||||
- type: TriggerOnUse
|
||||
- type: TimerTrigger
|
||||
delay: 3
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger: # Start fuse
|
||||
!type:DamageTrigger
|
||||
damage: 10
|
||||
behaviors:
|
||||
- !type:TimerStartBehavior
|
||||
- type: Appearance
|
||||
- type: AnimationPlayer
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.Trigger.TriggerVisuals.VisualState:
|
||||
enum.ConstructionVisuals.Layer:
|
||||
Primed: { state: primed }
|
||||
Unprimed: { state: icon }
|
||||
- type: Tag
|
||||
tags:
|
||||
- HandGrenade
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape: !type:PhysShapeCircle
|
||||
radius: 0.2
|
||||
density: 20 # derived from base_item
|
||||
mask:
|
||||
- ItemMask
|
||||
restitution: 0.3
|
||||
friction: 0.2
|
||||
|
||||
- type: entity # Starts fuse after taking 10 damage, instantly detonates/activates after taking 45 damage.
|
||||
abstract: true
|
||||
id: VolatileGrenadeBase
|
||||
components:
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 10
|
||||
behaviors:
|
||||
- !type:TimerStartBehavior
|
||||
- trigger: # immediately explode
|
||||
!type:DamageTrigger
|
||||
damage: 45
|
||||
behaviors:
|
||||
- !type:TriggerBehavior
|
||||
keyOut: timer
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
|
||||
- type: entity # Starts fuse after taking 10 damage, is destroyed without activating/detonating after taking 45 damage.
|
||||
abstract: true
|
||||
id: FragileGrenadeBase
|
||||
components:
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 10
|
||||
behaviors:
|
||||
- !type:TimerStartBehavior
|
||||
- trigger: # Disappear
|
||||
!type:DamageTrigger
|
||||
damage: 45
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
|
|
@ -0,0 +1,117 @@
|
|||
- type: entity
|
||||
parent: [VolatileGrenadeBase, GrenadeBase, BaseSecurityContraband ]
|
||||
id: SmokeGrenade
|
||||
name: smoke grenade
|
||||
description: A tactical grenade that releases a large, long-lasting cloud of smoke when used.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/smoke.rsi
|
||||
- type: SmokeOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
duration: 30
|
||||
spreadAmount: 50
|
||||
- type: EmitSoundOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
sound: /Audio/Items/smoke_grenade_smoke.ogg
|
||||
positional: true
|
||||
- type: DeleteOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
- type: TimerTriggerVisuals
|
||||
primingSound:
|
||||
path: /Audio/Items/smoke_grenade_prime.ogg
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseCivilianContraband, SmokeGrenade ]
|
||||
id: CleanerGrenade
|
||||
name: cleanade
|
||||
description: Special grenade for janitors, releasing large cloud of space cleaner foam.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/janitor.rsi
|
||||
- type: SmokeOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
duration: 15
|
||||
spreadAmount: 50
|
||||
smokePrototype: Foam
|
||||
solution:
|
||||
reagents:
|
||||
- ReagentId: SpaceCleaner
|
||||
Quantity: 30
|
||||
|
||||
- type: entity
|
||||
parent: SmokeGrenade
|
||||
id: TearGasGrenade
|
||||
name: tear gas grenade
|
||||
description: A riot control tear gas grenade. Causes irritation, pain and makes you cry your eyes out.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/tear_gas.rsi
|
||||
- type: SmokeOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
duration: 10
|
||||
spreadAmount: 30
|
||||
smokePrototype: TearGasSmokeWhite
|
||||
solution:
|
||||
reagents:
|
||||
- ReagentId: TearGas
|
||||
Quantity: 20
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseEngineeringContraband, SmokeGrenade ]
|
||||
id: MetalFoamGrenade
|
||||
name: metal foam grenade
|
||||
description: An emergency tool used for patching hull breaches with special quick-set metal foam. Almost as good as real floors!
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/metalfoam.rsi
|
||||
- type: TimerTrigger
|
||||
delay: 5
|
||||
- type: SmokeOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
duration: 10
|
||||
spreadAmount: 20
|
||||
smokePrototype: AluminiumMetalFoam
|
||||
- type: StaticPrice
|
||||
price: 350
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseEngineeringContraband, VolatileGrenadeBase, GrenadeBase ] # Prevent inheriting DeleteOnTrigger from SmokeGrenade
|
||||
id: AirGrenade
|
||||
name: air grenade
|
||||
description: A special solid state chemical grenade used for quickly releasing standard air into a spaced area. Fills up to 30 tiles!
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/airboom.rsi
|
||||
- type: EmitSoundOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
sound: /Audio/Items/smoke_grenade_smoke.ogg
|
||||
- type: TimerTriggerVisuals
|
||||
primingSound:
|
||||
path: /Audio/Items/smoke_grenade_prime.ogg
|
||||
- type: TimerTrigger
|
||||
delay: 3
|
||||
- type: ReleaseGasOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
removeFraction: 0.25
|
||||
air:
|
||||
volume: 1000
|
||||
moles: # Target is 3117.84 mols total for filling 30 tiles (goal is 101.325 kPa @ 20C)
|
||||
Oxygen: 654.7464 # oxygen
|
||||
Nitrogen: 2463.0936 # nitrogen
|
||||
temperature: 293.15
|
||||
- type: StaticPrice
|
||||
price: 350
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.ReleaseGasOnTriggerVisuals.Key:
|
||||
enabled:
|
||||
True: { state: active }
|
||||
False: { state: spent }
|
||||
|
|
@ -1,60 +1,7 @@
|
|||
- type: entity
|
||||
abstract: true
|
||||
parent: BaseItem
|
||||
id: GrenadeBase
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/grenade.rsi
|
||||
layers:
|
||||
- state: icon
|
||||
map: ["enum.TriggerVisualLayers.Base"]
|
||||
- type: Item
|
||||
size: Small
|
||||
- type: Clothing
|
||||
quickEquip: false
|
||||
slots:
|
||||
- Belt
|
||||
- type: TriggerOnUse
|
||||
- type: TimerTrigger
|
||||
delay: 3
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 10
|
||||
behaviors:
|
||||
- !type:TriggerBehavior
|
||||
keyOut: timer # explode immediately
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Appearance
|
||||
- type: AnimationPlayer
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.Trigger.TriggerVisuals.VisualState:
|
||||
enum.ConstructionVisuals.Layer:
|
||||
Primed: { state: primed }
|
||||
Unprimed: { state: icon }
|
||||
- type: Tag
|
||||
tags:
|
||||
- HandGrenade
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape: !type:PhysShapeCircle
|
||||
radius: 0.2
|
||||
density: 20 # derived from base_item
|
||||
mask:
|
||||
- ItemMask
|
||||
restitution: 0.3
|
||||
friction: 0.2
|
||||
|
||||
- type: entity
|
||||
name: explosive grenade
|
||||
description: Grenade that creates a small but devastating explosion.
|
||||
parent: [GrenadeBase, BaseSyndicateContraband]
|
||||
parent: [VolatileGrenadeBase, GrenadeBase, BaseSyndicateContraband]
|
||||
id: ExGrenade
|
||||
components:
|
||||
- type: ExplodeOnTrigger
|
||||
|
|
@ -77,7 +24,7 @@
|
|||
- type: entity
|
||||
name: flashbang
|
||||
description: Eeeeeeeeeeeeeeeeeeeeee.
|
||||
parent: [ GrenadeBase, BaseSecurityContraband ]
|
||||
parent: [ FragileGrenadeBase, GrenadeBase, BaseSecurityContraband ]
|
||||
id: GrenadeFlashBang
|
||||
components:
|
||||
- type: Sprite
|
||||
|
|
@ -132,28 +79,13 @@
|
|||
- type: entity
|
||||
name: syndicate minibomb
|
||||
description: A syndicate-manufactured explosive used to stow destruction and cause chaos.
|
||||
parent: [GrenadeBase, BaseSyndicateContraband]
|
||||
parent: [VolatileGrenadeBase, GrenadeBase, BaseSyndicateContraband]
|
||||
id: SyndieMiniBomb
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/syndgrenade.rsi
|
||||
- type: ExplosionResistance
|
||||
damageCoefficient: 0.1
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 10
|
||||
behaviors:
|
||||
- !type:TimerStartBehavior
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 45
|
||||
behaviors:
|
||||
- !type:TriggerBehavior
|
||||
keyOut: timer # immediately explode
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: TimerTrigger
|
||||
delay: 5
|
||||
- type: ExplodeOnTrigger
|
||||
|
|
@ -202,7 +134,7 @@
|
|||
|
||||
|
||||
- type: entity
|
||||
parent: [ GrenadeBase, BaseSyndicateContraband ]
|
||||
parent: [ FragileGrenadeBase, GrenadeBase, BaseSyndicateContraband ]
|
||||
id: SingularityGrenade
|
||||
name: singularity grenade
|
||||
description: Grenade that simulates the power of a singularity, pulling things in a heap.
|
||||
|
|
@ -416,7 +348,7 @@
|
|||
- type: entity
|
||||
name: EMP grenade
|
||||
description: A grenade designed to wreak havoc on electronic systems.
|
||||
parent: [GrenadeBase, BaseSyndicateContraband]
|
||||
parent: [FragileGrenadeBase, GrenadeBase, BaseSyndicateContraband]
|
||||
id: EmpGrenade
|
||||
components:
|
||||
- type: Sprite
|
||||
|
|
@ -465,124 +397,6 @@
|
|||
- type: StaticPrice
|
||||
price: 10000
|
||||
|
||||
- type: entity
|
||||
parent: [ GrenadeBase, BaseSecurityContraband ]
|
||||
id: SmokeGrenade
|
||||
name: smoke grenade
|
||||
description: A tactical grenade that releases a large, long-lasting cloud of smoke when used.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/smoke.rsi
|
||||
- type: SmokeOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
duration: 30
|
||||
spreadAmount: 50
|
||||
- type: EmitSoundOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
sound: /Audio/Items/smoke_grenade_smoke.ogg
|
||||
positional: true
|
||||
- type: DeleteOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
- type: TimerTriggerVisuals
|
||||
primingSound:
|
||||
path: /Audio/Items/smoke_grenade_prime.ogg
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseCivilianContraband, SmokeGrenade ]
|
||||
id: CleanerGrenade
|
||||
name: cleanade
|
||||
description: Special grenade for janitors, releasing large cloud of space cleaner foam.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/janitor.rsi
|
||||
- type: SmokeOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
duration: 15
|
||||
spreadAmount: 50
|
||||
smokePrototype: Foam
|
||||
solution:
|
||||
reagents:
|
||||
- ReagentId: SpaceCleaner
|
||||
Quantity: 30
|
||||
|
||||
- type: entity
|
||||
parent: SmokeGrenade
|
||||
id: TearGasGrenade
|
||||
name: tear gas grenade
|
||||
description: A riot control tear gas grenade. Causes irritation, pain and makes you cry your eyes out.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/tear_gas.rsi
|
||||
- type: SmokeOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
duration: 10
|
||||
spreadAmount: 30
|
||||
smokePrototype: TearGasSmokeWhite
|
||||
solution:
|
||||
reagents:
|
||||
- ReagentId: TearGas
|
||||
Quantity: 20
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseEngineeringContraband, SmokeGrenade ]
|
||||
id: MetalFoamGrenade
|
||||
name: metal foam grenade
|
||||
description: An emergency tool used for patching hull breaches with special quick-set metal foam. Almost as good as real floors!
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/metalfoam.rsi
|
||||
- type: TimerTrigger
|
||||
delay: 5
|
||||
- type: SmokeOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
duration: 10
|
||||
spreadAmount: 20
|
||||
smokePrototype: AluminiumMetalFoam
|
||||
- type: StaticPrice
|
||||
price: 350
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseEngineeringContraband, GrenadeBase ] # Prevent inheriting DeleteOnTrigger from SmokeGrenade
|
||||
id: AirGrenade
|
||||
name: air grenade
|
||||
description: A special solid state chemical grenade used for quickly releasing standard air into a spaced area. Fills up to 30 tiles!
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Grenades/airboom.rsi
|
||||
- type: EmitSoundOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
sound: /Audio/Items/smoke_grenade_smoke.ogg
|
||||
- type: TimerTriggerVisuals
|
||||
primingSound:
|
||||
path: /Audio/Items/smoke_grenade_prime.ogg
|
||||
- type: TimerTrigger
|
||||
delay: 3
|
||||
- type: ReleaseGasOnTrigger
|
||||
keysIn:
|
||||
- timer
|
||||
removeFraction: 0.25
|
||||
air:
|
||||
volume: 1000
|
||||
moles: # Target is 3117.84 mols total for filling 30 tiles (goal is 101.325 kPa @ 20C)
|
||||
Oxygen: 654.7464 # oxygen
|
||||
Nitrogen: 2463.0936 # nitrogen
|
||||
temperature: 293.15
|
||||
- type: StaticPrice
|
||||
price: 350
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.ReleaseGasOnTriggerVisuals.Key:
|
||||
enabled:
|
||||
True: { state: active }
|
||||
False: { state: spent }
|
||||
|
||||
# Non-explosive "dummy" grenades to use as a distraction.
|
||||
|
||||
- type: entity
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
friction: 0.2
|
||||
|
||||
- type: entity
|
||||
parent: [ProjectileGrenadeBase, BaseSecurityContraband]
|
||||
parent: [FragileGrenadeBase, ProjectileGrenadeBase, BaseSecurityContraband]
|
||||
id: GrenadeStinger
|
||||
name: stinger grenade
|
||||
description: Nothing to see here, please disperse.
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
path: /Audio/Effects/countdown.ogg
|
||||
|
||||
- type: entity
|
||||
parent: [ProjectileGrenadeBase, BaseSyndicateContraband]
|
||||
parent: [FragileGrenadeBase, ProjectileGrenadeBase, BaseSyndicateContraband]
|
||||
id: GrenadeIncendiary
|
||||
name: incendiary grenade
|
||||
description: Guaranteed to light up the mood.
|
||||
|
|
@ -109,7 +109,7 @@
|
|||
price: 1500
|
||||
|
||||
- type: entity
|
||||
parent: [ProjectileGrenadeBase, BaseSyndicateContraband]
|
||||
parent: [FragileGrenadeBase, ProjectileGrenadeBase, BaseSyndicateContraband]
|
||||
id: GrenadeShrapnel
|
||||
name: shrapnel grenade
|
||||
description: Releases a deadly spray of shrapnel that causes severe bleeding.
|
||||
|
|
|
|||
|
|
@ -10,14 +10,6 @@
|
|||
cluster-payload: !type:Container
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 10
|
||||
behaviors:
|
||||
- !type:TriggerBehavior
|
||||
keyOut: timer # explode immediately
|
||||
- type: ScatteringGrenade
|
||||
- type: TriggerOnUse
|
||||
- type: TimerTrigger
|
||||
|
|
@ -37,7 +29,7 @@
|
|||
friction: 0.2
|
||||
|
||||
- type: entity
|
||||
parent: [ScatteringGrenadeBase, BaseSecurityContraband]
|
||||
parent: [FragileGrenadeBase, ScatteringGrenadeBase, BaseSecurityContraband]
|
||||
id: ClusterBang
|
||||
name: clusterbang
|
||||
description: Can be used only with flashbangs. Explodes several times.
|
||||
|
|
@ -90,7 +82,7 @@
|
|||
positional: true
|
||||
|
||||
- type: entity
|
||||
parent: [ScatteringGrenadeBase, BaseSyndicateContraband]
|
||||
parent: [VolatileGrenadeBase, ScatteringGrenadeBase, BaseSyndicateContraband]
|
||||
id: ClusterGrenade
|
||||
name: clustergrenade
|
||||
description: Why use one grenade when you can use three at once!
|
||||
|
|
@ -120,7 +112,7 @@
|
|||
price: 2500
|
||||
|
||||
- type: entity
|
||||
parent: [ScatteringGrenadeBase, BaseSyndicateContraband]
|
||||
parent: [FragileGrenadeBase, ScatteringGrenadeBase, BaseSyndicateContraband]
|
||||
id: ClusterBananaPeel
|
||||
name: cluster banana peel
|
||||
description: Splits into 6 explosive banana peels after throwing, guaranteed fun!
|
||||
|
|
@ -175,7 +167,7 @@
|
|||
price: 1000
|
||||
|
||||
- type: entity
|
||||
parent: ScatteringGrenadeBase
|
||||
parent: [FragileGrenadeBase, ScatteringGrenadeBase]
|
||||
id: GrenadeFoamDart
|
||||
name: foam dart grenade
|
||||
description: Releases a bothersome spray of foam darts that cause severe welching.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue