Incendiary projectiles and lava firestack reduction (#23479)

* Firestack reduction and FireStackOnHit added

* Slight lava tweak

* Remove component and tweaked incendiary pellets

* Incendiary grenade tweak

* Now ignites on projectile fixture or ignition fixture + incendiary grenade tweak

* flare shells now  ignite entities again

* Comment

* undo flare gun ignite
This commit is contained in:
Arendian
2024-01-08 06:41:42 +01:00
committed by GitHub
parent 81aa5d3a18
commit 6bf6994298
7 changed files with 30 additions and 7 deletions

View File

@@ -13,4 +13,8 @@ public sealed partial class IgniteOnCollideComponent : Component
[ViewVariables(VVAccess.ReadWrite), DataField("fireStacks")]
public float FireStacks;
[ViewVariables(VVAccess.ReadWrite), DataField("fixtureId")]
public string FixtureId = "ignition";
}

View File

@@ -13,6 +13,7 @@ using Content.Shared.Database;
using Content.Shared.Interaction;
using Content.Shared.Physics;
using Content.Shared.Popups;
using Content.Shared.Projectiles;
using Content.Shared.Rejuvenate;
using Content.Shared.Temperature;
using Content.Shared.Throwing;
@@ -102,6 +103,12 @@ namespace Content.Server.Atmos.EntitySystems
if (!EntityManager.TryGetComponent(otherEnt, out FlammableComponent? flammable))
return;
//Only ignite when the colliding fixture is projectile or ignition.
if (args.OurFixtureId != component.FixtureId && args.OurFixtureId != SharedProjectileSystem.ProjectileFixture)
{
return;
}
flammable.FireStacks += component.FireStacks;
Ignite(otherEnt, uid, flammable);
component.Count--;

View File

@@ -19,5 +19,5 @@ public sealed partial class LavaComponent : Component
/// How many fire stacks are applied per second.
/// </summary>
[ViewVariables(VVAccess.ReadWrite), DataField("fireStacks")]
public float FireStacks = 2f;
public float FireStacks = 1.25f;
}

View File

@@ -49,8 +49,9 @@
deleteOnCollide: false
canPenetrate: true
damage:
groups:
Burn: 4
types:
Blunt: 1
Heat: 2
- type: IgniteOnCollide
fireStacks: 3
count: 10

View File

@@ -139,7 +139,7 @@
radius: 2.0
energy: 7.0
- type: IgniteOnCollide
fireStacks: 1
fireStacks: 0.25
- type: entity
id: BaseBulletAP

View File

@@ -156,7 +156,7 @@
map: ["enum.TriggerVisualLayers.Base"]
- type: ClusterGrenade
fillPrototype: PelletClusterIncendiary
maxGrenadesCount: 15
maxGrenadesCount: 30
grenadeType: enum.GrenadeType.Shoot
- type: OnUseTimerTrigger
beepSound:

View File

@@ -90,10 +90,21 @@
name: "ignite rune"
components:
- type: TriggerOnCollide
fixtureID: rune
fixtureID: ignition
- type: Fixtures
fixtures:
ignition:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.4"
hard: false
mask:
- ItemMask
layer:
- SlipLayer
- type: DeleteOnTrigger
- type: IgniteOnCollide
fireStacks: 10
fireStacks: 5
- type: Sprite
sprite: Structures/Magic/Cult/trap.rsi
layers: