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:
@@ -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";
|
||||
|
||||
}
|
||||
|
||||
@@ -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--;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
deleteOnCollide: false
|
||||
canPenetrate: true
|
||||
damage:
|
||||
groups:
|
||||
Burn: 4
|
||||
types:
|
||||
Blunt: 1
|
||||
Heat: 2
|
||||
- type: IgniteOnCollide
|
||||
fireStacks: 3
|
||||
count: 10
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
radius: 2.0
|
||||
energy: 7.0
|
||||
- type: IgniteOnCollide
|
||||
fireStacks: 1
|
||||
fireStacks: 0.25
|
||||
|
||||
- type: entity
|
||||
id: BaseBulletAP
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
map: ["enum.TriggerVisualLayers.Base"]
|
||||
- type: ClusterGrenade
|
||||
fillPrototype: PelletClusterIncendiary
|
||||
maxGrenadesCount: 15
|
||||
maxGrenadesCount: 30
|
||||
grenadeType: enum.GrenadeType.Shoot
|
||||
- type: OnUseTimerTrigger
|
||||
beepSound:
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user