* Fix tranquiliser darts not working
Fixes a bug introduced by
9f47079d02a872f0aaff84f4556b83d3c6f835ef which
was made to stop the fly-by fixture from triggering the system. This was
done by checking whether the fixture was hard. Apparently the
projectile's fixture is never hard as well. The change just makes it so
that check only succeeds when the fixture is a fly-by fixture.
* Remove something that I think is redundant
* Remove random using directive that somehow appeared.
* Address Review
* Adress Review 2
* Put the appropriate fixture ids
using Content.Shared.FixedPoint;
using Content.Shared.Inventory;
+using Content.Shared.Projectiles;
namespace Content.Server.Chemistry.Components;
/// </summary>
[DataField("blockSlots"), ViewVariables(VVAccess.ReadWrite)]
public SlotFlags BlockSlots = SlotFlags.MASK;
+
+ [DataField]
+ public string FixtureId = SharedProjectileSystem.ProjectileFixture;
}
var target = args.OtherEntity;
if (!args.OtherBody.Hard ||
- !args.OurBody.Hard ||
+ args.OurFixtureId != ent.Comp.FixtureId ||
!EntityManager.TryGetComponent<BloodstreamComponent>(target, out var bloodstream) ||
!_solutionContainersSystem.TryGetInjectableSolution(ent.Owner, out var solution, out _))
{
- type: SolutionInjectOnCollide
transferAmount: 2
blockSlots: OUTERCLOTHING
+ fixtureId: "throw-fixture"
- type: SolutionTransfer
maxTransferAmount: 2
- type: Damageable
- type: SolutionInjectOnCollide
transferAmount: 7
blockSlots: NONE
+ fixtureId: "throw-fixture"
- type: SolutionTransfer
maxTransferAmount: 7
solution: melee
- type: SolutionInjectOnCollide
transferAmount: 2
+ fixtureId: "throw-fixture"
blockSlots: NONE
- type: SolutionTransfer
maxTransferAmount: 2