Esempio n. 1
0
 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", ";")));
        }
Esempio n. 3
0
 public bool DoExamine(ExaminedEvent args)
 {
     args.PushMarkup(Loc.GetString(Value
         ? "construction-examine-condition-all-wires-cut"
         : "construction-examine-condition-all-wires-intact"));
     return(true);
 }
Esempio n. 4
0
        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;
                }
            }
        }
Esempio n. 7
0
 private void OnExamined(EntityUid uid, OnUseTimerTriggerComponent component, ExaminedEvent args)
 {
     if (args.IsInDetailsRange)
     {
         args.PushText(Loc.GetString("examine-trigger-timer", ("time", component.Delay)));
     }
 }
Esempio n. 8
0
        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))));
        }
Esempio n. 9
0
        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"));
     }
 }
Esempio n. 13
0
        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"));
     }
 }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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);
        }
Esempio n. 17
0
        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));
     }
 }
Esempio n. 20
0
 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)));
 }
Esempio n. 21
0
 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);
        }
Esempio n. 23
0
 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)));
     }
 }
Esempio n. 25
0
        public override void DoExamine(ExaminedEvent examinedEvent)
        {
            if (string.IsNullOrEmpty(Name))
            {
                return;
            }

            examinedEvent.Message.AddMarkup(Loc.GetString("construction-insert-arbitrary-entity", ("stepName", Name)));
        }
Esempio n. 26
0
        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);
        }
Esempio n. 27
0
        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);
        }
Esempio n. 30
0
    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}")));
    }