private void OnUseInHand(EntityUid uid, ClothingComponent component, UseInHandEvent args) { if (args.Handled || !component.QuickEquip) { return; } QuickEquip(uid, component, args); }
/// <summary> /// Eat item /// </summary> private void OnUseFoodInHand(EntityUid uid, FoodComponent foodComponent, UseInHandEvent ev) { if (ev.Handled) { return; } ev.Handled = TryFeed(ev.User, ev.User, foodComponent); }
private void OnAmmoBoxUse(EntityUid uid, AmmoBoxComponent component, UseInHandEvent args) { if (args.Handled) { return; } TryUse(args.User, component); }
/// <summary> /// Adds the guardian host component to the user and spawns the guardian inside said component /// </summary> private void OnCreatorUse(EntityUid uid, GuardianCreatorComponent component, UseInHandEvent args) { if (args.Handled) { return; } args.Handled = true; UseCreator(args.User, args.User, component); }
private void OnFlashUseInHand(EntityUid uid, FlashComponent comp, UseInHandEvent args) { if (!UseFlash(comp, args.User)) { return; } FlashArea(uid, args.User, comp.Range, comp.AoeFlashDuration, comp.SlowTo, true); }
private void OnUseInHand(EntityUid uid, DiceComponent component, UseInHandEvent args) { if (args.Handled) { return; } args.Handled = true; Roll(uid, component); }
private void OnUseInHand(EntityUid uid, RCDComponent component, UseInHandEvent args) { if (args.Handled) { return; } NextMode(uid, component, args.User); args.Handled = true; }
private void OnTimerUse(EntityUid uid, OnUseTimerTriggerComponent component, UseInHandEvent args) { if (args.Handled) { return; } Trigger(uid, args.User, component); args.Handled = true; }
private void OnPumpUse(EntityUid uid, PumpBarrelComponent component, UseInHandEvent args) { if (args.Handled) { return; } args.Handled = true; CyclePump(component, true); }
private void OnUseInHand(EntityUid uid, HandLabelerComponent handLabeler, UseInHandEvent args) { if (!args.User.TryGetComponent(out ActorComponent? actor)) { return; } handLabeler.Owner.GetUIOrNull(HandLabelerUiKey.Key)?.Open(actor.PlayerSession); args.Handled = true; }
private void OnInjectorUse(EntityUid uid, InjectorComponent component, UseInHandEvent args) { if (args.Handled) { return; } Toggle(component, args.User); args.Handled = true; }
private void OnHealingUse(EntityUid uid, HealingComponent component, UseInHandEvent args) { if (args.Handled) { return; } args.Handled = true; Heal(uid, args.User, args.User, component); }
private void OnUseInHand(EntityUid uid, HyposprayComponent component, UseInHandEvent args) { if (args.Handled) { return; } component.TryDoInject(args.User, args.User); args.Handled = true; }
private void OnUse(EntityUid uid, SpellbookComponent component, UseInHandEvent args) { if (args.Handled) { return; } AttemptLearn(uid, component, args); args.Handled = true; }
private void OnUseInHand(EntityUid uid, MousetrapComponent component, UseInHandEvent args) { component.IsActive = !component.IsActive; _popupSystem.PopupEntity(component.IsActive ? Loc.GetString("mousetrap-on-activate") : Loc.GetString("mousetrap-on-deactivate"), uid, Filter.Entities(args.User)); UpdateVisuals(uid); }
private void OnUseInHand(EntityUid uid, StunbatonComponent comp, UseInHandEvent args) { if (comp.Activated) { TurnOff(comp); } else { TurnOn(comp, args.User); } }
private void OnUseInHand(EntityUid uid, PinpointerComponent component, UseInHandEvent args) { TogglePinpointer(uid, component); // try to find target from whitelist if (component.IsActive && component.Whitelist != null) { var target = FindTargetFromWhitelist(uid, component.Whitelist); SetTarget(uid, target, component); } }
private void OnUseInHand(EntityUid uid, SpawnItemsOnUseComponent component, UseInHandEvent args) { if (args.Handled) { return; } var owner = EntityManager.GetEntity(uid); var alreadySpawnedGroups = new List <string>(); IEntity?entityToPlaceInHands = null; foreach (var storageItem in component.Items) { if (!string.IsNullOrEmpty(storageItem.GroupId) && alreadySpawnedGroups.Contains(storageItem.GroupId)) { continue; } if (storageItem.SpawnProbability != 1f && !_random.Prob(storageItem.SpawnProbability)) { continue; } for (var i = 0; i < storageItem.Amount; i++) { entityToPlaceInHands = EntityManager.SpawnEntity(storageItem.PrototypeId, args.User.Transform.Coordinates); } if (!string.IsNullOrEmpty(storageItem.GroupId)) { alreadySpawnedGroups.Add(storageItem.GroupId); } } if (component.Sound != null) { SoundSystem.Play(Filter.Pvs(owner), component.Sound.GetSound()); } component.Uses--; if (component.Uses == 0) { args.Handled = true; owner.Delete(); } if (entityToPlaceInHands != null && args.User.TryGetComponent <SharedHandsComponent>(out var hands)) { hands.TryPutInAnyHand(entityToPlaceInHands); } }
private void OnUseInHand(EntityUid uid, FireExtinguisherComponent component, UseInHandEvent args) { if (args.Handled) { return; } ToggleSafety(uid, args.User, component); args.Handled = true; }
private void OnRevolverUse(EntityUid uid, RevolverBarrelComponent component, UseInHandEvent args) { if (args.Handled) { return; } EjectAllSlots(component); component.Dirty(EntityManager); UpdateRevolverAppearance(component); args.Handled = true; }
public void OnUseInHand(EntityUid uid, FlashComponent comp, UseInHandEvent args) { if (!UseFlash(comp, args.User)) { return; } foreach (var entity in IoCManager.Resolve <IEntityLookup>().GetEntitiesInRange(comp.Owner.Transform.Coordinates, comp.Range)) { FlashEntity(entity, args.User, comp.AoeFlashDuration, comp.SlowTo); } }
private void OnFlashUseInHand(EntityUid uid, FlashComponent comp, UseInHandEvent args) { if (!UseFlash(comp, args.User)) { return; } foreach (var entity in _entityLookup.GetEntitiesInRange(EntityManager.GetComponent <TransformComponent>(comp.Owner).Coordinates, comp.Range)) { Flash(entity, args.User, uid, comp.AoeFlashDuration, comp.SlowTo); } }
private void OnUseInHand(EntityUid uid, SpawnItemsOnUseComponent component, UseInHandEvent args) { if (args.Handled) { return; } var alreadySpawnedGroups = new List <string>(); EntityUid?entityToPlaceInHands = null; foreach (var storageItem in component.Items) { if (!string.IsNullOrEmpty(storageItem.GroupId) && alreadySpawnedGroups.Contains(storageItem.GroupId)) { continue; } if (storageItem.SpawnProbability != 1f && !_random.Prob(storageItem.SpawnProbability)) { continue; } for (var i = 0; i < storageItem.Amount; i++) { entityToPlaceInHands = EntityManager.SpawnEntity(storageItem.PrototypeId, EntityManager.GetComponent <TransformComponent>(args.User).Coordinates); } if (!string.IsNullOrEmpty(storageItem.GroupId)) { alreadySpawnedGroups.Add(storageItem.GroupId); } } if (component.Sound != null) { SoundSystem.Play(Filter.Pvs(uid), component.Sound.GetSound(), uid); } component.Uses--; if (component.Uses == 0) { args.Handled = true; EntityManager.DeleteEntity(uid); } if (entityToPlaceInHands != null) { _handsSystem.PickupOrDrop(args.User, entityToPlaceInHands.Value); } }
private void OnClugUse(EntityUid uid, ClusterGrenadeComponent component, UseInHandEvent args) { if (component.CountDown || (component.GrenadesContainer.ContainedEntities.Count + component.UnspawnedCount) <= 0) { return; } // TODO: Should be an Update loop uid.SpawnTimer((int)(component.Delay * 1000), () => { if (Deleted(component.Owner)) { return; } component.CountDown = true; var delay = 20; var grenadesInserted = component.GrenadesContainer.ContainedEntities.Count + component.UnspawnedCount; var thrownCount = 0; var segmentAngle = 360 / grenadesInserted; while (TryGetGrenade(component, out var grenade)) { var angleMin = segmentAngle * thrownCount; var angleMax = segmentAngle * (thrownCount + 1); var angle = Angle.FromDegrees(_random.Next(angleMin, angleMax)); // var distance = random.NextFloat() * _throwDistance; delay += _random.Next(550, 900); thrownCount++; // TODO: Suss out throw strength grenade.TryThrow(angle.ToVec().Normalized *component.ThrowDistance); grenade.SpawnTimer(delay, () => { if ((!EntityManager.EntityExists(grenade) ? EntityLifeStage.Deleted : MetaData(grenade).EntityLifeStage) >= EntityLifeStage.Deleted) { return; } _trigger.Trigger(grenade, args.User); }); } EntityManager.DeleteEntity(uid); }); args.Handled = true; }
private void OnUseInHand(EntityUid uid, StunbatonComponent comp, UseInHandEvent args) { if (!ActionBlockerSystem.CanUse(args.User)) { return; } if (comp.Activated) { TurnOff(comp); } else { TurnOn(comp, args.User); } }
private void OnUseInHand(EntityUid uid, WieldableComponent component, UseInHandEvent args) { if (args.Handled) { return; } if (!component.Wielded) { AttemptWield(uid, component, args.User); } else { AttemptUnwield(uid, component, args.User); } }
private void OnUse(EntityUid uid, HolosignProjectorComponent component, UseInHandEvent args) { if (args.Handled || !_cellSystem.TryGetBatteryFromSlot(uid, out var battery) || !battery.TryUseCharge(component.ChargeUse)) { return; } // TODO: Too tired to deal var holo = EntityManager.SpawnEntity(component.SignProto, Transform(args.User).Coordinates.SnapToGrid(EntityManager)); Transform(holo).Anchored = true; args.Handled = true; }
private void OnUseInHand(EntityUid uid, EnergySwordComponent comp, UseInHandEvent args) { if (args.Handled) { return; } args.Handled = true; if (comp.Activated) { TurnOff(comp); } else { TurnOn(comp); } }
private void OnBoltUse(EntityUid uid, BoltActionBarrelComponent component, UseInHandEvent args) { if (args.Handled) { return; } args.Handled = true; if (component.BoltOpen) { component.BoltOpen = false; _popup.PopupEntity(Loc.GetString("bolt-action-barrel-component-bolt-closed"), uid, Filter.Entities(args.User)); return; } CycleBolt(component, true); }
private void OnUse(EntityUid uid, DrinkComponent component, UseInHandEvent args) { if (args.Handled) { return; } if (!component.Opened) { //Do the opening stuff like playing the sounds. SoundSystem.Play(Filter.Pvs(args.User), component.OpenSounds.GetSound(), args.User, AudioParams.Default); SetOpen(uid, true, component); return; } args.Handled = TryDrink(args.User, args.User, component); }