]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Base grenade prototype (#13730)
authorAlexMorgan3817 <46600554+AlexMorgan3817@users.noreply.github.com>
Sun, 5 Feb 2023 22:38:31 +0000 (22:38 +0000)
committerGitHub <noreply@github.com>
Sun, 5 Feb 2023 22:38:31 +0000 (18:38 -0400)
Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml

index efb641d8d8cc5d68f3af8cbe4498f66c73e06f5d..016860ea27332e2b005832be5a4b493a1339fbf3 100644 (file)
@@ -1,10 +1,8 @@
 # TODO probably needs a base grenade
-
 - type: entity
-  name: explosive grenade
-  description: Grenade that creates a small but devastating explosion.
+  abstract: true
   parent: BaseItem
-  id: ExGrenade
+  id: GrenadeBase
   components:
   - type: Sprite
     sprite: Objects/Weapons/Grenades/grenade.rsi
     - Belt
   - type: OnUseTimerTrigger
     delay: 3.5
-  - type: Explosive
-    explosionType: Default
-    maxIntensity: 10
-    intensitySlope: 3
-    totalIntensity: 120 # about a ~4 tile radius
-    canCreateVacuum: false
-  - type: ExplodeOnTrigger
   - type: Damageable
     damageContainer: Inorganic
   - type: Destructible
     visuals:
     - type: TimerTriggerVisualizer
 
+- type: entity
+  name: explosive grenade
+  description: Grenade that creates a small but devastating explosion.
+  parent: GrenadeBase
+  id: ExGrenade
+  components:
+  - type: ExplodeOnTrigger
+  - type: Explosive
+    explosionType: Default
+    maxIntensity: 10
+    intensitySlope: 3
+    totalIntensity: 120 # about a ~4 tile radius
+    canCreateVacuum: false
+
 - type: entity
   name: flashbang
   description: Eeeeeeeeeeeeeeeeeeeeee
-  parent: BaseItem
+  parent: GrenadeBase
   id: GrenadeFlashBang
   components:
   - type: Sprite
     sprite: Objects/Weapons/Grenades/flashbang.rsi
-    layers:
-    - state: icon
-      map: ["enum.TriggerVisualLayers.Base"]
-  - type: Item
-    size: 5
-  - type: Clothing
-    quickEquip: false
-    slots:
-    - Belt
-  - type: OnUseTimerTrigger
-    delay: 3.5
   - type: FlashOnTrigger
     range: 7
   - type: EmitSoundOnTrigger
     sound:
       path: "/Audio/Effects/flash_bang.ogg"
   - type: DeleteOnTrigger
-  - type: Damageable
-    damageContainer: Inorganic
-  - type: Destructible
-    thresholds:
-    - trigger:
-        !type:DamageTrigger
-        damage: 10
-      behaviors:
-      - !type:TriggerBehavior
-      - !type:DoActsBehavior
-        acts: ["Destruction"]
   - type: Appearance
     visuals:
     - type: TimerTriggerVisualizer
 - type: entity
   name: Syndicate minibomb
   description: A precision sabotage explosive for quickly destroying a machine, dead body, or whatever else needs to go.
-  parent: BaseItem
+  parent: GrenadeBase
   id: SyndieMiniBomb
   components:
   - type: Sprite
     sprite: Objects/Weapons/Grenades/syndgrenade.rsi
-    layers:
-    - state: icon
-      map: ["enum.TriggerVisualLayers.Base"]
-  - type: Item
-    size: 5
   - type: OnUseTimerTrigger
     delay: 10
+  - type: ExplodeOnTrigger
   - type: Explosive
     explosionType: Default
     totalIntensity: 200
     intensitySlope: 30 #Will destroy the tile under it reliably, space 1-2 more to rods. Only does any significant damage in a 5-tile cross.
     maxIntensity: 60
-  - type: ExplodeOnTrigger
-  - type: Damageable
-    damageContainer: Inorganic
-  - type: Destructible
-    thresholds:
-    - trigger:
-        !type:DamageTrigger
-        damage: 10
-      behaviors:
-      - !type:TriggerBehavior
-      - !type:DoActsBehavior
-        acts: ["Destruction"]
   - type: Appearance
     visuals:
     - type: TimerTriggerVisualizer
 - type: entity
   name: the nuclear option
   description: Please don't throw it, think of the children.
-  parent: BaseItem
+  parent: GrenadeBase
   id: NuclearGrenade
   components:
   - type: Sprite
     sprite: Objects/Weapons/Grenades/nukenade.rsi
-    layers:
-    - state: icon
-      map: ["enum.TriggerVisualLayers.Base"]
-  - type: Item
-    size: 5
   - type: OnUseTimerTrigger
     delay: 5
+  - type: ExplodeOnTrigger
   - type: Explosive
     explosionType: Default
     totalIntensity: 20000 # ~15 tile radius.
     intensitySlope: 5
     maxIntensity: 50
-  - type: ExplodeOnTrigger
-  - type: Damageable
-    damageContainer: Inorganic
   - type: Destructible
     thresholds:
     - trigger: