--- /dev/null
+- 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"]
--- /dev/null
+- 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 }
-- 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
- type: entity
name: flashbang
description: Eeeeeeeeeeeeeeeeeeeeee.
- parent: [ GrenadeBase, BaseSecurityContraband ]
+ parent: [ FragileGrenadeBase, GrenadeBase, BaseSecurityContraband ]
id: GrenadeFlashBang
components:
- type: Sprite
- 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
- 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.
- 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
- 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
friction: 0.2
- type: entity
- parent: [ProjectileGrenadeBase, BaseSecurityContraband]
+ parent: [FragileGrenadeBase, ProjectileGrenadeBase, BaseSecurityContraband]
id: GrenadeStinger
name: stinger grenade
description: Nothing to see here, please disperse.
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.
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.
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
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.
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!
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!
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.