Fixed gloved weapons being able to attack when not equipped. (#26762)

* Initial commit. No evil hidden files this time :)

* Added newline because I forgot :(

* We <3 tags :)

* Fixed! Works now

* Update Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
beck-thompson
2024-04-17 03:10:03 -07:00
committed by GitHub
parent 0785516eac
commit afcdc8b866
3 changed files with 15 additions and 1 deletions

View File

@@ -140,6 +140,14 @@ public sealed partial class MeleeWeaponComponent : Component
[ViewVariables(VVAccess.ReadWrite)]
[DataField("soundNoDamage"), AutoNetworkedField]
public SoundSpecifier NoDamageSound { get; set; } = new SoundCollectionSpecifier("WeakHit");
/// <summary>
/// If true, the weapon must be equipped for it to be used.
/// E.g boxing gloves must be equipped to your gloves,
/// not just held in your hand to be used.
/// </summary>
[DataField, AutoNetworkedField]
public bool MustBeEquippedToUse = false;
}
/// <summary>

View File

@@ -277,7 +277,10 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem
if (EntityManager.TryGetComponent(entity, out HandsComponent? hands) &&
hands.ActiveHandEntity is { } held)
{
if (EntityManager.TryGetComponent(held, out melee))
// Make sure the entity is a weapon AND it doesn't need
// to be equipped to be used (E.g boxing gloves).
if (EntityManager.TryGetComponent(held, out melee) &&
!melee.MustBeEquippedToUse)
{
weaponUid = held;
return true;

View File

@@ -20,6 +20,7 @@
soundHit:
collection: BoxingHit
animation: WeaponArcFist
mustBeEquippedToUse: true
- type: Fiber
fiberMaterial: fibers-leather
fiberColor: fibers-red
@@ -90,6 +91,7 @@
types:
Blunt: 8
bluntStaminaDamageFactor: 0.0 # so blunt doesn't deal stamina damage at all
mustBeEquippedToUse: true
- type: entity
parent: ClothingHandsBase
@@ -362,6 +364,7 @@
soundHit:
collection: Punch
animation: WeaponArcFist
mustBeEquippedToUse: true
- type: Fiber
fiberMaterial: fibers-leather
fiberColor: fibers-blue