diff --git a/Content.Shared/_White/Item/Telebaton/TelescopicBatonComponent.cs b/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonComponent.cs similarity index 55% rename from Content.Shared/_White/Item/Telebaton/TelescopicBatonComponent.cs rename to Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonComponent.cs index d61250c726..b8811c8a23 100644 --- a/Content.Shared/_White/Item/Telebaton/TelescopicBatonComponent.cs +++ b/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonComponent.cs @@ -3,4 +3,6 @@ namespace Content.Shared._White.Item.TelescopicBaton; [RegisterComponent] public sealed partial class TelescopicBatonComponent : Component { + [DataField, ViewVariables(VVAccess.ReadWrite)] + public TimeSpan KnockdownTime = TimeSpan.FromSeconds(1.5f); } diff --git a/Content.Shared/_White/Item/Telebaton/TelescopicBatonSystem.cs b/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonSystem.cs similarity index 84% rename from Content.Shared/_White/Item/Telebaton/TelescopicBatonSystem.cs rename to Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonSystem.cs index 33e4e366af..f341059862 100644 --- a/Content.Shared/_White/Item/Telebaton/TelescopicBatonSystem.cs +++ b/Content.Shared/_White/Item/TelescopicBaton/TelescopicBatonSystem.cs @@ -1,8 +1,6 @@ using Content.Shared.Damage.Events; using Content.Shared.Examine; using Content.Shared.Item; -using Content.Shared.Standing.Systems; -using Content.Shared.Standing; using Content.Shared.Item.ItemToggle; using Content.Shared.Item.ItemToggle.Components; using Content.Shared.Stunnable; @@ -14,7 +12,6 @@ public sealed class TelescopicBatonSystem : EntitySystem [Dependency] private readonly SharedItemSystem _item = default!; [Dependency] private readonly SharedStunSystem _stun = default!; [Dependency] private readonly SharedItemToggleSystem _itemToggle = default!; - [Dependency] private readonly SharedStandingStateSystem _standing = default!; public override void Initialize() { @@ -28,12 +25,13 @@ public sealed class TelescopicBatonSystem : EntitySystem private void OnHit(Entity ent, ref StaminaMeleeHitEvent args) { + var time = ent.Comp.KnockdownTime; + if (time <= TimeSpan.Zero) + return; + foreach (var (uid, _) in args.HitList) { - if (HasComp(uid)) - { - _standing.TryLieDown(uid, null, SharedStandingStateSystem.DropHeldItemsBehavior.NoDrop); - } + _stun.TryKnockdown(uid, time, true); } } diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/telescopic_baton.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/telescopic_baton.yml index 0e6697d599..da46efab0d 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Weapons/telescopic_baton.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/telescopic_baton.yml @@ -35,7 +35,7 @@ - type: MeleeWeapon canHeavyAttack: false equipCooldown: 1 - attackRate: 1.2 + attackRate: 0.3 wideAnimationRotation: -135 damage: types: @@ -44,7 +44,7 @@ - type: ItemToggleMeleeWeapon activatedDamage: types: - Blunt: 2 + Blunt: 9 deactivatedSecret: true - type: StaminaDamageOnHit damage: 16