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
This commit is contained in:
Injazz
2019-06-07 16:15:20 +05:00
committed by Pieter-Jan Briers
parent f1aeaaa640
commit 10801af2f7
42 changed files with 756 additions and 18 deletions

Binary file not shown.

Binary file not shown.

View 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:

View 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

View File

@@ -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

View File

@@ -25,6 +25,9 @@
Anchored: false
- type: EntityStorage
- type: PlaceableSurface
- type: Damageable
- type: Destructible
thresholdvalue: 100
- type: Appearance
visuals:
- type: StorageVisualizer2D

View File

@@ -21,3 +21,8 @@
- type: IconSmooth
key: tables
base: solid_
- type: Damageable
- type: Destructible
thresholdvalue: 50
spawnondestroy: TableParts

View File

@@ -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

View File

@@ -5,6 +5,7 @@
is_subfloor: true
footstep_sounds: footstep_plating
friction: 0.5
subfloor: space
- type: tile
name: underplating

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

View 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
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

View 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]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

View 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]]}]}

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

View 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]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

View 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]]}]}