private void OnExamine(EntityUid uid, WeldableComponent component, ExaminedEvent args)
 {
     if (component.IsWelded && component.WeldedExamineMessage != null)
     {
         args.PushText(Loc.GetString(component.WeldedExamineMessage));
     }
 }
 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"));
     }
 }
Exemplo n.º 3
0
 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"));
     }
 }
Exemplo n.º 4
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))));
        }
Exemplo n.º 5
0
        private void OnFlashExamined(EntityUid uid, FlashComponent comp, ExaminedEvent args)
        {
            if (!comp.HasUses)
            {
                args.PushText(Loc.GetString("flash-component-examine-empty"));
                return;
            }

            if (args.IsInDetailsRange)
            {
                args.PushMarkup(
                    Loc.GetString(
                        "flash-component-examine-detail-count",
                        ("count", comp.Uses),
                        ("markupCountColor", "green")
                        )
                    );
            }
        }
        private void OnExamine(EntityUid uid, RCDAmmoComponent component, ExaminedEvent args)
        {
            var examineMessage = Loc.GetString("rcd-ammo-component-on-examine-text", ("ammo", component.RefillAmmo));

            args.PushText(examineMessage);
        }