Esempio n. 1
0
        private void OnFlashMeleeInteract(EntityUid uid, FlashComponent comp, MeleeInteractEvent args)
        {
            if (!UseFlash(comp, args.User))
            {
                return;
            }

            if (EntityManager.HasComponent <FlashableComponent>(args.Entity))
            {
                args.CanInteract = true;
                Flash(args.Entity, args.User, uid, comp.FlashDuration, comp.SlowTo);
            }
        }
        private void OnMeleeInteract(EntityUid uid, StunbatonComponent comp, MeleeInteractEvent args)
        {
            if (!comp.Activated)
            {
                return;
            }

            if (!EntityManager.TryGetComponent <PowerCellSlotComponent>(uid, out var slot) || slot.Cell == null || !slot.Cell.TryUseCharge(comp.EnergyPerUse))
            {
                return;
            }

            args.CanInteract = true;
            StunEntity(args.Entity, comp);
        }
Esempio n. 3
0
        private void OnMeleeInteract(EntityUid uid, StunbatonComponent comp, MeleeInteractEvent args)
        {
            if (!comp.Activated)
            {
                return;
            }

            if (!_cellSystem.TryGetBatteryFromSlot(uid, out var battery) || !battery.TryUseCharge(comp.EnergyPerUse))
            {
                return;
            }

            args.CanInteract = true;
            StunEntity(args.Entity, comp);
        }