Explosions and Grenades, Triggers, OnDestroy, OnExAct, Fueltanks and destructible tables (#247)
* initial explosiveComponent * remove garbagee * assets * tile mass deletion baby * grenades * tweaks * Update Content.Server/GameObjects/Components/Explosion/ExplosiveComponent.cs Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com> * Ex_act based on damage, fixes and tweaks * One finishing touch Done the most cringe way * ex_act explosions, tables are destructible now also adds fuel tanks * adds ex_act to mobs
BIN
Resources/Audio/effects/countdown.ogg
Normal file
BIN
Resources/Audio/effects/explosion.ogg
Normal file
@@ -18,6 +18,43 @@
|
||||
- type: Collidable
|
||||
- type: Storage
|
||||
Capacity: 60
|
||||
|
||||
- type: Damageable
|
||||
- type: Destructible
|
||||
thresholdvalue: 100
|
||||
|
||||
placement:
|
||||
snap:
|
||||
- Wall
|
||||
|
||||
- type: entity
|
||||
id: weldtank
|
||||
name: Fueltank
|
||||
description: A storage tank containing welding fuel.
|
||||
components:
|
||||
- type: Sprite
|
||||
texture: Buildings/weldtank.png
|
||||
|
||||
- type: Icon
|
||||
texture: Buildings/weldtank.png
|
||||
|
||||
- type: Clickable
|
||||
- type: BoundingBox
|
||||
aabb: "-0.5,-0.25,0.5,0.25"
|
||||
- type: Collidable
|
||||
mask: 3
|
||||
IsScrapingFloor: true
|
||||
- type: Physics
|
||||
mass: 15
|
||||
Anchored: false
|
||||
- type: Damageable
|
||||
- type: Destructible
|
||||
thresholdvalue: 10
|
||||
- type: Explosive
|
||||
devastationRange: 1
|
||||
heavyImpactRange: 2
|
||||
lightImpactRange: 4
|
||||
flashRange: 5
|
||||
|
||||
placement:
|
||||
snap:
|
||||
|
||||
74
Resources/Prototypes/Entities/Explosives.yml
Normal file
@@ -0,0 +1,74 @@
|
||||
- type: entity
|
||||
name: Explosive Grenade
|
||||
description: Grenade that creates small devastating explosion
|
||||
parent: BaseItem
|
||||
id: ExGrenade
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/grenade.rsi
|
||||
layers:
|
||||
- state: icon
|
||||
map: ["enum.TriggerVisualLayers.Base"]
|
||||
|
||||
- type: Icon
|
||||
sprite: Objects/grenade.rsi
|
||||
state: icon
|
||||
|
||||
- type: Item
|
||||
Size: 5
|
||||
|
||||
- type: OnUseTimerTrigger
|
||||
delay: 5
|
||||
|
||||
- type: Explosive
|
||||
devastationRange: 1
|
||||
heavyImpactRange: 3
|
||||
lightImpactRange: 5
|
||||
flashRange: 7
|
||||
|
||||
- type: Damageable
|
||||
- type: Destructible
|
||||
thresholdvalue: 10
|
||||
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: TimerTriggerVisualizer2D
|
||||
countdown_sound: /Audio/effects/countdown.ogg
|
||||
|
||||
- type: entity
|
||||
name: Syndicate Minibomb
|
||||
description: A syndicate manufactured explosive used to sow destruction and chaos.
|
||||
parent: BaseItem
|
||||
id: SyndieMiniBomb
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/syndgrenade.rsi
|
||||
layers:
|
||||
- state: icon
|
||||
map: ["enum.TriggerVisualLayers.Base"]
|
||||
|
||||
- type: Icon
|
||||
sprite: Objects/syndgrenade.rsi
|
||||
state: icon
|
||||
|
||||
- type: Item
|
||||
Size: 5
|
||||
|
||||
- type: OnUseTimerTrigger
|
||||
delay: 5
|
||||
|
||||
- type: Explosive
|
||||
devastationRange: 3
|
||||
heavyImpactRange: 5
|
||||
lightImpactRange: 7
|
||||
flashRange: 10
|
||||
|
||||
- type: Damageable
|
||||
- type: Destructible
|
||||
thresholdvalue: 10
|
||||
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: TimerTriggerVisualizer2D
|
||||
countdown_sound: /Audio/effects/countdown.ogg
|
||||
|
||||
@@ -136,3 +136,21 @@
|
||||
- type: Sound
|
||||
- type: EmitSoundOnUse
|
||||
sound: /Audio/items/bikehorn.ogg
|
||||
|
||||
- type: entity
|
||||
name: Table Parts
|
||||
parent: BaseItem
|
||||
id: TableParts
|
||||
description: Parts of a table.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/table_parts.rsi
|
||||
state: icon
|
||||
|
||||
- type: Icon
|
||||
sprite: Objects/table_parts.rsi
|
||||
state: icon
|
||||
|
||||
- type: Item
|
||||
Size: 25
|
||||
sprite: Objects/table_parts.rsi
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
Anchored: false
|
||||
- type: EntityStorage
|
||||
- type: PlaceableSurface
|
||||
- type: Damageable
|
||||
- type: Destructible
|
||||
thresholdvalue: 100
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer2D
|
||||
|
||||
@@ -21,3 +21,8 @@
|
||||
- type: IconSmooth
|
||||
key: tables
|
||||
base: solid_
|
||||
|
||||
- type: Damageable
|
||||
- type: Destructible
|
||||
thresholdvalue: 50
|
||||
spawnondestroy: TableParts
|
||||
@@ -6,6 +6,7 @@
|
||||
can_crowbar: true
|
||||
footstep_sounds: footstep_floor
|
||||
friction: 0.35
|
||||
subfloor: plating
|
||||
|
||||
- type: tile
|
||||
name: floor_white
|
||||
@@ -15,6 +16,7 @@
|
||||
can_crowbar: true
|
||||
footstep_sounds: footstep_floor
|
||||
friction: 0.1
|
||||
subfloor: underplating
|
||||
|
||||
- type: tile
|
||||
name: floor_techmaint
|
||||
@@ -24,3 +26,4 @@
|
||||
can_crowbar: true
|
||||
footstep_sounds: footstep_floor
|
||||
friction: 0.5
|
||||
subfloor: underplating
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
is_subfloor: true
|
||||
footstep_sounds: footstep_plating
|
||||
friction: 0.5
|
||||
subfloor: space
|
||||
|
||||
- type: tile
|
||||
name: underplating
|
||||
|
||||
BIN
Resources/Textures/Buildings/weldtank.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Resources/Textures/Effects/explosion.png
Executable file
|
After Width: | Height: | Size: 9.9 KiB |
BIN
Resources/Textures/Effects/explosion.rsi/explosion.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
28
Resources/Textures/Effects/explosion.rsi/meta.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 96,
|
||||
"y": 96
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/icons/effects/96x96.dmi at commit 96d69b71a3a0549b4b668c0a095306580bd157c0",
|
||||
"states": [
|
||||
{
|
||||
"name": "explosion",
|
||||
"select": [],
|
||||
"flags": {},
|
||||
"directions": 1,
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Objects/grenade.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 274 B |
25
Resources/Textures/Objects/grenade.rsi/meta.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/icons/obj/grenade.dmi at commit 8c96d52deed1eeea28a16334eea549369d7f9974",
|
||||
"states": [
|
||||
{
|
||||
"name": "icon",
|
||||
"directions": 1,
|
||||
"delays": [
|
||||
[1.0]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "primed",
|
||||
"directions": 1,
|
||||
"delays": [
|
||||
[0.2, 0.2]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Objects/grenade.rsi/primed.png
Normal file
|
After Width: | Height: | Size: 332 B |
BIN
Resources/Textures/Objects/rack_parts.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 535 B |
BIN
Resources/Textures/Objects/rack_parts.rsi/inhand-left.png
Normal file
|
After Width: | Height: | Size: 240 B |
BIN
Resources/Textures/Objects/rack_parts.rsi/inhand-right.png
Normal file
|
After Width: | Height: | Size: 233 B |
1
Resources/Textures/Objects/rack_parts.rsi/meta.json
Normal file
@@ -0,0 +1 @@
|
||||
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at commit 125c975f1b3bf9826b37029e9ab5a5f89e975a7e", "states": [{"name": "icon", "directions": 1, "delays": [[1.0]]}, {"name": "inhand-left", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "inhand-right", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}]}
|
||||
BIN
Resources/Textures/Objects/syndgrenade.rsi/icon.png
Executable file
|
After Width: | Height: | Size: 215 B |
25
Resources/Textures/Objects/syndgrenade.rsi/meta.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/vgstation-coders/vgstation13/icons/obj/grenade.dmi at commit 8c96d52deed1eeea28a16334eea549369d7f9974",
|
||||
"states": [
|
||||
{
|
||||
"name": "icon",
|
||||
"directions": 1,
|
||||
"delays": [
|
||||
[1.0]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "primed",
|
||||
"directions": 1,
|
||||
"delays": [
|
||||
[0.2, 0.2, 0.2]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Objects/syndgrenade.rsi/primed.png
Normal file
|
After Width: | Height: | Size: 524 B |
BIN
Resources/Textures/Objects/table_parts.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 915 B |
BIN
Resources/Textures/Objects/table_parts.rsi/inhand-left.png
Normal file
|
After Width: | Height: | Size: 240 B |
BIN
Resources/Textures/Objects/table_parts.rsi/inhand-right.png
Normal file
|
After Width: | Height: | Size: 233 B |
1
Resources/Textures/Objects/table_parts.rsi/meta.json
Normal file
@@ -0,0 +1 @@
|
||||
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at commit 125c975f1b3bf9826b37029e9ab5a5f89e975a7e", "states": [{"name": "icon", "directions": 1, "delays": [[1.0]]}, {"name": "inhand-left", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "inhand-right", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}]}
|
||||