Exemplo n.º 1
0
 private void OnKnockHandleState(EntityUid uid, KnockedDownComponent component, ref ComponentHandleState args)
 {
     if (args.Current is KnockedDownComponentState state)
     {
         component.HelpInterval = state.HelpInterval;
         component.HelpTimer    = state.HelpTimer;
     }
 }
Exemplo n.º 2
0
        private void OnInteractHand(EntityUid uid, KnockedDownComponent knocked, InteractHandEvent args)
        {
            if (args.Handled || knocked.HelpTimer > 0f)
            {
                return;
            }

            // Set it to half the help interval so helping is actually useful...
            knocked.HelpTimer = knocked.HelpInterval / 2f;

            _statusEffectSystem.TryRemoveTime(uid, "KnockedDown", TimeSpan.FromSeconds(knocked.HelpInterval));

            SoundSystem.Play(Filter.Pvs(uid), knocked.StunAttemptSound.GetSound(), uid, AudioHelpers.WithVariation(0.05f));

            knocked.Dirty();

            args.Handled = true;
        }
Exemplo n.º 3
0
 private void OnKnockRemove(EntityUid uid, KnockedDownComponent component, ComponentRemove args)
 {
     _standingStateSystem.Stand(uid);
 }
Exemplo n.º 4
0
 private void OnKnockInit(EntityUid uid, KnockedDownComponent component, ComponentInit args)
 {
     _standingStateSystem.Down(uid);
 }
Exemplo n.º 5
0
 private void OnKnockGetState(EntityUid uid, KnockedDownComponent component, ref ComponentGetState args)
 {
     args.State = new KnockedDownComponentState(component.HelpInterval, component.HelpTimer);
 }