Removed old Loc.GetString() use instances (#4155)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
This commit is contained in:
@@ -27,7 +27,7 @@ namespace Content.Client.AME.UI
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
|
||||
Title = "Antimatter Control Unit";
|
||||
Title = Loc.GetString("ame-window-title");
|
||||
|
||||
MinSize = SetSize = (250, 250);
|
||||
|
||||
@@ -39,37 +39,37 @@ namespace Content.Client.AME.UI
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Engine Status") + ": "},
|
||||
(InjectionStatus = new Label {Text = "Not Injecting"})
|
||||
new Label {Text = Loc.GetString("ame-window-engine-status-label")},
|
||||
(InjectionStatus = new Label {Text = Loc.GetString("ame-window-engine-injection-status-not-injecting-label")})
|
||||
}
|
||||
},
|
||||
new HBoxContainer
|
||||
{
|
||||
Children =
|
||||
{
|
||||
(ToggleInjection = new Button {Text = "Toggle Injection", StyleClasses = {StyleBase.ButtonOpenBoth}, Disabled = true}),
|
||||
(ToggleInjection = new Button {Text = Loc.GetString("ame-window-toggle-injection-button"), StyleClasses = {StyleBase.ButtonOpenBoth}, Disabled = true}),
|
||||
}
|
||||
},
|
||||
new HBoxContainer
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Fuel Status") + ": "},
|
||||
(FuelAmount = new Label {Text = "No fuel inserted"})
|
||||
new Label {Text = Loc.GetString("ame-window-fuel-status-label")},
|
||||
(FuelAmount = new Label {Text = Loc.GetString("ame-window-fuel-not-inserted-text")})
|
||||
}
|
||||
},
|
||||
new HBoxContainer
|
||||
{
|
||||
Children =
|
||||
{
|
||||
(EjectButton = new Button {Text = "Eject", StyleClasses = {StyleBase.ButtonOpenBoth}, Disabled = true}),
|
||||
(EjectButton = new Button {Text = Loc.GetString("ame-window-eject-button"), StyleClasses = {StyleBase.ButtonOpenBoth}, Disabled = true}),
|
||||
}
|
||||
},
|
||||
new HBoxContainer
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Injection amount") + ": "},
|
||||
new Label {Text = Loc.GetString("ame-window-injection-amount-label")},
|
||||
(InjectionAmount = new Label {Text = "0"})
|
||||
}
|
||||
},
|
||||
@@ -77,16 +77,16 @@ namespace Content.Client.AME.UI
|
||||
{
|
||||
Children =
|
||||
{
|
||||
(IncreaseFuelButton = new Button {Text = "Increase", StyleClasses = {StyleBase.ButtonOpenRight}}),
|
||||
(DecreaseFuelButton = new Button {Text = "Decrease", StyleClasses = {StyleBase.ButtonOpenLeft}}),
|
||||
(IncreaseFuelButton = new Button {Text = Loc.GetString("ame-window-increase-fuel-button"), StyleClasses = {StyleBase.ButtonOpenRight}}),
|
||||
(DecreaseFuelButton = new Button {Text = Loc.GetString("ame-window-decrease-fuel-button"), StyleClasses = {StyleBase.ButtonOpenLeft}}),
|
||||
}
|
||||
},
|
||||
new HBoxContainer
|
||||
{
|
||||
Children =
|
||||
{
|
||||
(RefreshPartsButton = new Button {Text = "Refresh Parts", StyleClasses = {StyleBase.ButtonOpenBoth }, Disabled = true }),
|
||||
new Label { Text = Loc.GetString("Core count") + ": "},
|
||||
(RefreshPartsButton = new Button {Text = Loc.GetString("ame-window-refresh-parts-button"), StyleClasses = {StyleBase.ButtonOpenBoth }, Disabled = true }),
|
||||
new Label { Text = Loc.GetString("ame-window-core-count-label")},
|
||||
(CoreCount = new Label { Text = "0"}),
|
||||
}
|
||||
}
|
||||
@@ -136,7 +136,7 @@ namespace Content.Client.AME.UI
|
||||
{
|
||||
EjectButton.Disabled = true;
|
||||
ToggleInjection.Disabled = true;
|
||||
FuelAmount.Text = Loc.GetString("No fuel inserted");
|
||||
FuelAmount.Text = Loc.GetString("ame-window-fuel-not-inserted-text");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -152,11 +152,11 @@ namespace Content.Client.AME.UI
|
||||
|
||||
if (!castState.Injecting)
|
||||
{
|
||||
InjectionStatus.Text = Loc.GetString("Not Injecting");
|
||||
InjectionStatus.Text = Loc.GetString("ame-window-engine-injection-status-not-injecting-label");
|
||||
}
|
||||
else
|
||||
{
|
||||
InjectionStatus.Text = Loc.GetString("Injecting...");
|
||||
InjectionStatus.Text = Loc.GetString("ame-window-engine-injection-status-injecting-label");
|
||||
}
|
||||
|
||||
RefreshPartsButton.Disabled = castState.Injecting;
|
||||
|
||||
@@ -45,11 +45,11 @@ namespace Content.Client.Access.UI
|
||||
Columns = 3,
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Privileged ID:")},
|
||||
new Label {Text = Loc.GetString("id-card-console-window-privileged-id")},
|
||||
(_privilegedIdButton = new Button()),
|
||||
(_privilegedIdLabel = new Label()),
|
||||
|
||||
new Label {Text = Loc.GetString("Target ID:")},
|
||||
new Label {Text = Loc.GetString("id-card-console-window-target-id")},
|
||||
(_targetIdButton = new Button()),
|
||||
(_targetIdLabel = new Label())
|
||||
}
|
||||
@@ -71,7 +71,7 @@ namespace Content.Client.Access.UI
|
||||
// Name
|
||||
(_fullNameLabel = new Label
|
||||
{
|
||||
Text = Loc.GetString("Full name:")
|
||||
Text = Loc.GetString("id-card-console-window-full-name-label")
|
||||
}),
|
||||
(_fullNameLineEdit = new LineEdit
|
||||
{
|
||||
@@ -79,14 +79,14 @@ namespace Content.Client.Access.UI
|
||||
}),
|
||||
(_fullNameSaveButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Save"),
|
||||
Text = Loc.GetString("id-card-console-window-save-button"),
|
||||
Disabled = true
|
||||
}),
|
||||
|
||||
// Title
|
||||
(_jobTitleLabel = new Label
|
||||
{
|
||||
Text = Loc.GetString("Job title:")
|
||||
Text = Loc.GetString("id-card-console-window-job-title-label")
|
||||
}),
|
||||
(_jobTitleLineEdit = new LineEdit
|
||||
{
|
||||
@@ -94,7 +94,7 @@ namespace Content.Client.Access.UI
|
||||
}),
|
||||
(_jobTitleSaveButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Save"),
|
||||
Text = Loc.GetString("id-card-console-window-save-button"),
|
||||
Disabled = true
|
||||
}),
|
||||
},
|
||||
@@ -144,14 +144,14 @@ namespace Content.Client.Access.UI
|
||||
public void UpdateState(IdCardConsoleBoundUserInterfaceState state)
|
||||
{
|
||||
_privilegedIdButton.Text = state.IsPrivilegedIdPresent
|
||||
? Loc.GetString("Eject")
|
||||
: Loc.GetString("Insert");
|
||||
? Loc.GetString("id-card-console-window-eject-button")
|
||||
: Loc.GetString("id-card-console-window-insert-button");
|
||||
|
||||
_privilegedIdLabel.Text = state.PrivilegedIdName;
|
||||
|
||||
_targetIdButton.Text = state.IsTargetIdPresent
|
||||
? Loc.GetString("Eject")
|
||||
: Loc.GetString("Insert");
|
||||
? Loc.GetString("id-card-console-window-eject-button")
|
||||
: Loc.GetString("id-card-console-window-insert-button");
|
||||
|
||||
_targetIdLabel.Text = state.TargetIdName;
|
||||
|
||||
@@ -165,7 +165,7 @@ namespace Content.Client.Access.UI
|
||||
_fullNameLineEdit.Editable = interfaceEnabled;
|
||||
if (!fullNameDirty)
|
||||
{
|
||||
_fullNameLineEdit.Text = state.TargetIdFullName ?? "";
|
||||
_fullNameLineEdit.Text = state.TargetIdFullName ?? string.Empty;
|
||||
}
|
||||
|
||||
_fullNameSaveButton.Disabled = !interfaceEnabled || !fullNameDirty;
|
||||
@@ -174,7 +174,7 @@ namespace Content.Client.Access.UI
|
||||
_jobTitleLineEdit.Editable = interfaceEnabled;
|
||||
if (!jobTitleDirty)
|
||||
{
|
||||
_jobTitleLineEdit.Text = state.TargetIdJobTitle ?? "";
|
||||
_jobTitleLineEdit.Text = state.TargetIdJobTitle ?? string.Empty;
|
||||
}
|
||||
|
||||
_jobTitleSaveButton.Disabled = !interfaceEnabled || !jobTitleDirty;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Shared.Actions;
|
||||
using Content.Shared.Actions.Components;
|
||||
using Robust.Shared.GameObjects;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Content.Client.Actions.Assignments
|
||||
{
|
||||
@@ -70,8 +70,6 @@ namespace Content.Client.Actions.Assignments
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
foreach (var (item, itemStates) in itemActionStates)
|
||||
{
|
||||
foreach (var itemActionState in itemStates)
|
||||
@@ -97,7 +95,10 @@ namespace Content.Client.Actions.Assignments
|
||||
var assignmentsWithoutItem = new List<KeyValuePair<ActionAssignment, List<(byte Hotbar, byte Slot)>>>();
|
||||
foreach (var assignmentEntry in _assignments)
|
||||
{
|
||||
if (!assignmentEntry.Key.TryGetItemActionWithItem(out var actionType, out var item)) continue;
|
||||
if (!assignmentEntry.Key.TryGetItemActionWithItem(out var actionType, out var item))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// we have this assignment currently tied to an item,
|
||||
// check if it no longer has an associated item in our dict of states
|
||||
@@ -110,8 +111,10 @@ namespace Content.Client.Actions.Assignments
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
assignmentsWithoutItem.Add(assignmentEntry);
|
||||
}
|
||||
|
||||
// reassign without the item for each assignment we found that no longer has an associated item
|
||||
foreach (var (assignment, slots) in assignmentsWithoutItem)
|
||||
{
|
||||
@@ -179,7 +182,12 @@ namespace Content.Client.Actions.Assignments
|
||||
// remove this particular assignment from our data structures
|
||||
// (keeping in mind something can be assigned multiple slots)
|
||||
var currentAction = _slots[hotbar, slot];
|
||||
if (!currentAction.HasValue) return;
|
||||
|
||||
if (!currentAction.HasValue)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (preventAutoPopulate)
|
||||
{
|
||||
var assignment = currentAction.Value;
|
||||
@@ -199,6 +207,7 @@ namespace Content.Client.Actions.Assignments
|
||||
actionTypes.Add(itemActionType);
|
||||
}
|
||||
}
|
||||
|
||||
var assignmentList = _assignments[currentAction.Value];
|
||||
assignmentList = assignmentList.Where(a => a.Hotbar != hotbar || a.Slot != slot).ToList();
|
||||
if (!assignmentList.Any())
|
||||
@@ -209,6 +218,7 @@ namespace Content.Client.Actions.Assignments
|
||||
{
|
||||
_assignments[currentAction.Value] = assignmentList;
|
||||
}
|
||||
|
||||
_slots[hotbar, slot] = null;
|
||||
}
|
||||
|
||||
@@ -223,7 +233,11 @@ namespace Content.Client.Actions.Assignments
|
||||
/// if this assignment has been prevented from auto population.</param>
|
||||
public void AutoPopulate(ActionAssignment toAssign, byte currentHotbar, bool force = true)
|
||||
{
|
||||
if (ShouldPreventAutoPopulate(toAssign, force)) return;
|
||||
if (ShouldPreventAutoPopulate(toAssign, force))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// if the assignment to make is an item action with an associated item,
|
||||
// then first look for currently assigned item actions without an item, to replace with this
|
||||
// assignment
|
||||
@@ -240,7 +254,7 @@ namespace Content.Client.Actions.Assignments
|
||||
{
|
||||
var cost = possibility.Slot + _numSlots * (currentHotbar >= possibility.Hotbar
|
||||
? currentHotbar - possibility.Hotbar
|
||||
: (_numHotbars - currentHotbar) + possibility.Hotbar);
|
||||
: _numHotbars - currentHotbar + possibility.Hotbar);
|
||||
if (cost < minCost)
|
||||
{
|
||||
hotbar = possibility.Hotbar;
|
||||
@@ -273,8 +287,10 @@ namespace Content.Client.Actions.Assignments
|
||||
AssignSlot(hotbar, slot, toAssign);
|
||||
return;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// slot's empty, assign
|
||||
AssignSlot(hotbar, slot, toAssign);
|
||||
return;
|
||||
@@ -285,7 +301,10 @@ namespace Content.Client.Actions.Assignments
|
||||
|
||||
private bool ShouldPreventAutoPopulate(ActionAssignment assignment, bool force)
|
||||
{
|
||||
if (force) return false;
|
||||
if (force)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (assignment.TryGetAction(out var actionType))
|
||||
{
|
||||
|
||||
@@ -44,7 +44,6 @@ namespace Content.Client.Actions
|
||||
[ViewVariables]
|
||||
private bool CurrentlyControlled => _playerManager.LocalPlayer != null && _playerManager.LocalPlayer.ControlledEntity == Owner;
|
||||
|
||||
|
||||
protected override void Shutdown()
|
||||
{
|
||||
base.Shutdown();
|
||||
|
||||
@@ -68,7 +68,7 @@ namespace Content.Client.Actions.UI
|
||||
_actionManager = IoCManager.Resolve<ActionManager>();
|
||||
_gameHud = IoCManager.Resolve<IGameHud>();
|
||||
|
||||
Title = Loc.GetString("Actions");
|
||||
Title = Loc.GetString("ui-actionmenu-title");
|
||||
MinSize = (300, 300);
|
||||
|
||||
Contents.AddChild(new VBoxContainer
|
||||
@@ -83,17 +83,17 @@ namespace Content.Client.Actions.UI
|
||||
{
|
||||
StyleClasses = { StyleNano.StyleClassActionSearchBox },
|
||||
HorizontalExpand = true,
|
||||
PlaceHolder = Loc.GetString("Search")
|
||||
PlaceHolder = Loc.GetString("ui-actionmenu-search-bar-placeholder-text")
|
||||
}),
|
||||
(_filterButton = new MultiselectOptionButton<string>()
|
||||
{
|
||||
Label = Loc.GetString("Filter")
|
||||
Label = Loc.GetString("ui-actionmenu-filter-buttonr")
|
||||
})
|
||||
}
|
||||
},
|
||||
(_clearButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Clear"),
|
||||
Text = Loc.GetString("ui-actionmenu-clear-button"),
|
||||
}),
|
||||
(_filterLabel = new Label()),
|
||||
new ScrollContainer
|
||||
@@ -353,7 +353,8 @@ namespace Content.Client.Actions.UI
|
||||
else
|
||||
{
|
||||
_filterLabel.Visible = true;
|
||||
_filterLabel.Text = Loc.GetString("Filters: {0}", string.Join(", ", _filterButton.SelectedLabels));
|
||||
_filterLabel.Text = Loc.GetString("ui-actionmenu-filter-label",
|
||||
("selectedLabels", string.Join(", ", _filterButton.SelectedLabels)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -430,7 +431,7 @@ namespace Content.Client.Actions.UI
|
||||
/// </summary>
|
||||
private static string Standardize(string rawText, bool splitOnCaseChange = false)
|
||||
{
|
||||
rawText ??= "";
|
||||
rawText ??= string.Empty;
|
||||
|
||||
// treat non-alphanumeric characters as whitespace
|
||||
rawText = NonAlphanumeric.Replace(rawText, " ");
|
||||
|
||||
@@ -131,7 +131,7 @@ namespace Content.Client.Actions.UI
|
||||
VerticalAlignment = VAlignment.Center,
|
||||
SizeFlagsStretchRatio = 1,
|
||||
Scale = (0.5f, 0.5f),
|
||||
ToolTip = Loc.GetString("ui-actionmenu-function-lock-action-slots"),
|
||||
ToolTip = Loc.GetString("ui-actionsui-function-lock-action-slots"),
|
||||
TooltipDelay = CustomTooltipDelay
|
||||
};
|
||||
settingsContainer.AddChild(_lockButton);
|
||||
@@ -143,7 +143,7 @@ namespace Content.Client.Actions.UI
|
||||
VerticalAlignment = VAlignment.Center,
|
||||
SizeFlagsStretchRatio = 1,
|
||||
Scale = (0.5f, 0.5f),
|
||||
ToolTip = Loc.GetString("ui-actionmenu-function-open-abilities-menu"),
|
||||
ToolTip = Loc.GetString("ui-actionsui-function-open-abilities-menu"),
|
||||
TooltipDelay = CustomTooltipDelay
|
||||
};
|
||||
settingsContainer.AddChild(_settingsButton);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Client.Eui;
|
||||
using Content.Client.Eui;
|
||||
using Content.Shared.Administration;
|
||||
using Content.Shared.Chemistry.Reagent;
|
||||
using Content.Shared.Eui;
|
||||
@@ -63,7 +63,7 @@ namespace Content.Client.Administration.UI
|
||||
{
|
||||
_eui = eui;
|
||||
|
||||
Title = Loc.GetString("Add reagent...");
|
||||
Title = Loc.GetString("admin-add-reagent-eui-title");
|
||||
|
||||
Contents.AddChild(new VBoxContainer
|
||||
{
|
||||
@@ -74,14 +74,14 @@ namespace Content.Client.Administration.UI
|
||||
Columns = 2,
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Cur volume: ")},
|
||||
new Label {Text = Loc.GetString("admin-add-reagent-eui-current-volume-label") + " "},
|
||||
(_volumeLabel = new Label()),
|
||||
new Label {Text = Loc.GetString("Reagent: ")},
|
||||
(_reagentIdEdit = new LineEdit {PlaceHolder = Loc.GetString("Reagent ID...")}),
|
||||
new Label {Text = Loc.GetString("Amount: ")},
|
||||
new Label {Text = Loc.GetString("admin-add-reagent-eui-reagent-label") + " "},
|
||||
(_reagentIdEdit = new LineEdit {PlaceHolder = Loc.GetString("admin-add-reagent-eui-reagent-id-edit")}),
|
||||
new Label {Text = Loc.GetString("admin-add-reagent-eui-amount-label") + " "},
|
||||
(_amountEdit = new LineEdit
|
||||
{
|
||||
PlaceHolder = Loc.GetString("A number..."),
|
||||
PlaceHolder = Loc.GetString("admin-add-reagent-eui-amount-edit"),
|
||||
HorizontalExpand = true
|
||||
}),
|
||||
},
|
||||
@@ -98,8 +98,8 @@ namespace Content.Client.Administration.UI
|
||||
ClipText = true
|
||||
}),
|
||||
|
||||
(_addButton = new Button {Text = Loc.GetString("Add")}),
|
||||
(_addCloseButton = new Button {Text = Loc.GetString("Add & Close")})
|
||||
(_addButton = new Button {Text = Loc.GetString("admin-add-reagent-eui-add-button")}),
|
||||
(_addCloseButton = new Button {Text = Loc.GetString("admin-add-reagent-eui-add-close-button")})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -125,31 +125,32 @@ namespace Content.Client.Administration.UI
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(_reagentIdEdit.Text))
|
||||
{
|
||||
DoError(Loc.GetString("Must specify reagent ID"));
|
||||
DoError(Loc.GetString("admin-add-reagent-eui-no-reagent-id-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_eui._prototypes.HasIndex<ReagentPrototype>(_reagentIdEdit.Text))
|
||||
{
|
||||
DoError(Loc.GetString("'{0}' does not exist.", _reagentIdEdit.Text));
|
||||
DoError(Loc.GetString("admin-add-reagent-eui-reagent-does-not-exist-error",
|
||||
("reagent", _reagentIdEdit.Text)));
|
||||
return;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(_amountEdit.Text))
|
||||
{
|
||||
DoError(Loc.GetString("Must specify reagent amount"));
|
||||
DoError(Loc.GetString("admin-add-reagent-eui-no-reagent-amount-specified-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!float.TryParse(_amountEdit.Text, out _))
|
||||
{
|
||||
DoError(Loc.GetString("Invalid amount"));
|
||||
DoError(Loc.GetString("admin-add-reagent-eui-invalid-amount-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
_addButton.Disabled = false;
|
||||
_addCloseButton.Disabled = false;
|
||||
_errorLabel.Text = "";
|
||||
_errorLabel.Text = string.Empty;
|
||||
|
||||
void DoError(string text)
|
||||
{
|
||||
@@ -162,7 +163,9 @@ namespace Content.Client.Administration.UI
|
||||
|
||||
public void HandleState(AdminAddReagentEuiState state)
|
||||
{
|
||||
_volumeLabel.Text = Loc.GetString("{0}/{1}u", state.CurVolume, state.MaxVolume);
|
||||
_volumeLabel.Text = Loc.GetString("admin-add-reagent-eui-current-and-max-volume-label",
|
||||
("currentVolume", state.CurVolume),
|
||||
("maxVolume" ,state.MaxVolume));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System.Collections.Generic;
|
||||
using Content.Client.Administration.UI.Tabs;
|
||||
using Content.Client.HUD;
|
||||
@@ -25,15 +25,15 @@ namespace Content.Client.Administration.UI
|
||||
public AdminMenuWindow()
|
||||
{
|
||||
MinSize = SetSize = (500, 250);
|
||||
Title = Loc.GetString("Admin Menu");
|
||||
Title = Loc.GetString("admin-menu-title");
|
||||
RobustXamlLoader.Load(this);
|
||||
IoCManager.InjectDependencies(this);
|
||||
MasterTabContainer.SetTabTitle(0, Loc.GetString("Admin"));
|
||||
MasterTabContainer.SetTabTitle(1, Loc.GetString("Adminbus"));
|
||||
MasterTabContainer.SetTabTitle(2, Loc.GetString("Atmos"));
|
||||
MasterTabContainer.SetTabTitle(3, Loc.GetString("Round"));
|
||||
MasterTabContainer.SetTabTitle(4, Loc.GetString("Server"));
|
||||
MasterTabContainer.SetTabTitle(5, Loc.GetString("Players"));
|
||||
MasterTabContainer.SetTabTitle(0, Loc.GetString("admin-menu-admin-tab"));
|
||||
MasterTabContainer.SetTabTitle(1, Loc.GetString("admin-menu-adminbus-tab"));
|
||||
MasterTabContainer.SetTabTitle(2, Loc.GetString("admin-menu-atmos-tab"));
|
||||
MasterTabContainer.SetTabTitle(3, Loc.GetString("admin-menu-round-tab"));
|
||||
MasterTabContainer.SetTabTitle(4, Loc.GetString("admin-menu-server-tab"));
|
||||
MasterTabContainer.SetTabTitle(5, Loc.GetString("admin-menu-players-tab"));
|
||||
}
|
||||
|
||||
protected override void EnteredTree()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Client.Administration.Managers;
|
||||
using Content.Client.Eui;
|
||||
@@ -207,7 +207,7 @@ namespace Content.Client.Administration.UI
|
||||
|
||||
al.AddChild(new Label {Text = name});
|
||||
|
||||
var titleControl = new Label {Text = admin.Title ?? Loc.GetString("none")};
|
||||
var titleControl = new Label {Text = admin.Title ?? Loc.GetString("permissions-eui-edit-admin-title-control-text").ToLowerInvariant()};
|
||||
if (admin.Title == null) // none
|
||||
{
|
||||
titleControl.StyleClasses.Add(StyleBase.StyleClassItalic);
|
||||
@@ -228,7 +228,7 @@ namespace Content.Client.Administration.UI
|
||||
else
|
||||
{
|
||||
italic = true;
|
||||
rank = Loc.GetString("none");
|
||||
rank = Loc.GetString("permissions-eui-edit-no-rank-text").ToLowerInvariant();
|
||||
}
|
||||
|
||||
var rankControl = new Label {Text = rank};
|
||||
@@ -248,14 +248,14 @@ namespace Content.Client.Administration.UI
|
||||
HorizontalAlignment = Control.HAlignment.Center,
|
||||
});
|
||||
|
||||
var editButton = new Button {Text = Loc.GetString("Edit")};
|
||||
var editButton = new Button {Text = Loc.GetString("permissions-eui-edit-title-button") };
|
||||
editButton.OnPressed += _ => OnEditPressed(admin);
|
||||
al.AddChild(editButton);
|
||||
|
||||
if (!_adminManager.HasFlag(combinedFlags))
|
||||
{
|
||||
editButton.Disabled = true;
|
||||
editButton.ToolTip = Loc.GetString("You do not have the required flags to edit this admin.");
|
||||
editButton.ToolTip = Loc.GetString("permissions-eui-do-not-have-required-flags-to-edit-admin-tooltip");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,14 +271,14 @@ namespace Content.Client.Administration.UI
|
||||
HorizontalExpand = true,
|
||||
HorizontalAlignment = Control.HAlignment.Center,
|
||||
});
|
||||
var editButton = new Button {Text = Loc.GetString("Edit")};
|
||||
var editButton = new Button {Text = Loc.GetString("permissions-eui-edit-admin-rank-button") };
|
||||
editButton.OnPressed += _ => OnEditRankPressed(kv);
|
||||
_menu.AdminRanksList.AddChild(editButton);
|
||||
|
||||
if (!_adminManager.HasFlag(rank.Flags))
|
||||
{
|
||||
editButton.Disabled = true;
|
||||
editButton.ToolTip = Loc.GetString("You do not have the required flags to edit this rank.");
|
||||
editButton.ToolTip = Loc.GetString("permissions-eui-do-not-have-required-flags-to-edit-rank-tooltip");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -299,19 +299,19 @@ namespace Content.Client.Administration.UI
|
||||
public Menu(PermissionsEui ui)
|
||||
{
|
||||
_ui = ui;
|
||||
Title = Loc.GetString("Permissions Panel");
|
||||
Title = Loc.GetString("permissions-eui-menu-title");
|
||||
|
||||
var tab = new TabContainer();
|
||||
|
||||
AddAdminButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Add Admin"),
|
||||
Text = Loc.GetString("permissions-eui-menu-add-admin-button"),
|
||||
HorizontalAlignment = HAlignment.Right
|
||||
};
|
||||
|
||||
AddAdminRankButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Add Admin Rank"),
|
||||
Text = Loc.GetString("permissions-eui-menu-add-admin-rank-button"),
|
||||
HorizontalAlignment = HAlignment.Right
|
||||
};
|
||||
|
||||
@@ -320,14 +320,14 @@ namespace Content.Client.Administration.UI
|
||||
{
|
||||
Children = {AdminsList, AddAdminButton},
|
||||
};
|
||||
TabContainer.SetTabTitle(adminVBox, Loc.GetString("Admins"));
|
||||
TabContainer.SetTabTitle(adminVBox, Loc.GetString("permissions-eui-menu-admins-tab-title"));
|
||||
|
||||
AdminRanksList = new GridContainer {Columns = 3};
|
||||
var rankVBox = new VBoxContainer
|
||||
{
|
||||
Children = { AdminRanksList, AddAdminRankButton}
|
||||
};
|
||||
TabContainer.SetTabTitle(rankVBox, Loc.GetString("Admin Ranks"));
|
||||
TabContainer.SetTabTitle(rankVBox, Loc.GetString("permissions-eui-menu-admin-ranks-tab-title"));
|
||||
|
||||
tab.AddChild(adminVBox);
|
||||
tab.AddChild(rankVBox);
|
||||
@@ -360,22 +360,23 @@ namespace Content.Client.Administration.UI
|
||||
if (data is { } dat)
|
||||
{
|
||||
var name = dat.UserName ?? dat.UserId.ToString();
|
||||
Title = Loc.GetString("Edit admin {0}", name);
|
||||
Title = Loc.GetString("permissions-eui-edit-admin-window-edit-admin-label",
|
||||
("admin", name));
|
||||
|
||||
nameControl = new Label {Text = name};
|
||||
}
|
||||
else
|
||||
{
|
||||
Title = Loc.GetString("Add admin");
|
||||
Title = Loc.GetString("permissions-eui-menu-add-admin-button");
|
||||
|
||||
nameControl = NameEdit = new LineEdit {PlaceHolder = Loc.GetString("Username/User ID")};
|
||||
nameControl = NameEdit = new LineEdit {PlaceHolder = Loc.GetString("permissions-eui-edit-admin-window-name-edit-placeholder") };
|
||||
}
|
||||
|
||||
TitleEdit = new LineEdit {PlaceHolder = Loc.GetString("Custom title, leave blank to inherit rank title.")};
|
||||
TitleEdit = new LineEdit {PlaceHolder = Loc.GetString("permissions-eui-edit-admin-window-title-edit-placeholder") };
|
||||
RankButton = new OptionButton();
|
||||
SaveButton = new Button {Text = Loc.GetString("Save"), HorizontalAlignment = HAlignment.Right};
|
||||
SaveButton = new Button {Text = Loc.GetString("permissions-eui-edit-admin-window-save-button"), HorizontalAlignment = HAlignment.Right};
|
||||
|
||||
RankButton.AddItem(Loc.GetString("No rank"), NoRank);
|
||||
RankButton.AddItem(Loc.GetString("permissions-eui-edit-admin-window-no-rank-button"), NoRank);
|
||||
foreach (var (rId, rank) in ui._ranks)
|
||||
{
|
||||
RankButton.AddItem(rank.Name, rId);
|
||||
@@ -454,7 +455,7 @@ namespace Content.Client.Administration.UI
|
||||
if (data != null)
|
||||
{
|
||||
// show remove button.
|
||||
RemoveButton = new Button {Text = Loc.GetString("Remove")};
|
||||
RemoveButton = new Button {Text = Loc.GetString("permissions-eui-edit-admin-window-remove-flag-button") };
|
||||
bottomButtons.AddChild(RemoveButton);
|
||||
}
|
||||
|
||||
@@ -527,7 +528,7 @@ namespace Content.Client.Administration.UI
|
||||
|
||||
NameEdit = new LineEdit
|
||||
{
|
||||
PlaceHolder = Loc.GetString("Rank name"),
|
||||
PlaceHolder = Loc.GetString("permissions-eui-edit-admin-rank-window-name-edit-placeholder"),
|
||||
};
|
||||
|
||||
if (data != null)
|
||||
@@ -536,7 +537,7 @@ namespace Content.Client.Administration.UI
|
||||
}
|
||||
|
||||
SaveButton = new Button {
|
||||
Text = Loc.GetString("Save"),
|
||||
Text = Loc.GetString("permissions-eui-menu-save-admin-rank-button"),
|
||||
HorizontalAlignment = HAlignment.Right,
|
||||
HorizontalExpand = true
|
||||
};
|
||||
@@ -568,7 +569,7 @@ namespace Content.Client.Administration.UI
|
||||
if (data != null)
|
||||
{
|
||||
// show remove button.
|
||||
RemoveButton = new Button {Text = Loc.GetString("Remove")};
|
||||
RemoveButton = new Button {Text = Loc.GetString("permissions-eui-menu-remove-admin-rank-button") };
|
||||
bottomButtons.AddChild(RemoveButton);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,9 +26,9 @@ namespace Content.Client.Administration.UI.SetOutfit
|
||||
IoCManager.InjectDependencies(this);
|
||||
RobustXamlLoader.Load(this);
|
||||
|
||||
Title = Loc.GetString("Set Outfit");
|
||||
Title = Loc.GetString("set-outfit-menu-title");
|
||||
|
||||
ConfirmButton.Text = Loc.GetString("Confirm");
|
||||
ConfirmButton.Text = Loc.GetString("set-outfit-menu-confirm-button");
|
||||
ConfirmButton.OnPressed += ConfirmButtonOnOnPressed;
|
||||
SearchBar.OnTextChanged += SearchBarOnOnTextChanged;
|
||||
OutfitList.OnItemSelected += OutfitListOnOnItemSelected;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Client.StationEvents.Managers;
|
||||
@@ -21,7 +21,7 @@ namespace Content.Client.Administration.UI.Tabs.AdminbusTab
|
||||
protected override void EnteredTree()
|
||||
{
|
||||
_data = IoCManager.Resolve<IStationEventManager>().StationEvents.ToList();
|
||||
_data.Add(_data.Any() ? Loc.GetString("Not loaded") : Loc.GetString("Random"));
|
||||
_data.Add(_data.Any() ? Loc.GetString("station-events-window-not-loaded-text") : Loc.GetString("station-events-window-random-text"));
|
||||
foreach (var stationEvent in _data)
|
||||
{
|
||||
EventsOptions.AddItem(stationEvent);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Content.Client.Arcade.UI;
|
||||
@@ -114,7 +114,7 @@ namespace Content.Client.Arcade
|
||||
|
||||
_pauseButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Pause"),
|
||||
Text = Loc.GetString("blockgame-menu-button-pause"),
|
||||
TextAlign = Label.AlignMode.Center
|
||||
};
|
||||
_pauseButton.OnPressed += (e) => TryPause();
|
||||
|
||||
@@ -85,7 +85,7 @@ namespace Content.Client.Atmos.UI
|
||||
{
|
||||
(_nameLabel = new Label
|
||||
{
|
||||
Text = Loc.GetString("Gas Analyzer"),
|
||||
Text = Loc.GetString("gas-analyzer-window-name"),
|
||||
FontOverride = font,
|
||||
FontColorOverride = StyleNano.NanoGold,
|
||||
VerticalAlignment = VAlignment.Center
|
||||
@@ -95,7 +95,7 @@ namespace Content.Client.Atmos.UI
|
||||
MinSize = (20, 0),
|
||||
HorizontalExpand = true,
|
||||
},
|
||||
(refreshButton = new Button {Text = "Refresh"}), //TODO: refresh icon?
|
||||
(refreshButton = new Button {Text = "gas-analyzer-window-refresh-button"}), //TODO: refresh icon?
|
||||
new Control
|
||||
{
|
||||
MinSize = (2, 0),
|
||||
@@ -149,7 +149,7 @@ namespace Content.Client.Atmos.UI
|
||||
{
|
||||
_statusContainer.AddChild(new Label
|
||||
{
|
||||
Text = Loc.GetString("Error: {0}", state.Error),
|
||||
Text = Loc.GetString("gas-analyzer-window-error-text", ("errorText", state.Error)),
|
||||
FontColorOverride = Color.Red
|
||||
});
|
||||
return;
|
||||
@@ -157,12 +157,13 @@ namespace Content.Client.Atmos.UI
|
||||
|
||||
_statusContainer.AddChild(new Label
|
||||
{
|
||||
Text = Loc.GetString("Pressure: {0:0.##} kPa", state.Pressure)
|
||||
Text = Loc.GetString("gas-analyzer-window-pressure-text", ("pressure", $"{state.Pressure:0.##}"))
|
||||
});
|
||||
_statusContainer.AddChild(new Label
|
||||
{
|
||||
Text = Loc.GetString("Temperature: {0:0.#}K ({1:0.#}°C)", state.Temperature,
|
||||
TemperatureHelpers.KelvinToCelsius(state.Temperature))
|
||||
Text = Loc.GetString("gas-analyzer-window-temperature-text",
|
||||
("tempK", $"{state.Temperature:0.#}"),
|
||||
("tempC", $"{TemperatureHelpers.KelvinToCelsius(state.Temperature):0.#}"))
|
||||
});
|
||||
// Return here cause all that stuff down there is gas stuff (so we don't get the seperators)
|
||||
if (state.Gases == null || state.Gases.Length == 0)
|
||||
@@ -222,7 +223,7 @@ namespace Content.Client.Atmos.UI
|
||||
});
|
||||
tableVal.AddChild(new Label
|
||||
{
|
||||
Text = Loc.GetString("{0:0.##} mol", gas.Amount)
|
||||
Text = Loc.GetString("gas-analyzer-window-molality-text", ("mol", $"{gas.Amount:0.##}"))
|
||||
});
|
||||
|
||||
// Add to the gas bar //TODO: highlight the currently hover one
|
||||
@@ -230,8 +231,10 @@ namespace Content.Client.Atmos.UI
|
||||
var right = (i == state.Gases.Length - 1) ? 0f : 2f;
|
||||
gasBar.AddChild(new PanelContainer
|
||||
{
|
||||
ToolTip = Loc.GetString("{0}: {1:0.##} mol ({2:0.#}%)", gas.Name, gas.Amount,
|
||||
(gas.Amount / totalGasAmount) * 100),
|
||||
ToolTip = Loc.GetString("gas-analyzer-window-molality-percentage-text",
|
||||
("gasName", gas.Name),
|
||||
("amount", $"{gas.Amount:0.##}"),
|
||||
("percentage", $"{(gas.Amount / totalGasAmount * 100):0.#}")),
|
||||
HorizontalExpand = true,
|
||||
SizeFlagsStretchRatio = gas.Amount,
|
||||
MouseFilter = MouseFilterMode.Pass,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Linq;
|
||||
using System.Linq;
|
||||
using Content.Shared.Body.Components;
|
||||
using Content.Shared.Body.Mechanism;
|
||||
using Content.Shared.Body.Part;
|
||||
@@ -23,7 +23,7 @@ namespace Content.Client.Body.UI
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
Owner = owner;
|
||||
Title = Loc.GetString("Body Scanner");
|
||||
Title = Loc.GetString("body-scanner-display-title");
|
||||
|
||||
var hSplit = new HBoxContainer
|
||||
{
|
||||
@@ -57,7 +57,7 @@ namespace Content.Client.Body.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = "Health: "
|
||||
Text = $"{Loc.GetString("body-scanner-display-health-label")} "
|
||||
},
|
||||
(BodyPartHealth = new Label())
|
||||
}
|
||||
@@ -144,7 +144,7 @@ namespace Content.Client.Body.UI
|
||||
// TODO BODY Part damage
|
||||
if (part.Owner.TryGetComponent(out IDamageableComponent? damageable))
|
||||
{
|
||||
BodyPartHealth.Text = Loc.GetString("{0} damage", damageable.TotalDamage);
|
||||
BodyPartHealth.Text = Loc.GetString("body-scanner-display-body-part-damage-text",("damage", damageable.TotalDamage));
|
||||
}
|
||||
|
||||
MechanismList.Clear();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
@@ -18,7 +18,7 @@ namespace Content.Client.Body.UI
|
||||
public SurgeryWindow()
|
||||
{
|
||||
MinSize = SetSize = (300, 400);
|
||||
Title = Loc.GetString("Surgery");
|
||||
Title = Loc.GetString("surgery-window-title");
|
||||
RectClipContent = true;
|
||||
|
||||
var vSplitContainer = new VBoxContainer
|
||||
@@ -105,7 +105,7 @@ namespace Content.Client.Body.UI
|
||||
(DisplayText = new Label
|
||||
{
|
||||
VerticalAlignment = VAlignment.Center,
|
||||
Text = "N/A",
|
||||
Text = Loc.GetString("surgery-window-not-available-button-text"),
|
||||
}),
|
||||
(new Control
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
#nullable enable
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Content.Client.Stylesheets;
|
||||
using Content.Shared.Cargo;
|
||||
@@ -45,19 +46,19 @@ namespace Content.Client.Cargo.UI
|
||||
Owner = owner;
|
||||
|
||||
if (Owner.RequestOnly)
|
||||
Title = Loc.GetString("Cargo Request Console");
|
||||
Title = Loc.GetString("cargo-console-menu-request-only-title");
|
||||
else
|
||||
Title = Loc.GetString("Cargo Shuttle Console");
|
||||
Title = Loc.GetString("cargo-console-menu-title");
|
||||
|
||||
var rows = new VBoxContainer();
|
||||
|
||||
var accountName = new HBoxContainer();
|
||||
var accountNameLabel = new Label {
|
||||
Text = Loc.GetString("Account Name: "),
|
||||
Text = Loc.GetString("cargo-console-menu-account-name-label") + " ",
|
||||
StyleClasses = { StyleNano.StyleClassLabelKeyText }
|
||||
};
|
||||
_accountNameLabel = new Label {
|
||||
Text = "None" //Owner.Bank.Account.Name
|
||||
Text = Loc.GetString("cargo-console-menu-account-name-none-text") //Owner.Bank.Account.Name
|
||||
};
|
||||
accountName.AddChild(accountNameLabel);
|
||||
accountName.AddChild(_accountNameLabel);
|
||||
@@ -66,7 +67,7 @@ namespace Content.Client.Cargo.UI
|
||||
var points = new HBoxContainer();
|
||||
var pointsLabel = new Label
|
||||
{
|
||||
Text = Loc.GetString("Points: "),
|
||||
Text = Loc.GetString("cargo-console-menu-points-label") + " ",
|
||||
StyleClasses = { StyleNano.StyleClassLabelKeyText }
|
||||
};
|
||||
_pointsLabel = new Label
|
||||
@@ -80,12 +81,12 @@ namespace Content.Client.Cargo.UI
|
||||
var shuttleStatus = new HBoxContainer();
|
||||
var shuttleStatusLabel = new Label
|
||||
{
|
||||
Text = Loc.GetString("Shuttle Status: "),
|
||||
Text = Loc.GetString("cargo-console-menu-shuttle-status-label") + " ",
|
||||
StyleClasses = { StyleNano.StyleClassLabelKeyText }
|
||||
};
|
||||
_shuttleStatusLabel = new Label
|
||||
{
|
||||
Text = Loc.GetString("Away") // Shuttle.Status
|
||||
Text = Loc.GetString("cargo-console-menu-shuttle-status-away-text") // Shuttle.Status
|
||||
};
|
||||
shuttleStatus.AddChild(shuttleStatusLabel);
|
||||
shuttleStatus.AddChild(_shuttleStatusLabel);
|
||||
@@ -94,12 +95,12 @@ namespace Content.Client.Cargo.UI
|
||||
var shuttleCapacity = new HBoxContainer();
|
||||
var shuttleCapacityLabel = new Label
|
||||
{
|
||||
Text = Loc.GetString("Order Capacity: "),
|
||||
Text = Loc.GetString("cargo-console-menu-order-capacity-label") + " ",
|
||||
StyleClasses = { StyleNano.StyleClassLabelKeyText }
|
||||
};
|
||||
_shuttleCapacityLabel = new Label
|
||||
{
|
||||
Text = "0/20"
|
||||
Text = $"{0}/{20}"
|
||||
};
|
||||
shuttleCapacity.AddChild(shuttleCapacityLabel);
|
||||
shuttleCapacity.AddChild(_shuttleCapacityLabel);
|
||||
@@ -109,13 +110,13 @@ namespace Content.Client.Cargo.UI
|
||||
CallShuttleButton = new Button()
|
||||
{
|
||||
//Text = Loc.GetString("Call Shuttle"),
|
||||
Text = Loc.GetString("Activate Telepad"), //Shuttle code pending
|
||||
Text = Loc.GetString("cargo-console-menu-call-shuttle-button"), //Shuttle code pending
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
HorizontalExpand = true
|
||||
};
|
||||
PermissionsButton = new Button()
|
||||
{
|
||||
Text = Loc.GetString("Permissions"),
|
||||
Text = Loc.GetString("cargo-console-menu-permissions-button"),
|
||||
TextAlign = Label.AlignMode.Center
|
||||
};
|
||||
buttons.AddChild(CallShuttleButton);
|
||||
@@ -125,13 +126,13 @@ namespace Content.Client.Cargo.UI
|
||||
var category = new HBoxContainer();
|
||||
_categories = new OptionButton
|
||||
{
|
||||
Prefix = Loc.GetString("Categories: "),
|
||||
Prefix = Loc.GetString("cargo-console-menu-categories-label") + " ",
|
||||
HorizontalExpand = true,
|
||||
SizeFlagsStretchRatio = 1
|
||||
};
|
||||
_searchBar = new LineEdit
|
||||
{
|
||||
PlaceHolder = Loc.GetString("Search"),
|
||||
PlaceHolder = Loc.GetString("cargo-console-menu-search-bar-placeholder"),
|
||||
HorizontalExpand = true,
|
||||
SizeFlagsStretchRatio = 1
|
||||
};
|
||||
@@ -164,14 +165,14 @@ namespace Content.Client.Cargo.UI
|
||||
VerticalExpand = true
|
||||
};
|
||||
var rAndOVBox = new VBoxContainer();
|
||||
var requestsLabel = new Label { Text = Loc.GetString("Requests") };
|
||||
var requestsLabel = new Label { Text = Loc.GetString("cargo-console-menu-requests-label") };
|
||||
_requests = new VBoxContainer // replace with scroll box so that approval buttons can be added
|
||||
{
|
||||
StyleClasses = { "transparentItemList" },
|
||||
VerticalExpand = true,
|
||||
SizeFlagsStretchRatio = 1,
|
||||
};
|
||||
var ordersLabel = new Label { Text = Loc.GetString("Orders") };
|
||||
var ordersLabel = new Label { Text = Loc.GetString("cargo-console-menu-orders-label") };
|
||||
_orders = new VBoxContainer
|
||||
{
|
||||
StyleClasses = { "transparentItemList" },
|
||||
@@ -270,7 +271,7 @@ namespace Content.Client.Cargo.UI
|
||||
return;
|
||||
}
|
||||
|
||||
_categoryStrings.Add(Loc.GetString("All"));
|
||||
_categoryStrings.Add(Loc.GetString("cargo-console-menu-populate-categories-all-text"));
|
||||
|
||||
var search = _searchBar.Text.Trim().ToLowerInvariant();
|
||||
foreach (var prototype in Owner.Market.Products)
|
||||
@@ -308,10 +309,14 @@ namespace Content.Client.Cargo.UI
|
||||
Icon = { Texture = Owner.Market.GetProduct(order.ProductId)?.Icon.Frame0() },
|
||||
ProductName =
|
||||
{
|
||||
Text =
|
||||
$"{Owner.Market.GetProduct(order.ProductId)?.Name} (x{order.Amount}) by {order.Requester}"
|
||||
Text = Loc.GetString(
|
||||
"cargo-console-menu-populate-orders-cargo-order-row-product-name-text",
|
||||
("productName", Owner.Market.GetProduct(order.ProductId)?.Name!),
|
||||
("orderAmount", order.Amount),
|
||||
("orderRequester", order.Requester))
|
||||
},
|
||||
Description = {Text = $"Reasons: {order.Reason}"}
|
||||
Description = {Text = Loc.GetString("cargo-console-menu-order-reason-description",
|
||||
("reason", order.Reason))}
|
||||
};
|
||||
row.Cancel.OnPressed += (args) => { OnOrderCanceled?.Invoke(args); };
|
||||
if (order.Approved)
|
||||
@@ -463,14 +468,14 @@ namespace Content.Client.Cargo.UI
|
||||
|
||||
Approve = new Button
|
||||
{
|
||||
Text = "Approve",
|
||||
Text = Loc.GetString("cargo-console-menu-cargo-order-row-approve-button"),
|
||||
StyleClasses = { StyleNano.StyleClassLabelSubText }
|
||||
};
|
||||
hBox.AddChild(Approve);
|
||||
|
||||
Cancel = new Button
|
||||
{
|
||||
Text = "Cancel",
|
||||
Text = Loc.GetString("cargo-console-menu-cargo-order-row-cancel-button"),
|
||||
StyleClasses = { StyleNano.StyleClassLabelSubText }
|
||||
};
|
||||
hBox.AddChild(Cancel);
|
||||
|
||||
@@ -17,22 +17,22 @@ namespace Content.Client.Cargo.UI
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
|
||||
Title = Loc.GetString("Order Form");
|
||||
Title = Loc.GetString("cargo-console-order-menu-title");
|
||||
|
||||
var vBox = new VBoxContainer();
|
||||
var gridContainer = new GridContainer { Columns = 2 };
|
||||
|
||||
var requesterLabel = new Label { Text = Loc.GetString("Name:") };
|
||||
var requesterLabel = new Label { Text = Loc.GetString("cargo-console-order-menu-requester-label") };
|
||||
Requester = new LineEdit();
|
||||
gridContainer.AddChild(requesterLabel);
|
||||
gridContainer.AddChild(Requester);
|
||||
|
||||
var reasonLabel = new Label { Text = Loc.GetString("Reason:") };
|
||||
var reasonLabel = new Label { Text = Loc.GetString("cargo-console-order-menu-reason-label:") };
|
||||
Reason = new LineEdit();
|
||||
gridContainer.AddChild(reasonLabel);
|
||||
gridContainer.AddChild(Reason);
|
||||
|
||||
var amountLabel = new Label { Text = Loc.GetString("Amount:") };
|
||||
var amountLabel = new Label { Text = Loc.GetString("cargo-console-order-menu-amount-label:") };
|
||||
Amount = new SpinBox
|
||||
{
|
||||
HorizontalExpand = true,
|
||||
@@ -49,7 +49,7 @@ namespace Content.Client.Cargo.UI
|
||||
|
||||
SubmitButton = new Button()
|
||||
{
|
||||
Text = Loc.GetString("OK"),
|
||||
Text = Loc.GetString("cargo-console-order-menu-submit-button"),
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
};
|
||||
vBox.AddChild(SubmitButton);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.CustomControls;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Localization;
|
||||
@@ -18,7 +18,7 @@ namespace Content.Client.Cargo.UI
|
||||
MinSize = SetSize = (300, 300);
|
||||
IoCManager.InjectDependencies(this);
|
||||
|
||||
Title = Loc.GetString("Galactic Bank Selection");
|
||||
Title = Loc.GetString("galactic-bank-selection-menu-title");
|
||||
|
||||
_accounts = new ItemList() { SelectMode = ItemList.ItemListSelectMode.Single };
|
||||
|
||||
|
||||
@@ -327,7 +327,7 @@ namespace Content.Client.CharacterAppearance
|
||||
public MagicMirrorWindow(MagicMirrorBoundUserInterface owner)
|
||||
{
|
||||
SetSize = MinSize = (500, 360);
|
||||
Title = Loc.GetString("Magic Mirror");
|
||||
Title = Loc.GetString("magic-mirror-window-title");
|
||||
|
||||
_hairStylePicker = new HairStylePicker {HorizontalExpand = true};
|
||||
_hairStylePicker.OnHairStylePicked += newStyle => owner.HairSelected(newStyle, false);
|
||||
|
||||
@@ -92,12 +92,12 @@ namespace Content.Client.CharacterInfo.Components
|
||||
|
||||
AddChild(new Placeholder()
|
||||
{
|
||||
PlaceholderText = Loc.GetString("Health & status effects")
|
||||
PlaceholderText = Loc.GetString("character-info-health-and-status-effects-text")
|
||||
});
|
||||
|
||||
AddChild(new Label
|
||||
{
|
||||
Text = Loc.GetString("Objectives"),
|
||||
Text = Loc.GetString("character-info-objectives-label"),
|
||||
HorizontalAlignment = HAlignment.Center
|
||||
});
|
||||
ObjectivesContainer = new VBoxContainer();
|
||||
@@ -105,7 +105,7 @@ namespace Content.Client.CharacterInfo.Components
|
||||
|
||||
AddChild(new Placeholder()
|
||||
{
|
||||
PlaceholderText = Loc.GetString("Antagonist Roles")
|
||||
PlaceholderText = Loc.GetString("character-info-roles-antagonist-text")
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -60,8 +60,9 @@ namespace Content.Client.Chemistry.Components
|
||||
_parent._uiUpdateNeeded = false;
|
||||
|
||||
_label.SetMarkup(Loc.GetString(
|
||||
"Volume: [color=white]{0}/{1}[/color]",
|
||||
_parent.CurrentVolume, _parent.TotalVolume));
|
||||
"hypospray-volume-text",
|
||||
("currentVolume", _parent.CurrentVolume),
|
||||
("totalVolume", _parent.TotalVolume)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,12 +71,14 @@ namespace Content.Client.Chemistry.Components
|
||||
//Update current volume and injector state
|
||||
var modeStringLocalized = _parent.CurrentMode switch
|
||||
{
|
||||
InjectorToggleMode.Draw => Loc.GetString("Draw"),
|
||||
InjectorToggleMode.Inject => Loc.GetString("Inject"),
|
||||
_ => Loc.GetString("Invalid")
|
||||
InjectorToggleMode.Draw => Loc.GetString("injector-draw-text"),
|
||||
InjectorToggleMode.Inject => Loc.GetString("injector-inject-text"),
|
||||
_ => Loc.GetString("injector-invalid-injector-toggle-mode")
|
||||
};
|
||||
_label.SetMarkup(Loc.GetString("Volume: [color=white]{0}/{1}[/color] | [color=white]{2}[/color]",
|
||||
_parent.CurrentVolume, _parent.TotalVolume, modeStringLocalized));
|
||||
_label.SetMarkup(Loc.GetString("injector-volume-label",
|
||||
("currentVolume", _parent.CurrentVolume),
|
||||
("totalVolume", _parent.TotalVolume),
|
||||
("modeString", modeStringLocalized)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace Content.Client.Chemistry.UI
|
||||
//Setup window layout/elements
|
||||
_window = new ChemMasterWindow
|
||||
{
|
||||
Title = Loc.GetString("ChemMaster 4000"),
|
||||
Title = Loc.GetString("chem-master-bound-user-interface-title"),
|
||||
};
|
||||
|
||||
_window.OpenCentered();
|
||||
@@ -73,7 +73,6 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
SendMessage(new UiActionMessage(action, null, null, null, pillAmount, bottleAmount));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
|
||||
@@ -66,9 +66,9 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Container")},
|
||||
new Label {Text = Loc.GetString("chem-master-window-container-label")},
|
||||
new Control {HorizontalExpand = true},
|
||||
(EjectButton = new Button {Text = Loc.GetString("Eject")})
|
||||
(EjectButton = new Button {Text = Loc.GetString("chem-master-window-eject-button")})
|
||||
}
|
||||
},
|
||||
//Wrap the container info in a PanelContainer so we can color it's background differently.
|
||||
@@ -91,7 +91,7 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("No container loaded.")
|
||||
Text = Loc.GetString("chem-master-window-no-container-loaded-text")
|
||||
}
|
||||
}
|
||||
}),
|
||||
@@ -106,10 +106,10 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Buffer")},
|
||||
new Label {Text = Loc.GetString("chem-master-window-buffer-text")},
|
||||
new Control {HorizontalExpand = true},
|
||||
(BufferTransferButton = new Button {Text = Loc.GetString("Transfer"), Pressed = BufferModeTransfer, StyleClasses = { StyleBase.ButtonOpenRight }}),
|
||||
(BufferDiscardButton = new Button {Text = Loc.GetString("Discard"), Pressed = !BufferModeTransfer, StyleClasses = { StyleBase.ButtonOpenLeft }})
|
||||
(BufferTransferButton = new Button {Text = Loc.GetString("chem-master-window-transfer-button"), Pressed = BufferModeTransfer, StyleClasses = { StyleBase.ButtonOpenRight }}),
|
||||
(BufferDiscardButton = new Button {Text = Loc.GetString("chem-master-window-discard-button"), Pressed = !BufferModeTransfer, StyleClasses = { StyleBase.ButtonOpenLeft }})
|
||||
}
|
||||
},
|
||||
|
||||
@@ -133,7 +133,7 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("Buffer empty.")
|
||||
Text = Loc.GetString("chem-master-window-buffer-empty-text")
|
||||
}
|
||||
}
|
||||
}),
|
||||
@@ -148,7 +148,7 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Packaging ")},
|
||||
new Label {Text = $"{Loc.GetString("chem-master-window-packaging-text")} "},
|
||||
}
|
||||
},
|
||||
|
||||
@@ -182,7 +182,7 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("Pills:")
|
||||
Text = $"{Loc.GetString("chem-master-window-pills-label")} "
|
||||
},
|
||||
|
||||
},
|
||||
@@ -204,12 +204,12 @@ namespace Content.Client.Chemistry.UI
|
||||
|
||||
var pillVolume = new Label
|
||||
{
|
||||
Text = " max 50u/each ",
|
||||
Text = $" {Loc.GetString("chem-master-window-max-pills-volume-text")} ",
|
||||
StyleClasses = {StyleNano.StyleClassLabelSecondaryColor}
|
||||
};
|
||||
PillInfo.AddChild((pillVolume));
|
||||
|
||||
CreatePills = new Button {Text = Loc.GetString("Create")};
|
||||
CreatePills = new Button {Text = Loc.GetString("chem-master-window-create-pill-button") };
|
||||
PillInfo.AddChild(CreatePills);
|
||||
|
||||
//Bottles
|
||||
@@ -219,7 +219,7 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("Bottles:")
|
||||
Text = Loc.GetString("cham-master-window-bottles-label")
|
||||
},
|
||||
|
||||
},
|
||||
@@ -241,12 +241,12 @@ namespace Content.Client.Chemistry.UI
|
||||
|
||||
var bottleVolume = new Label
|
||||
{
|
||||
Text = " max 30u/each ",
|
||||
Text = $" {Loc.GetString("chem-master-window-max-bottle-volume-text")} ",
|
||||
StyleClasses = {StyleNano.StyleClassLabelSecondaryColor}
|
||||
};
|
||||
BottleInfo.AddChild((bottleVolume));
|
||||
|
||||
CreateBottles = new Button {Text = Loc.GetString("Create")};
|
||||
CreateBottles = new Button {Text = Loc.GetString("chem-master-window-create-bottle-button") };
|
||||
BottleInfo.AddChild(CreateBottles);
|
||||
}
|
||||
|
||||
@@ -311,7 +311,7 @@ namespace Content.Client.Chemistry.UI
|
||||
|
||||
if (!state.HasBeaker)
|
||||
{
|
||||
ContainerInfo.Children.Add(new Label {Text = Loc.GetString("No container loaded.")});
|
||||
ContainerInfo.Children.Add(new Label {Text = Loc.GetString("chem-master-window-no-container-loaded-text") });
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -330,7 +330,7 @@ namespace Content.Client.Chemistry.UI
|
||||
|
||||
foreach (var reagent in state.ContainerReagents)
|
||||
{
|
||||
var name = Loc.GetString("Unknown reagent");
|
||||
var name = Loc.GetString("chem-master-window-unknown-reagent-text");
|
||||
//Try to the prototype for the given reagent. This gives us it's name.
|
||||
if (_prototypeManager.TryIndex(reagent.ReagentId, out ReagentPrototype? proto))
|
||||
{
|
||||
@@ -357,7 +357,7 @@ namespace Content.Client.Chemistry.UI
|
||||
MakeChemButton("5", ReagentUnit.New(5), reagent.ReagentId, false, StyleBase.ButtonOpenBoth),
|
||||
MakeChemButton("10", ReagentUnit.New(10), reagent.ReagentId, false, StyleBase.ButtonOpenBoth),
|
||||
MakeChemButton("25", ReagentUnit.New(25), reagent.ReagentId, false, StyleBase.ButtonOpenBoth),
|
||||
MakeChemButton("All", ReagentUnit.New(-1), reagent.ReagentId, false, StyleBase.ButtonOpenLeft),
|
||||
MakeChemButton(Loc.GetString("chem-master-window-buffer-all-amount"), ReagentUnit.New(-1), reagent.ReagentId, false, StyleBase.ButtonOpenLeft),
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -367,14 +367,14 @@ namespace Content.Client.Chemistry.UI
|
||||
|
||||
if (!state.BufferReagents.Any())
|
||||
{
|
||||
BufferInfo.Children.Add(new Label {Text = Loc.GetString("Buffer empty.")});
|
||||
BufferInfo.Children.Add(new Label {Text = Loc.GetString("chem-master-window-buffer-empty-text") });
|
||||
return;
|
||||
}
|
||||
|
||||
var bufferHBox = new HBoxContainer();
|
||||
BufferInfo.AddChild(bufferHBox);
|
||||
|
||||
var bufferLabel = new Label {Text = "buffer: "};
|
||||
var bufferLabel = new Label { Text = $"{Loc.GetString("chem-master-window-buffer-label")} " };
|
||||
bufferHBox.AddChild(bufferLabel);
|
||||
var bufferVol = new Label
|
||||
{
|
||||
@@ -385,7 +385,7 @@ namespace Content.Client.Chemistry.UI
|
||||
|
||||
foreach (var reagent in state.BufferReagents)
|
||||
{
|
||||
var name = Loc.GetString("Unknown reagent");
|
||||
var name = Loc.GetString("chem-master-window-unknown-reagent-text");
|
||||
//Try to the prototype for the given reagent. This gives us it's name.
|
||||
if (_prototypeManager.TryIndex(reagent.ReagentId, out ReagentPrototype? proto))
|
||||
{
|
||||
@@ -413,7 +413,7 @@ namespace Content.Client.Chemistry.UI
|
||||
MakeChemButton("5", ReagentUnit.New(5), reagent.ReagentId, true, StyleBase.ButtonOpenBoth),
|
||||
MakeChemButton("10", ReagentUnit.New(10), reagent.ReagentId, true, StyleBase.ButtonOpenBoth),
|
||||
MakeChemButton("25", ReagentUnit.New(25), reagent.ReagentId, true, StyleBase.ButtonOpenBoth),
|
||||
MakeChemButton("All", ReagentUnit.New(-1), reagent.ReagentId, true, StyleBase.ButtonOpenLeft),
|
||||
MakeChemButton(Loc.GetString("chem-master-window-buffer-all-amount"), ReagentUnit.New(-1), reagent.ReagentId, true, StyleBase.ButtonOpenLeft),
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Shared.Chemistry.Dispenser;
|
||||
using JetBrains.Annotations;
|
||||
@@ -35,7 +35,7 @@ namespace Content.Client.Chemistry.UI
|
||||
//Setup window layout/elements
|
||||
_window = new ReagentDispenserWindow
|
||||
{
|
||||
Title = Loc.GetString("Reagent dispenser"),
|
||||
Title = Loc.GetString("reagent-dispenser-bound-user-interface-title"),
|
||||
};
|
||||
|
||||
_window.OpenCentered();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using Content.Client.Stylesheets;
|
||||
using Content.Shared.Chemistry.Dispenser;
|
||||
using Content.Shared.Chemistry.Reagent;
|
||||
@@ -81,7 +81,7 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Amount")},
|
||||
new Label {Text = Loc.GetString("reagent-dispenser-window-amount-to-dispense-label")},
|
||||
//Padding
|
||||
new Control {MinSize = (20, 0)},
|
||||
(DispenseButton1 = new Button {Text = "1", Group = dispenseAmountGroup, StyleClasses = { StyleBase.ButtonOpenRight }}),
|
||||
@@ -108,9 +108,9 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Container: ")},
|
||||
(ClearButton = new Button {Text = Loc.GetString("Clear"), StyleClasses = {StyleBase.ButtonOpenRight}}),
|
||||
(EjectButton = new Button {Text = Loc.GetString("Eject"), StyleClasses = {StyleBase.ButtonOpenLeft}})
|
||||
new Label {Text = Loc.GetString("reagent-dispenser-window-container-label") + " "},
|
||||
(ClearButton = new Button {Text = Loc.GetString("reagent-dispenser-window-clear-button"), StyleClasses = {StyleBase.ButtonOpenRight}}),
|
||||
(EjectButton = new Button {Text = Loc.GetString("reagent-dispenser-window-eject-button"), StyleClasses = {StyleBase.ButtonOpenLeft}})
|
||||
}
|
||||
},
|
||||
//Wrap the container info in a PanelContainer so we can color it's background differently.
|
||||
@@ -133,7 +133,7 @@ namespace Content.Client.Chemistry.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("No container loaded.")
|
||||
Text = Loc.GetString("reagent-dispenser-window-no-container-loaded-text")
|
||||
}
|
||||
}
|
||||
}),
|
||||
@@ -163,7 +163,7 @@ namespace Content.Client.Chemistry.UI
|
||||
}
|
||||
else
|
||||
{
|
||||
ChemicalList.AddChild(new Button {Text = Loc.GetString("Reagent name not found")});
|
||||
ChemicalList.AddChild(new Button {Text = Loc.GetString("reagent-dispenser-window-reagent-name-not-found-text") });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -259,7 +259,7 @@ namespace Content.Client.Chemistry.UI
|
||||
|
||||
if (!state.HasBeaker)
|
||||
{
|
||||
ContainerInfo.Children.Add(new Label {Text = Loc.GetString("No container loaded.")});
|
||||
ContainerInfo.Children.Add(new Label {Text = Loc.GetString("reagent-dispenser-window-no-container-loaded-text") });
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -283,7 +283,7 @@ namespace Content.Client.Chemistry.UI
|
||||
|
||||
foreach (var reagent in state.ContainerReagents)
|
||||
{
|
||||
var name = Loc.GetString("Unknown reagent");
|
||||
var name = Loc.GetString("reagent-dispenser-window-unknown-reagent-text");
|
||||
//Try to the prototype for the given reagent. This gives us it's name.
|
||||
if (_prototypeManager.TryIndex(reagent.ReagentId, out ReagentPrototype? proto))
|
||||
{
|
||||
@@ -304,7 +304,7 @@ namespace Content.Client.Chemistry.UI
|
||||
},
|
||||
new Label
|
||||
{
|
||||
Text = $"{reagent.Quantity}u",
|
||||
Text = Loc.GetString("reagent-dispenser-window-quantity-label-text", ("quantity", reagent.Quantity)),
|
||||
StyleClasses = {StyleNano.StyleClassPowerStateGood}
|
||||
}
|
||||
}
|
||||
@@ -319,7 +319,7 @@ namespace Content.Client.Chemistry.UI
|
||||
new Label {Text = $"{name}: "},
|
||||
new Label
|
||||
{
|
||||
Text = $"{reagent.Quantity}u",
|
||||
Text = Loc.GetString("reagent-dispenser-window-quantity-label-text", ("quantity", reagent.Quantity)),
|
||||
StyleClasses = {StyleNano.StyleClassLabelSecondaryColor}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.CustomControls;
|
||||
using Robust.Shared.Localization;
|
||||
@@ -13,7 +13,7 @@ namespace Content.Client.Cloning.UI
|
||||
public AcceptCloningWindow()
|
||||
{
|
||||
|
||||
Title = Loc.GetString("Cloning Machine");
|
||||
Title = Loc.GetString("accept-cloning-window-title");
|
||||
|
||||
Contents.AddChild(new VBoxContainer
|
||||
{
|
||||
@@ -25,7 +25,7 @@ namespace Content.Client.Cloning.UI
|
||||
{
|
||||
(new Label()
|
||||
{
|
||||
Text = Loc.GetString("You are being cloned!\nTransfer your soul to the clone body?")
|
||||
Text = Loc.GetString("accept-cloning-window-prompt-text-part")
|
||||
}),
|
||||
new HBoxContainer
|
||||
{
|
||||
@@ -34,7 +34,7 @@ namespace Content.Client.Cloning.UI
|
||||
{
|
||||
(AcceptButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Yes"),
|
||||
Text = Loc.GetString("accept-cloning-window-accept-button"),
|
||||
}),
|
||||
|
||||
(new Control()
|
||||
@@ -44,7 +44,7 @@ namespace Content.Client.Cloning.UI
|
||||
|
||||
(DenyButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("No"),
|
||||
Text = Loc.GetString("accept-cloning-window-deny-button"),
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Content.Client.Cloning.UI
|
||||
SetSize = MinSize = (250, 300);
|
||||
_scanManager = scanManager;
|
||||
|
||||
Title = Loc.GetString("Cloning Machine");
|
||||
Title = Loc.GetString("cloning-pod-window-title");
|
||||
|
||||
Contents.AddChild(new VBoxContainer
|
||||
{
|
||||
@@ -54,7 +54,7 @@ namespace Content.Client.Cloning.UI
|
||||
{
|
||||
(CloneButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Clone")
|
||||
Text = Loc.GetString("cloning-pod-clone-button")
|
||||
})
|
||||
}
|
||||
},
|
||||
@@ -72,7 +72,7 @@ namespace Content.Client.Cloning.UI
|
||||
}),
|
||||
(EjectButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Eject Body")
|
||||
Text = Loc.GetString("cloning-pod-eject-body-button")
|
||||
}),
|
||||
new HBoxContainer
|
||||
{
|
||||
@@ -80,11 +80,11 @@ namespace Content.Client.Cloning.UI
|
||||
{
|
||||
new Label()
|
||||
{
|
||||
Text = Loc.GetString("Neural Interface: ")
|
||||
Text = Loc.GetString($"{Loc.GetString("cloning-pod-neural-interface-label")} ")
|
||||
},
|
||||
(_mindState = new Label()
|
||||
{
|
||||
Text = Loc.GetString("No Activity"),
|
||||
Text = Loc.GetString("cloning-pod-no-activity-text"),
|
||||
FontColorOverride = Color.Red
|
||||
}),
|
||||
}
|
||||
@@ -108,7 +108,7 @@ namespace Content.Client.Cloning.UI
|
||||
|
||||
_cloningProgressBar.MaxValue = state.Maximum;
|
||||
UpdateProgress();
|
||||
_mindState.Text = Loc.GetString(state.MindPresent ? "Consciousness Detected" : "No Activity");
|
||||
_mindState.Text = Loc.GetString(state.MindPresent ? "cloning-pod-mind-present-text" : "cloning-pod-no-activity-text");
|
||||
_mindState.FontColorOverride = state.MindPresent ? Color.Green : Color.Red;
|
||||
}
|
||||
|
||||
@@ -235,7 +235,7 @@ namespace Content.Client.Cloning.UI
|
||||
{
|
||||
VerticalAlignment = VAlignment.Center,
|
||||
HorizontalExpand = true,
|
||||
Text = "",
|
||||
Text = string.Empty,
|
||||
ClipText = true
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
using Content.Shared.Examine;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.IoC;
|
||||
@@ -23,7 +23,7 @@ namespace Content.Client.Construction
|
||||
{
|
||||
if (Prototype == null) return;
|
||||
|
||||
message.AddMarkup(Loc.GetString("Building: [color=cyan]{0}[/color]\n", Prototype.Name));
|
||||
message.AddMarkup(Loc.GetString("construction-ghost-examine-message", ("name", Prototype.Name)));
|
||||
|
||||
if (!_prototypeManager.TryIndex(Prototype.Graph, out ConstructionGraphPrototype? graph)) return;
|
||||
var startNode = graph.Nodes[Prototype.StartNode];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using Robust.Client.AutoGenerated;
|
||||
using Robust.Client.Graphics;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
@@ -84,9 +84,9 @@ namespace Content.Client.Construction.UI
|
||||
IoCManager.InjectDependencies(this);
|
||||
RobustXamlLoader.Load(this);
|
||||
|
||||
Title = Loc.GetString("Construction");
|
||||
Title = Loc.GetString("construction-menu-title");
|
||||
|
||||
BuildButton.Text = Loc.GetString("Place construction ghost");
|
||||
BuildButton.Text = Loc.GetString("construction-menu-place-ghost");
|
||||
RecipesList.OnItemSelected += obj => RecipeSelected?.Invoke(this, obj.ItemList[obj.ItemIndex]);
|
||||
RecipesList.OnItemDeselected += _ => RecipeSelected?.Invoke(this, null);
|
||||
|
||||
@@ -97,11 +97,11 @@ namespace Content.Client.Construction.UI
|
||||
PopulateRecipes?.Invoke(this, (SearchBar.Text, Categories[obj.Id]));
|
||||
};
|
||||
|
||||
BuildButton.Text = Loc.GetString("Place construction ghost");
|
||||
BuildButton.Text = Loc.GetString("construction-menu-place-ghost");
|
||||
BuildButton.OnToggled += args => BuildButtonToggled?.Invoke(this, args.Pressed);
|
||||
ClearButton.Text = Loc.GetString("Clear All");
|
||||
ClearButton.Text = Loc.GetString("construction-menu-clear-all");
|
||||
ClearButton.OnPressed += _ => ClearAllGhosts?.Invoke(this, EventArgs.Empty);
|
||||
EraseButton.Text = Loc.GetString("Eraser Mode");
|
||||
EraseButton.Text = Loc.GetString("construction-menu-eraser-mode");
|
||||
EraseButton.OnToggled += args => EraseButtonToggled?.Invoke(this, args.Pressed);
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ namespace Content.Client.Construction.UI
|
||||
public void SetRecipeInfo(string name, string description, Texture iconTexture, bool isItem)
|
||||
{
|
||||
BuildButton.Disabled = false;
|
||||
BuildButton.Text = Loc.GetString(isItem ? "Place construction ghost" : "Craft");
|
||||
BuildButton.Text = Loc.GetString(isItem ? "construction-menu-place-ghost" : "construction-menu-craft");
|
||||
TargetName.SetMessage(name);
|
||||
TargetDesc.SetMessage(description);
|
||||
TargetTexture.Texture = iconTexture;
|
||||
|
||||
@@ -61,11 +61,11 @@ namespace Content.Client.Crayon
|
||||
}
|
||||
|
||||
_parent._uiUpdateNeeded = false;
|
||||
_label.SetMarkup(Loc.GetString("Drawing: [color={0}]{1}[/color] ({2}/{3})",
|
||||
_parent.Color,
|
||||
_parent.SelectedState,
|
||||
_parent.Charges,
|
||||
_parent.Capacity));
|
||||
_label.SetMarkup(Loc.GetString("crayon-drawing-label",
|
||||
("color",_parent.Color),
|
||||
("state",_parent.SelectedState),
|
||||
("charges", _parent.Charges),
|
||||
("capacity",_parent.Capacity)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using Content.Client.Stylesheets;
|
||||
using Content.Shared.Crayon;
|
||||
using Robust.Client.Graphics;
|
||||
@@ -24,7 +24,7 @@ namespace Content.Client.Crayon.UI
|
||||
public CrayonWindow(CrayonBoundUserInterface owner)
|
||||
{
|
||||
MinSize = SetSize = (250, 300);
|
||||
Title = Loc.GetString("Crayon");
|
||||
Title = Loc.GetString("crayon-window-title");
|
||||
Owner = owner;
|
||||
|
||||
var vbox = new VBoxContainer();
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace Content.Client.Credits
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
|
||||
Title = Loc.GetString("Credits");
|
||||
Title = Loc.GetString("credits-window-title");
|
||||
|
||||
var rootContainer = new TabContainer();
|
||||
|
||||
@@ -56,9 +56,9 @@ namespace Content.Client.Credits
|
||||
rootContainer.AddChild(patronsList);
|
||||
rootContainer.AddChild(licensesList);
|
||||
|
||||
TabContainer.SetTabTitle(patronsList, Loc.GetString("Patrons"));
|
||||
TabContainer.SetTabTitle(ss14ContributorsList, Loc.GetString("Credits"));
|
||||
TabContainer.SetTabTitle(licensesList, Loc.GetString("Open Source Licenses"));
|
||||
TabContainer.SetTabTitle(patronsList, Loc.GetString("credits-window-patrons-tab"));
|
||||
TabContainer.SetTabTitle(ss14ContributorsList, Loc.GetString("credits-window-ss14contributorslist-tab"));
|
||||
TabContainer.SetTabTitle(licensesList, Loc.GetString("credits-window-licenses-tab"));
|
||||
|
||||
PopulatePatronsList(patronsList);
|
||||
PopulateCredits(ss14ContributorsList);
|
||||
@@ -106,7 +106,7 @@ namespace Content.Client.Credits
|
||||
Button patronButton;
|
||||
vBox.AddChild(patronButton = new Button
|
||||
{
|
||||
Text = "Become a Patron",
|
||||
Text = Loc.GetString("credits-window-become-patron-button"),
|
||||
HorizontalAlignment = HAlignment.Center
|
||||
});
|
||||
|
||||
@@ -163,8 +163,8 @@ namespace Content.Client.Credits
|
||||
SeparationOverride = 20,
|
||||
Children =
|
||||
{
|
||||
new Label {Text = "Want to get on this list?"},
|
||||
(contributeButton = new Button {Text = "Contribute!"})
|
||||
new Label {Text = Loc.GetString("credits-window-contributor-encouragement-label") },
|
||||
(contributeButton = new Button {Text = Loc.GetString("credits-window-contribute-button")})
|
||||
}
|
||||
});
|
||||
|
||||
@@ -194,10 +194,10 @@ namespace Content.Client.Credits
|
||||
vBox.AddChild(label);
|
||||
}
|
||||
|
||||
AddSection("Space Station 14 Contributors", "GitHub.txt");
|
||||
AddSection("Space Station 13 Codebases", "SpaceStation13.txt");
|
||||
AddSection("Original Space Station 13 Remake Team", "OriginalRemake.txt");
|
||||
AddSection("Special Thanks", "SpecialThanks.txt", true);
|
||||
AddSection(Loc.GetString("credits-window-contributors-section-title"), "GitHub.txt");
|
||||
AddSection(Loc.GetString("credits-window-codebases-section-title"), "SpaceStation13.txt");
|
||||
AddSection(Loc.GetString("credits-window-original-remake-team-section-title"), "OriginalRemake.txt");
|
||||
AddSection(Loc.GetString("credits-window-special-thanks-section-title"), "SpecialThanks.txt", true);
|
||||
|
||||
contributorsList.AddChild(vBox);
|
||||
|
||||
@@ -205,6 +205,7 @@ namespace Content.Client.Credits
|
||||
IoCManager.Resolve<IUriOpener>().OpenUri(UILinks.GitHub);
|
||||
}
|
||||
|
||||
// TODO this doesn't looked used anywhere
|
||||
private static IEnumerable<string> Lines(TextReader reader)
|
||||
{
|
||||
while (true)
|
||||
|
||||
@@ -44,9 +44,9 @@ namespace Content.Client.Disposal.UI
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("State: ")},
|
||||
new Label {Text = $"{Loc.GetString("disposal-mailing-unit-window-state-label")} "},
|
||||
new Control {MinSize = (4, 0)},
|
||||
(_unitState = new Label {Text = Loc.GetString("Ready")})
|
||||
(_unitState = new Label {Text = Loc.GetString("disposal-mailing-unit-window-ready-state")})
|
||||
}
|
||||
},
|
||||
new Control {MinSize = (0, 10)},
|
||||
@@ -55,7 +55,7 @@ namespace Content.Client.Disposal.UI
|
||||
HorizontalExpand = true,
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Pressure:")},
|
||||
new Label {Text = Loc.GetString("disposal-mailing-unit-pressure-label")},
|
||||
new Control {MinSize = (4, 0)},
|
||||
(_pressureBar = new ProgressBar
|
||||
{
|
||||
@@ -78,7 +78,7 @@ namespace Content.Client.Disposal.UI
|
||||
HorizontalExpand = true,
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Handle:")},
|
||||
new Label {Text = Loc.GetString("disposal-mailing-unit-handle-label")},
|
||||
new Control
|
||||
{
|
||||
MinSize = (4, 0),
|
||||
@@ -87,7 +87,7 @@ namespace Content.Client.Disposal.UI
|
||||
(Engage = new Button
|
||||
{
|
||||
MinSize = (16, 0),
|
||||
Text = Loc.GetString("Engage"),
|
||||
Text = Loc.GetString("disposal-mailing-unit-engage-button"),
|
||||
ToggleMode = true,
|
||||
Disabled = true
|
||||
})
|
||||
@@ -99,7 +99,7 @@ namespace Content.Client.Disposal.UI
|
||||
HorizontalExpand = true,
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Eject:")},
|
||||
new Label {Text = Loc.GetString("disposal-mailing-unit-eject-label")},
|
||||
new Control
|
||||
{
|
||||
MinSize = (4, 0),
|
||||
@@ -108,7 +108,7 @@ namespace Content.Client.Disposal.UI
|
||||
(Eject = new Button
|
||||
{
|
||||
MinSize = (16, 0),
|
||||
Text = Loc.GetString("Eject Contents"),
|
||||
Text = Loc.GetString("disposal-mailing-unit-eject-button"),
|
||||
//HorizontalAlignment = HAlignment.Right
|
||||
})
|
||||
}
|
||||
@@ -118,7 +118,7 @@ namespace Content.Client.Disposal.UI
|
||||
{
|
||||
Children =
|
||||
{
|
||||
(Power = new CheckButton {Text = Loc.GetString("Power")}),
|
||||
(Power = new CheckButton {Text = Loc.GetString("disposal-mailing-unit-power-button")}),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -134,7 +134,7 @@ namespace Content.Client.Disposal.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("Select a destination:")
|
||||
Text = Loc.GetString("disposal-mailing-unit-destination-select-label")
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -176,7 +176,7 @@ namespace Content.Client.Disposal.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("This unit:")
|
||||
Text = Loc.GetString("disposal-mailing-unit-unit-self-reference")
|
||||
},
|
||||
new Control
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Shared.Disposal.Components;
|
||||
using Content.Shared.Disposal.Components;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.CustomControls;
|
||||
@@ -18,13 +18,13 @@ namespace Content.Client.Disposal.UI
|
||||
public DisposalRouterWindow()
|
||||
{
|
||||
MinSize = SetSize = (500, 110);
|
||||
Title = Loc.GetString("Disposal Router");
|
||||
Title = Loc.GetString("disposal-router-window-title");
|
||||
|
||||
Contents.AddChild(new VBoxContainer
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Tags:")},
|
||||
new Label {Text = Loc.GetString("disposal-router-window-tags-label")},
|
||||
new Control {MinSize = (0, 10)},
|
||||
new HBoxContainer
|
||||
{
|
||||
@@ -34,11 +34,11 @@ namespace Content.Client.Disposal.UI
|
||||
{
|
||||
HorizontalExpand = true,
|
||||
MinSize = (320, 0),
|
||||
ToolTip = Loc.GetString("A comma separated list of tags"),
|
||||
ToolTip = Loc.GetString("disposal-router-window-tag-input-tooltip"),
|
||||
IsValid = tags => TagRegex.IsMatch(tags)
|
||||
}),
|
||||
new Control {MinSize = (10, 0)},
|
||||
(Confirm = new Button {Text = Loc.GetString("Confirm")})
|
||||
(Confirm = new Button {Text = Loc.GetString("disposal-router-window-tag-input-confirm-button")})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Shared.Disposal.Components;
|
||||
using Content.Shared.Disposal.Components;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.CustomControls;
|
||||
@@ -18,13 +18,13 @@ namespace Content.Client.Disposal.UI
|
||||
public DisposalTaggerWindow()
|
||||
{
|
||||
MinSize = SetSize = (500, 110);
|
||||
Title = Loc.GetString("Disposal Tagger");
|
||||
Title = Loc.GetString("disposal-tagger-window-title");
|
||||
|
||||
Contents.AddChild(new VBoxContainer
|
||||
{
|
||||
Children =
|
||||
{
|
||||
new Label {Text = Loc.GetString("Tag:")},
|
||||
new Label {Text = Loc.GetString("disposal-tagger-window-tag-input-label")},
|
||||
new Control {MinSize = (0, 10)},
|
||||
new HBoxContainer
|
||||
{
|
||||
@@ -37,7 +37,7 @@ namespace Content.Client.Disposal.UI
|
||||
IsValid = tag => TagRegex.IsMatch(tag)
|
||||
}),
|
||||
new Control {MinSize = (10, 0)},
|
||||
(Confirm = new Button {Text = Loc.GetString("Confirm")})
|
||||
(Confirm = new Button {Text = Loc.GetString("disposal-tagger-window-tag-confirm-button")})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -343,7 +343,7 @@ namespace Content.Client.DragDrop
|
||||
|
||||
if (outOfRange)
|
||||
{
|
||||
_playerManager.LocalPlayer?.ControlledEntity?.PopupMessage(Loc.GetString("You can't reach there!"));
|
||||
_playerManager.LocalPlayer?.ControlledEntity?.PopupMessage(Loc.GetString("drag-drop-system-out-of-range-text"));
|
||||
}
|
||||
|
||||
_dragDropHelper.EndDrag();
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.Client.Examine
|
||||
public override void GetData(IEntity user, IEntity target, VerbData data)
|
||||
{
|
||||
data.Visibility = VerbVisibility.Visible;
|
||||
data.Text = Loc.GetString("Examine");
|
||||
data.Text = Loc.GetString("examine-verb-name");
|
||||
data.IconTexture = "/Textures/Interface/VerbIcons/examine.svg.192dpi.png";
|
||||
}
|
||||
|
||||
|
||||
@@ -13,9 +13,9 @@ namespace Content.Client.Ghost
|
||||
{
|
||||
public class GhostGui : Control
|
||||
{
|
||||
private readonly Button _returnToBody = new() {Text = Loc.GetString("Return to body")};
|
||||
private readonly Button _ghostWarp = new() {Text = Loc.GetString("Ghost Warp")};
|
||||
private readonly Button _ghostRoles = new() {Text = Loc.GetString("Ghost Roles")};
|
||||
private readonly Button _returnToBody = new() {Text = Loc.GetString("ghost-gui-return-to-body-button") };
|
||||
private readonly Button _ghostWarp = new() {Text = Loc.GetString("ghost-gui-ghost-warp-button") };
|
||||
private readonly Button _ghostRoles = new() {Text = Loc.GetString("ghost-gui-ghost-roles-button") };
|
||||
private readonly GhostComponent _owner;
|
||||
|
||||
public GhostTargetWindow? TargetWindow { get; }
|
||||
@@ -86,7 +86,7 @@ namespace Content.Client.Ghost
|
||||
public GhostTargetWindow(GhostComponent owner, IEntityNetworkManager netManager)
|
||||
{
|
||||
MinSize = SetSize = (300, 450);
|
||||
Title = "Ghost Warp";
|
||||
Title = Loc.GetString("ghost-target-window-title");
|
||||
_owner = owner;
|
||||
_netManager = netManager;
|
||||
|
||||
@@ -146,7 +146,7 @@ namespace Content.Client.Ghost
|
||||
{
|
||||
var currentButtonRef = new Button
|
||||
{
|
||||
Text = $"Warp: {name}",
|
||||
Text = Loc.GetString("ghost-target-window-current-button", ("name", name)),
|
||||
TextAlign = Label.AlignMode.Right,
|
||||
HorizontalAlignment = HAlignment.Center,
|
||||
VerticalAlignment = VAlignment.Center,
|
||||
|
||||
@@ -71,7 +71,7 @@ namespace Content.Client.Gravity
|
||||
|
||||
Owner = ui;
|
||||
|
||||
Title = Loc.GetString("Gravity Generator Control");
|
||||
Title = Loc.GetString("gravity-generator-window-title");
|
||||
|
||||
var vBox = new VBoxContainer
|
||||
{
|
||||
@@ -79,12 +79,12 @@ namespace Content.Client.Gravity
|
||||
};
|
||||
Status = new Label
|
||||
{
|
||||
Text = Loc.GetString("Current Status: " + (Owner.IsOn ? "On" : "Off")),
|
||||
Text = $"{Loc.GetString("gravity-generator-window-status-label")} {Loc.GetString(Owner.IsOn ? "gravity-generator-window-is-on" : "gravity-generator-window-is-off")}",
|
||||
FontColorOverride = Owner.IsOn ? Color.ForestGreen : Color.Red
|
||||
};
|
||||
Switch = new Button
|
||||
{
|
||||
Text = Loc.GetString(Owner.IsOn ? "Turn Off" : "Turn On"),
|
||||
Text = Loc.GetString(Owner.IsOn ? "gravity-generator-window-turn-off-button" : "gravity-generator-window-turn-on-button"),
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
MinSize = new Vector2(150, 60)
|
||||
};
|
||||
@@ -97,9 +97,9 @@ namespace Content.Client.Gravity
|
||||
|
||||
public void UpdateButton()
|
||||
{
|
||||
Status.Text = Loc.GetString("Current Status: " + (Owner.IsOn ? "On" : "Off"));
|
||||
Status.Text = $"{Loc.GetString("gravity-generator-window-status-label")} {Loc.GetString(Owner.IsOn ? "gravity-generator-window-is-on" : "gravity-generator-window-is-off")}";
|
||||
Status.FontColorOverride = Owner.IsOn ? Color.ForestGreen : Color.Red;
|
||||
Switch.Text = Loc.GetString(Owner.IsOn ? "Turn Off" : "Turn On");
|
||||
Switch.Text = Loc.GetString(Owner.IsOn ? "gravity-generator-window-turn-off-button" : "gravity-generator-window-turn-on-button");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,7 +200,7 @@ namespace Content.Client.HUD
|
||||
// Escape
|
||||
_buttonEscapeMenu = new TopButton(escapeTexture, EngineKeyFunctions.EscapeMenu, _inputManager)
|
||||
{
|
||||
ToolTip = Loc.GetString("Open escape menu."),
|
||||
ToolTip = Loc.GetString("game-hud-open-escape-menu-button-tooltip"),
|
||||
MinSize = (70, 64),
|
||||
StyleClasses = {StyleBase.ButtonOpenRight}
|
||||
};
|
||||
@@ -212,7 +212,7 @@ namespace Content.Client.HUD
|
||||
// Character
|
||||
_buttonCharacterMenu = new TopButton(characterTexture, ContentKeyFunctions.OpenCharacterMenu, _inputManager)
|
||||
{
|
||||
ToolTip = Loc.GetString("Open character menu."),
|
||||
ToolTip = Loc.GetString("game-hud-open-character-menu-button-tooltip"),
|
||||
MinSize = topMinSize,
|
||||
Visible = false,
|
||||
StyleClasses = {StyleBase.ButtonSquare}
|
||||
@@ -225,7 +225,7 @@ namespace Content.Client.HUD
|
||||
// Inventory
|
||||
_buttonInventoryMenu = new TopButton(inventoryTexture, ContentKeyFunctions.OpenInventoryMenu, _inputManager)
|
||||
{
|
||||
ToolTip = Loc.GetString("Open inventory menu."),
|
||||
ToolTip = Loc.GetString("game-hud-open-inventory-menu-button-tooltip"),
|
||||
MinSize = topMinSize,
|
||||
Visible = false,
|
||||
StyleClasses = {StyleBase.ButtonSquare}
|
||||
@@ -238,7 +238,7 @@ namespace Content.Client.HUD
|
||||
// Crafting
|
||||
_buttonCraftingMenu = new TopButton(craftingTexture, ContentKeyFunctions.OpenCraftingMenu, _inputManager)
|
||||
{
|
||||
ToolTip = Loc.GetString("Open crafting menu."),
|
||||
ToolTip = Loc.GetString("game-hud-open-crafting-menu-button-tooltip"),
|
||||
MinSize = topMinSize,
|
||||
Visible = false,
|
||||
StyleClasses = {StyleBase.ButtonSquare}
|
||||
@@ -251,7 +251,7 @@ namespace Content.Client.HUD
|
||||
// Actions
|
||||
_buttonActionsMenu = new TopButton(actionsTexture, ContentKeyFunctions.OpenActionsMenu, _inputManager)
|
||||
{
|
||||
ToolTip = Loc.GetString("Open actions menu."),
|
||||
ToolTip = Loc.GetString("game-hud-open-actions-menu-button-tooltip"),
|
||||
MinSize = topMinSize,
|
||||
Visible = false,
|
||||
StyleClasses = {StyleBase.ButtonSquare}
|
||||
@@ -264,7 +264,7 @@ namespace Content.Client.HUD
|
||||
// Admin
|
||||
_buttonAdminMenu = new TopButton(adminTexture, ContentKeyFunctions.OpenAdminMenu, _inputManager)
|
||||
{
|
||||
ToolTip = Loc.GetString("Open admin menu."),
|
||||
ToolTip = Loc.GetString("game-hud-open-admin-menu-button-tooltip"),
|
||||
MinSize = topMinSize,
|
||||
Visible = false,
|
||||
StyleClasses = {StyleBase.ButtonSquare}
|
||||
@@ -277,7 +277,7 @@ namespace Content.Client.HUD
|
||||
// Sandbox
|
||||
_buttonSandboxMenu = new TopButton(sandboxTexture, ContentKeyFunctions.OpenSandboxWindow, _inputManager)
|
||||
{
|
||||
ToolTip = Loc.GetString("Open sandbox menu."),
|
||||
ToolTip = Loc.GetString("game-hud-open-sandbox-menu-button-tooltip"),
|
||||
MinSize = topMinSize,
|
||||
Visible = false,
|
||||
StyleClasses = {StyleBase.ButtonSquare}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Client.Changelog;
|
||||
using Content.Client.Changelog;
|
||||
using Content.Client.Credits;
|
||||
using Content.Client.Links;
|
||||
using Robust.Client.UserInterface;
|
||||
@@ -26,16 +26,16 @@ namespace Content.Client.Info
|
||||
|
||||
var uriOpener = IoCManager.Resolve<IUriOpener>();
|
||||
|
||||
var discordButton = new Button {Text = Loc.GetString("Discord")};
|
||||
var discordButton = new Button {Text = Loc.GetString("server-info-discord-button") };
|
||||
discordButton.OnPressed += args => uriOpener.OpenUri(UILinks.Discord);
|
||||
|
||||
var websiteButton = new Button {Text = Loc.GetString("Website")};
|
||||
var websiteButton = new Button {Text = Loc.GetString("server-info-website-button") };
|
||||
websiteButton.OnPressed += args => uriOpener.OpenUri(UILinks.Website);
|
||||
|
||||
var reportButton = new Button { Text = Loc.GetString("Report Bugs") };
|
||||
var reportButton = new Button { Text = Loc.GetString("server-info-report-button") };
|
||||
reportButton.OnPressed += args => uriOpener.OpenUri(UILinks.BugReport);
|
||||
|
||||
var creditsButton = new Button { Text = Loc.GetString("Credits") };
|
||||
var creditsButton = new Button { Text = Loc.GetString("server-info-credits-button") };
|
||||
creditsButton.OnPressed += args => new CreditsWindow().Open();
|
||||
|
||||
var changelogButton = new ChangelogButton
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Client.HUD;
|
||||
using Content.Client.Items.Managers;
|
||||
@@ -284,7 +284,7 @@ namespace Content.Client.Inventory
|
||||
|
||||
public HumanInventoryWindow(IGameHud gameHud)
|
||||
{
|
||||
Title = Loc.GetString("Your Inventory");
|
||||
Title = Loc.GetString("human-inventory-window-title");
|
||||
Resizable = false;
|
||||
|
||||
var buttonDict = new Dictionary<Slots, ItemSlotButton>();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using Content.Client.Strip;
|
||||
using Content.Shared.Strip.Components;
|
||||
using JetBrains.Annotations;
|
||||
@@ -28,7 +28,7 @@ namespace Content.Client.Inventory
|
||||
{
|
||||
base.Open();
|
||||
|
||||
_strippingMenu = new StrippingMenu($"{Owner.Owner.Name}'s inventory");
|
||||
_strippingMenu = new StrippingMenu($"{Loc.GetString("strippable-bound-user-interface-stripping-menu-title",("ownerName", Owner.Owner.Name))}");
|
||||
|
||||
_strippingMenu.OnClose += Close;
|
||||
_strippingMenu.OpenCentered();
|
||||
@@ -76,7 +76,7 @@ namespace Content.Client.Inventory
|
||||
{
|
||||
foreach (var (id, name) in Handcuffs)
|
||||
{
|
||||
_strippingMenu.AddButton(Loc.GetString("Restraints"), name, (ev) =>
|
||||
_strippingMenu.AddButton(Loc.GetString("strippable-bound-user-interface-stripping-menu-handcuffs-button"), name, (ev) =>
|
||||
{
|
||||
SendMessage(new StrippingHandcuffButtonPressed(id));
|
||||
});
|
||||
|
||||
@@ -90,8 +90,8 @@ namespace Content.Client.Kitchen.UI
|
||||
{
|
||||
var currentlySelectedTimeButton = (Button) _menu.CookTimeButtonVbox.GetChild(cState.ActiveButtonIndex);
|
||||
currentlySelectedTimeButton.Pressed = true;
|
||||
var label = cState.ActiveButtonIndex <= 0 ? Loc.GetString("INSTANT") : cState.CurrentCookTime.ToString();
|
||||
_menu.CookTimeInfoLabel.Text = $"{Loc.GetString("COOK TIME")}: {label}";
|
||||
var label = cState.ActiveButtonIndex <= 0 ? Loc.GetString("microwave-bound-user-interface-instant-button") : cState.CurrentCookTime.ToString();
|
||||
_menu.CookTimeInfoLabel.Text = $"{Loc.GetString("microwave-bound-user-interface-cook-time-label")}: {label}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ namespace Content.Client.Kitchen.UI
|
||||
SetSize = MinSize = (512, 256);
|
||||
|
||||
Owner = owner;
|
||||
Title = Loc.GetString("Microwave");
|
||||
Title = Loc.GetString("microwave-menu-title");
|
||||
DisableCookingPanelOverlay = new PanelContainer
|
||||
{
|
||||
MouseFilter = MouseFilterMode.Stop,
|
||||
@@ -233,14 +233,14 @@ namespace Content.Client.Kitchen.UI
|
||||
|
||||
StartButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Start"),
|
||||
Text = Loc.GetString("microwave-menu-start-button"),
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
};
|
||||
|
||||
EjectButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Eject All Contents"),
|
||||
ToolTip = Loc.GetString("This vaporizes all reagents, but ejects any solids."),
|
||||
Text = Loc.GetString("microwave-menu-eject-all-text"),
|
||||
ToolTip = Loc.GetString("microwave-menu-eject-all-tooltip"),
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
};
|
||||
|
||||
@@ -266,7 +266,7 @@ namespace Content.Client.Kitchen.UI
|
||||
{
|
||||
var newButton = new MicrowaveCookTimeButton
|
||||
{
|
||||
Text = index <= 0 ? Loc.GetString("INSTANT") : index.ToString(),
|
||||
Text = index <= 0 ? Loc.GetString("microwave-menu-instant-button") : index.ToString(),
|
||||
CookTime = (uint)index,
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
ToggleMode = true,
|
||||
@@ -286,7 +286,7 @@ namespace Content.Client.Kitchen.UI
|
||||
|
||||
CookTimeInfoLabel = new Label
|
||||
{
|
||||
Text = Loc.GetString("COOK TIME: 1"),
|
||||
Text = Loc.GetString("microwave-menu-cook-time-label", ("time", 1)), // TODO, hardcoded value
|
||||
Align = Label.AlignMode.Center,
|
||||
Modulate = Color.White,
|
||||
VerticalAlignment = VAlignment.Center
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using Content.Shared.Chemistry.Reagent;
|
||||
using Content.Shared.Kitchen.Components;
|
||||
using Robust.Client.GameObjects;
|
||||
@@ -146,7 +146,7 @@ namespace Content.Client.Kitchen.UI
|
||||
//Looks like we have a beaker attached.
|
||||
if (reagents.Count <= 0)
|
||||
{
|
||||
_menu.BeakerContentBox.BoxContents.AddItem(Loc.GetString("Empty"));
|
||||
_menu.BeakerContentBox.BoxContents.AddItem(Loc.GetString("grinder-menu-beaker-content-box-is-empty"));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -236,7 +236,7 @@ namespace Content.Client.Kitchen.UI
|
||||
{
|
||||
SetSize = MinSize = (512, 256);
|
||||
Owner = owner;
|
||||
Title = Loc.GetString("All-In-One Grinder 3000");
|
||||
Title = Loc.GetString("grinder-menu-title");
|
||||
|
||||
var hSplit = new HBoxContainer();
|
||||
|
||||
@@ -247,14 +247,14 @@ namespace Content.Client.Kitchen.UI
|
||||
|
||||
GrindButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Grind"),
|
||||
Text = Loc.GetString("grinder-menu-grind-button"),
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
MinSize = (64, 64)
|
||||
};
|
||||
|
||||
JuiceButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Juice"),
|
||||
Text = Loc.GetString("grinder-menu-juice-button"),
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
MinSize = (64, 64)
|
||||
};
|
||||
@@ -267,7 +267,7 @@ namespace Content.Client.Kitchen.UI
|
||||
});
|
||||
vBoxGrindJuiceButtonPanel.AddChild(JuiceButton);
|
||||
|
||||
ChamberContentBox = new LabelledContentBox(Loc.GetString("Chamber"), Loc.GetString("Eject Contents"))
|
||||
ChamberContentBox = new LabelledContentBox(Loc.GetString("grinder-menu-chamber-content-box-label"), Loc.GetString("grinder-menu-chamber-content-box-button"))
|
||||
{
|
||||
//Modulate = Color.Red,
|
||||
VerticalExpand = true,
|
||||
@@ -276,7 +276,7 @@ namespace Content.Client.Kitchen.UI
|
||||
|
||||
};
|
||||
|
||||
BeakerContentBox = new LabelledContentBox(Loc.GetString("Beaker"), Loc.GetString("Eject Beaker"))
|
||||
BeakerContentBox = new LabelledContentBox(Loc.GetString("grinder-menu-beaker-content-box-label"), Loc.GetString("grinder-menu-beaker-content-box-button"))
|
||||
{
|
||||
//Modulate = Color.Blue,
|
||||
VerticalExpand = true,
|
||||
|
||||
@@ -35,8 +35,8 @@ namespace Content.Client.LateJoin
|
||||
IoCManager.InjectDependencies(this);
|
||||
|
||||
var gameTicker = EntitySystem.Get<ClientGameTicker>();
|
||||
Title = Loc.GetString("late-join-gui-title");
|
||||
|
||||
Title = Loc.GetString("Late Join");
|
||||
|
||||
var jobList = new VBoxContainer();
|
||||
var vBox = new VBoxContainer
|
||||
@@ -67,7 +67,8 @@ namespace Content.Client.LateJoin
|
||||
category = new VBoxContainer
|
||||
{
|
||||
Name = department,
|
||||
ToolTip = Loc.GetString("Jobs in the {0} department", department)
|
||||
ToolTip = Loc.GetString("late-join-gui-jobs-amount-in-department-tooltip",
|
||||
("departmentName", department))
|
||||
};
|
||||
|
||||
if (firstCategory)
|
||||
@@ -89,7 +90,7 @@ namespace Content.Client.LateJoin
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("{0} jobs", department)
|
||||
Text = Loc.GetString("late-join-gui-department-jobs-label", ("departmentName", department))
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -91,7 +91,7 @@ namespace Content.Client.Lathe.UI
|
||||
{
|
||||
_icon.Texture = Texture.Transparent;
|
||||
_nameLabel.Text = "-------";
|
||||
_description.Text = "Not producing anything.";
|
||||
_description.Text = "lathequeue-menu-not-producing-text";
|
||||
}
|
||||
|
||||
public void PopulateList()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Client.Stylesheets;
|
||||
using Content.Client.Stylesheets;
|
||||
using Robust.Client.AutoGenerated;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
|
||||
@@ -142,7 +142,7 @@ namespace Content.Client.Lobby
|
||||
var gameTicker = EntitySystem.Get<ClientGameTicker>();
|
||||
if (gameTicker.IsGameStarted)
|
||||
{
|
||||
_lobby.StartTime.Text = "";
|
||||
_lobby.StartTime.Text = string.Empty;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ namespace Content.Client.Lobby
|
||||
|
||||
if (gameTicker.Paused)
|
||||
{
|
||||
text = Loc.GetString("Paused");
|
||||
text = Loc.GetString("lobby-state-paused");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -158,7 +158,7 @@ namespace Content.Client.Lobby
|
||||
var seconds = difference.TotalSeconds;
|
||||
if (seconds < 0)
|
||||
{
|
||||
text = Loc.GetString(seconds < -5 ? "Right Now?" : "Right Now");
|
||||
text = Loc.GetString(seconds < -5 ? "lobby-state-right-now-question" : "lobby-state-right-now-confirmation");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -166,7 +166,7 @@ namespace Content.Client.Lobby
|
||||
}
|
||||
}
|
||||
|
||||
_lobby.StartTime.Text = Loc.GetString("Round Starts In: {0}", text);
|
||||
_lobby.StartTime.Text = Loc.GetString("lobby-state-round-start-countdown-text", ("timeLeft", text));
|
||||
}
|
||||
|
||||
private void PlayerManagerOnPlayerListUpdated(object? sender, EventArgs e)
|
||||
@@ -211,14 +211,14 @@ namespace Content.Client.Lobby
|
||||
|
||||
if (gameTicker.IsGameStarted)
|
||||
{
|
||||
_lobby.ReadyButton.Text = Loc.GetString("Join");
|
||||
_lobby.ReadyButton.Text = Loc.GetString("lobby-state-ready-button-join-state");
|
||||
_lobby.ReadyButton.ToggleMode = false;
|
||||
_lobby.ReadyButton.Pressed = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
_lobby.StartTime.Text = "";
|
||||
_lobby.ReadyButton.Text = Loc.GetString("Ready Up");
|
||||
_lobby.StartTime.Text = string.Empty;
|
||||
_lobby.ReadyButton.Text = Loc.GetString("lobby-state-ready-button-ready-up-state");
|
||||
_lobby.ReadyButton.ToggleMode = true;
|
||||
_lobby.ReadyButton.Disabled = false;
|
||||
_lobby.ReadyButton.Pressed = gameTicker.AreWeReady;
|
||||
@@ -237,7 +237,7 @@ namespace Content.Client.Lobby
|
||||
|
||||
foreach (var session in _playerManager.Sessions.OrderBy(s => s.Name))
|
||||
{
|
||||
var readyState = "";
|
||||
var readyState = string.Empty;
|
||||
// Don't show ready state if we're ingame
|
||||
if (!gameTicker.IsGameStarted)
|
||||
{
|
||||
@@ -249,10 +249,10 @@ namespace Content.Client.Lobby
|
||||
|
||||
readyState = status switch
|
||||
{
|
||||
LobbyPlayerStatus.NotReady => Loc.GetString("Not Ready"),
|
||||
LobbyPlayerStatus.Ready => Loc.GetString("Ready"),
|
||||
LobbyPlayerStatus.Observer => Loc.GetString("Observer"),
|
||||
_ => "",
|
||||
LobbyPlayerStatus.NotReady => Loc.GetString("lobby-state-player-status-not-ready"),
|
||||
LobbyPlayerStatus.Ready => Loc.GetString("lobby-state-player-status-ready"),
|
||||
LobbyPlayerStatus.Observer => Loc.GetString("lobby-state-player-status-observer"),
|
||||
_ => string.Empty,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Linq;
|
||||
using System.Linq;
|
||||
using Content.Client.CharacterAppearance;
|
||||
using Content.Client.HUD.UI;
|
||||
using Content.Client.Inventory;
|
||||
@@ -35,12 +35,12 @@ namespace Content.Client.Lobby.UI
|
||||
|
||||
var header = new NanoHeading
|
||||
{
|
||||
Text = Loc.GetString("Character")
|
||||
Text = Loc.GetString("lobby-character-preview-panel-header")
|
||||
};
|
||||
|
||||
CharacterSetupButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Customize"),
|
||||
Text = Loc.GetString("lobby-character-preview-panel-character-setup-button"),
|
||||
HorizontalAlignment = HAlignment.Left
|
||||
};
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace Content.Client.Lobby.UI
|
||||
|
||||
vBox.AddChild(header);
|
||||
|
||||
_unloaded = new Label {Text = "Your character preferences have not yet loaded, please stand by."};
|
||||
_unloaded = new Label {Text = Loc.GetString("lobby-character-preview-panel-unloaded-preferences-label")};
|
||||
|
||||
_loaded = new VBoxContainer {Visible = false};
|
||||
|
||||
@@ -147,7 +147,7 @@ namespace Content.Client.Lobby.UI
|
||||
foreach (var slot in AllSlots)
|
||||
{
|
||||
var itemType = gear.GetGear(slot, profile);
|
||||
if (itemType != "")
|
||||
if (itemType != string.Empty)
|
||||
{
|
||||
var item = entityMan.SpawnEntity(itemType, MapCoordinates.Nullspace);
|
||||
inventory.SetSlotVisuals(slot, item);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
using Content.Client.Changelog;
|
||||
using Content.Client.EscapeMenu.UI;
|
||||
@@ -105,8 +105,8 @@ namespace Content.Client.MainMenu
|
||||
{
|
||||
var invalidReason = Loc.GetString(reason.ToText());
|
||||
_userInterfaceManager.Popup(
|
||||
Loc.GetString("Invalid username:\n{0}", invalidReason),
|
||||
Loc.GetString("Invalid Username"));
|
||||
Loc.GetString("main-menu-invalid-username-with-reason", ("invalidReason", invalidReason)),
|
||||
Loc.GetString("main-menu-invalid-username"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ namespace Content.Client.MainMenu
|
||||
|
||||
private void _onConnectFailed(object? _, NetConnectFailArgs args)
|
||||
{
|
||||
_userInterfaceManager.Popup($"Failed to connect:\n{args.Reason}");
|
||||
_userInterfaceManager.Popup(Loc.GetString("main-menu-failed-to-connect",("reason", args.Reason)));
|
||||
_netManager.ConnectFailed -= _onConnectFailed;
|
||||
_setConnectingState(false);
|
||||
}
|
||||
@@ -242,12 +242,12 @@ namespace Content.Client.MainMenu
|
||||
|
||||
var userNameHBox = new HBoxContainer {SeparationOverride = 4};
|
||||
vBox.AddChild(userNameHBox);
|
||||
userNameHBox.AddChild(new Label {Text = "Username:"});
|
||||
userNameHBox.AddChild(new Label {Text = Loc.GetString("main-menu-username-label") });
|
||||
|
||||
var currentUserName = _configurationManager.GetCVar(CVars.PlayerName);
|
||||
UserNameBox = new LineEdit
|
||||
{
|
||||
Text = currentUserName, PlaceHolder = "Username",
|
||||
Text = currentUserName, PlaceHolder = Loc.GetString("main-menu-username-text"),
|
||||
HorizontalExpand = true
|
||||
};
|
||||
|
||||
@@ -255,12 +255,12 @@ namespace Content.Client.MainMenu
|
||||
|
||||
JoinPublicServerButton = new Button
|
||||
{
|
||||
Text = "Join Public Server",
|
||||
Text = Loc.GetString("main-menu-join-public-server-button"),
|
||||
StyleIdentifier = "mainMenu",
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
#if !FULL_RELEASE
|
||||
Disabled = true,
|
||||
ToolTip = "Cannot connect to public server with a debug build."
|
||||
ToolTip = Loc.GetString("main-menu-join-public-server-button-tooltip")
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -280,7 +280,7 @@ namespace Content.Client.MainMenu
|
||||
|
||||
DirectConnectButton = new Button
|
||||
{
|
||||
Text = "Direct Connect",
|
||||
Text = Loc.GetString("main-menu-direct-connect-button"),
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
StyleIdentifier = "mainMenu",
|
||||
};
|
||||
@@ -292,7 +292,7 @@ namespace Content.Client.MainMenu
|
||||
|
||||
OptionsButton = new Button
|
||||
{
|
||||
Text = "Options",
|
||||
Text = Loc.GetString("main-menu-options-button"),
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
StyleIdentifier = "mainMenu",
|
||||
};
|
||||
@@ -301,7 +301,7 @@ namespace Content.Client.MainMenu
|
||||
|
||||
QuitButton = new Button
|
||||
{
|
||||
Text = "Quit",
|
||||
Text = Loc.GetString("main-menu-quit-button"),
|
||||
TextAlign = Label.AlignMode.Center,
|
||||
StyleIdentifier = "mainMenu",
|
||||
};
|
||||
|
||||
@@ -23,11 +23,11 @@ namespace Content.Client.MedicalScanner.UI
|
||||
{
|
||||
(ScanButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Scan and Save DNA")
|
||||
Text = Loc.GetString("medical-scanner-window-save-button-text")
|
||||
}),
|
||||
(_diagnostics = new Label
|
||||
{
|
||||
Text = ""
|
||||
Text = string.Empty
|
||||
})
|
||||
}
|
||||
});
|
||||
@@ -41,17 +41,17 @@ namespace Content.Client.MedicalScanner.UI
|
||||
!state.HasDamage() ||
|
||||
!IoCManager.Resolve<IEntityManager>().TryGetEntity(state.Entity.Value, out var entity))
|
||||
{
|
||||
_diagnostics.Text = Loc.GetString("No patient data.");
|
||||
_diagnostics.Text = Loc.GetString("medical-scanner-window-no-patient-data-text");
|
||||
ScanButton.Disabled = true;
|
||||
SetSize = (250, 100);
|
||||
}
|
||||
else
|
||||
{
|
||||
text.Append($"{entity.Name}{Loc.GetString("'s health:")}\n");
|
||||
text.Append($"{Loc.GetString("medical-scanner-window-entity-health-text", ("entityName", entity.Name))}\n");
|
||||
|
||||
foreach (var (@class, classAmount) in state.DamageClasses)
|
||||
{
|
||||
text.Append($"\n{Loc.GetString("{0}: {1}", @class, classAmount)}");
|
||||
text.Append($"\n{Loc.GetString("medical-scanner-window-damage-class-text", ("damageClass", @class), ("amount", classAmount))}");
|
||||
|
||||
foreach (var type in @class.ToTypes())
|
||||
{
|
||||
@@ -60,10 +60,10 @@ namespace Content.Client.MedicalScanner.UI
|
||||
continue;
|
||||
}
|
||||
|
||||
text.Append($"\n- {Loc.GetString("{0}: {1}", type, typeAmount)}");
|
||||
text.Append($"\n- {Loc.GetString("medical-scanner-window-damage-type-text", ("damageType",type) ,("amount", typeAmount))}");
|
||||
}
|
||||
|
||||
text.Append("\n");
|
||||
text.Append('\n');
|
||||
}
|
||||
|
||||
_diagnostics.Text = text.ToString();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using Content.Client.Examine;
|
||||
using Content.Client.Message;
|
||||
using Content.Shared.PDA;
|
||||
@@ -65,7 +65,7 @@ namespace Content.Client.PDA
|
||||
{
|
||||
if (_menu.CurrentLoggedInAccount?.DataBalance < listing.Price)
|
||||
{
|
||||
_failPopup = new PDAMenuPopup(Loc.GetString("Insufficient funds!"));
|
||||
_failPopup = new PDAMenuPopup(Loc.GetString("pda-bound-user-interface-insufficient-funds-popup"));
|
||||
_userInterfaceManager.ModalRoot.AddChild(_failPopup);
|
||||
_failPopup.Open(UIBox2.FromDimensions(_menu.Position.X + 150, _menu.Position.Y + 60, 156, 24));
|
||||
_menu.OnClose += () =>
|
||||
@@ -126,8 +126,9 @@ namespace Content.Client.PDA
|
||||
_menu.CurrentLoggedInAccount = msg.Account;
|
||||
var balance = msg.Account.DataBalance;
|
||||
var weightedColor = GetWeightedColorString(balance);
|
||||
_menu.BalanceInfo.SetMarkup(Loc.GetString("TC Balance: [color={0}]{1}[/color]", weightedColor, balance));
|
||||
|
||||
_menu.BalanceInfo.SetMarkup(Loc.GetString("pda-bound-user-interface-tc-balance-popup",
|
||||
("weightedColor",weightedColor),
|
||||
("balance",balance)));
|
||||
}
|
||||
|
||||
if (msg.Listings != null)
|
||||
@@ -284,7 +285,7 @@ namespace Content.Client.PDA
|
||||
|
||||
_owner = owner;
|
||||
_prototypeManager = prototypeManager;
|
||||
Title = Loc.GetString("PDA");
|
||||
Title = Loc.GetString("comp-pda-ui-menu-title");
|
||||
|
||||
#region MAIN_MENU_TAB
|
||||
//Main menu
|
||||
@@ -299,13 +300,13 @@ namespace Content.Client.PDA
|
||||
|
||||
EjectIDButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Eject ID"),
|
||||
Text = Loc.GetString("comp-pda-ui-eject-id-button"),
|
||||
HorizontalAlignment = HAlignment.Center,
|
||||
VerticalAlignment = VAlignment.Center
|
||||
};
|
||||
EjectPenButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Eject Pen"),
|
||||
Text = Loc.GetString("comp-pda-ui-eject-pen-button"),
|
||||
HorizontalAlignment = HAlignment.Center,
|
||||
VerticalAlignment = VAlignment.Center
|
||||
};
|
||||
@@ -330,7 +331,7 @@ namespace Content.Client.PDA
|
||||
|
||||
FlashLightToggleButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Toggle Flashlight"),
|
||||
Text = Loc.GetString("comp-pda-ui-toggle-flashlight-button"),
|
||||
ToggleMode = true,
|
||||
};
|
||||
|
||||
@@ -439,9 +440,9 @@ namespace Content.Client.PDA
|
||||
};
|
||||
|
||||
//Add all the tabs to the Master container.
|
||||
MasterTabContainer.SetTabTitle(0, Loc.GetString("Main Menu"));
|
||||
MasterTabContainer.SetTabTitle(0, Loc.GetString("pda-bound-user-interface-main-menu-tab-title"));
|
||||
MasterTabContainer.AddChild(UplinkTabContainer);
|
||||
MasterTabContainer.SetTabTitle(1, Loc.GetString("Uplink"));
|
||||
MasterTabContainer.SetTabTitle(1, Loc.GetString("pda-bound-user-interface-uplink-tab-title"));
|
||||
Contents.AddChild(MasterTabContainer);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using Content.Client.HUD.UI;
|
||||
using Content.Client.Resources;
|
||||
using Content.Client.Stylesheets;
|
||||
@@ -109,7 +109,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
_offButton = new Button
|
||||
{
|
||||
ToggleMode = false,
|
||||
Text = "Off",
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-off-button"),
|
||||
StyleClasses = {StyleBase.ButtonOpenRight},
|
||||
};
|
||||
_offButton.OnPressed += args => owner.SendEnableMessage(false);
|
||||
@@ -117,7 +117,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
_onButton = new Button
|
||||
{
|
||||
ToggleMode = false,
|
||||
Text = "On",
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-on-button"),
|
||||
StyleClasses = {StyleBase.ButtonOpenLeft},
|
||||
};
|
||||
_onButton.OnPressed += args => owner.SendEnableMessage(true);
|
||||
@@ -134,7 +134,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
{
|
||||
HorizontalAlignment = HAlignment.Center,
|
||||
StyleClasses = {StyleBase.StyleClassLabelSubText},
|
||||
Text = Loc.GetString("Refer to p.132 of service manual")
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-service-manual-reference")
|
||||
};
|
||||
_drawLabel = new Label();
|
||||
var imgSize = new Vector2(32, 32);
|
||||
@@ -149,7 +149,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("Mark 2 Particle Accelerator"),
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-device-version-label"),
|
||||
FontOverride = font,
|
||||
FontColorOverride = StyleNano.NanoGold,
|
||||
},
|
||||
@@ -183,7 +183,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("Power: "),
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-power-label") + " ",
|
||||
HorizontalExpand = true,
|
||||
HorizontalAlignment = HAlignment.Left,
|
||||
},
|
||||
@@ -197,7 +197,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("Strength: "),
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-strength-label") + " ",
|
||||
HorizontalExpand = true,
|
||||
HorizontalAlignment = HAlignment.Left,
|
||||
},
|
||||
@@ -219,7 +219,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("PARTICLE STRENGTH\nLIMITER FAILURE"),
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-alarm-control"),
|
||||
FontColorOverride = Color.Red,
|
||||
Align = Label.AlignMode.Center
|
||||
},
|
||||
@@ -272,7 +272,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
},
|
||||
(_scanButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Scan Parts"),
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-scan-parts-button"),
|
||||
HorizontalAlignment = HAlignment.Center
|
||||
})
|
||||
}
|
||||
@@ -286,7 +286,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
new Label
|
||||
{
|
||||
Margin = new Thickness(4, 4, 0, 4),
|
||||
Text = Loc.GetString("Ensure containment field is active before operation"),
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-check-containment-field-warning"),
|
||||
HorizontalAlignment = HAlignment.Center,
|
||||
StyleClasses = {StyleBase.StyleClassLabelSubText},
|
||||
}
|
||||
@@ -299,7 +299,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = "FOO-BAR-BAZ",
|
||||
Text = Loc.GetString("particle-accelerator-control-menu-foo-bar-baz"),
|
||||
StyleClasses = {StyleBase.StyleClassLabelSubText}
|
||||
}
|
||||
}
|
||||
@@ -369,7 +369,9 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
_assembled = uiState.Assembled;
|
||||
UpdateUI(uiState.Assembled, uiState.InterfaceBlock, uiState.Enabled,
|
||||
uiState.WirePowerBlock);
|
||||
_statusLabel.Text = Loc.GetString($"Status: {(uiState.Assembled ? "Operational" : "Incomplete")}");
|
||||
_statusLabel.Text = Loc.GetString("particle-accelerator-control-menu-status-label",
|
||||
("status", Loc.GetString(uiState.Assembled ? "particle-accelerator-control-menu-status-operational" :
|
||||
"particle-accelerator-control-menu-status-incomplete")));
|
||||
UpdatePowerState(uiState.State, uiState.Enabled, uiState.Assembled,
|
||||
uiState.MaxLevel);
|
||||
UpdatePreview(uiState);
|
||||
@@ -433,7 +435,7 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
|
||||
if (!_assembled)
|
||||
{
|
||||
_drawLabel.Text = Loc.GetString("Draw: N/A");
|
||||
_drawLabel.Text = Loc.GetString("particle-accelerator-control-menu-draw-not-available");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -446,7 +448,9 @@ namespace Content.Client.ParticleAccelerator.UI
|
||||
watts = (int) (_lastDraw + val * 5);
|
||||
}
|
||||
|
||||
_drawLabel.Text = Loc.GetString("Draw: {0:##,##0}/{1:##,##0} W", watts, _lastReceive);
|
||||
_drawLabel.Text = Loc.GetString("particle-accelerator-control-menu-draw",
|
||||
("watts", $"{watts:##,##0}"),
|
||||
("lastReceive", $"{_lastReceive:##,##0}"));
|
||||
}
|
||||
|
||||
private sealed class PASegmentControl : Control
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Linq;
|
||||
using System.Linq;
|
||||
using Content.Client.CharacterAppearance;
|
||||
using Content.Client.Lobby.UI;
|
||||
using Content.Client.Parallax;
|
||||
@@ -74,7 +74,7 @@ namespace Content.Client.Preferences.UI
|
||||
new Label
|
||||
{
|
||||
Margin = new Thickness(8, 0, 0, 0),
|
||||
Text = Loc.GetString("Character Setup"),
|
||||
Text = Loc.GetString("character-setup-gui-character-setup-label"),
|
||||
StyleClasses = {StyleNano.StyleClassLabelHeadingBigger},
|
||||
VAlign = Label.VAlignMode.Center,
|
||||
},
|
||||
@@ -82,12 +82,12 @@ namespace Content.Client.Preferences.UI
|
||||
{
|
||||
HorizontalExpand = true,
|
||||
HorizontalAlignment = HAlignment.Right,
|
||||
Text = Loc.GetString("Save"),
|
||||
Text = Loc.GetString("character-setup-gui-character-setup-save-button"),
|
||||
StyleClasses = {StyleNano.StyleClassButtonBig},
|
||||
}),
|
||||
(CloseButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Close"),
|
||||
Text = Loc.GetString("character-setup-gui-character-setup-close-button"),
|
||||
StyleClasses = {StyleNano.StyleClassButtonBig},
|
||||
})
|
||||
}
|
||||
@@ -125,7 +125,7 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
_createNewCharacterButton = new Button
|
||||
{
|
||||
Text = "Create new slot...",
|
||||
Text = Loc.GetString("character-setup-gui-create-new-character-button"),
|
||||
};
|
||||
_createNewCharacterButton.OnPressed += args =>
|
||||
{
|
||||
@@ -177,7 +177,8 @@ namespace Content.Client.Preferences.UI
|
||||
}
|
||||
|
||||
_createNewCharacterButton.ToolTip =
|
||||
$"A maximum of {_preferencesManager.Settings!.MaxCharacterSlots} characters are allowed.";
|
||||
Loc.GetString("character-setup-gui-create-new-character-button-tooltip",
|
||||
("maxCharacters", _preferencesManager.Settings!.MaxCharacterSlots));
|
||||
|
||||
foreach (var (slot, character) in _preferencesManager.Preferences!.Characters)
|
||||
{
|
||||
@@ -261,7 +262,7 @@ namespace Content.Client.Preferences.UI
|
||||
};
|
||||
var deleteButton = new Button
|
||||
{
|
||||
Text = "Delete",
|
||||
Text = Loc.GetString("character-setup-gui-character-picker-button-delete-button"),
|
||||
Visible = !isSelectedCharacter,
|
||||
};
|
||||
deleteButton.OnPressed += _ =>
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace Content.Client.Preferences.UI
|
||||
var randomizePanel = HighlightedContainer();
|
||||
var randomizeEverythingButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Randomize everything")
|
||||
Text = Loc.GetString("humanoid-profile-editor-randomize-everything-button")
|
||||
};
|
||||
randomizeEverythingButton.OnPressed += args => { RandomizeEverything(); };
|
||||
randomizePanel.AddChild(randomizeEverythingButton);
|
||||
@@ -112,7 +112,7 @@ namespace Content.Client.Preferences.UI
|
||||
{
|
||||
VerticalExpand = true
|
||||
};
|
||||
var nameLabel = new Label { Text = Loc.GetString("Name:") };
|
||||
var nameLabel = new Label { Text = Loc.GetString("humanoid-profile-editor-name-label") };
|
||||
_nameEdit = new LineEdit
|
||||
{
|
||||
MinSize = (270, 0),
|
||||
@@ -121,7 +121,7 @@ namespace Content.Client.Preferences.UI
|
||||
_nameEdit.OnTextChanged += args => { SetName(args.Text); };
|
||||
var nameRandomButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Randomize"),
|
||||
Text = Loc.GetString("humanoid-profile-editor-name-random-button"),
|
||||
};
|
||||
nameRandomButton.OnPressed += args => RandomizeName();
|
||||
nameHBox.AddChild(nameLabel);
|
||||
@@ -153,7 +153,7 @@ namespace Content.Client.Preferences.UI
|
||||
}
|
||||
};
|
||||
tabContainer.AddChild(appearanceVBox);
|
||||
tabContainer.SetTabTitle(0, Loc.GetString("Appearance"));
|
||||
tabContainer.SetTabTitle(0, Loc.GetString("humanoid-profile-editor-appearance-tab"));
|
||||
|
||||
var sexAndAgeRow = new HBoxContainer
|
||||
{
|
||||
@@ -166,13 +166,13 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
var sexPanel = HighlightedContainer();
|
||||
var sexHBox = new HBoxContainer();
|
||||
var sexLabel = new Label { Text = Loc.GetString("Sex:") };
|
||||
var sexLabel = new Label { Text = Loc.GetString("humanoid-profile-editor-sex-label") };
|
||||
|
||||
var sexButtonGroup = new ButtonGroup();
|
||||
|
||||
_sexMaleButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Male"),
|
||||
Text = Loc.GetString("humanoid-profile-editor-sex-male-button"),
|
||||
Group = sexButtonGroup
|
||||
};
|
||||
_sexMaleButton.OnPressed += args =>
|
||||
@@ -187,7 +187,7 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
_sexFemaleButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Female"),
|
||||
Text = Loc.GetString("humanoid-profile-editor-sex-female-button"),
|
||||
Group = sexButtonGroup
|
||||
};
|
||||
_sexFemaleButton.OnPressed += _ =>
|
||||
@@ -213,7 +213,7 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
var agePanel = HighlightedContainer();
|
||||
var ageHBox = new HBoxContainer();
|
||||
var ageLabel = new Label { Text = Loc.GetString("Age:") };
|
||||
var ageLabel = new Label { Text = Loc.GetString("humanoid-profile-editor-age-label") };
|
||||
_ageEdit = new LineEdit { MinSize = (40, 0) };
|
||||
_ageEdit.OnTextChanged += args =>
|
||||
{
|
||||
@@ -232,14 +232,14 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
var genderPanel = HighlightedContainer();
|
||||
var genderHBox = new HBoxContainer();
|
||||
var genderLabel = new Label { Text = Loc.GetString("Pronouns:") };
|
||||
var genderLabel = new Label { Text = Loc.GetString("humanoid-profile-editor-pronouns-label") };
|
||||
|
||||
_genderButton = new OptionButton();
|
||||
|
||||
_genderButton.AddItem(Loc.GetString("He / Him"), (int) Gender.Male);
|
||||
_genderButton.AddItem(Loc.GetString("She / Her"), (int) Gender.Female);
|
||||
_genderButton.AddItem(Loc.GetString("They / Them"), (int) Gender.Epicene);
|
||||
_genderButton.AddItem(Loc.GetString("It / It"), (int) Gender.Neuter);
|
||||
_genderButton.AddItem(Loc.GetString("humanoid-profile-editor-pronouns-male-text"), (int) Gender.Male);
|
||||
_genderButton.AddItem(Loc.GetString("humanoid-profile-editor-pronouns-female-text"), (int) Gender.Female);
|
||||
_genderButton.AddItem(Loc.GetString("humanoid-profile-editor-pronouns-epicene-text"), (int) Gender.Epicene);
|
||||
_genderButton.AddItem(Loc.GetString("humanoid-profile-editor-pronouns-neuter-text"), (int) Gender.Neuter);
|
||||
|
||||
_genderButton.OnItemSelected += args =>
|
||||
{
|
||||
@@ -316,12 +316,12 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
var clothingPanel = HighlightedContainer();
|
||||
var clothingHBox = new HBoxContainer();
|
||||
var clothingLabel = new Label { Text = Loc.GetString("Clothing:") };
|
||||
var clothingLabel = new Label { Text = Loc.GetString("humanoid-profile-editor-clothing-label") };
|
||||
|
||||
_clothingButton = new OptionButton();
|
||||
|
||||
_clothingButton.AddItem(Loc.GetString("Jumpsuit"), (int) ClothingPreference.Jumpsuit);
|
||||
_clothingButton.AddItem(Loc.GetString("Jumpskirt"), (int) ClothingPreference.Jumpskirt);
|
||||
_clothingButton.AddItem(Loc.GetString("humanoid-profile-editor-preference-jumpsuit"), (int) ClothingPreference.Jumpsuit);
|
||||
_clothingButton.AddItem(Loc.GetString("humanoid-profile-editor-preference-jumpskirt"), (int) ClothingPreference.Jumpskirt);
|
||||
|
||||
_clothingButton.OnItemSelected += args =>
|
||||
{
|
||||
@@ -340,13 +340,13 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
var backpackPanel = HighlightedContainer();
|
||||
var backpackHBox = new HBoxContainer();
|
||||
var backpackLabel = new Label { Text = Loc.GetString("Backpack:") };
|
||||
var backpackLabel = new Label { Text = Loc.GetString("humanoid-profile-editor-backpack-label") };
|
||||
|
||||
_backpackButton = new OptionButton();
|
||||
|
||||
_backpackButton.AddItem(Loc.GetString("Backpack"), (int) BackpackPreference.Backpack);
|
||||
_backpackButton.AddItem(Loc.GetString("Satchel"), (int) BackpackPreference.Satchel);
|
||||
_backpackButton.AddItem(Loc.GetString("Duffelbag"), (int) BackpackPreference.Duffelbag);
|
||||
_backpackButton.AddItem(Loc.GetString("humanoid-profile-editor-preference-backpack"), (int) BackpackPreference.Backpack);
|
||||
_backpackButton.AddItem(Loc.GetString("humanoid-profile-editor-preference-satchel"), (int) BackpackPreference.Satchel);
|
||||
_backpackButton.AddItem(Loc.GetString("humanoid-profile-editor-preference-duffelbag"), (int) BackpackPreference.Duffelbag);
|
||||
|
||||
_backpackButton.OnItemSelected += args =>
|
||||
{
|
||||
@@ -365,7 +365,7 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
var eyesPanel = HighlightedContainer();
|
||||
var eyesVBox = new VBoxContainer();
|
||||
var eyesLabel = new Label { Text = Loc.GetString("Eye color:") };
|
||||
var eyesLabel = new Label { Text = Loc.GetString("humanoid-profile-editor-eyes-label") };
|
||||
|
||||
_eyesPicker = new EyeColorPicker();
|
||||
|
||||
@@ -409,14 +409,14 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
tabContainer.AddChild(jobVBox);
|
||||
|
||||
tabContainer.SetTabTitle(1, Loc.GetString("Jobs"));
|
||||
tabContainer.SetTabTitle(1, Loc.GetString("humanoid-profile-editor-jobs-tab"));
|
||||
|
||||
_preferenceUnavailableButton.AddItem(
|
||||
Loc.GetString("Stay in lobby if preference unavailable."),
|
||||
Loc.GetString("humanoid-profile-editor-preference-unavailable-stay-in-lobby-button"),
|
||||
(int) PreferenceUnavailableMode.StayInLobby);
|
||||
_preferenceUnavailableButton.AddItem(
|
||||
Loc.GetString("Be an {0} if preference unavailable.",
|
||||
Loc.GetString(SharedGameTicker.OverflowJobName)),
|
||||
Loc.GetString("humanoid-profile-editor-preference-unavailable-spawn-as-overflow-button",
|
||||
("overflowJob", Loc.GetString(SharedGameTicker.OverflowJobName))),
|
||||
(int) PreferenceUnavailableMode.SpawnAsOverflow);
|
||||
|
||||
_preferenceUnavailableButton.OnItemSelected += args =>
|
||||
@@ -441,7 +441,8 @@ namespace Content.Client.Preferences.UI
|
||||
category = new VBoxContainer
|
||||
{
|
||||
Name = department,
|
||||
ToolTip = Loc.GetString("Jobs in the {0} department", department)
|
||||
ToolTip = Loc.GetString("humanoid-profile-editor-jobs-amount-in-department-tooltip",
|
||||
("departmentName", department))
|
||||
};
|
||||
|
||||
if (firstCategory)
|
||||
@@ -463,7 +464,8 @@ namespace Content.Client.Preferences.UI
|
||||
{
|
||||
new Label
|
||||
{
|
||||
Text = Loc.GetString("{0} jobs", department)
|
||||
Text = Loc.GetString("humanoid-profile-editor-department-jobs-label",
|
||||
("departmentName" ,department))
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -526,7 +528,7 @@ namespace Content.Client.Preferences.UI
|
||||
|
||||
tabContainer.AddChild(antagVBox);
|
||||
|
||||
tabContainer.SetTabTitle(2, Loc.GetString("Antags"));
|
||||
tabContainer.SetTabTitle(2, Loc.GetString("humanoid-profile-editor-antags-tab"));
|
||||
|
||||
_antagPreferences = new List<AntagPreferenceSelector>();
|
||||
|
||||
@@ -559,15 +561,15 @@ namespace Content.Client.Preferences.UI
|
||||
var importExportHBox = new HBoxContainer();
|
||||
var importButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Import"),
|
||||
Text = Loc.GetString("humanoid-profile-editor-import-button"),
|
||||
Disabled = true,
|
||||
ToolTip = "Not yet implemented!"
|
||||
ToolTip = Loc.GetString("generic-not-yet-implemented")
|
||||
};
|
||||
var exportButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Export"),
|
||||
Text = Loc.GetString("humanoid-profile-editor-export-button"),
|
||||
Disabled = true,
|
||||
ToolTip = "Not yet implemented!"
|
||||
ToolTip = Loc.GetString("generic-not-yet-implemented")
|
||||
};
|
||||
importExportHBox.AddChild(importButton);
|
||||
importExportHBox.AddChild(exportButton);
|
||||
@@ -582,7 +584,7 @@ namespace Content.Client.Preferences.UI
|
||||
var panel = HighlightedContainer();
|
||||
_saveButton = new Button
|
||||
{
|
||||
Text = Loc.GetString("Save"),
|
||||
Text = Loc.GetString("humanoid-profile-editor-save-button"),
|
||||
HorizontalAlignment = HAlignment.Center
|
||||
};
|
||||
_saveButton.OnPressed += args => { Save(); };
|
||||
@@ -899,10 +901,10 @@ namespace Content.Client.Preferences.UI
|
||||
};
|
||||
|
||||
// Text, Value
|
||||
_optionButton.AddItem(Loc.GetString("High"), (int) JobPriority.High);
|
||||
_optionButton.AddItem(Loc.GetString("Medium"), (int) JobPriority.Medium);
|
||||
_optionButton.AddItem(Loc.GetString("Low"), (int) JobPriority.Low);
|
||||
_optionButton.AddItem(Loc.GetString("Never"), (int) JobPriority.Never);
|
||||
_optionButton.AddItem(Loc.GetString("humanoid-profile-editor-job-priority-high-button"), (int) JobPriority.High);
|
||||
_optionButton.AddItem(Loc.GetString("humanoid-profile-editor-job-priority-medium-button"), (int) JobPriority.Medium);
|
||||
_optionButton.AddItem(Loc.GetString("humanoid-profile-editor-job-priority-low-button"), (int) JobPriority.Low);
|
||||
_optionButton.AddItem(Loc.GetString("humanoid-profile-editor-job-priority-never-button"), (int) JobPriority.Never);
|
||||
|
||||
_optionButton.OnItemSelected += args =>
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.CustomControls;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Localization;
|
||||
@@ -9,8 +9,8 @@ namespace Content.Client.Research.UI
|
||||
{
|
||||
private readonly ItemList _servers;
|
||||
private int _serverCount;
|
||||
private string[] _serverNames = new string[]{};
|
||||
private int[] _serverIds = new int[]{};
|
||||
private string[] _serverNames = System.Array.Empty<string>();
|
||||
private int[] _serverIds = System.Array.Empty<int>();
|
||||
private int _selectedServerId = -1;
|
||||
|
||||
public ResearchClientBoundUserInterface Owner { get; }
|
||||
@@ -21,7 +21,7 @@ namespace Content.Client.Research.UI
|
||||
IoCManager.InjectDependencies(this);
|
||||
|
||||
Owner = owner;
|
||||
Title = Loc.GetString("Research Server Selection");
|
||||
Title = Loc.GetString("research-client-server-selection-menu-title");
|
||||
|
||||
_servers = new ItemList() {SelectMode = ItemList.ItemListSelectMode.Single};
|
||||
|
||||
@@ -56,10 +56,12 @@ namespace Content.Client.Research.UI
|
||||
for (var i = 0; i < _serverCount; i++)
|
||||
{
|
||||
var id = _serverIds[i];
|
||||
_servers.AddItem($"ID: {id} || {_serverNames[i]}");
|
||||
_servers.AddItem(Loc.GetString("research-client-server-selection-menu-server-entry-text", ("id", id), ("serverName", _serverNames[i])));
|
||||
if (id == _selectedServerId)
|
||||
{
|
||||
_servers[id].Selected = true;
|
||||
}
|
||||
}
|
||||
|
||||
_servers.OnItemSelected += OnItemSelected;
|
||||
_servers.OnItemDeselected += OnItemDeselected;
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Content.Client.Research.UI
|
||||
|
||||
IoCManager.InjectDependencies(this);
|
||||
|
||||
Title = Loc.GetString("R&D Console");
|
||||
Title = Loc.GetString("research-console-menu-title");
|
||||
|
||||
Owner = owner;
|
||||
|
||||
@@ -106,8 +106,8 @@ namespace Content.Client.Research.UI
|
||||
SizeFlagsStretchRatio = 3,
|
||||
};
|
||||
|
||||
_pointLabel = new Label() { Text = Loc.GetString("Research Points") + ": 0" };
|
||||
_pointsPerSecondLabel = new Label() { Text = Loc.GetString("Points per Second") + ": 0" };
|
||||
_pointLabel = new Label() { Text = Loc.GetString("research-console-menu-research-points-text", ("points", 0)) };
|
||||
_pointsPerSecondLabel = new Label() { Text = Loc.GetString("research-console-menu-points-per-second-text", ("pointsPerSecond", 0)) };
|
||||
|
||||
var vboxPointsButtons = new VBoxContainer()
|
||||
{
|
||||
@@ -116,9 +116,9 @@ namespace Content.Client.Research.UI
|
||||
VerticalExpand = true,
|
||||
};
|
||||
|
||||
ServerSelectionButton = new Button() { Text = Loc.GetString("Server list") };
|
||||
ServerSyncButton = new Button() { Text = Loc.GetString("Sync")};
|
||||
UnlockButton = new Button() { Text = Loc.GetString("Unlock"), Disabled = true };
|
||||
ServerSelectionButton = new Button() { Text = Loc.GetString("research-console-menu-server-selection-button") };
|
||||
ServerSyncButton = new Button() { Text = Loc.GetString("research-console-menu-server-sync-button") };
|
||||
UnlockButton = new Button() { Text = Loc.GetString("research-console-menu-server-unlock-button"), Disabled = true };
|
||||
|
||||
|
||||
vboxPointsButtons.AddChild(ServerSelectionButton);
|
||||
@@ -172,9 +172,9 @@ namespace Content.Client.Research.UI
|
||||
{
|
||||
UnlockButton.Disabled = true;
|
||||
_technologyIcon.Texture = Texture.Transparent;
|
||||
_technologyName.Text = "";
|
||||
_technologyDescription.Text = "";
|
||||
_technologyRequirements.Text = "";
|
||||
_technologyName.Text = string.Empty;
|
||||
_technologyDescription.Text = string.Empty;
|
||||
_technologyRequirements.Text = string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -256,16 +256,16 @@ namespace Content.Client.Research.UI
|
||||
{
|
||||
if (TechnologySelected == null)
|
||||
{
|
||||
_technologyName.Text = "";
|
||||
_technologyDescription.Text = "";
|
||||
_technologyRequirements.Text = "";
|
||||
_technologyName.Text = string.Empty;
|
||||
_technologyDescription.Text = string.Empty;
|
||||
_technologyRequirements.Text = string.Empty;
|
||||
return;
|
||||
}
|
||||
|
||||
_technologyIcon.Texture = TechnologySelected.Icon.Frame0();
|
||||
_technologyName.Text = TechnologySelected.Name;
|
||||
_technologyDescription.Text = TechnologySelected.Description+$"\n{TechnologySelected.RequiredPoints} " + Loc.GetString("research points");
|
||||
_technologyRequirements.Text = Loc.GetString("No technology requirements.");
|
||||
_technologyDescription.Text = TechnologySelected.Description + $"\n{TechnologySelected.RequiredPoints} " + Loc.GetString("research-console-menu-research-points-text").ToLowerInvariant();
|
||||
_technologyRequirements.Text = Loc.GetString("research-console-tech-requirements-none");
|
||||
|
||||
var prototypeMan = IoCManager.Resolve<IPrototypeManager>();
|
||||
|
||||
@@ -274,7 +274,7 @@ namespace Content.Client.Research.UI
|
||||
var requiredId = TechnologySelected.RequiredTechnologies[i];
|
||||
if (!prototypeMan.TryIndex(requiredId, out TechnologyPrototype? prototype)) continue;
|
||||
if (i == 0)
|
||||
_technologyRequirements.Text = Loc.GetString("Requires") + $": {prototype.Name}";
|
||||
_technologyRequirements.Text = Loc.GetString("research-console-tech-requirements-prototype-name", ("prototypeName", prototype.Name));
|
||||
else
|
||||
_technologyRequirements.Text += $", {prototype.Name}";
|
||||
}
|
||||
@@ -285,8 +285,8 @@ namespace Content.Client.Research.UI
|
||||
/// </summary>
|
||||
public void PopulatePoints()
|
||||
{
|
||||
_pointLabel.Text = Loc.GetString("Research Points") + $": {Owner.Points}";
|
||||
_pointsPerSecondLabel.Text = Loc.GetString("Points per second") + $": {Owner.PointsPerSecond}";
|
||||
_pointLabel.Text = Loc.GetString("research-console-menu-research-points-text", ("points", Owner.Points));
|
||||
_pointsPerSecondLabel.Text = Loc.GetString("research-console-menu-points-per-second-text", ("pointsPerSeconds", Owner.PointsPerSecond));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Client.Message;
|
||||
@@ -20,7 +20,7 @@ namespace Content.Client.RoundEnd
|
||||
{
|
||||
MinSize = SetSize = (520, 580);
|
||||
|
||||
Title = Loc.GetString("Round End Summary");
|
||||
Title = Loc.GetString("round-end-summary-window-title");
|
||||
|
||||
//Round End Window is split into two tabs, one about the round stats
|
||||
//and the other is a list of RoundEndPlayerInfo for each player.
|
||||
@@ -29,13 +29,13 @@ namespace Content.Client.RoundEnd
|
||||
//Also good for serious info.
|
||||
RoundEndSummaryTab = new VBoxContainer()
|
||||
{
|
||||
Name = Loc.GetString("Round Information")
|
||||
Name = Loc.GetString("round-end-summary-window-round-end-summary-tab-title")
|
||||
};
|
||||
|
||||
//Tab for listing unique info per player.
|
||||
PlayerManifestoTab = new VBoxContainer()
|
||||
{
|
||||
Name = Loc.GetString("Player Manifesto")
|
||||
Name = Loc.GetString("round-end-summary-window-player-manifesto-tab-title")
|
||||
};
|
||||
|
||||
RoundEndWindowTabs = new TabContainer();
|
||||
@@ -46,7 +46,7 @@ namespace Content.Client.RoundEnd
|
||||
|
||||
//Gamemode Name
|
||||
var gamemodeLabel = new RichTextLabel();
|
||||
gamemodeLabel.SetMarkup(Loc.GetString("Round of [color=white]{0}[/color] has ended.", gm));
|
||||
gamemodeLabel.SetMarkup(Loc.GetString("round-end-summary-window-gamemode-name-label", ("gamemode",gm)));
|
||||
RoundEndSummaryTab.AddChild(gamemodeLabel);
|
||||
|
||||
//Round end text
|
||||
@@ -59,13 +59,17 @@ namespace Content.Client.RoundEnd
|
||||
|
||||
//Duration
|
||||
var roundTimeLabel = new RichTextLabel();
|
||||
roundTimeLabel.SetMarkup(Loc.GetString("It lasted for [color=yellow]{0} hours, {1} minutes, and {2} seconds.",
|
||||
roundTimeSpan.Hours,roundTimeSpan.Minutes,roundTimeSpan.Seconds));
|
||||
roundTimeLabel.SetMarkup(Loc.GetString("round-end-summary-window-duration-label",
|
||||
("hours",roundTimeSpan.Hours),
|
||||
("minutes",roundTimeSpan.Minutes),
|
||||
("seconds",roundTimeSpan.Seconds)));
|
||||
RoundEndSummaryTab.AddChild(roundTimeLabel);
|
||||
|
||||
//Initialize what will be the list of players display.
|
||||
var scrollContainer = new ScrollContainer();
|
||||
scrollContainer.VerticalExpand = true;
|
||||
var scrollContainer = new ScrollContainer
|
||||
{
|
||||
VerticalExpand = true
|
||||
};
|
||||
var innerScrollContainer = new VBoxContainer();
|
||||
|
||||
//Put observers at the bottom of the list. Put antags on top.
|
||||
@@ -80,8 +84,9 @@ namespace Content.Client.RoundEnd
|
||||
if (playerInfo.Observer)
|
||||
{
|
||||
playerInfoText.SetMarkup(
|
||||
Loc.GetString("[color=gray]{0}[/color] was [color=lightblue]{1}[/color], an observer.",
|
||||
playerInfo.PlayerOOCName, playerInfo.PlayerICName));
|
||||
Loc.GetString("round-end-summary-window-player-info-if-observer-text",
|
||||
("playerOOCName",playerInfo.PlayerOOCName),
|
||||
("playerICName", playerInfo.PlayerICName)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -89,8 +94,11 @@ namespace Content.Client.RoundEnd
|
||||
//For example: their antag goals and if they completed them sucessfully.
|
||||
var icNameColor = playerInfo.Antag ? "red" : "white";
|
||||
playerInfoText.SetMarkup(
|
||||
Loc.GetString("[color=gray]{0}[/color] was [color={1}]{2}[/color] playing role of [color=orange]{3}[/color].",
|
||||
playerInfo.PlayerOOCName, icNameColor, playerInfo.PlayerICName, Loc.GetString(playerInfo.Role)));
|
||||
Loc.GetString("round-end-summary-window-player-info-if-not-observer-text",
|
||||
("playerOOCName", playerInfo.PlayerOOCName),
|
||||
("icNameColor", icNameColor),
|
||||
("playerICName",playerInfo.PlayerICName),
|
||||
("playerRole", Loc.GetString(playerInfo.Role))));
|
||||
}
|
||||
}
|
||||
innerScrollContainer.AddChild(playerInfoText);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using Content.Client.HUD;
|
||||
using Content.Client.Markers;
|
||||
using Content.Shared.Input;
|
||||
@@ -45,48 +45,48 @@ namespace Content.Client.Sandbox
|
||||
Resizable = false;
|
||||
_gameHud = IoCManager.Resolve<IGameHud>();
|
||||
|
||||
Title = "Sandbox Panel";
|
||||
Title = Loc.GetString("sandbox-window-title");
|
||||
|
||||
var vBox = new VBoxContainer { SeparationOverride = 4 };
|
||||
Contents.AddChild(vBox);
|
||||
|
||||
RespawnButton = new Button { Text = Loc.GetString("Respawn") };
|
||||
RespawnButton = new Button { Text = Loc.GetString("sandbox-window-respawn-button") };
|
||||
vBox.AddChild(RespawnButton);
|
||||
|
||||
SpawnEntitiesButton = new Button { Text = Loc.GetString("Spawn Entities") };
|
||||
SpawnEntitiesButton = new Button { Text = Loc.GetString("sandbox-window-spawn-entities-button") };
|
||||
vBox.AddChild(SpawnEntitiesButton);
|
||||
|
||||
SpawnTilesButton = new Button { Text = Loc.GetString("Spawn Tiles") };
|
||||
SpawnTilesButton = new Button { Text = Loc.GetString("sandbox-window-spawn-tiles-button") };
|
||||
vBox.AddChild(SpawnTilesButton);
|
||||
|
||||
GiveFullAccessButton = new Button { Text = Loc.GetString("Grant Full Access") };
|
||||
GiveFullAccessButton = new Button { Text = Loc.GetString("sandbox-window-grant-full-access-button") };
|
||||
vBox.AddChild(GiveFullAccessButton);
|
||||
|
||||
GiveAghostButton = new Button { Text = Loc.GetString("Ghost") };
|
||||
GiveAghostButton = new Button { Text = Loc.GetString("sandbox-window-ghost-button") };
|
||||
vBox.AddChild(GiveAghostButton);
|
||||
|
||||
ToggleLightButton = new Button { Text = Loc.GetString("Toggle Lights"), ToggleMode = true, Pressed = !IoCManager.Resolve<ILightManager>().Enabled };
|
||||
ToggleLightButton = new Button { Text = Loc.GetString("sandbox-window-toggle-lights-button"), ToggleMode = true, Pressed = !IoCManager.Resolve<ILightManager>().Enabled };
|
||||
vBox.AddChild(ToggleLightButton);
|
||||
|
||||
ToggleFovButton = new Button { Text = Loc.GetString("Toggle FOV"), ToggleMode = true, Pressed = !IoCManager.Resolve<IEyeManager>().CurrentEye.DrawFov };
|
||||
ToggleFovButton = new Button { Text = Loc.GetString("sandbox-window-toggle-fov-button"), ToggleMode = true, Pressed = !IoCManager.Resolve<IEyeManager>().CurrentEye.DrawFov };
|
||||
vBox.AddChild(ToggleFovButton);
|
||||
|
||||
ToggleShadowsButton = new Button { Text = Loc.GetString("Toggle Shadows"), ToggleMode = true, Pressed = !IoCManager.Resolve<ILightManager>().DrawShadows };
|
||||
ToggleShadowsButton = new Button { Text = Loc.GetString("sandbox-window-toggle-shadows-button"), ToggleMode = true, Pressed = !IoCManager.Resolve<ILightManager>().DrawShadows };
|
||||
vBox.AddChild(ToggleShadowsButton);
|
||||
|
||||
ToggleSubfloorButton = new Button { Text = Loc.GetString("Toggle Subfloor"), ToggleMode = true, Pressed = EntitySystem.Get<SubFloorHideSystem>().ShowAll };
|
||||
ToggleSubfloorButton = new Button { Text = Loc.GetString("sandbox-window-toggle-subfloor-button"), ToggleMode = true, Pressed = EntitySystem.Get<SubFloorHideSystem>().ShowAll };
|
||||
vBox.AddChild(ToggleSubfloorButton);
|
||||
|
||||
SuicideButton = new Button { Text = Loc.GetString("Suicide") };
|
||||
SuicideButton = new Button { Text = Loc.GetString("sandbox-window-toggle-suicide-button") };
|
||||
vBox.AddChild(SuicideButton);
|
||||
|
||||
ShowMarkersButton = new Button { Text = Loc.GetString("Show Spawns"), ToggleMode = true, Pressed = EntitySystem.Get<MarkerSystem>().MarkersVisible };
|
||||
ShowMarkersButton = new Button { Text = Loc.GetString("sandbox-window-show-spawns-button"), ToggleMode = true, Pressed = EntitySystem.Get<MarkerSystem>().MarkersVisible };
|
||||
vBox.AddChild(ShowMarkersButton);
|
||||
|
||||
ShowBbButton = new Button { Text = Loc.GetString("Show BB"), ToggleMode = true, Pressed = IoCManager.Resolve<IDebugDrawing>().DebugColliders };
|
||||
ShowBbButton = new Button { Text = Loc.GetString("sandbox-window-show-bb-button"), ToggleMode = true, Pressed = IoCManager.Resolve<IDebugDrawing>().DebugColliders };
|
||||
vBox.AddChild(ShowBbButton);
|
||||
|
||||
MachineLinkingButton = new Button { Text = Loc.GetString("Link machines"), ToggleMode = true };
|
||||
MachineLinkingButton = new Button { Text = Loc.GetString("sandbox-window-link-machines-button"), ToggleMode = true };
|
||||
vBox.AddChild(MachineLinkingButton);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Content.Client.Suspicion
|
||||
public override OverlaySpace Space => OverlaySpace.ScreenSpace;
|
||||
private readonly Font _font;
|
||||
|
||||
private readonly string _traitorText = Loc.GetString("Traitor");
|
||||
private readonly string _traitorText = Loc.GetString("traitor-overlay-traitor-text");
|
||||
|
||||
public TraitorOverlay(
|
||||
IEntityManager entityManager,
|
||||
|
||||
@@ -71,8 +71,10 @@ namespace Content.Client.Tools.Components
|
||||
var fuelCap = _parent.FuelCapacity;
|
||||
var fuel = _parent.Fuel;
|
||||
|
||||
_label.SetMarkup(Loc.GetString("Fuel: [color={0}]{1}/{2}[/color]",
|
||||
fuel < fuelCap / 4f ? "darkorange" : "orange", Math.Round(fuel), fuelCap));
|
||||
_label.SetMarkup(Loc.GetString("welder-component-on-examine-detailed-message",
|
||||
("colorName", fuel < fuelCap / 4f ? "darkorange" : "orange"),
|
||||
("fuelLeft", Math.Round(fuel)),
|
||||
("fuelCapacity", fuelCap)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Client.Message;
|
||||
using Content.Client.Message;
|
||||
using Content.Client.Resources;
|
||||
using Content.Client.Stylesheets;
|
||||
using Content.Shared.Atmos.Components;
|
||||
@@ -90,7 +90,7 @@ namespace Content.Client.UserInterface.Atmos.GasTank
|
||||
{
|
||||
(_lblName = new Label
|
||||
{
|
||||
Text = Loc.GetString("Gas Tank"),
|
||||
Text = Loc.GetString("gas-tank-window-label"),
|
||||
FontOverride = font,
|
||||
FontColorOverride = StyleNano.NanoGold,
|
||||
VerticalAlignment = VAlignment.Center,
|
||||
@@ -138,7 +138,7 @@ namespace Content.Client.UserInterface.Atmos.GasTank
|
||||
//internals
|
||||
_lblInternals = new RichTextLabel
|
||||
{MinSize = (200, 0), VerticalAlignment = VAlignment.Center};
|
||||
_btnInternals = new Button {Text = Loc.GetString("Toggle")};
|
||||
_btnInternals = new Button {Text = Loc.GetString("gas-tank-window-internals-toggle-button") };
|
||||
|
||||
_contentContainer.AddChild(
|
||||
new HBoxContainer
|
||||
@@ -155,7 +155,7 @@ namespace Content.Client.UserInterface.Atmos.GasTank
|
||||
|
||||
_contentContainer.AddChild(new Label
|
||||
{
|
||||
Text = Loc.GetString("Output Pressure"),
|
||||
Text = Loc.GetString("gas-tank-window-output-pressure-label"),
|
||||
Align = Label.AlignMode.Center
|
||||
});
|
||||
_spbPressure = new FloatSpinBox
|
||||
@@ -181,11 +181,11 @@ namespace Content.Client.UserInterface.Atmos.GasTank
|
||||
|
||||
public void UpdateState(GasTankBoundUserInterfaceState state)
|
||||
{
|
||||
_lblPressure.SetMarkup(Loc.GetString("Pressure: {0:0.##} kPa", state.TankPressure));
|
||||
_lblPressure.SetMarkup(Loc.GetString("gas-tank-window-tank-pressure-text", ("tankPressure", $"{state.TankPressure:0.##}")));
|
||||
_btnInternals.Disabled = !state.CanConnectInternals;
|
||||
_lblInternals.SetMarkup(Loc.GetString("Internals: [color={0}]{1}[/color]",
|
||||
state.InternalsConnected ? "green" : "red",
|
||||
state.InternalsConnected ? "Connected" : "Disconnected"));
|
||||
_lblInternals.SetMarkup(Loc.GetString("gas-tank-window-internal-text",
|
||||
("colorName" ,state.InternalsConnected ? "green" : "red"),
|
||||
("status", state.InternalsConnected ? "Connected" : "Disconnected")));
|
||||
if (state.OutputPressure.HasValue)
|
||||
{
|
||||
_spbPressure.Value = state.OutputPressure.Value;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
@@ -106,7 +106,7 @@ namespace Content.Client.Verbs
|
||||
|
||||
if (!entity.Uid.IsClientSide())
|
||||
{
|
||||
_currentVerbListRoot.List.AddChild(new Label { Text = Loc.GetString("Waiting on Server...") });
|
||||
_currentVerbListRoot.List.AddChild(new Label { Text = Loc.GetString("verb-system-waiting-on-server-text") });
|
||||
RaiseNetworkEvent(new VerbSystemMessages.RequestVerbsMessage(_currentEntity));
|
||||
}
|
||||
|
||||
@@ -251,7 +251,7 @@ namespace Content.Client.Verbs
|
||||
else
|
||||
{
|
||||
var panel = new PanelContainer();
|
||||
panel.AddChild(new Label { Text = Loc.GetString("No verbs!") });
|
||||
panel.AddChild(new Label { Text = Loc.GetString("verb-system-no-verbs-text") });
|
||||
vBox.AddChild(panel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using Content.Client.Stylesheets;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Client.AutoGenerated;
|
||||
@@ -100,8 +100,8 @@ namespace Content.Client.Voting.UI
|
||||
public sealed class VoteMenuCommand : IConsoleCommand
|
||||
{
|
||||
public string Command => "votemenu";
|
||||
public string Description => "Opens the voting menu";
|
||||
public string Help => "Usage: votemenu";
|
||||
public string Description => Loc.GetString("ui-vote-menu-command-description");
|
||||
public string Help => Loc.GetString("ui-vote-menu-command-help-text");
|
||||
|
||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||
{
|
||||
|
||||
@@ -154,7 +154,7 @@ namespace Content.Client.Wires.UI
|
||||
}),
|
||||
(_serialLabel = new Label
|
||||
{
|
||||
Text = "DEAD-BEEF",
|
||||
Text = Loc.GetString("wires-menu-dead-beef-text"),
|
||||
FontOverride = fontSmall,
|
||||
FontColorOverride = Color.Gray,
|
||||
VerticalAlignment = VAlignment.Center,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Text;
|
||||
using Content.Server.Administration;
|
||||
using Content.Server.AI.EntitySystems;
|
||||
@@ -13,9 +13,8 @@ namespace Content.Server.AI.Commands
|
||||
public sealed class FactionCommand : IConsoleCommand
|
||||
{
|
||||
public string Command => "factions";
|
||||
public string Description => "Update / list factional relationships for NPCs.";
|
||||
public string Help => "faction <source> <friendly/hostile> target\n" +
|
||||
"faction <source> list: hostile factions";
|
||||
public string Description => Loc.GetString("faction-command-description");
|
||||
public string Help => Loc.GetString("faction-command-help-text");
|
||||
|
||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||
{
|
||||
@@ -35,13 +34,13 @@ namespace Content.Server.AI.Commands
|
||||
|
||||
if (args.Length < 2)
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Need more args"));
|
||||
shell.WriteLine(Loc.GetString("shell-wrong-arguments-number"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Enum.TryParse(args[0], true, out Faction faction))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Invalid faction"));
|
||||
shell.WriteLine(Loc.GetString("faction-command-invalid-faction-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -52,40 +51,40 @@ namespace Content.Server.AI.Commands
|
||||
case "friendly":
|
||||
if (args.Length < 3)
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Need to supply a target faction"));
|
||||
shell.WriteLine(Loc.GetString("faction-command-no-target-faction-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Enum.TryParse(args[2], true, out targetFaction))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Invalid target faction"));
|
||||
shell.WriteLine(Loc.GetString("faction-command-invalid-target-faction-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
EntitySystem.Get<AiFactionTagSystem>().MakeFriendly(faction, targetFaction);
|
||||
shell.WriteLine(Loc.GetString("Command successful"));
|
||||
shell.WriteLine(Loc.GetString("shell-command-success"));
|
||||
break;
|
||||
case "hostile":
|
||||
if (args.Length < 3)
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Need to supply a target faction"));
|
||||
shell.WriteLine(Loc.GetString("faction-command-no-target-faction-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Enum.TryParse(args[2], true, out targetFaction))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Invalid target faction"));
|
||||
shell.WriteLine(Loc.GetString("faction-command-invalid-target-faction-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
EntitySystem.Get<AiFactionTagSystem>().MakeHostile(faction, targetFaction);
|
||||
shell.WriteLine(Loc.GetString("Command successful"));
|
||||
shell.WriteLine(Loc.GetString("shell-command-success"));
|
||||
break;
|
||||
case "list":
|
||||
shell.WriteLine(EntitySystem.Get<AiFactionTagSystem>().GetHostileFactions(faction).ToString());
|
||||
break;
|
||||
default:
|
||||
shell.WriteLine(Loc.GetString("Unknown faction arg"));
|
||||
shell.WriteLine(Loc.GetString("faction-command-unknown-faction-argument-error"));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -119,7 +119,7 @@ namespace Content.Server.AME.Components
|
||||
|
||||
if (!args.User.TryGetComponent(out IHandsComponent? hands))
|
||||
{
|
||||
Owner.PopupMessage(args.User, Loc.GetString("You have no hands."));
|
||||
Owner.PopupMessage(args.User, Loc.GetString("ame-controller-component-interact-no-hands-text"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -333,13 +333,13 @@ namespace Content.Server.AME.Components
|
||||
{
|
||||
if (!args.User.TryGetComponent(out IHandsComponent? hands))
|
||||
{
|
||||
Owner.PopupMessage(args.User, Loc.GetString("You have no hands."));
|
||||
Owner.PopupMessage(args.User, Loc.GetString("ame-controller-component-interact-using-no-hands-text"));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (hands.GetActiveHand == null)
|
||||
{
|
||||
Owner.PopupMessage(args.User, Loc.GetString("You have nothing on your hand."));
|
||||
Owner.PopupMessage(args.User, Loc.GetString("ame-controller-component-interact-using-nothing-in-hands-text"));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -348,19 +348,19 @@ namespace Content.Server.AME.Components
|
||||
{
|
||||
if (HasJar)
|
||||
{
|
||||
Owner.PopupMessage(args.User, Loc.GetString("The controller already has a jar loaded."));
|
||||
Owner.PopupMessage(args.User, Loc.GetString("ame-controller-component-interact-using-already-has-jar"));
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
_jarSlot.Insert(activeHandEntity);
|
||||
Owner.PopupMessage(args.User, Loc.GetString("You insert the jar into the fuel slot."));
|
||||
Owner.PopupMessage(args.User, Loc.GetString("ame-controller-component-interact-using-success"));
|
||||
UpdateUserInterface();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Owner.PopupMessage(args.User, Loc.GetString("You can't put that in the controller..."));
|
||||
Owner.PopupMessage(args.User, Loc.GetString("ame-controller-component-interact-using-fail"));
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace Content.Server.AME.Components
|
||||
{
|
||||
if (!args.User.TryGetComponent<IHandsComponent>(out var hands))
|
||||
{
|
||||
Owner.PopupMessage(args.User, Loc.GetString("You have no hands."));
|
||||
Owner.PopupMessage(args.User, Loc.GetString("ame-part-component-interact-using-no-hands"));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace Content.Server.AME.Components
|
||||
var snapPos = mapGrid.TileIndicesFor(args.ClickLocation);
|
||||
if (mapGrid.GetAnchoredEntities(snapPos).Any(sc => _serverEntityManager.ComponentManager.HasComponent<AMEShieldComponent>(sc)))
|
||||
{
|
||||
Owner.PopupMessage(args.User, Loc.GetString("Shielding is already there!"));
|
||||
Owner.PopupMessage(args.User, Loc.GetString("ame-part-component-shielding-already-present"));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace Content.Server.APC.Components
|
||||
}
|
||||
else
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("Insufficient access!"));
|
||||
user.PopupMessageCursor(Loc.GetString("apc-component-insufficient-access"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -55,11 +55,15 @@ namespace Content.Server.Access.Components
|
||||
return;
|
||||
}
|
||||
|
||||
var jobSuffix = string.IsNullOrWhiteSpace(JobTitle) ? "" : $" ({JobTitle})";
|
||||
var jobSuffix = string.IsNullOrWhiteSpace(JobTitle) ? string.Empty : $" ({JobTitle})";
|
||||
|
||||
Owner.Name = string.IsNullOrWhiteSpace(FullName)
|
||||
? Loc.GetString("{0}{1}", _originalOwnerName, jobSuffix)
|
||||
: Loc.GetString("{0}'s ID card{1}", FullName, jobSuffix);
|
||||
? Loc.GetString("access-id-card-component-owner-name-job-title-text",
|
||||
("originalOwnerName", _originalOwnerName),
|
||||
("jobSuffix", jobSuffix))
|
||||
: Loc.GetString("access-id-card-component-owner-full-name-job-title-text",
|
||||
("fullName", FullName),
|
||||
("jobSuffix", jobSuffix));
|
||||
}
|
||||
|
||||
protected override void Initialize()
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace Content.Server.Access.Components
|
||||
{
|
||||
if (!user.TryGetComponent(out IHandsComponent? hands))
|
||||
{
|
||||
Owner.PopupMessage(user, Loc.GetString("You have no hands."));
|
||||
Owner.PopupMessage(user, Loc.GetString("access-id-card-console-component-no-hands-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ namespace Content.Server.Access.Components
|
||||
|
||||
if (!hands.Drop(hands.ActiveHand, container))
|
||||
{
|
||||
Owner.PopupMessage(user, Loc.GetString("You can't let go of the ID card!"));
|
||||
Owner.PopupMessage(user, Loc.GetString("access-id-card-console-component-cannot-let-go-error"));
|
||||
return;
|
||||
}
|
||||
UpdateUserInterface();
|
||||
@@ -194,8 +194,8 @@ namespace Content.Server.Access.Components
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
_privilegedIdContainer.ContainedEntity?.Name ?? "",
|
||||
_targetIdContainer.ContainedEntity?.Name ?? "");
|
||||
_privilegedIdContainer.ContainedEntity?.Name ?? string.Empty,
|
||||
_targetIdContainer.ContainedEntity?.Name ?? string.Empty);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -208,8 +208,8 @@ namespace Content.Server.Access.Components
|
||||
targetIdComponent.FullName,
|
||||
targetIdComponent.JobTitle,
|
||||
targetAccessComponent.Tags.ToArray(),
|
||||
_privilegedIdContainer.ContainedEntity?.Name ?? "",
|
||||
_targetIdContainer.ContainedEntity?.Name ?? "");
|
||||
_privilegedIdContainer.ContainedEntity?.Name ?? string.Empty,
|
||||
_targetIdContainer.ContainedEntity?.Name ?? string.Empty);
|
||||
}
|
||||
UserInterface?.SetState(newState);
|
||||
}
|
||||
@@ -235,7 +235,7 @@ namespace Content.Server.Access.Components
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!item.TryGetComponent<IdCardComponent>(out var idCardComponent) || !user.TryGetComponent(out IHandsComponent? hand))
|
||||
if (!item.HasComponent<IdCardComponent>() || !user.TryGetComponent(out IHandsComponent? hand))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -265,7 +265,7 @@ namespace Content.Server.Access.Components
|
||||
return;
|
||||
}
|
||||
|
||||
data.Text = Loc.GetString("Eject Privileged ID");
|
||||
data.Text = Loc.GetString("access-eject-privileged-id-verb-get-data-text");
|
||||
data.IconTexture = "/Textures/Interface/VerbIcons/eject.svg.192dpi.png";
|
||||
data.Visibility = component.PrivilegedIDEmpty ? VerbVisibility.Invisible : VerbVisibility.Visible;
|
||||
}
|
||||
@@ -290,7 +290,7 @@ namespace Content.Server.Access.Components
|
||||
return;
|
||||
}
|
||||
|
||||
data.Text = Loc.GetString("Eject Target ID");
|
||||
data.Text = Loc.GetString("access-eject-target-id-verb-get-data-text");
|
||||
data.Visibility = component.TargetIDEmpty ? VerbVisibility.Invisible : VerbVisibility.Visible;
|
||||
data.IconTexture = "/Textures/Interface/VerbIcons/eject.svg.192dpi.png";
|
||||
}
|
||||
|
||||
@@ -72,8 +72,11 @@ namespace Content.Server.Actions.Actions
|
||||
{
|
||||
SoundSystem.Play(Filter.Pvs(args.Performer), "/Audio/Weapons/punchmiss.ogg", args.Performer,
|
||||
AudioHelpers.WithVariation(0.025f));
|
||||
args.Performer.PopupMessageOtherClients(Loc.GetString("{0} fails to disarm {1}!", args.Performer.Name, args.Target.Name));
|
||||
args.Performer.PopupMessageCursor(Loc.GetString("You fail to disarm {0}!", args.Target.Name));
|
||||
args.Performer.PopupMessageOtherClients(Loc.GetString("disarm-action-popup-message-other-clients",
|
||||
("performerName", args.Performer.Name),
|
||||
("targetName", args.Target.Name)));
|
||||
args.Performer.PopupMessageCursor(Loc.GetString("disarm-action-popup-message-cursor",
|
||||
("targetName", args.Target.Name)));
|
||||
system.SendLunge(angle, args.Performer);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -14,21 +14,21 @@ namespace Content.Server.Administration.Commands
|
||||
class ControlMob : IConsoleCommand
|
||||
{
|
||||
public string Command => "controlmob";
|
||||
public string Description => Loc.GetString("Transfers user mind to the specified entity.");
|
||||
public string Help => Loc.GetString("Usage: controlmob <mobUid>.");
|
||||
public string Description => Loc.GetString("control-mob-command-description");
|
||||
public string Help => Loc.GetString("control-mob-command-help-text");
|
||||
|
||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||
{
|
||||
var player = shell.Player as IPlayerSession;
|
||||
if (player == null)
|
||||
{
|
||||
shell.WriteLine("Server cannot do this.");
|
||||
shell.WriteLine("shell-server-cannot");
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.Length != 1)
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Wrong number of arguments."));
|
||||
shell.WriteLine(Loc.GetString("shell-wrong-arguments-number"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace Content.Server.Administration.Commands
|
||||
|
||||
if (!int.TryParse(args[0], out var targetId))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Argument must be a number."));
|
||||
shell.WriteLine(Loc.GetString("shell-argument-must-be-number"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -45,14 +45,14 @@ namespace Content.Server.Administration.Commands
|
||||
|
||||
if (!eUid.IsValid() || !entityManager.EntityExists(eUid))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Invalid entity ID."));
|
||||
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
||||
return;
|
||||
}
|
||||
|
||||
var target = entityManager.GetEntity(eUid);
|
||||
if (!target.TryGetComponent(out MindComponent? mindComponent))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Target entity is not a mob!"));
|
||||
shell.WriteLine(Loc.GetString("shell-entity-is-not-mob"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,16 +12,16 @@ namespace Content.Server.Administration.Commands
|
||||
{
|
||||
public string Command => "dsay";
|
||||
|
||||
public string Description => Loc.GetString("Sends a message to deadchat as an admin");
|
||||
public string Description => Loc.GetString("dsay-command-description");
|
||||
|
||||
public string Help => Loc.GetString($"Usage: {Command} <message>");
|
||||
public string Help => Loc.GetString("dsay-command-help-text", ("command", Command));
|
||||
|
||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||
{
|
||||
var player = shell.Player as IPlayerSession;
|
||||
if (player == null)
|
||||
{
|
||||
shell.WriteLine("Only players can use this command");
|
||||
shell.WriteLine("shell-only-players-can-run-this-command");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Content.Shared.Administration;
|
||||
using Robust.Shared.Console;
|
||||
@@ -12,20 +12,10 @@ namespace Content.Server.Administration.Commands
|
||||
class DeleteEntitiesWithComponent : IConsoleCommand
|
||||
{
|
||||
public string Command => "deleteewc";
|
||||
public string Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return Loc.GetString("Deletes entities with the specified components.");
|
||||
}
|
||||
}
|
||||
public string Help
|
||||
{
|
||||
get
|
||||
{
|
||||
return Loc.GetString("Usage: deleteewc <componentName_1> <componentName_2> ... <componentName_n>\nDeletes any entities with the components specified.");
|
||||
}
|
||||
}
|
||||
|
||||
public string Description => Loc.GetString("delete-entities-with-component-command-description");
|
||||
|
||||
public string Help => Loc.GetString("delete-entities-with-component-command-help-text");
|
||||
|
||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||
{
|
||||
@@ -52,7 +42,7 @@ namespace Content.Server.Administration.Commands
|
||||
count += 1;
|
||||
}
|
||||
|
||||
shell.WriteLine(Loc.GetString("Deleted {0} entities", count));
|
||||
shell.WriteLine(Loc.GetString("delete-entities-with-component-command-deleted-components",("count", count)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,30 +12,20 @@ namespace Content.Server.Administration.Commands
|
||||
class Rejuvenate : IConsoleCommand
|
||||
{
|
||||
public string Command => "rejuvenate";
|
||||
public string Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return Loc.GetString("Fully heals a mob.");
|
||||
}
|
||||
}
|
||||
public string Help
|
||||
{
|
||||
get
|
||||
{
|
||||
return Loc.GetString("Usage: rejuvenate <mobUid_1> <mobUid_2> ... <mobUid_n>\nAttempts to heal the user's mob if no arguments are provided.");
|
||||
}
|
||||
}
|
||||
|
||||
public string Description => Loc.GetString("rejuvenate-command-description");
|
||||
|
||||
public string Help => Loc.GetString("rejuvenate-command-help-text");
|
||||
|
||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||
{
|
||||
var player = shell.Player as IPlayerSession;
|
||||
if (args.Length < 1 && player != null) //Try to heal the users mob if applicable
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Healing the user's mob since no arguments were provided."));
|
||||
shell.WriteLine(Loc.GetString("rejuvenate-command-self-heal-message"));
|
||||
if (player.AttachedEntity == null)
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("There's no entity attached to the user."));
|
||||
shell.WriteLine(Loc.GetString("rejuvenate-command-no-entity-attached-message"));
|
||||
return;
|
||||
}
|
||||
RejuvenateVerb.PerformRejuvenate(player.AttachedEntity);
|
||||
@@ -46,7 +36,7 @@ namespace Content.Server.Administration.Commands
|
||||
{
|
||||
if(!EntityUid.TryParse(arg, out var uid) || !entityManager.TryGetEntity(uid, out var entity))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Could not find entity {0}", arg));
|
||||
shell.WriteLine(Loc.GetString("shell-could-not-find-entity",("entity", arg)));
|
||||
continue;
|
||||
}
|
||||
RejuvenateVerb.PerformRejuvenate(entity);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
|
||||
using Content.Server.Database;
|
||||
using Content.Server.Interfaces;
|
||||
@@ -16,14 +16,14 @@ namespace Content.Server.Administration.Commands
|
||||
internal class SetAdminOOC : IConsoleCommand
|
||||
{
|
||||
public string Command => "setadminooc";
|
||||
public string Description => Loc.GetString($"Sets the color of your OOC messages. Color must be in hex format, example: {Command} #c43b23");
|
||||
public string Help => Loc.GetString($"Usage: {Command} <color>");
|
||||
public string Description => Loc.GetString("set-admin-ooc-command-description", ("command", Command));
|
||||
public string Help => Loc.GetString("set-admin-ooc-command-help-text", ("command", Command));
|
||||
|
||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||
{
|
||||
if (!(shell.Player is IPlayerSession))
|
||||
{
|
||||
shell.WriteError(Loc.GetString("Only players can use this command"));
|
||||
shell.WriteError(Loc.GetString("shell-only-players-can-run-this-command"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace Content.Server.Administration.Commands
|
||||
var color = Color.TryFromHex(colorArg);
|
||||
if (!color.HasValue)
|
||||
{
|
||||
shell.WriteError(Loc.GetString("Invalid color hex!"));
|
||||
shell.WriteError(Loc.GetString("shell-invalid-color-hex"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,21 +15,21 @@ namespace Content.Server.Administration.Commands
|
||||
{
|
||||
public string Command => "setmind";
|
||||
|
||||
public string Description => Loc.GetString("Transfers a mind to the specified entity. The entity must have a MindComponent.");
|
||||
public string Description => Loc.GetString("set-mind-command-description", ("requiredComponent", nameof(MindComponent)));
|
||||
|
||||
public string Help => Loc.GetString("Usage: {0} <entityUid> <username>", Command);
|
||||
public string Help => Loc.GetString("set-mind-command-help-text", ("command", Command));
|
||||
|
||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||
{
|
||||
if (args.Length != 2)
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Wrong number of arguments."));
|
||||
shell.WriteLine(Loc.GetString("shell-wrong-arguments-number"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!int.TryParse(args[0], out var entityUid))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("EntityUid must be a number."));
|
||||
shell.WriteLine(Loc.GetString("shell-entity-uid-must-be-number"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -39,21 +39,21 @@ namespace Content.Server.Administration.Commands
|
||||
|
||||
if (!eUid.IsValid() || !entityManager.EntityExists(eUid))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Invalid entity ID."));
|
||||
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
||||
return;
|
||||
}
|
||||
|
||||
var target = entityManager.GetEntity(eUid);
|
||||
|
||||
if (!target.TryGetComponent<MindComponent>(out var mindComponent))
|
||||
if (!target.HasComponent<MindComponent>())
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Target entity does not have a mind (did you forget to make sentient?)"));
|
||||
shell.WriteLine(Loc.GetString("set-mind-command-target-has-no-mind-message"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!IoCManager.Resolve<IPlayerManager>().TryGetSessionByUsername(args[1], out var session))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Target player does not exist"));
|
||||
shell.WriteLine(Loc.GetString("shell-target-player-does-not-exist"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace Content.Server.Administration.Commands
|
||||
var playerCData = session.ContentData();
|
||||
if (playerCData == null)
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Target player does not have content data (wtf?)"));
|
||||
shell.WriteLine(Loc.GetString("set-mind-command-target-has-no-content-data-message"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ using Content.Shared.Administration;
|
||||
using Content.Shared.Inventory;
|
||||
using Content.Shared.Preferences;
|
||||
using Content.Shared.Roles;
|
||||
using NFluidsynth;
|
||||
using Robust.Server.GameObjects;
|
||||
using Robust.Server.Player;
|
||||
using Robust.Shared.Console;
|
||||
@@ -26,22 +25,21 @@ namespace Content.Server.Administration.Commands
|
||||
{
|
||||
public string Command => "setoutfit";
|
||||
|
||||
public string Description =>
|
||||
Loc.GetString("Sets the outfit of the specified entity. The entity must have an InventoryComponent");
|
||||
public string Description => Loc.GetString("set-outfit-command-description", ("requiredComponent", nameof(InventoryComponent)));
|
||||
|
||||
public string Help => Loc.GetString("Usage: {0} <entityUid> | {0} <entityUid> <outfitId>", Command);
|
||||
public string Help => Loc.GetString("set-outfit-command-help-text", ("command",Command));
|
||||
|
||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||
{
|
||||
if (args.Length < 1)
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Wrong number of arguments."));
|
||||
shell.WriteLine(Loc.GetString("shell-wrong-arguments-number"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!int.TryParse(args[0], out var entityUid))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("EntityUid must be a number."));
|
||||
shell.WriteLine(Loc.GetString("shell-entity-uid-must-be-number"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -51,7 +49,7 @@ namespace Content.Server.Administration.Commands
|
||||
|
||||
if (!eUid.IsValid() || !entityManager.EntityExists(eUid))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Invalid entity ID."));
|
||||
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -59,17 +57,15 @@ namespace Content.Server.Administration.Commands
|
||||
|
||||
if (!target.TryGetComponent<InventoryComponent>(out var inventoryComponent))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Target entity does not have an inventory!"));
|
||||
shell.WriteLine(Loc.GetString("shell-target-entity-does-not-have-message",("missing", "inventory")));
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.Length == 1)
|
||||
{
|
||||
if (!(shell.Player is IPlayerSession player))
|
||||
if (shell.Player is not IPlayerSession player)
|
||||
{
|
||||
shell.WriteError(
|
||||
Loc.GetString(
|
||||
"This does not work from the server console. You must pass the outfit id aswell."));
|
||||
shell.WriteError(Loc.GetString("set-outfit-command-is-not-player-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -82,7 +78,7 @@ namespace Content.Server.Administration.Commands
|
||||
var prototypeManager = IoCManager.Resolve<IPrototypeManager>();
|
||||
if (!prototypeManager.TryIndex<StartingGearPrototype>(args[1], out var startingGear))
|
||||
{
|
||||
shell.WriteLine(Loc.GetString("Invalid outfit id"));
|
||||
shell.WriteLine(Loc.GetString("set-outfit-command-invalid-outfit-id-error"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -100,7 +96,10 @@ namespace Content.Server.Administration.Commands
|
||||
{
|
||||
inventoryComponent.ForceUnequip(slot);
|
||||
var gearStr = startingGear.GetGear(slot, profile);
|
||||
if (gearStr == "") continue;
|
||||
if (gearStr == string.Empty)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var equipmentEntity = entityManager.SpawnEntity(gearStr, target.Transform.Coordinates);
|
||||
if (slot == EquipmentSlotDefines.Slots.IDCARD &&
|
||||
equipmentEntity.TryGetComponent<PDAComponent>(out var pdaComponent) &&
|
||||
|
||||
@@ -79,8 +79,8 @@ namespace Content.Server.Administration.Managers
|
||||
return;
|
||||
}
|
||||
|
||||
_chat.SendAdminAnnouncement(Loc.GetString("{0} de-adminned themselves.", session.Name));
|
||||
_chat.DispatchServerMessage(session, Loc.GetString("You are now a normal player."));
|
||||
_chat.SendAdminAnnouncement(Loc.GetString("admin-manager-self-de-admin-message", ("exAdminName", session.Name)));
|
||||
_chat.DispatchServerMessage(session, Loc.GetString("admin-manager-became-normal-player-message"));
|
||||
|
||||
var plyData = session.ContentData()!;
|
||||
plyData.ExplicitlyDeadminned = true;
|
||||
@@ -97,13 +97,13 @@ namespace Content.Server.Administration.Managers
|
||||
throw new ArgumentException($"Player {session} is not an admin");
|
||||
}
|
||||
|
||||
_chat.DispatchServerMessage(session, Loc.GetString("You are now an admin."));
|
||||
_chat.DispatchServerMessage(session, Loc.GetString("admin-manager-became-admin-message"));
|
||||
|
||||
var plyData = session.ContentData()!;
|
||||
plyData.ExplicitlyDeadminned = false;
|
||||
reg.Data.Active = true;
|
||||
|
||||
_chat.SendAdminAnnouncement(Loc.GetString("{0} re-adminned themselves.", session.Name));
|
||||
_chat.SendAdminAnnouncement(Loc.GetString("admin-manager-self-re-admin-message", ("newAdminName", session.Name)));
|
||||
|
||||
SendPermsChangedEvent(session);
|
||||
UpdateAdminStatus(session);
|
||||
@@ -124,7 +124,7 @@ namespace Content.Server.Administration.Managers
|
||||
{
|
||||
// No longer admin.
|
||||
_admins.Remove(player);
|
||||
_chat.DispatchServerMessage(player, Loc.GetString("You are no longer an admin."));
|
||||
_chat.DispatchServerMessage(player, Loc.GetString("admin-manager-no-longer-admin-message"));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -139,7 +139,7 @@ namespace Content.Server.Administration.Managers
|
||||
RankId = rankId
|
||||
};
|
||||
_admins.Add(player, reg);
|
||||
_chat.DispatchServerMessage(player, Loc.GetString("You are now an admin."));
|
||||
_chat.DispatchServerMessage(player, Loc.GetString("admin-manager-became-admin-message"));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -153,7 +153,7 @@ namespace Content.Server.Administration.Managers
|
||||
{
|
||||
aData.Active = true;
|
||||
|
||||
_chat.DispatchServerMessage(player, Loc.GetString("Your admin permissions have been updated."));
|
||||
_chat.DispatchServerMessage(player, Loc.GetString("admin-manager-admin-permissions-updated-message"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -250,7 +250,7 @@ namespace Content.Server.Administration.Managers
|
||||
foreach (var session in _playerManager.GetAllPlayers())
|
||||
{
|
||||
var name = session.Name;
|
||||
var username = session.AttachedEntity?.Name ?? "";
|
||||
var username = session.AttachedEntity?.Name ?? string.Empty;
|
||||
var antag = session.ContentData()?.Mind?.AllRoles.Any(r => r.Antagonist) ?? false;
|
||||
|
||||
netMsg.PlayersInfo.Add(new AdminMenuPlayerListMessage.PlayerInfo(name, username, antag));
|
||||
@@ -308,7 +308,7 @@ namespace Content.Server.Administration.Managers
|
||||
{
|
||||
if (_admins.Remove(e.Session) && _cfg.GetCVar(CCVars.AdminAnnounceLogout))
|
||||
{
|
||||
_chat.SendAdminAnnouncement(Loc.GetString("Admin logout: {0}", e.Session.Name));
|
||||
_chat.SendAdminAnnouncement(Loc.GetString("admin-manager-admin-logout-message", ("name", e.Session.Name)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -337,7 +337,7 @@ namespace Content.Server.Administration.Managers
|
||||
|
||||
if (_cfg.GetCVar(CCVars.AdminAnnounceLogin))
|
||||
{
|
||||
_chat.SendAdminAnnouncement(Loc.GetString("Admin login: {0}", session.Name));
|
||||
_chat.SendAdminAnnouncement(Loc.GetString("admin-manager-admin-login-message", ("name", session.Name)));
|
||||
}
|
||||
|
||||
SendPermsChangedEvent(session);
|
||||
@@ -352,7 +352,7 @@ namespace Content.Server.Administration.Managers
|
||||
{
|
||||
var data = new AdminData
|
||||
{
|
||||
Title = Loc.GetString("Host"),
|
||||
Title = Loc.GetString("admin-manager-admin-data-host-title"),
|
||||
Flags = AdminFlagsHelper.Everything,
|
||||
};
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace Content.Server.Administration.Verbs
|
||||
return;
|
||||
}
|
||||
|
||||
data.Text = Loc.GetString("Add Reagent...");
|
||||
data.Text = Loc.GetString("admin-add-reagent-verb-get-data-text");
|
||||
data.CategoryData = VerbCategories.Debug;
|
||||
data.Visibility = VerbVisibility.Invisible;
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace Content.Server.Administration.Verbs
|
||||
return;
|
||||
}
|
||||
|
||||
data.Text = Loc.GetString("Delete");
|
||||
data.Text = Loc.GetString("delete-verb-get-data-text");
|
||||
data.CategoryData = VerbCategories.Debug;
|
||||
data.Visibility = VerbVisibility.Visible;
|
||||
data.IconTexture = "/Textures/Interface/VerbIcons/delete.svg.192dpi.png";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using Content.Server.Advertisements;
|
||||
using Content.Server.Chat.Managers;
|
||||
|
||||
@@ -289,7 +289,9 @@ namespace Content.Server.Arcade.Components
|
||||
{
|
||||
case PlayerAction.Attack:
|
||||
var attackAmount = _random.Next(2, 6);
|
||||
_latestPlayerActionMessage = Loc.GetString("You attack {0} for {1}!", _enemyName, attackAmount);
|
||||
_latestPlayerActionMessage = Loc.GetString("space-villain-game-player-attack-message",
|
||||
("enemyName", _enemyName),
|
||||
("attackAmount", attackAmount));
|
||||
SoundSystem.Play(Filter.Pvs(_owner.Owner), "/Audio/Effects/Arcade/player_attack.ogg", _owner.Owner, AudioParams.Default.WithVolume(-4f));
|
||||
if(!_owner._enemyInvincibilityFlag) _enemyHp -= attackAmount;
|
||||
_turtleTracker -= _turtleTracker > 0 ? 1 : 0;
|
||||
@@ -297,7 +299,9 @@ namespace Content.Server.Arcade.Components
|
||||
case PlayerAction.Heal:
|
||||
var pointAmount = _random.Next(1, 3);
|
||||
var healAmount = _random.Next(6, 8);
|
||||
_latestPlayerActionMessage = Loc.GetString("You use {0} magic to heal for {1} damage!", pointAmount, healAmount);
|
||||
_latestPlayerActionMessage = Loc.GetString("space-villain-game-player-heal-message",
|
||||
("magicPointAmount", pointAmount),
|
||||
("healAmount", healAmount));
|
||||
SoundSystem.Play(Filter.Pvs(_owner.Owner), "/Audio/Effects/Arcade/player_heal.ogg", _owner.Owner, AudioParams.Default.WithVolume(-4f));
|
||||
if(!_owner._playerInvincibilityFlag) _playerMp -= pointAmount;
|
||||
_playerHp += healAmount;
|
||||
@@ -305,7 +309,7 @@ namespace Content.Server.Arcade.Components
|
||||
break;
|
||||
case PlayerAction.Recharge:
|
||||
var chargeAmount = _random.Next(4, 7);
|
||||
_latestPlayerActionMessage = Loc.GetString("You regain {0} points", chargeAmount);
|
||||
_latestPlayerActionMessage = Loc.GetString("space-villain-game-player-recharge-message",("regainedPoints", chargeAmount));
|
||||
SoundSystem.Play(Filter.Pvs(_owner.Owner), "/Audio/Effects/Arcade/player_charge.ogg", _owner.Owner, AudioParams.Default.WithVolume(-4f));
|
||||
_playerMp += chargeAmount;
|
||||
_turtleTracker -= _turtleTracker > 0 ? 1 : 0;
|
||||
@@ -337,7 +341,9 @@ namespace Content.Server.Arcade.Components
|
||||
if ((_playerHp > 0 && _playerMp > 0) && (_enemyHp <= 0 || _enemyMp <= 0))
|
||||
{
|
||||
_running = false;
|
||||
UpdateUi(Loc.GetString("You won!"), Loc.GetString("{0} dies.", _enemyName), true);
|
||||
UpdateUi(Loc.GetString("space-villain-game-player-wins-message"),
|
||||
Loc.GetString("space-villain-game-enemy-dies-message",("enemyName", _enemyName)),
|
||||
true);
|
||||
SoundSystem.Play(Filter.Pvs(_owner.Owner), "/Audio/Effects/Arcade/win.ogg", _owner.Owner, AudioParams.Default.WithVolume(-4f));
|
||||
_owner.ProcessWin();
|
||||
return false;
|
||||
@@ -348,14 +354,18 @@ namespace Content.Server.Arcade.Components
|
||||
if ((_enemyHp > 0 && _enemyMp > 0))
|
||||
{
|
||||
_running = false;
|
||||
UpdateUi(Loc.GetString("You lost!"), Loc.GetString("{0} cheers.", _enemyName), true);
|
||||
UpdateUi(Loc.GetString("space-villain-game-player-loses-message"),
|
||||
Loc.GetString("space-villain-game-enemy-cheers-message",("enemyName", _enemyName)),
|
||||
true);
|
||||
SoundSystem.Play(Filter.Pvs(_owner.Owner), "/Audio/Effects/Arcade/gameover.ogg", _owner.Owner, AudioParams.Default.WithVolume(-4f));
|
||||
return false;
|
||||
}
|
||||
if (_enemyHp <= 0 || _enemyMp <= 0)
|
||||
{
|
||||
_running = false;
|
||||
UpdateUi(Loc.GetString("You lost!"), Loc.GetString("{0} dies, but takes you with him.", _enemyName), true);
|
||||
UpdateUi(Loc.GetString("space-villain-game-player-loses-message"),
|
||||
Loc.GetString("space-villain-game-enemy-dies-with-player-message ", ("enemyName", _enemyName)),
|
||||
true);
|
||||
SoundSystem.Play(Filter.Pvs(_owner.Owner), "/Audio/Effects/Arcade/gameover.ogg", _owner.Owner, AudioParams.Default.WithVolume(-4f));
|
||||
return false;
|
||||
}
|
||||
@@ -387,14 +397,18 @@ namespace Content.Server.Arcade.Components
|
||||
if (_turtleTracker >= 4)
|
||||
{
|
||||
var boomAmount = _random.Next(5, 10);
|
||||
_latestEnemyActionMessage = Loc.GetString("{0} throws a bomb, exploding you for {1} damage!", _enemyName, boomAmount);
|
||||
_latestEnemyActionMessage = Loc.GetString("space-villain-game-enemy-throws-bomb-message",
|
||||
("enemyName", _enemyName),
|
||||
("damageReceived", boomAmount));
|
||||
if (_owner._playerInvincibilityFlag) return;
|
||||
_playerHp -= boomAmount;
|
||||
_turtleTracker--;
|
||||
}else if (_enemyMp <= 5 && _random.Prob(0.7f))
|
||||
{
|
||||
var stealAmount = _random.Next(2, 3);
|
||||
_latestEnemyActionMessage = Loc.GetString("{0} steals {1} of your power!", _enemyName, stealAmount);
|
||||
_latestEnemyActionMessage = Loc.GetString("space-villain-game-enemy-steals-player-power-message",
|
||||
("enemyName", _enemyName),
|
||||
("stolenAmount", stealAmount));
|
||||
if (_owner._playerInvincibilityFlag) return;
|
||||
_playerMp -= stealAmount;
|
||||
_enemyMp += stealAmount;
|
||||
@@ -402,13 +416,17 @@ namespace Content.Server.Arcade.Components
|
||||
{
|
||||
_enemyHp += 4;
|
||||
_enemyMp -= 4;
|
||||
_latestEnemyActionMessage = Loc.GetString("{0} heals for 4 health!", _enemyName);
|
||||
_latestEnemyActionMessage = Loc.GetString("space-villain-game-enemy-heals-message",
|
||||
("enemyName", _enemyName),
|
||||
("healedAmount", 4));
|
||||
}
|
||||
else
|
||||
{
|
||||
var attackAmount = _random.Next(3, 6);
|
||||
_latestEnemyActionMessage =
|
||||
Loc.GetString("{0} attacks you for {1} damage!", _enemyName, attackAmount);
|
||||
Loc.GetString("space-villain-game-enemy-attacks-message",
|
||||
("enemyName", _enemyName),
|
||||
("damageDealt", attackAmount));
|
||||
if (_owner._playerInvincibilityFlag) return;
|
||||
_playerHp -= attackAmount;
|
||||
}
|
||||
|
||||
@@ -63,11 +63,11 @@ namespace Content.Server.Atmos.Components
|
||||
|
||||
if (IsHoldingPressure())
|
||||
{
|
||||
Owner.PopupMessage(eventArgs.User, Loc.GetString("A gush of air blows in your face... Maybe you should reconsider."));
|
||||
Owner.PopupMessage(eventArgs.User, Loc.GetString("firelock-component-is-holding-pressure-message"));
|
||||
}
|
||||
else if (IsHoldingFire())
|
||||
{
|
||||
Owner.PopupMessage(eventArgs.User, Loc.GetString("A gush of warm air blows in your face... Maybe you should reconsider."));
|
||||
Owner.PopupMessage(eventArgs.User, Loc.GetString("firelock-component-is-holding-fire-message"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -194,7 +194,7 @@ namespace Content.Server.Atmos.Components
|
||||
|
||||
_resisting = true;
|
||||
|
||||
Owner.PopupMessage(Loc.GetString("You stop, drop, and roll!"));
|
||||
Owner.PopupMessage(Loc.GetString("flammable-component-resist-message"));
|
||||
stunnable.Paralyze(2f);
|
||||
|
||||
Owner.SpawnTimer(2000, () =>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Content.Server.Atmos.EntitySystems;
|
||||
@@ -231,14 +231,14 @@ namespace Content.Server.Atmos.Components
|
||||
|
||||
if (!player.TryGetComponent(out IHandsComponent? handsComponent))
|
||||
{
|
||||
Owner.PopupMessage(player, Loc.GetString("You have no hands."));
|
||||
Owner.PopupMessage(player, Loc.GetString("gas-analyzer-component-player-has-no-hands-message"));
|
||||
return;
|
||||
}
|
||||
|
||||
var activeHandEntity = handsComponent.GetActiveHand?.Owner;
|
||||
if (activeHandEntity == null || !activeHandEntity.TryGetComponent(out GasAnalyzerComponent? gasAnalyzer))
|
||||
{
|
||||
serverMsg.Session.AttachedEntity?.PopupMessage(Loc.GetString("You need a Gas Analyzer in your hand!"));
|
||||
serverMsg.Session.AttachedEntity?.PopupMessage(Loc.GetString("gas-analyzer-component-need-gas-analyzer-in-hand-message"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -252,7 +252,7 @@ namespace Content.Server.Atmos.Components
|
||||
{
|
||||
if (!eventArgs.CanReach)
|
||||
{
|
||||
eventArgs.User.PopupMessage(Loc.GetString("You can't reach there!"));
|
||||
eventArgs.User.PopupMessage(Loc.GetString("gas-analyzer-component-player-cannot-reach-message"));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -376,7 +376,7 @@ namespace Content.Server.Atmos.Components
|
||||
}
|
||||
|
||||
data.Visibility = VerbVisibility.Visible;
|
||||
data.Text = "Open Control Panel";
|
||||
data.Text = Loc.GetString("control-verb-open-control-panel-text");
|
||||
}
|
||||
|
||||
protected override void Activate(IEntity user, GasTankComponent component)
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace Content.Server.BarSign
|
||||
}
|
||||
else
|
||||
{
|
||||
Owner.Name = Loc.GetString("bar sign");
|
||||
Owner.Name = Loc.GetString("barsign-component-name");
|
||||
}
|
||||
|
||||
Owner.Description = prototype.Description;
|
||||
|
||||
@@ -9,15 +9,15 @@ namespace Content.Server.BarSign
|
||||
[Prototype("barSign")]
|
||||
public class BarSignPrototype : IPrototype
|
||||
{
|
||||
private string _description = "";
|
||||
private string _name = "";
|
||||
private string _description = string.Empty;
|
||||
private string _name = string.Empty;
|
||||
|
||||
[ViewVariables]
|
||||
[DataField("id", required: true)]
|
||||
public string ID { get; } = default!;
|
||||
|
||||
|
||||
[DataField("icon")] public string Icon { get; private set; } = "";
|
||||
[DataField("icon")] public string Icon { get; private set; } = string.Empty;
|
||||
|
||||
[DataField("name")]
|
||||
public string Name
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System;
|
||||
using Content.Server.Atmos;
|
||||
using Content.Server.Atmos.Components;
|
||||
@@ -59,7 +59,7 @@ namespace Content.Server.Body.Behavior
|
||||
if (_gameTiming.CurTime >= _lastGaspPopupTime + GaspPopupCooldown)
|
||||
{
|
||||
_lastGaspPopupTime = _gameTiming.CurTime;
|
||||
Owner.PopupMessageEveryone(Loc.GetString("Gasp"));
|
||||
Owner.PopupMessageEveryone(Loc.GetString("lung-behavior-gasp"));
|
||||
}
|
||||
|
||||
Inhale(CycleDelay);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Content.Server.UserInterface;
|
||||
@@ -56,7 +56,7 @@ namespace Content.Server.Body.Mechanism
|
||||
|
||||
if (!part.TryAddMechanism(this))
|
||||
{
|
||||
eventArgs.Target.PopupMessage(eventArgs.User, Loc.GetString("You can't fit it in!"));
|
||||
eventArgs.Target.PopupMessage(eventArgs.User, Loc.GetString("mechanism-component-cannot-fit-message"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace Content.Server.Body.Mechanism
|
||||
else // If surgery cannot be performed, show message saying so.
|
||||
{
|
||||
eventArgs.Target?.PopupMessage(eventArgs.User,
|
||||
Loc.GetString("You see no way to install the {0}.", Owner.Name));
|
||||
Loc.GetString("mechanism-component-no-way-to-install-message", ("partName", Owner.Name)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,14 +115,14 @@ namespace Content.Server.Body.Mechanism
|
||||
if (!OptionsCache.TryGetValue(key, out var targetObject))
|
||||
{
|
||||
BodyCache.Owner.PopupMessage(PerformerCache,
|
||||
Loc.GetString("You see no useful way to use the {0} anymore.", Owner.Name));
|
||||
Loc.GetString("mechanism-component-no-useful-way-to-use-message",("partName", Owner.Name)));
|
||||
return;
|
||||
}
|
||||
|
||||
var target = (SharedBodyPartComponent) targetObject;
|
||||
var message = target.TryAddMechanism(this)
|
||||
? Loc.GetString("You jam {0:theName} inside {1:them}.", Owner, PerformerCache)
|
||||
: Loc.GetString("You can't fit it in!");
|
||||
? Loc.GetString("mechanism-component-jam-inside-message",("ownerName", Owner),("them", PerformerCache))
|
||||
: Loc.GetString("mechanism-component-cannot-fit-message");
|
||||
|
||||
BodyCache.Owner.PopupMessage(PerformerCache, message);
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Content.Server.UserInterface;
|
||||
@@ -153,7 +153,7 @@ namespace Content.Server.Body.Part
|
||||
else // If surgery cannot be performed, show message saying so.
|
||||
{
|
||||
eventArgs.Target?.PopupMessage(eventArgs.User,
|
||||
Loc.GetString("You see no way to install {0:theName}.", Owner));
|
||||
Loc.GetString("bodypart-component-no-way-to-install-message", ("partName", Owner)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,13 +180,13 @@ namespace Content.Server.Body.Part
|
||||
if (!_optionsCache.TryGetValue(key, out var targetObject))
|
||||
{
|
||||
_owningBodyCache.Owner.PopupMessage(_surgeonCache,
|
||||
Loc.GetString("You see no useful way to attach {0:theName} anymore.", Owner));
|
||||
Loc.GetString("bodypart-component-no-way-to-attach-message", ("partName", Owner)));
|
||||
}
|
||||
|
||||
var target = (string) targetObject!;
|
||||
var message = _owningBodyCache.TryAddPart(target, this)
|
||||
? Loc.GetString("You attach {0:theName}.", Owner)
|
||||
: Loc.GetString("You can't attach {0:theName}!", Owner);
|
||||
? Loc.GetString("bodypart-component-attach-success-message",("partName", Owner))
|
||||
: Loc.GetString("bodypart-component-attach-fail-message",("partName", Owner));
|
||||
|
||||
_owningBodyCache.Owner.PopupMessage(_surgeonCache, message);
|
||||
}
|
||||
@@ -256,7 +256,7 @@ namespace Content.Server.Body.Part
|
||||
}
|
||||
|
||||
data.Visibility = VerbVisibility.Visible;
|
||||
data.Text = Loc.GetString("Attach Body Part");
|
||||
data.Text = Loc.GetString("attach-bodypart-verb-get-data-text");
|
||||
}
|
||||
|
||||
protected override void Activate(IEntity user, BodyPartComponent component)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -97,20 +97,20 @@ namespace Content.Server.Body.Surgery
|
||||
|
||||
if (HasIncisionNotClamped())
|
||||
{
|
||||
toReturn.Append(Loc.GetString("The skin on {0:their} {1} has an incision, but it is prone to bleeding.",
|
||||
Owner, Parent.Name));
|
||||
toReturn.Append(Loc.GetString("biological-surgery-data-component-has-incision-not-clamped-message",
|
||||
("owner", Owner),("bodyPart", Parent.Name)));
|
||||
}
|
||||
else if (HasClampedIncisionNotRetracted())
|
||||
{
|
||||
toReturn.AppendLine(Loc.GetString("The skin on {0:their} {1} has an incision, but it is not retracted.",
|
||||
Owner, Parent.Name));
|
||||
toReturn.AppendLine(Loc.GetString("biological-surgery-data-component-has-clamped-incision-not-retracted-message",
|
||||
("owner", Owner),("bodyPary", Parent.Name)));
|
||||
}
|
||||
else if (HasFullyOpenIncision())
|
||||
{
|
||||
toReturn.AppendLine(Loc.GetString("There is an incision on {0:their} {1}.\n", Owner, Parent.Name));
|
||||
toReturn.AppendLine(Loc.GetString("biological-surgery-data-component-has-fully-open-incision-message", ("owner", Owner), ("bodyPart", Parent.Name)) + "\n");
|
||||
foreach (var mechanism in _disconnectedOrgans)
|
||||
{
|
||||
toReturn.AppendLine(Loc.GetString("{0:their} {1} is loose.", Owner, mechanism.Name));
|
||||
toReturn.AppendLine(Loc.GetString("biological-surgery-data-component-part-is-loose-message",("owner", Owner), ("bodyPart", mechanism.Name)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,7 +225,7 @@ namespace Content.Server.Body.Surgery
|
||||
return;
|
||||
}
|
||||
|
||||
performer.PopupMessage(Loc.GetString("Cut open the skin..."));
|
||||
performer.PopupMessage(Loc.GetString("biological-surgery-data-component-open-skin-message"));
|
||||
|
||||
if (await SurgeryDoAfter(performer))
|
||||
{
|
||||
@@ -237,7 +237,7 @@ namespace Content.Server.Body.Surgery
|
||||
{
|
||||
if (Parent == null) return;
|
||||
|
||||
performer.PopupMessage(Loc.GetString("Clamp the vessels..."));
|
||||
performer.PopupMessage(Loc.GetString("biological-surgery-data-component-clamp-vessels-message"));
|
||||
|
||||
if (await SurgeryDoAfter(performer))
|
||||
{
|
||||
@@ -249,7 +249,7 @@ namespace Content.Server.Body.Surgery
|
||||
{
|
||||
if (Parent == null) return;
|
||||
|
||||
performer.PopupMessage(Loc.GetString("Retracting the skin..."));
|
||||
performer.PopupMessage(Loc.GetString("biological-surgery-data-component-retract-skin-message"));
|
||||
|
||||
if (await SurgeryDoAfter(performer))
|
||||
{
|
||||
@@ -261,7 +261,7 @@ namespace Content.Server.Body.Surgery
|
||||
{
|
||||
if (Parent == null) return;
|
||||
|
||||
performer.PopupMessage(Loc.GetString("Cauterizing the incision..."));
|
||||
performer.PopupMessage(Loc.GetString("biological-surgery-data-component-cauterize-incision-message"));
|
||||
|
||||
if (await SurgeryDoAfter(performer))
|
||||
{
|
||||
@@ -299,7 +299,7 @@ namespace Content.Server.Body.Surgery
|
||||
return;
|
||||
}
|
||||
|
||||
performer.PopupMessage(Loc.GetString("Loosening the organ..."));
|
||||
performer.PopupMessage(Loc.GetString("biological-surgery-data-component-loosen-organ-message"));
|
||||
|
||||
if (!performer.HasComponent<DoAfterComponent>())
|
||||
{
|
||||
@@ -340,7 +340,7 @@ namespace Content.Server.Body.Surgery
|
||||
return;
|
||||
}
|
||||
|
||||
performer.PopupMessage(Loc.GetString("Removing the organ..."));
|
||||
performer.PopupMessage(Loc.GetString("biological-surgery-data-component-remove-organ-message"));
|
||||
|
||||
if (!performer.HasComponent<DoAfterComponent>())
|
||||
{
|
||||
@@ -361,7 +361,7 @@ namespace Content.Server.Body.Surgery
|
||||
if (Parent == null) return;
|
||||
if (container is not SharedBodyComponent body) return;
|
||||
|
||||
performer.PopupMessage(Loc.GetString("Sawing off the limb!"));
|
||||
performer.PopupMessage(Loc.GetString("biological-surgery-data-component-remove-bodypart-message"));
|
||||
|
||||
if (await SurgeryDoAfter(performer))
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
@@ -265,7 +265,7 @@ namespace Content.Server.Body.Surgery.Components
|
||||
if (PerformerCache == null) return;
|
||||
|
||||
BodyCache?.Owner.PopupMessage(PerformerCache,
|
||||
Loc.GetString("You see no useful way to use {0:theName}.", Owner));
|
||||
Loc.GetString("surgery-tool-component-not-useful-message", ("bodyPart", Owner)));
|
||||
}
|
||||
|
||||
private void NotUsefulAnymorePopup()
|
||||
@@ -273,7 +273,7 @@ namespace Content.Server.Body.Surgery.Components
|
||||
if (PerformerCache == null) return;
|
||||
|
||||
BodyCache?.Owner.PopupMessage(PerformerCache,
|
||||
Loc.GetString("You see no useful way to use {0:theName} anymore.", Owner));
|
||||
Loc.GetString("surgery-tool-component-not-useful-anymore-message", ("bodyPart", Owner)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -654,12 +654,14 @@ namespace Content.Server.Botany.Components
|
||||
{
|
||||
if (seeds.Seed == null)
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("The packet seems to be empty. You throw it away."));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-empty-seed-packet-message"));
|
||||
usingItem.QueueDelete();
|
||||
return false;
|
||||
}
|
||||
|
||||
user.PopupMessageCursor(Loc.GetString("You plant the {0} {1}.", seeds.Seed.SeedName, seeds.Seed.SeedNoun));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-plant-success-message",
|
||||
("seedName", seeds.Seed.SeedName),
|
||||
("seedNoun", seeds.Seed.SeedNoun)));
|
||||
|
||||
Seed = seeds.Seed;
|
||||
Dead = false;
|
||||
@@ -675,7 +677,7 @@ namespace Content.Server.Botany.Components
|
||||
return true;
|
||||
}
|
||||
|
||||
user.PopupMessageCursor(Loc.GetString("The {0} already has seeds in it!", Owner.Name));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-already-seeded-message", ("name", Owner.Name)));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -683,14 +685,14 @@ namespace Content.Server.Botany.Components
|
||||
{
|
||||
if (WeedLevel > 0)
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("You remove the weeds from the {0}.", Owner.Name));
|
||||
user.PopupMessageOtherClients(Loc.GetString("{0} starts uprooting the weeds.", user.Name));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-remove-weeds-message",("name", Owner.Name)));
|
||||
user.PopupMessageOtherClients(Loc.GetString("plant-holder-component-remove-weeds-others-message",("otherName", user.Name)));
|
||||
WeedLevel = 0;
|
||||
UpdateSprite();
|
||||
}
|
||||
else
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("This plot is devoid of weeds! It doesn't need uprooting."));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-no-weeds-message"));
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -700,13 +702,13 @@ namespace Content.Server.Botany.Components
|
||||
{
|
||||
if (Seed != null)
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("You remove the plant from the {0}.", Owner.Name));
|
||||
user.PopupMessageOtherClients(Loc.GetString("{0} removes the plant.", user.Name));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-remove-plant-message",("name", Owner.Name)));
|
||||
user.PopupMessageOtherClients(Loc.GetString("plant-holder-component-remove-plant-others-message",("name", user.Name)));
|
||||
RemovePlant();
|
||||
}
|
||||
else
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("There is no plant to remove."));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-no-plant-message"));
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -731,13 +733,13 @@ namespace Content.Server.Botany.Components
|
||||
var split = solution.Drain(amount);
|
||||
if (split.TotalVolume == 0)
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("{0:TheName} is empty!", usingItem));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-empty-message",("owner", usingItem)));
|
||||
return true;
|
||||
}
|
||||
|
||||
user.PopupMessageCursor(Loc.GetString(
|
||||
sprayed ? "You spray {0:TheName}" : "You transfer {1}u to {0:TheName}",
|
||||
Owner, split.TotalVolume));
|
||||
user.PopupMessageCursor(Loc.GetString(sprayed ? "plant-holder-component-spray-message" : "plant-holder-component-transfer-message",
|
||||
("owner",Owner),
|
||||
("amount",split.TotalVolume)));
|
||||
|
||||
_solutionContainer?.TryAddSolution(split);
|
||||
|
||||
@@ -750,25 +752,25 @@ namespace Content.Server.Botany.Components
|
||||
{
|
||||
if (Seed == null)
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("There is nothing to take a sample of!"));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-nothing-to-sample-message"));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Sampled)
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("This plant has already been sampled."));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-already-sampled-message"));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Dead)
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("This plant is dead."));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-dead-plant-message"));
|
||||
return false;
|
||||
}
|
||||
|
||||
var seed = Seed.SpawnSeedPacket(user.Transform.Coordinates);
|
||||
seed.RandomOffset(0.25f);
|
||||
user.PopupMessageCursor(Loc.GetString($"You take a sample from the {Seed.DisplayName}."));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-take-sample-message", ("seedName", Seed.DisplayName)));
|
||||
Health -= (_random.Next(3, 5) * 10);
|
||||
|
||||
if (_random.Prob(0.3f))
|
||||
@@ -788,8 +790,13 @@ namespace Content.Server.Botany.Components
|
||||
|
||||
if (usingItem.HasComponent<ProduceComponent>())
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("You compost {1:theName} into {0:theName}.", Owner, usingItem));
|
||||
user.PopupMessageOtherClients(Loc.GetString("{0:TheName} composts {1:theName} into {2:theName}.", user, usingItem, Owner));
|
||||
user.PopupMessageCursor(Loc.GetString("plant-holder-component-compost-message",
|
||||
("owner", Owner),
|
||||
("usingItem", usingItem)));
|
||||
user.PopupMessageOtherClients(Loc.GetString("plant-holder-component-compost-others-message",
|
||||
("user",user),
|
||||
("usingItem", usingItem),
|
||||
("owner", Owner)));
|
||||
|
||||
if (usingItem.TryGetComponent(out SolutionContainerComponent? solution2))
|
||||
{
|
||||
@@ -826,45 +833,51 @@ namespace Content.Server.Botany.Components
|
||||
|
||||
if (Seed == null)
|
||||
{
|
||||
message.AddMarkup(Loc.GetString("It has nothing planted in it.\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-nothing-planted-message") + "\n");
|
||||
}
|
||||
else if (!Dead)
|
||||
{
|
||||
message.AddMarkup(Loc.GetString($"[color=green]{Seed.DisplayName}[/color] {(Seed.DisplayName.EndsWith('s') ? "are" : "is")} growing here.\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-something-already-growing-message",
|
||||
("seedName", Seed.DisplayName),
|
||||
("toBeForm", Seed.DisplayName.EndsWith('s') ? "are" : "is"))
|
||||
+ "\n");
|
||||
|
||||
if(Health <= Seed.Endurance / 2)
|
||||
message.AddMarkup(Loc.GetString($"The plant looks [color=red]{(Age > Seed.Lifespan ? "old and wilting" : "unhealthy")}[/color].\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-something-already-growing-low-health-message",
|
||||
("healthState", Loc.GetString(Age > Seed.Lifespan ? "plant-holder-component-plant-old-adjective" :
|
||||
"plant-holder-component-plant-unhealthy-adjective")))
|
||||
+ "\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
message.AddMarkup(Loc.GetString("It is full of [color=red]dead plant matter[/color].\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-dead-plant-matter-message") + "\n");
|
||||
}
|
||||
|
||||
if(WeedLevel >= 5)
|
||||
message.AddMarkup(Loc.GetString("It is filled with [color=green]weeds[/color]!\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-weed-high-level-message") + "\n");
|
||||
|
||||
if(PestLevel >= 5)
|
||||
message.AddMarkup(Loc.GetString("It is filled with [color=gray]tiny worms[/color]!\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-pest-high-level-message") + "\n");
|
||||
|
||||
message.AddMarkup(Loc.GetString($"Water: [color=cyan]{(int)WaterLevel}[/color]\n"));
|
||||
message.AddMarkup(Loc.GetString($"Nutrient: [color=orange]{(int)NutritionLevel}[/color]\n"));
|
||||
message.AddMarkup(Loc.GetString($"plant-holder-component-water-level-message",("waterLevel", (int)WaterLevel)) + "\n");
|
||||
message.AddMarkup(Loc.GetString($"plant-holder-component-nutrient-level-message", ("nutritionLevel", (int)NutritionLevel)) + "\n");
|
||||
|
||||
if (DrawWarnings)
|
||||
{
|
||||
if(Toxins > 40f)
|
||||
message.AddMarkup(Loc.GetString("The [color=red]toxicity level alert[/color] is flashing red.\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-toxins-high-warning") + "\n");
|
||||
|
||||
if(ImproperLight)
|
||||
message.AddMarkup(Loc.GetString("The [color=yellow]improper light level alert[/color] is blinking.\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-light-improper-warning") + "\n");
|
||||
|
||||
if(ImproperHeat)
|
||||
message.AddMarkup(Loc.GetString("The [color=orange]improper temperature level alert[/color] is blinking.\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-heat-improper-warning") + "\n");
|
||||
|
||||
if(ImproperPressure)
|
||||
message.AddMarkup(Loc.GetString("The [color=lightblue]improper environment pressure alert[/color] is blinking.\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-pressure-improper-warning") + "\n");
|
||||
|
||||
if(_missingGas > 0)
|
||||
message.AddMarkup(Loc.GetString("The [color=cyan]improper gas environment alert[/color] is blinking.\n"));
|
||||
message.AddMarkup(Loc.GetString("plant-holder-component-gas-missing-warning") + "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,18 +32,20 @@ namespace Content.Server.Botany.Components
|
||||
|
||||
if (Seed == null)
|
||||
{
|
||||
message.AddMarkup(Loc.GetString("It doesn't seem to contain any seeds.\n"));
|
||||
message.AddMarkup(Loc.GetString("seed-component-no-seeds-message") + "\n");
|
||||
return;
|
||||
}
|
||||
|
||||
message.AddMarkup(Loc.GetString($"It has a picture of [color=yellow]{Seed.DisplayName}[/color] on the front.\n"));
|
||||
message.AddMarkup(Loc.GetString($"seed-component-description", ("seedName", Seed.DisplayName)) + "\n");
|
||||
|
||||
if (!Seed.RoundStart)
|
||||
message.AddMarkup(Loc.GetString($"It's tagged as variety [color=lightgray]no. {Seed.Uid}[/color].\n"));
|
||||
{
|
||||
message.AddMarkup(Loc.GetString($"seed-component-has-variety-tag", ("seedUid", Seed.Uid)) + "\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
message.AddMarkup(Loc.GetString($"Plant Yield: [color=lightblue]{Seed.Yield}[/color]\n"));
|
||||
message.AddMarkup(Loc.GetString($"Plant Potency: [color=lightblue]{Seed.Potency}[/color]\n"));
|
||||
message.AddMarkup(Loc.GetString($"seed-component-plant-yield-text", ("seedYield", Seed.Yield)) + "\n");
|
||||
message.AddMarkup(Loc.GetString($"seed-component-plant-potency-text", ("seedPotency", Seed.Potency)) + "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System.Threading.Tasks;
|
||||
using Content.Server.Power.Components;
|
||||
using Content.Shared.Interaction;
|
||||
@@ -31,7 +31,7 @@ namespace Content.Server.Botany.Components
|
||||
|
||||
if (eventArgs.Using.TryGetComponent(out ProduceComponent? produce) && produce.Seed != null)
|
||||
{
|
||||
eventArgs.User.PopupMessageCursor(Loc.GetString("You extract some seeds from the {0}.", eventArgs.Using.Name));
|
||||
eventArgs.User.PopupMessageCursor(Loc.GetString("seed-extractor-component-interact-message",("name", eventArgs.Using.Name)));
|
||||
|
||||
eventArgs.Using.QueueDelete();
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user