]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Incendiary projectiles and lava firestack reduction (#23479)
authorArendian <137322659+Arendian@users.noreply.github.com>
Mon, 8 Jan 2024 05:41:42 +0000 (06:41 +0100)
committerGitHub <noreply@github.com>
Mon, 8 Jan 2024 05:41:42 +0000 (00:41 -0500)
* 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

Content.Server/Atmos/Components/IgniteOnCollideComponent.cs
Content.Server/Atmos/EntitySystems/FlammableSystem.cs
Content.Server/Tiles/LavaComponent.cs
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml
Resources/Prototypes/Magic/Fixtures/runes.yml

index a4f0f34842dd57f1a8f3c373143cdee1956e852c..a58d3a3c12208e82ee1443dc91d5f95fd5ab63fd 100644 (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";
+
 }
index 95273f6e7f255f68315555a88803d0fbb7baa8cc..c9ecc9c52357c0da4fd59828578ee9c46362af51 100644 (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--;
index d536a2e4ceda9cc41bde3635c21e6ed923ac6c1e..1f36e8ffb0574c98e58e8afec0fa382aa028db2d 100644 (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;
 }
index 511cf76df9ed433791776781aa8f645494399757..60f3e47c32c95501fcd00865fc751882efb99d09 100644 (file)
@@ -49,8 +49,9 @@
     deleteOnCollide: false
     canPenetrate: true
     damage:
-      groups:
-        Burn: 4
+      types:
+        Blunt: 1
+        Heat: 2
   - type: IgniteOnCollide
     fireStacks: 3
     count: 10
index 8b36433acfc144bc3afeec390a669ac0da54a558..998ec721839278ad322be96351e26fe31aea7d70 100644 (file)
     radius: 2.0
     energy: 7.0
   - type: IgniteOnCollide
-    fireStacks: 1
+    fireStacks: 0.25
 
 - type: entity
   id: BaseBulletAP
index 43ed06a3ea020f1490feb39563ec817fe63fbfd4..36d4c947fcd7601c5193ad9270120c2944255840 100644 (file)
       map: ["enum.TriggerVisualLayers.Base"]
   - type: ClusterGrenade
     fillPrototype: PelletClusterIncendiary
-    maxGrenadesCount: 15
+    maxGrenadesCount: 30
     grenadeType: enum.GrenadeType.Shoot
   - type: OnUseTimerTrigger
     beepSound:
index 18efd2e2994b022e46ad79bc90ad41a37aeceb4e..a8b95c96861c3106476f99d53cdf6ef44d848145 100644 (file)
   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: