private void OnExamined(EntityUid uid, SleepingComponent component, ExaminedEvent args) { if (args.IsInDetailsRange) { args.PushMarkup(Loc.GetString("sleep-examined", ("target", Identity.Entity(uid, EntityManager)))); } }
private void OnExamined(EntityUid uid, HeadsetComponent component, ExaminedEvent args) { if (!args.IsInDetailsRange) { return; } // args.PushMarkup(Loc.GetString("examine-radio-frequency", ("frequency", component.BroadcastFrequency))); args.PushMarkup(Loc.GetString("examine-headset")); foreach (var id in component.Channels) { if (id == "Common") { continue; } var proto = _protoManager.Index <RadioChannelPrototype>(id); args.PushMarkup(Loc.GetString("examine-headset-channel", ("color", proto.Color), ("key", proto.KeyCode), ("id", proto.Name), ("freq", proto.Frequency))); } args.PushMarkup(Loc.GetString("examine-headset-chat-prefix", ("prefix", ";"))); }
public bool DoExamine(ExaminedEvent args) { args.PushMarkup(Loc.GetString(Value ? "construction-examine-condition-all-wires-cut" : "construction-examine-condition-all-wires-intact")); return(true); }
private void OnExamine(EntityUid uid, RCDComponent component, ExaminedEvent args) { var msg = Loc.GetString("rcd-component-examine-detail-count", ("mode", component.Mode), ("ammoCount", component.CurrentAmmo)); args.PushMarkup(msg); }
//TODO: Actually shows all items/clothing/etc. private void HandleExamined(EntityUid uid, HandsComponent component, ExaminedEvent args) { foreach (var inhand in component.GetAllHeldItems()) { args.Message.AddText($"\n{Loc.GetString("comp-hands-examine", ("user", component.Owner), ("item", inhand.Owner))}"); } }
private void OnExamine(EntityUid uid, NodeContainerComponent component, ExaminedEvent args) { if (!component.Examinable || !args.IsInDetailsRange) { return; } foreach (var node in component.Nodes.Values) { if (node == null) { continue; } switch (node.NodeGroupID) { case NodeGroupID.HVPower: args.PushMarkup( Loc.GetString("node-container-component-on-examine-details-hvpower")); break; case NodeGroupID.MVPower: args.PushMarkup( Loc.GetString("node-container-component-on-examine-details-mvpower")); break; case NodeGroupID.Apc: args.PushMarkup( Loc.GetString("node-container-component-on-examine-details-apc")); break; } } }
private void OnExamined(EntityUid uid, OnUseTimerTriggerComponent component, ExaminedEvent args) { if (args.IsInDetailsRange) { args.PushText(Loc.GetString("examine-trigger-timer", ("time", component.Delay))); } }
private void OnExamineSolution(EntityUid uid, ExaminableSolutionComponent examinableComponent, ExaminedEvent args) { if (!args.Examined.TryGetComponent(out SolutionContainerManagerComponent? solutionsManager) || !solutionsManager.Solutions.TryGetValue(examinableComponent.Solution, out var solutionHolder)) { return; } if (solutionHolder.Contents.Count == 0) { args.PushText(Loc.GetString("shared-solution-container-component-on-examine-empty-container")); return; } var primaryReagent = solutionHolder.GetPrimaryReagentId(); if (!_prototypeManager.TryIndex(primaryReagent, out ReagentPrototype? proto)) { Logger.Error( $"{nameof(Solution)} could not find the prototype associated with {primaryReagent}."); return; } var colorHex = solutionHolder.Color .ToHexNoAlpha(); //TODO: If the chem has a dark color, the examine text becomes black on a black background, which is unreadable. var messageString = "shared-solution-container-component-on-examine-main-text"; args.PushMarkup(Loc.GetString(messageString, ("color", colorHex), ("wordedAmount", Loc.GetString(solutionHolder.Contents.Count == 1 ? "shared-solution-container-component-on-examine-worded-amount-one-reagent" : "shared-solution-container-component-on-examine-worded-amount-multiple-reagents")), ("desc", Loc.GetString(proto.PhysicalDescription)))); }
private void OnAnchoredExamine(EntityUid uid, AnchorableComponent component, ExaminedEvent args) { var isAnchored = Comp <TransformComponent>(uid).Anchored; var messageId = isAnchored ? "examinable-anchored" : "examinable-unanchored"; args.PushMarkup(Loc.GetString(messageId, ("target", uid))); }
public bool DoExamine(ExaminedEvent args) { var entity = args.Examined; var entMan = IoCManager.Resolve <IEntityManager>(); if (!entMan.TryGetComponent(entity, out AirlockComponent? airlock)) { return(false); } if (airlock.BoltsDown != Value) { if (Value == true) { args.PushMarkup(Loc.GetString("construction-examine-condition-airlock-bolt", ("entityName", entMan.GetComponent <MetaDataComponent>(entity).EntityName)) + "\n"); } else { args.PushMarkup(Loc.GetString("construction-examine-condition-airlock-unbolt", ("entityName", entMan.GetComponent <MetaDataComponent>(entity).EntityName)) + "\n"); } return(true); } return(false); }
private void HandlePuddleExamined(EntityUid uid, PuddleComponent component, ExaminedEvent args) { if (EntityManager.TryGetComponent <SlipperyComponent>(uid, out var slippery) && slippery.Slippery) { args.PushText(Loc.GetString("puddle-component-examine-is-slipper-text")); } }
private void HandlePuddleExamined(EntityUid uid, PuddleComponent component, ExaminedEvent args) { if (TryComp <StepTriggerComponent>(uid, out var slippery) && slippery.Active) { args.PushText(Loc.GetString("puddle-component-examine-is-slipper-text")); } }
private void OnExamine(EntityUid uid, SuitSensorComponent component, ExaminedEvent args) { if (!args.IsInDetailsRange) { return; } string msg; switch (component.Mode) { case SuitSensorMode.SensorOff: msg = "suit-sensor-examine-off"; break; case SuitSensorMode.SensorBinary: msg = "suit-sensor-examine-binary"; break; case SuitSensorMode.SensorVitals: msg = "suit-sensor-examine-vitals"; break; case SuitSensorMode.SensorCords: msg = "suit-sensor-examine-cords"; break; default: return; } args.PushMarkup(Loc.GetString(msg)); }
private void OnExamined(EntityUid uid, PerishableComponent component, ExaminedEvent args) { if (component.Rotting) { args.PushMarkup(Loc.GetString("miasma-rotting")); } }
public bool DoExamine(ExaminedEvent args) { var entMan = IoCManager.Resolve <IEntityManager>(); var entity = args.Examined; if (!entMan.TryGetComponent(entity, out EntityStorageComponent? entityStorage)) { return(false); } var metaData = entMan.GetComponent <MetaDataComponent>(entity); if (entityStorage.IsWeldedShut != Welded) { if (Welded == true) { args.PushMarkup(Loc.GetString("construction-examine-condition-door-weld", ("entityName", metaData.EntityName)) + "\n"); } else { args.PushMarkup(Loc.GetString("construction-examine-condition-door-unweld", ("entityName", metaData.EntityName)) + "\n"); } return(true); } return(false); }
public bool DoExamine(ExaminedEvent args) { var entity = args.Examined; var entMan = IoCManager.Resolve <IEntityManager>(); if (!entMan.TryGetComponent(entity, out DoorComponent? door)) { return(false); } var isWelded = door.State == DoorState.Welded; if (isWelded != Welded) { if (Welded == true) { args.PushMarkup(Loc.GetString("construction-examine-condition-door-weld", ("entityName", entMan.GetComponent <MetaDataComponent>(entity).EntityName)) + "\n"); } else { args.PushMarkup(Loc.GetString("construction-examine-condition-door-unweld", ("entityName", entMan.GetComponent <MetaDataComponent>(entity).EntityName)) + "\n"); } return(true); } return(false); }
private void OnExamined(EntityUid uid, PaperComponent paperComp, ExaminedEvent args) { if (!args.IsInDetailsRange) { return; } if (paperComp.Content != "") { args.Message.AddMarkup( Loc.GetString( "paper-component-examine-detail-has-words", ("paper", uid) ) ); } if (paperComp.StampedBy.Count > 0) { args.Message.PushNewline(); string commaSeparated = string.Join(", ", paperComp.StampedBy); args.Message.AddMarkup( Loc.GetString( "paper-component-examine-detail-stamped-by", ("paper", uid), ("stamps", commaSeparated)) ); } }
private void OnExamined(EntityUid uid, PaperLabelComponent comp, ExaminedEvent args) { if (comp.LabelSlot.Item is not { Valid : true } item) { return; } if (!args.IsInDetailsRange) { args.PushMarkup(Loc.GetString("comp-paper-label-has-label-cant-read")); return; } if (!EntityManager.TryGetComponent(item, out PaperComponent paper)) { // Assuming yaml has the correct entity whitelist, this should not happen. return; } if (string.IsNullOrWhiteSpace(paper.Content)) { args.PushMarkup(Loc.GetString("comp-paper-label-has-label-blank")); return; } args.PushMarkup(Loc.GetString("comp-paper-label-has-label")); var text = paper.Content; args.PushMarkup(text.TrimEnd()); }
private void OnExamine(EntityUid uid, WeldableComponent component, ExaminedEvent args) { if (component.IsWelded && component.WeldedExamineMessage != null) { args.PushText(Loc.GetString(component.WeldedExamineMessage)); } }
private void OnExamined(EntityUid uid, LockComponent lockComp, ExaminedEvent args) { args.PushText(Loc.GetString(lockComp.Locked ? "lock-comp-on-examined-is-locked" : "lock-comp-on-examined-is-unlocked", ("entityName", EntityManager.GetComponent <MetaDataComponent>(lockComp.Owner).EntityName))); }
private void OnExamined(EntityUid eUI, LockComponent lockComp, ExaminedEvent args) { args.Message.AddText("\n"); args.Message.AddText(Loc.GetString(lockComp.Locked ? "lock-comp-on-examined-is-locked" : "lock-comp-on-examined-is-unlocked", ("entityName", lockComp.Owner.Name))); }
private void OnExamined(EntityUid uid, StunbatonComponent comp, ExaminedEvent args) { var msg = comp.Activated ? Loc.GetString("comp-stunbaton-examined-on") : Loc.GetString("comp-stunbaton-examined-off"); args.PushMarkup(msg); }
private void OnExamined(EntityUid uid, DiceComponent dice, ExaminedEvent args) { //No details check, since the sprite updates to show the side. args.Message.PushNewline(); args.Message.AddMarkup(Loc.GetString("dice-component-on-examine-message-part-1", ("sidesAmount", dice.Sides))); args.Message.PushNewline(); args.Message.AddMarkup(Loc.GetString("dice-component-on-examine-message-part-2", ("currentSide", dice.CurrentSide))); }
/// <summary> /// Examining tells you how full it is as a %. /// </summary> private void OnExamined(EntityUid uid, PortableScrubberComponent component, ExaminedEvent args) { if (args.IsInDetailsRange) { var percentage = Math.Round(((component.Air.Pressure) / component.MaxPressure) * 100); args.PushMarkup(Loc.GetString("portable-scrubber-fill-level", ("percent", percentage))); } }
public override void DoExamine(ExaminedEvent examinedEvent) { if (string.IsNullOrEmpty(Name)) { return; } examinedEvent.Message.AddMarkup(Loc.GetString("construction-insert-arbitrary-entity", ("stepName", Name))); }
private void OnGhostExamine(EntityUid uid, GhostComponent component, ExaminedEvent args) { var timeSinceDeath = _gameTiming.RealTime.Subtract(component.TimeOfDeath); var deathTimeInfo = timeSinceDeath.Minutes > 0 ? Loc.GetString("comp-ghost-examine-time-minutes", ("minutes", timeSinceDeath.Minutes)) : Loc.GetString("comp-ghost-examine-time-seconds", ("seconds", timeSinceDeath.Seconds)); args.PushMarkup(deathTimeInfo); }
private void OnExamined(EntityUid uid, StunbatonComponent comp, ExaminedEvent args) { args.Message.AddText("\n"); var msg = comp.Activated ? Loc.GetString("comp-stunbaton-examined-on") : Loc.GetString("comp-stunbaton-examined-off"); args.Message.AddMarkup(msg); }
public override void DoExamine(ExaminedEvent examinedEvent) { examinedEvent.Message.AddMarkup(string.IsNullOrEmpty(Name) ? Loc.GetString( "construction-insert-entity-with-component", ("componentName", Component))// Terrible. : Loc.GetString( "construction-insert-exact-entity", ("entityName", Name))); }
public bool DoExamine(ExaminedEvent args) { if (string.IsNullOrEmpty(ExamineText)) { return(false); } args.PushMarkup(Loc.GetString(ExamineText)); return(true); }
private void OnCellExamined(EntityUid uid, PowerCellComponent component, ExaminedEvent args) { if (!TryComp(uid, out BatteryComponent? battery)) { return; } var charge = battery.CurrentCharge / battery.MaxCharge * 100; args.PushMarkup(Loc.GetString("power-cell-component-examine-details", ("currentCharge", $"{charge:F0}"))); }