Уменьшение количества редактирований файлов оффов (#3365)
This commit is contained in:
parent
4ead93709c
commit
3d383e5377
268 changed files with 1844802 additions and 1778 deletions
10
.github/ISSUE_TEMPLATE/config.yml
vendored
10
.github/ISSUE_TEMPLATE/config.yml
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
#blank_issues_enabled: true
|
blank_issues_enabled: true
|
||||||
#contact_links:
|
contact_links:
|
||||||
# - name: Request a Feature
|
- name: Request a Feature
|
||||||
# url: https://discord.gg/rGvu9hKffJ
|
url: https://discord.gg/rGvu9hKffJ
|
||||||
# about: Submit feature requests on our Discord server (https://discord.gg/rGvu9hKffJ).
|
about: Submit feature requests on our Discord server (https://discord.gg/rGvu9hKffJ).
|
||||||
|
|
|
||||||
17
.github/ISSUE_TEMPLATE/issue_request.md
vendored
17
.github/ISSUE_TEMPLATE/issue_request.md
vendored
|
|
@ -1,17 +0,0 @@
|
||||||
---
|
|
||||||
name: Предложить новое
|
|
||||||
about: Запросить у разработчиков добавить что-то новое.
|
|
||||||
title: ''
|
|
||||||
labels: ''
|
|
||||||
assignees: VigersRay
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Ваш запрос функции связан с проблемой/ошибкой? Опишите, пожалуйста.**
|
|
||||||
<!-- Четкое и краткое описание проблемы. Например: Меня всегда раздражает, когда [...] -->
|
|
||||||
|
|
||||||
**Опишите желаемое**
|
|
||||||
<!-- Четкое и краткое описание того, что вы хотите, и что оно должно делать. -->
|
|
||||||
|
|
||||||
**Дополнительный контекст**
|
|
||||||
<!-- Добавьте сюда любой другой контекст или скриншоты, связанные с запросом функции. -->
|
|
||||||
11
.github/ISSUE_TEMPLATE/issue_task.md
vendored
11
.github/ISSUE_TEMPLATE/issue_task.md
vendored
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
name: Поставить задачу
|
|
||||||
about: Создать задачу для себя чтобы о ней знали другие, а так же запросить у спрайтеров
|
|
||||||
спрайты.
|
|
||||||
title: ''
|
|
||||||
labels: ''
|
|
||||||
assignees: VigersRay
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
4
.github/config.yml
vendored
4
.github/config.yml
vendored
|
|
@ -3,7 +3,7 @@ Project-Condor:
|
||||||
project: 2
|
project: 2
|
||||||
inbox: Inbox
|
inbox: Inbox
|
||||||
labels:
|
labels:
|
||||||
"W: In Progress": "В Прогрессе"
|
"W: In Progress": "In Progress"
|
||||||
"W: Discussion": "Design and Discussion"
|
"W: Discussion": "Design and Discussion"
|
||||||
"W: Backlog": "Backlog"
|
"W: Backlog": "Backlog"
|
||||||
"W: Next": "Следующее"
|
"W: Next": "Next"
|
||||||
|
|
|
||||||
20
.github/labeler.yml
vendored
20
.github/labeler.yml
vendored
|
|
@ -1,30 +1,30 @@
|
||||||
"Изменения: Спрайты":
|
"Changes: Sprites":
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: '**/*.rsi/*.png'
|
- any-glob-to-any-file: '**/*.rsi/*.png'
|
||||||
|
|
||||||
"Изменения: Карты":
|
"Changes: Map":
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file:
|
- any-glob-to-any-file:
|
||||||
- 'Resources/Maps/**/*.yml'
|
- 'Resources/Maps/**/*.yml'
|
||||||
- 'Resources/Prototypes/Maps/**/*.yml'
|
- 'Resources/Prototypes/Maps/**/*.yml'
|
||||||
|
|
||||||
"Изменения: Интерфейс":
|
"Changes: UI":
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: '**/*.xaml*'
|
- any-glob-to-any-file: '**/*.xaml*'
|
||||||
|
|
||||||
"Изменения: Шейдеры":
|
"Changes: Shaders":
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: '**/*.swsl'
|
- any-glob-to-any-file: '**/*.swsl'
|
||||||
|
|
||||||
"Изменения: Локализация":
|
"Changes: Audio":
|
||||||
- changed-files:
|
|
||||||
- any-glob-to-any-file: '**/*.ftl'
|
|
||||||
|
|
||||||
"Изменения: Аудио":
|
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: '**/*.ogg'
|
- any-glob-to-any-file: '**/*.ogg'
|
||||||
|
|
||||||
"Нет C#":
|
"Changes: No C#":
|
||||||
- changed-files:
|
- changed-files:
|
||||||
# Equiv to any-glob-to-all as long as this has one matcher. If ALL changed files are not C# files, then apply label.
|
# Equiv to any-glob-to-all as long as this has one matcher. If ALL changed files are not C# files, then apply label.
|
||||||
- all-globs-to-all-files: "!**/*.cs"
|
- all-globs-to-all-files: "!**/*.cs"
|
||||||
|
|
||||||
|
"Changes: Localisation":
|
||||||
|
- changed-files:
|
||||||
|
- any-glob-to-any-file: '**/*.ftl'
|
||||||
|
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -306,4 +306,3 @@ Resources/MapImages
|
||||||
|
|
||||||
# Direnv stuff
|
# Direnv stuff
|
||||||
.direnv/
|
.direnv/
|
||||||
.idea/
|
|
||||||
|
|
@ -4,4 +4,4 @@
|
||||||
<toRun name="Content.Server" type="DotNetProject" />
|
<toRun name="Content.Server" type="DotNetProject" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,8 @@ internal sealed class BuckleSystem : SharedBuckleSystem
|
||||||
!buckled ||
|
!buckled ||
|
||||||
args.Sprite == null)
|
args.Sprite == null)
|
||||||
{
|
{
|
||||||
|
// Sunrise-Edit
|
||||||
|
//_rotationVisualizerSystem.SetHorizontalAngle((uid, rotVisuals), rotVisuals.DefaultRotation);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -121,16 +121,15 @@ namespace Content.Client.Changelog
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sunrise-Start
|
||||||
public Changelog MergeChangelogs(List<Changelog> changelogs)
|
public Changelog MergeChangelogs(List<Changelog> changelogs)
|
||||||
{
|
{
|
||||||
var combinedChangelog = new Changelog();
|
var combinedChangelog = new Changelog();
|
||||||
|
|
||||||
foreach (var changelog in changelogs)
|
foreach (var changelog in changelogs)
|
||||||
{
|
{
|
||||||
// Объединение списков записей
|
|
||||||
combinedChangelog.Entries.AddRange(changelog.Entries);
|
combinedChangelog.Entries.AddRange(changelog.Entries);
|
||||||
|
|
||||||
// Объединение свойств
|
|
||||||
if (!string.IsNullOrEmpty(changelog.Name))
|
if (!string.IsNullOrEmpty(changelog.Name))
|
||||||
{
|
{
|
||||||
combinedChangelog.Name = changelog.Name;
|
combinedChangelog.Name = changelog.Name;
|
||||||
|
|
@ -147,11 +146,11 @@ namespace Content.Client.Changelog
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Упорядочивание по времени
|
|
||||||
combinedChangelog.Entries = combinedChangelog.Entries.OrderBy(entry => entry.Time).ToList();
|
combinedChangelog.Entries = combinedChangelog.Entries.OrderBy(entry => entry.Time).ToList();
|
||||||
|
|
||||||
return combinedChangelog;
|
return combinedChangelog;
|
||||||
}
|
}
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
public void PostInject()
|
public void PostInject()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
VerticalAlignment="Bottom"
|
VerticalAlignment="Bottom"
|
||||||
HorizontalAlignment="Center">
|
HorizontalAlignment="Center">
|
||||||
<SplitContainer Name="ScreenContainer" HorizontalExpand="True" VerticalExpand="True" SplitWidth="0" StretchDirection="TopLeft">
|
<SplitContainer Name="ScreenContainer" HorizontalExpand="True" VerticalExpand="True" SplitWidth="0" StretchDirection="TopLeft">
|
||||||
<LayoutContainer Name="ViewportContainer" SizeFlagsStretchRatio="6" HorizontalExpand="True" VerticalExpand="True">
|
<LayoutContainer Name="ViewportContainer" SizeFlagsStretchRatio="6" HorizontalExpand="True" VerticalExpand="True"> <!-- Sunrise-Edit -->
|
||||||
<controls:MainViewport Name="MainViewport"/>
|
<controls:MainViewport Name="MainViewport"/>
|
||||||
<widgets:GhostGui Name="Ghost" Access="Protected" />
|
<widgets:GhostGui Name="Ghost" Access="Protected" />
|
||||||
<inventory:InventoryGui Name="Inventory" Access="Protected"/>
|
<inventory:InventoryGui Name="Inventory" Access="Protected"/>
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
|
|
||||||
<BoxContainer Orientation="Vertical" HorizontalExpand="True" SeparationOverride="10" Margin="10">
|
<BoxContainer Orientation="Vertical" HorizontalExpand="True" SeparationOverride="10" Margin="10">
|
||||||
<menuBar:GameTopMenuBar Name="TopBar" HorizontalExpand="True" Access="Protected" />
|
<menuBar:GameTopMenuBar Name="TopBar" HorizontalExpand="True" Access="Protected" />
|
||||||
<us:UserActionsPanel></us:UserActionsPanel>
|
<us:UserActionsPanel></us:UserActionsPanel> <!-- Sunrise-Edit -->
|
||||||
<chat:ChatBox VerticalExpand="True" HorizontalExpand="True" Name="Chat" Access="Protected" MinSize="0 0"/>
|
<chat:ChatBox VerticalExpand="True" HorizontalExpand="True" Name="Chat" Access="Protected" MinSize="0 0"/>
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
</PanelContainer>
|
</PanelContainer>
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ public sealed class AHelpUIController: UIController, IOnSystemChanged<BwoinkSyst
|
||||||
{
|
{
|
||||||
_bwoinkSystem = system;
|
_bwoinkSystem = system;
|
||||||
_bwoinkSystem.OnBwoinkTextMessageRecieved += ReceivedBwoink;
|
_bwoinkSystem.OnBwoinkTextMessageRecieved += ReceivedBwoink;
|
||||||
_bwoinkSystem.OnBwoinkCooldownReceived += ReceivedCooldown;
|
_bwoinkSystem.OnBwoinkCooldownReceived += ReceivedCooldown; // Sunrise-Edit
|
||||||
|
|
||||||
_input.SetInputCommand(ContentKeyFunctions.OpenAHelp,
|
_input.SetInputCommand(ContentKeyFunctions.OpenAHelp,
|
||||||
InputCmdHandler.FromDelegate(_ => ToggleWindow()));
|
InputCmdHandler.FromDelegate(_ => ToggleWindow()));
|
||||||
|
|
@ -115,7 +115,7 @@ public sealed class AHelpUIController: UIController, IOnSystemChanged<BwoinkSyst
|
||||||
|
|
||||||
DebugTools.Assert(_bwoinkSystem != null);
|
DebugTools.Assert(_bwoinkSystem != null);
|
||||||
_bwoinkSystem!.OnBwoinkTextMessageRecieved -= ReceivedBwoink;
|
_bwoinkSystem!.OnBwoinkTextMessageRecieved -= ReceivedBwoink;
|
||||||
_bwoinkSystem!.OnBwoinkCooldownReceived -= ReceivedCooldown;
|
_bwoinkSystem!.OnBwoinkCooldownReceived -= ReceivedCooldown; // Sunrise-Edit
|
||||||
_bwoinkSystem = null;
|
_bwoinkSystem = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -160,11 +160,13 @@ public sealed class AHelpUIController: UIController, IOnSystemChanged<BwoinkSyst
|
||||||
UIHelper!.Receive(message);
|
UIHelper!.Receive(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sunrise-Start
|
||||||
private void ReceivedCooldown(object? sender, BwoinkCooldownMessage message)
|
private void ReceivedCooldown(object? sender, BwoinkCooldownMessage message)
|
||||||
{
|
{
|
||||||
EnsureUIHelper();
|
EnsureUIHelper();
|
||||||
UIHelper?.OnCooldownReceived(message);
|
UIHelper?.OnCooldownReceived(message);
|
||||||
}
|
}
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
private void DiscordRelayUpdated(BwoinkDiscordRelayUpdated args, EntitySessionEventArgs session)
|
private void DiscordRelayUpdated(BwoinkDiscordRelayUpdated args, EntitySessionEventArgs session)
|
||||||
{
|
{
|
||||||
|
|
@ -350,7 +352,7 @@ public interface IAHelpUIHandler : IDisposable
|
||||||
public void ToggleWindow();
|
public void ToggleWindow();
|
||||||
public void DiscordRelayChanged(bool active);
|
public void DiscordRelayChanged(bool active);
|
||||||
public void PeopleTypingUpdated(BwoinkPlayerTypingUpdated args);
|
public void PeopleTypingUpdated(BwoinkPlayerTypingUpdated args);
|
||||||
public void OnCooldownReceived(BwoinkCooldownMessage message);
|
public void OnCooldownReceived(BwoinkCooldownMessage message); // Sunrise-Edit
|
||||||
public event Action OnClose;
|
public event Action OnClose;
|
||||||
public event Action OnOpen;
|
public event Action OnOpen;
|
||||||
public Action<NetUserId, string, bool, bool>? SendMessageAction { get; set; }
|
public Action<NetUserId, string, bool, bool>? SendMessageAction { get; set; }
|
||||||
|
|
@ -441,6 +443,7 @@ public sealed class AdminAHelpUIHandler : IAHelpUIHandler
|
||||||
panel.UpdatePlayerTyping(args.PlayerName, args.Typing);
|
panel.UpdatePlayerTyping(args.PlayerName, args.Typing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sunrise-Start
|
||||||
public void OnCooldownReceived(BwoinkCooldownMessage message)
|
public void OnCooldownReceived(BwoinkCooldownMessage message)
|
||||||
{
|
{
|
||||||
// For admins, we might want to show a message in the currently active panel
|
// For admins, we might want to show a message in the currently active panel
|
||||||
|
|
@ -451,7 +454,6 @@ public sealed class AdminAHelpUIHandler : IAHelpUIHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sunrise-Start
|
|
||||||
public void SetLoadDb(NetUserId userId)
|
public void SetLoadDb(NetUserId userId)
|
||||||
{
|
{
|
||||||
if (_activePanelMap.TryGetValue(userId, out var panel))
|
if (_activePanelMap.TryGetValue(userId, out var panel))
|
||||||
|
|
@ -640,10 +642,12 @@ public sealed class UserAHelpUIHandler : IAHelpUIHandler
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sunrise-Start
|
||||||
public void OnCooldownReceived(BwoinkCooldownMessage message)
|
public void OnCooldownReceived(BwoinkCooldownMessage message)
|
||||||
{
|
{
|
||||||
_chatPanel?.OnCooldownReceived(message);
|
_chatPanel?.OnCooldownReceived(message);
|
||||||
}
|
}
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
public event Action? OnClose;
|
public event Action? OnClose;
|
||||||
public event Action? OnOpen;
|
public event Action? OnOpen;
|
||||||
|
|
|
||||||
|
|
@ -274,7 +274,7 @@ public sealed partial class ChatUIController : UIController
|
||||||
SetChatWindowOpacity(opacity);
|
SetChatWindowOpacity(opacity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetChatWindowOpacity(float opacity)
|
public void SetChatWindowOpacity(float opacity) // Sunrise-Edit
|
||||||
{
|
{
|
||||||
var chatBox = UIManager.ActiveScreen?.GetWidget<ChatBox>() ?? UIManager.ActiveScreen?.GetWidget<ResizableChatBox>();
|
var chatBox = UIManager.ActiveScreen?.GetWidget<ChatBox>() ?? UIManager.ActiveScreen?.GetWidget<ResizableChatBox>();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<widgets:ChatBox
|
<widgets:ChatBox
|
||||||
xmlns="https://spacestation14.io"
|
xmlns="https://spacestation14.io"
|
||||||
|
xmlns:graphics="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
|
||||||
xmlns:widgets="clr-namespace:Content.Client.UserInterface.Systems.Chat.Widgets"
|
xmlns:widgets="clr-namespace:Content.Client.UserInterface.Systems.Chat.Widgets"
|
||||||
xmlns:controls="clr-namespace:Content.Client.UserInterface.Systems.Chat.Controls"
|
xmlns:controls="clr-namespace:Content.Client.UserInterface.Systems.Chat.Controls"
|
||||||
MouseFilter="Stop"
|
MouseFilter="Stop"
|
||||||
|
|
|
||||||
|
|
@ -54,10 +54,12 @@ public partial class ChatBox : UIWidget
|
||||||
_controller.RegisterChat(this);
|
_controller.RegisterChat(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sunrise-Start
|
||||||
public void SetChatOpacity()
|
public void SetChatOpacity()
|
||||||
{
|
{
|
||||||
_controller.SetChatWindowOpacity(_configurationManager.GetCVar(CCVars.ChatWindowOpacity));
|
_controller.SetChatWindowOpacity(_configurationManager.GetCVar(CCVars.ChatWindowOpacity));
|
||||||
}
|
}
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
private void OnTextEntered(LineEditEventArgs args)
|
private void OnTextEntered(LineEditEventArgs args)
|
||||||
{
|
{
|
||||||
|
|
@ -94,7 +96,7 @@ public partial class ChatBox : UIWidget
|
||||||
|
|
||||||
public void Repopulate()
|
public void Repopulate()
|
||||||
{
|
{
|
||||||
ClearChatContents(); // Sunrise
|
ClearChatContents(); // Sunrise-Edit
|
||||||
|
|
||||||
foreach (var message in _controller.History)
|
foreach (var message in _controller.History)
|
||||||
{
|
{
|
||||||
|
|
@ -104,7 +106,7 @@ public partial class ChatBox : UIWidget
|
||||||
|
|
||||||
private void OnChannelFilter(ChatChannel channel, bool active)
|
private void OnChannelFilter(ChatChannel channel, bool active)
|
||||||
{
|
{
|
||||||
ClearChatContents(); // Sunrise
|
ClearChatContents(); // Sunrise-Edit
|
||||||
|
|
||||||
foreach (var message in _controller.History)
|
foreach (var message in _controller.History)
|
||||||
{
|
{
|
||||||
|
|
@ -122,7 +124,7 @@ public partial class ChatBox : UIWidget
|
||||||
_controller.UpdateHighlights(highlighs);
|
_controller.UpdateHighlights(highlighs);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sunrise start
|
// Sunrise-Start
|
||||||
private void ClearChatContents()
|
private void ClearChatContents()
|
||||||
{
|
{
|
||||||
Contents.Clear();
|
Contents.Clear();
|
||||||
|
|
@ -135,7 +137,7 @@ public partial class ChatBox : UIWidget
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Sunrise end
|
// Sunrise-End
|
||||||
|
|
||||||
public void AddLine(string message, Color color)
|
public void AddLine(string message, Color color)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -71,11 +71,13 @@ public sealed class EscapeUIController : UIController, IOnStateEntered<GameplayS
|
||||||
_changelog.ToggleWindow();
|
_changelog.ToggleWindow();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Sunrise-Start
|
||||||
_escapeWindow.RoadmapButton.OnPressed += _ =>
|
_escapeWindow.RoadmapButton.OnPressed += _ =>
|
||||||
{
|
{
|
||||||
CloseEscapeWindow();
|
CloseEscapeWindow();
|
||||||
UIManager.GetUIController<RoadmapUIController>().ToggleRoadmap();
|
UIManager.GetUIController<RoadmapUIController>().ToggleRoadmap();
|
||||||
};
|
};
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
_escapeWindow.RulesButton.OnPressed += _ =>
|
_escapeWindow.RulesButton.OnPressed += _ =>
|
||||||
{
|
{
|
||||||
|
|
@ -101,7 +103,7 @@ public sealed class EscapeUIController : UIController, IOnStateEntered<GameplayS
|
||||||
_console.ExecuteCommand("quit");
|
_console.ExecuteCommand("quit");
|
||||||
};
|
};
|
||||||
|
|
||||||
// Sunrise-start
|
// Sunrise-Start
|
||||||
_escapeWindow.DonateButton.OnPressed += _ =>
|
_escapeWindow.DonateButton.OnPressed += _ =>
|
||||||
{
|
{
|
||||||
_uri.OpenUri(_cfg.GetCVar(SunriseCCVars.InfoLinksDonate));
|
_uri.OpenUri(_cfg.GetCVar(SunriseCCVars.InfoLinksDonate));
|
||||||
|
|
@ -111,7 +113,7 @@ public sealed class EscapeUIController : UIController, IOnStateEntered<GameplayS
|
||||||
{
|
{
|
||||||
_uri.OpenUri(_cfg.GetCVar(SunriseCCVars.InfoLinksReplays));
|
_uri.OpenUri(_cfg.GetCVar(SunriseCCVars.InfoLinksReplays));
|
||||||
};
|
};
|
||||||
// Sunrise-end
|
// Sunrise-End
|
||||||
|
|
||||||
_escapeWindow.WikiButton.OnPressed += _ =>
|
_escapeWindow.WikiButton.OnPressed += _ =>
|
||||||
{
|
{
|
||||||
|
|
@ -126,9 +128,11 @@ public sealed class EscapeUIController : UIController, IOnStateEntered<GameplayS
|
||||||
// Hide wiki button if we don't have a link for it.
|
// Hide wiki button if we don't have a link for it.
|
||||||
_escapeWindow.WikiButton.Visible = _cfg.GetCVar(CCVars.InfoLinksWiki) != "";
|
_escapeWindow.WikiButton.Visible = _cfg.GetCVar(CCVars.InfoLinksWiki) != "";
|
||||||
|
|
||||||
_escapeWindow.DonateButton.Visible = _cfg.GetCVar(SunriseCCVars.InfoLinksDonate) != ""; // Sunrise-Sponsors
|
|
||||||
|
|
||||||
_escapeWindow.ReplaysButton.Visible = _cfg.GetCVar(SunriseCCVars.InfoLinksReplays) != ""; // Sunrise-Replays
|
// Sunrise-Start
|
||||||
|
_escapeWindow.DonateButton.Visible = _cfg.GetCVar(SunriseCCVars.InfoLinksDonate) != "";
|
||||||
|
_escapeWindow.ReplaysButton.Visible = _cfg.GetCVar(SunriseCCVars.InfoLinksReplays) != "";
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
CommandBinds.Builder
|
CommandBinds.Builder
|
||||||
.Bind(EngineKeyFunctions.EscapeMenu,
|
.Bind(EngineKeyFunctions.EscapeMenu,
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ namespace Content.Client.UserInterface.Systems.Ghost.Controls.Roles
|
||||||
{
|
{
|
||||||
private SpriteSystem _spriteSystem;
|
private SpriteSystem _spriteSystem;
|
||||||
public event Action<GhostRoleInfo>? OnRoleSelected;
|
public event Action<GhostRoleInfo>? OnRoleSelected;
|
||||||
public event Action<GhostRoleInfo>? OnRoleRules;
|
public event Action<GhostRoleInfo>? OnRoleRules; // Sunrise-Edit
|
||||||
public event Action<GhostRoleInfo>? OnRoleFollow;
|
public event Action<GhostRoleInfo>? OnRoleFollow;
|
||||||
|
|
||||||
public GhostRoleButtonsBox(bool hasAccess, FormattedMessage? reason, IEnumerable<GhostRoleInfo> roles, SpriteSystem spriteSystem)
|
public GhostRoleButtonsBox(bool hasAccess, FormattedMessage? reason, IEnumerable<GhostRoleInfo> roles, SpriteSystem spriteSystem)
|
||||||
|
|
@ -26,7 +26,7 @@ namespace Content.Client.UserInterface.Systems.Ghost.Controls.Roles
|
||||||
{
|
{
|
||||||
var button = new GhostRoleEntryButtons(role);
|
var button = new GhostRoleEntryButtons(role);
|
||||||
button.RequestButton.OnPressed += _ => OnRoleSelected?.Invoke(role);
|
button.RequestButton.OnPressed += _ => OnRoleSelected?.Invoke(role);
|
||||||
button.RulesButton.OnPressed += _ => OnRoleRules?.Invoke(role);
|
button.RulesButton.OnPressed += _ => OnRoleRules?.Invoke(role); // Sunrise-Edit
|
||||||
button.FollowButton.OnPressed += _ => OnRoleFollow?.Invoke(role);
|
button.FollowButton.OnPressed += _ => OnRoleFollow?.Invoke(role);
|
||||||
|
|
||||||
if (!hasAccess)
|
if (!hasAccess)
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,8 @@ namespace Content.Client.VendingMachines.UI
|
||||||
|
|
||||||
public VendingMachineMenu()
|
public VendingMachineMenu()
|
||||||
{
|
{
|
||||||
MinSize = new Vector2(250, 150); // Sunrise-Resize
|
MinSize = new Vector2(250, 150); // Sunrise-Edit
|
||||||
SetSize = new Vector2(450, 150); // Sunrise-Resize
|
SetSize = new Vector2(450, 150); // Sunrise-Edit
|
||||||
RobustXamlLoader.Load(this);
|
RobustXamlLoader.Load(this);
|
||||||
IoCManager.InjectDependencies(this);
|
IoCManager.InjectDependencies(this);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,16 +24,16 @@ public sealed class VoiceMaskBoundUserInterface : BoundUserInterface
|
||||||
_window = this.CreateWindow<VoiceMaskNameChangeWindow>();
|
_window = this.CreateWindow<VoiceMaskNameChangeWindow>();
|
||||||
_window.ReloadVerbs(_protomanager);
|
_window.ReloadVerbs(_protomanager);
|
||||||
_window.AddVerbs();
|
_window.AddVerbs();
|
||||||
// Sunrise-TTS-Start
|
// Sunrise-Start
|
||||||
if (IoCManager.Resolve<IConfigurationManager>().GetCVar(SunriseCCVars.TTSEnabled))
|
if (IoCManager.Resolve<IConfigurationManager>().GetCVar(SunriseCCVars.TTSEnabled))
|
||||||
{
|
{
|
||||||
_window.ReloadVoices(IoCManager.Resolve<IPrototypeManager>());
|
_window.ReloadVoices(IoCManager.Resolve<IPrototypeManager>());
|
||||||
}
|
}
|
||||||
// Sunrise-TTS-End
|
// Sunrise-End
|
||||||
|
|
||||||
_window.OnNameChange += OnNameSelected;
|
_window.OnNameChange += OnNameSelected;
|
||||||
_window.OnVerbChange += verb => SendMessage(new VoiceMaskChangeVerbMessage(verb));
|
_window.OnVerbChange += verb => SendMessage(new VoiceMaskChangeVerbMessage(verb));
|
||||||
_window.OnVoiceChange += voice => SendMessage(new VoiceMaskChangeVoiceMessage(voice)); // Sunrise-TTS
|
_window.OnVoiceChange += voice => SendMessage(new VoiceMaskChangeVoiceMessage(voice)); // Sunrise-Edit
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnNameSelected(string name)
|
private void OnNameSelected(string name)
|
||||||
|
|
@ -48,7 +48,7 @@ public sealed class VoiceMaskBoundUserInterface : BoundUserInterface
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_window.UpdateState(cast.Name, cast.Voice, cast.Verb); // Sunrise-TTS
|
_window.UpdateState(cast.Name, cast.Voice, cast.Verb); // Sunrise-Edit
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Dispose(bool disposing)
|
protected override void Dispose(bool disposing)
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,11 @@
|
||||||
<Label Text="{Loc 'voice-mask-name-change-speech-style'}" />
|
<Label Text="{Loc 'voice-mask-name-change-speech-style'}" />
|
||||||
<OptionButton Name="SpeechVerbSelector" /> <!-- Populated in LoadVerbs -->
|
<OptionButton Name="SpeechVerbSelector" /> <!-- Populated in LoadVerbs -->
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
<!-- Sunrise-TTS-Start -->
|
<!-- Sunrise-Start -->
|
||||||
<BoxContainer Orientation="Horizontal" Margin="5" Visible="False" Name="TTSContainer">
|
<BoxContainer Orientation="Horizontal" Margin="5" Visible="False" Name="TTSContainer">
|
||||||
<Label Text="{Loc 'voice-mask-voice-change-info'}" />
|
<Label Text="{Loc 'voice-mask-voice-change-info'}" />
|
||||||
<OptionButton Name="VoiceSelector" /> <!-- Populated in LoadVerbs -->
|
<OptionButton Name="VoiceSelector" /> <!-- Populated in LoadVerbs -->
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
<!-- Sunrise-TTS-End -->
|
<!-- Sunrise-End -->
|
||||||
</BoxContainer>
|
</BoxContainer>
|
||||||
</controls:FancyWindow>
|
</controls:FancyWindow>
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@ public sealed partial class VoiceMaskNameChangeWindow : FancyWindow
|
||||||
{
|
{
|
||||||
public Action<string>? OnNameChange;
|
public Action<string>? OnNameChange;
|
||||||
public Action<string?>? OnVerbChange;
|
public Action<string?>? OnVerbChange;
|
||||||
public Action<string>? OnVoiceChange; // Sunrise-TTS
|
public Action<string>? OnVoiceChange; // Sunrise-Edit
|
||||||
|
|
||||||
private List<(string, string)> _verbs = new();
|
private List<(string, string)> _verbs = new();
|
||||||
private List<TTSVoicePrototype> _voices = new(); // Sunrise-TTS
|
private List<TTSVoicePrototype> _voices = new(); // Sunrise-Edit
|
||||||
|
|
||||||
private string? _verb;
|
private string? _verb;
|
||||||
|
|
||||||
|
|
@ -67,7 +67,7 @@ public sealed partial class VoiceMaskNameChangeWindow : FancyWindow
|
||||||
SpeechVerbSelector.SelectId(id);
|
SpeechVerbSelector.SelectId(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sunrise-TTS-Start
|
// Sunrise-Start
|
||||||
public void ReloadVoices(IPrototypeManager proto)
|
public void ReloadVoices(IPrototypeManager proto)
|
||||||
{
|
{
|
||||||
VoiceSelector.OnItemSelected += args =>
|
VoiceSelector.OnItemSelected += args =>
|
||||||
|
|
@ -91,7 +91,7 @@ public sealed partial class VoiceMaskNameChangeWindow : FancyWindow
|
||||||
if (_voices.Count > 0)
|
if (_voices.Count > 0)
|
||||||
TTSContainer.Visible = true;
|
TTSContainer.Visible = true;
|
||||||
}
|
}
|
||||||
// Sunrise-TTS-End
|
// Sunrise-End
|
||||||
|
|
||||||
public void UpdateState(string name, string voice, string? verb) // Sunrise-TTS
|
public void UpdateState(string name, string voice, string? verb) // Sunrise-TTS
|
||||||
{
|
{
|
||||||
|
|
@ -107,10 +107,10 @@ public sealed partial class VoiceMaskNameChangeWindow : FancyWindow
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sunrise-TTS-Start
|
// Sunrise-Start
|
||||||
var voiceIdx = _voices.FindIndex(v => v.ID == voice);
|
var voiceIdx = _voices.FindIndex(v => v.ID == voice);
|
||||||
if (voiceIdx != -1)
|
if (voiceIdx != -1)
|
||||||
VoiceSelector.Select(voiceIdx);
|
VoiceSelector.Select(voiceIdx);
|
||||||
// Sunrise-TTS-End
|
// Sunrise-End
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ namespace Content.Client.Voting.UI
|
||||||
{
|
{
|
||||||
{ VotekickReasonType.Raiding.ToString(), Loc.GetString("ui-vote-votekick-type-raiding") },
|
{ VotekickReasonType.Raiding.ToString(), Loc.GetString("ui-vote-votekick-type-raiding") },
|
||||||
{ VotekickReasonType.Cheating.ToString(), Loc.GetString("ui-vote-votekick-type-cheating") },
|
{ VotekickReasonType.Cheating.ToString(), Loc.GetString("ui-vote-votekick-type-cheating") },
|
||||||
{ VotekickReasonType.Spam.ToString(), Loc.GetString("ui-vote-votekick-type-spam") }
|
{ VotekickReasonType.Spam.ToString(), Loc.GetString("ui-vote-votekick-type-spamming") }
|
||||||
};
|
};
|
||||||
|
|
||||||
public Dictionary<NetUserId, (NetEntity, string)> PlayerList = new();
|
public Dictionary<NetUserId, (NetEntity, string)> PlayerList = new();
|
||||||
|
|
@ -88,8 +88,10 @@ namespace Content.Client.Voting.UI
|
||||||
VoteTypeButton.AddItem(Loc.GetString(option.Name), (int)voteType);
|
VoteTypeButton.AddItem(Loc.GetString(option.Name), (int)voteType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sunrise-Start
|
||||||
var loc = IoCManager.Resolve<ILocalizationManager>();
|
var loc = IoCManager.Resolve<ILocalizationManager>();
|
||||||
DetailsEdit.Placeholder = new Rope.Leaf(loc.GetString("ui-vote-votekick-details-placeholder"));
|
DetailsEdit.Placeholder = new Rope.Leaf(loc.GetString("ui-vote-votekick-details-placeholder"));
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
_state.OnStateChanged += OnStateChanged;
|
_state.OnStateChanged += OnStateChanged;
|
||||||
VoteTypeButton.OnItemSelected += VoteTypeSelected;
|
VoteTypeButton.OnItemSelected += VoteTypeSelected;
|
||||||
|
|
@ -181,7 +183,7 @@ namespace Content.Client.Voting.UI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
commandArgs += $"\"{Rope.Collapse(DetailsEdit.TextRope)}\"";
|
commandArgs += $"\"{Rope.Collapse(DetailsEdit.TextRope)}\""; // Sunrise-Edit
|
||||||
_consoleHost.LocalShell.RemoteExecuteCommand($"createvote {((StandardVoteType)typeId).ToString()} {commandArgs}");
|
_consoleHost.LocalShell.RemoteExecuteCommand($"createvote {((StandardVoteType)typeId).ToString()} {commandArgs}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -240,7 +242,6 @@ namespace Content.Client.Voting.UI
|
||||||
VoteTypeButton.SelectId(obj.Id);
|
VoteTypeButton.SelectId(obj.Id);
|
||||||
|
|
||||||
VoteNotTrustedLabel.Visible = false;
|
VoteNotTrustedLabel.Visible = false;
|
||||||
DetailsEdit.Visible = false;
|
|
||||||
if ((StandardVoteType)obj.Id == StandardVoteType.Votekick)
|
if ((StandardVoteType)obj.Id == StandardVoteType.Votekick)
|
||||||
{
|
{
|
||||||
if (!IsAllowedVotekick)
|
if (!IsAllowedVotekick)
|
||||||
|
|
@ -254,8 +255,6 @@ namespace Content.Client.Voting.UI
|
||||||
{
|
{
|
||||||
_votingSystem.RequestVotePlayerList();
|
_votingSystem.RequestVotePlayerList();
|
||||||
}
|
}
|
||||||
|
|
||||||
DetailsEdit.Visible = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VoteWarningLabel.Visible = AvailableVoteOptions[(StandardVoteType)obj.Id].EnableVoteWarning;
|
VoteWarningLabel.Visible = AvailableVoteOptions[(StandardVoteType)obj.Id].EnableVoteWarning;
|
||||||
|
|
|
||||||
|
|
@ -70,13 +70,16 @@ namespace Content.Client.Voting
|
||||||
|
|
||||||
_netManager.RegisterNetMessage<MsgVoteData>(ReceiveVoteData);
|
_netManager.RegisterNetMessage<MsgVoteData>(ReceiveVoteData);
|
||||||
_netManager.RegisterNetMessage<MsgVoteCanCall>(ReceiveVoteCanCall);
|
_netManager.RegisterNetMessage<MsgVoteCanCall>(ReceiveVoteCanCall);
|
||||||
|
// Sunrise-Start
|
||||||
_netManager.RegisterNetMessage<RequestVoteMusicDisableOptionMessage>(OnRequestVoteMusicDisableOption);
|
_netManager.RegisterNetMessage<RequestVoteMusicDisableOptionMessage>(OnRequestVoteMusicDisableOption);
|
||||||
_netManager.RegisterNetMessage<VoteMusicDisableOptionMessage>();
|
_netManager.RegisterNetMessage<VoteMusicDisableOptionMessage>();
|
||||||
_cfg.OnValueChanged(SunriseCCVars.VoteMusicDisable, OnVoteMusicDisableOptionChanged);
|
_cfg.OnValueChanged(SunriseCCVars.VoteMusicDisable, OnVoteMusicDisableOptionChanged);
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
_client.RunLevelChanged += ClientOnRunLevelChanged;
|
_client.RunLevelChanged += ClientOnRunLevelChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sunrise-Start
|
||||||
private void OnRequestVoteMusicDisableOption(RequestVoteMusicDisableOptionMessage _)
|
private void OnRequestVoteMusicDisableOption(RequestVoteMusicDisableOptionMessage _)
|
||||||
{
|
{
|
||||||
var message = new VoteMusicDisableOptionMessage
|
var message = new VoteMusicDisableOptionMessage
|
||||||
|
|
@ -94,6 +97,7 @@ namespace Content.Client.Voting
|
||||||
};
|
};
|
||||||
_netManager.ClientSendMessage(message);
|
_netManager.ClientSendMessage(message);
|
||||||
}
|
}
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
private void ClientOnRunLevelChanged(object? sender, RunLevelChangedEventArgs e)
|
private void ClientOnRunLevelChanged(object? sender, RunLevelChangedEventArgs e)
|
||||||
{
|
{
|
||||||
|
|
@ -180,7 +184,7 @@ namespace Content.Client.Voting
|
||||||
{
|
{
|
||||||
Entries = message.Options
|
Entries = message.Options
|
||||||
.Select(c => new VoteEntry(c.name))
|
.Select(c => new VoteEntry(c.name))
|
||||||
.ToArray(),
|
.ToArray()
|
||||||
};
|
};
|
||||||
|
|
||||||
existingVote = vote;
|
existingVote = vote;
|
||||||
|
|
|
||||||
|
|
@ -3,39 +3,33 @@ using Robust.Client.Graphics;
|
||||||
using Robust.Client.Input;
|
using Robust.Client.Input;
|
||||||
using Robust.Client.Player;
|
using Robust.Client.Player;
|
||||||
using Robust.Shared.Console;
|
using Robust.Shared.Console;
|
||||||
using Robust.Shared.Map;
|
|
||||||
|
|
||||||
namespace Content.Client.Weapons.Melee;
|
namespace Content.Client.Weapons.Melee;
|
||||||
|
|
||||||
|
public sealed class MeleeSpreadCommand : LocalizedEntityCommands
|
||||||
public sealed class MeleeSpreadCommand : IConsoleCommand
|
|
||||||
{
|
{
|
||||||
public string Command => "showmeleespread";
|
[Dependency] private readonly IEyeManager _eyeManager = default!;
|
||||||
public string Description => "Shows the current weapon's range and arc for debugging";
|
[Dependency] private readonly IInputManager _inputManager = default!;
|
||||||
public string Help => $"{Command}";
|
[Dependency] private readonly IOverlayManager _overlay = default!;
|
||||||
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||||
|
[Dependency] private readonly MeleeWeaponSystem _meleeSystem = default!;
|
||||||
|
[Dependency] private readonly SharedCombatModeSystem _combatSystem = default!;
|
||||||
|
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
|
||||||
|
|
||||||
|
public override string Command => "showmeleespread";
|
||||||
|
|
||||||
|
public override void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||||
{
|
{
|
||||||
var collection = IoCManager.Instance;
|
if (_overlay.RemoveOverlay<MeleeArcOverlay>())
|
||||||
|
|
||||||
if (collection == null)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var overlayManager = collection.Resolve<IOverlayManager>();
|
_overlay.AddOverlay(new MeleeArcOverlay(
|
||||||
|
EntityManager,
|
||||||
if (overlayManager.RemoveOverlay<MeleeArcOverlay>())
|
_eyeManager,
|
||||||
{
|
_inputManager,
|
||||||
return;
|
_playerManager,
|
||||||
}
|
_meleeSystem,
|
||||||
|
_combatSystem,
|
||||||
var sysManager = collection.Resolve<IEntitySystemManager>();
|
_transformSystem));
|
||||||
|
|
||||||
overlayManager.AddOverlay(new MeleeArcOverlay(
|
|
||||||
collection.Resolve<IEntityManager>(),
|
|
||||||
collection.Resolve<IEyeManager>(),
|
|
||||||
collection.Resolve<IInputManager>(),
|
|
||||||
collection.Resolve<IPlayerManager>(),
|
|
||||||
sysManager.GetEntitySystem<MeleeWeaponSystem>(),
|
|
||||||
sysManager.GetEntitySystem<SharedCombatModeSystem>(),
|
|
||||||
sysManager.GetEntitySystem<SharedTransformSystem>()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
namespace Content.Client.Weapons.Ranged.Systems;
|
|
||||||
|
|
||||||
public enum FireModesLayers : byte
|
|
||||||
{
|
|
||||||
FireMode,
|
|
||||||
}
|
|
||||||
|
|
@ -201,29 +201,10 @@ public sealed partial class AnalysisConsoleMenu : FancyWindow
|
||||||
("max", node.Value.Comp.MaxDurability)));
|
("max", node.Value.Comp.MaxDurability)));
|
||||||
|
|
||||||
var hasInfo = _xenoArtifact.HasUnlockedPredecessor(artifact.Value, node.Value);
|
var hasInfo = _xenoArtifact.HasUnlockedPredecessor(artifact.Value, node.Value);
|
||||||
string effectDescription;
|
|
||||||
if (!node.Value.Comp.Locked)
|
|
||||||
{
|
|
||||||
// Show the real effect description if the node has been activated at least once
|
|
||||||
var rawDescription = _ent.GetComponentOrNull<MetaDataComponent>(node.Value)?.EntityDescription;
|
|
||||||
if (!string.IsNullOrEmpty(rawDescription))
|
|
||||||
{
|
|
||||||
// Try to localize the description, fall back to raw description if it fails
|
|
||||||
effectDescription = Loc.TryGetString(rawDescription, out var localized) ? localized : rawDescription;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
effectDescription = Loc.GetString("artifact-effect-hint-data-deleted");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Otherwise, show the censored string
|
|
||||||
effectDescription = Loc.GetString("artifact-effect-hint-data-deleted");
|
|
||||||
}
|
|
||||||
EffectValueLabel.SetMarkup(Loc.GetString("analysis-console-info-effect-value",
|
EffectValueLabel.SetMarkup(Loc.GetString("analysis-console-info-effect-value",
|
||||||
("state", hasInfo),
|
("state", hasInfo),
|
||||||
("info", effectDescription)));
|
("info", _ent.GetComponentOrNull<MetaDataComponent>(node.Value)?.EntityDescription ?? string.Empty)));
|
||||||
|
|
||||||
var predecessorNodes = _xenoArtifact.GetPredecessorNodes(artifact.Value.Owner, node.Value);
|
var predecessorNodes = _xenoArtifact.GetPredecessorNodes(artifact.Value.Owner, node.Value);
|
||||||
if (!hasInfo)
|
if (!hasInfo)
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
|
using Content.Client.CartridgeLoader.Cartridges;
|
||||||
using Content.Client.UserInterface.Fragments;
|
using Content.Client.UserInterface.Fragments;
|
||||||
using Content.Shared.CartridgeLoader.Cartridges;
|
using Content.Shared.CartridgeLoader.Cartridges;
|
||||||
using Robust.Client.UserInterface;
|
using Robust.Client.UserInterface;
|
||||||
|
|
||||||
namespace Content.Client.CartridgeLoader.Cartridges;
|
namespace Content.Client._Sunrise.CartridgeLoader.Cartridges;
|
||||||
|
|
||||||
public sealed partial class NavigatorUi : UIFragment
|
public sealed partial class NavigatorUi : UIFragment
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<cartridges:NavigatorUiFragment xmlns:cartridges="clr-namespace:Content.Client.CartridgeLoader.Cartridges"
|
<cartridges:NavigatorUiFragment xmlns:cartridges="clr-namespace:Content.Client._Sunrise.CartridgeLoader.Cartridges"
|
||||||
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
|
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
|
||||||
xmlns="https://spacestation14.io" Margin="1 0 2 0"
|
xmlns="https://spacestation14.io" Margin="1 0 2 0"
|
||||||
Orientation="Vertical">
|
Orientation="Vertical">
|
||||||
|
|
@ -7,7 +7,7 @@ using Robust.Shared.Map;
|
||||||
using Robust.Shared.Timing;
|
using Robust.Shared.Timing;
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
|
|
||||||
namespace Content.Client.CartridgeLoader.Cartridges;
|
namespace Content.Client._Sunrise.CartridgeLoader.Cartridges;
|
||||||
|
|
||||||
[GenerateTypedNameReferences]
|
[GenerateTypedNameReferences]
|
||||||
public sealed partial class NavigatorUiFragment : BoxContainer
|
public sealed partial class NavigatorUiFragment : BoxContainer
|
||||||
|
|
@ -1,31 +1,32 @@
|
||||||
using Content.Shared.Weapons.Ranged.Components;
|
|
||||||
using Content.Client.Weapons.Ranged.Components;
|
using Content.Client.Weapons.Ranged.Components;
|
||||||
|
using Content.Client.Weapons.Ranged.Systems;
|
||||||
|
using Content.Shared.Weapons.Ranged.Components;
|
||||||
using Robust.Client.GameObjects;
|
using Robust.Client.GameObjects;
|
||||||
|
|
||||||
namespace Content.Client.Weapons.Ranged.Systems;
|
namespace Content.Client._Sunrise.Weapons.Ranged.Systems;
|
||||||
|
|
||||||
public sealed class BatteryWeaponFireModesVisualSystem : EntitySystem
|
public sealed class BatteryWeaponFireModesVisualSystem : EntitySystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly GunSystem _gun = default!;
|
[Dependency] private readonly GunSystem _gun = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
SubscribeLocalEvent<BatteryWeaponFireModesComponent, AfterAutoHandleStateEvent>(OnFireModeChanged);
|
SubscribeLocalEvent<BatteryWeaponFireModesComponent, AfterAutoHandleStateEvent>(OnFireModeChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnFireModeChanged(EntityUid uid, BatteryWeaponFireModesComponent component, ref AfterAutoHandleStateEvent args)
|
private void OnFireModeChanged(EntityUid uid, BatteryWeaponFireModesComponent component, ref AfterAutoHandleStateEvent args)
|
||||||
{
|
{
|
||||||
if (!TryComp<SpriteComponent>(uid, out var sprite))
|
if (!TryComp<SpriteComponent>(uid, out var sprite))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var fireMode = component.FireModes[component.CurrentFireMode];
|
var fireMode = component.FireModes[component.CurrentFireMode];
|
||||||
|
|
||||||
if (fireMode.VisualState != null && sprite.LayerMapTryGet(FireModesLayers.FireMode, out _))
|
if (fireMode.VisualState != null && sprite.LayerMapTryGet(FireModesLayers.FireMode, out _))
|
||||||
sprite.LayerSetState(FireModesLayers.FireMode, fireMode.VisualState);
|
sprite.LayerSetState(FireModesLayers.FireMode, fireMode.VisualState);
|
||||||
|
|
||||||
if (TryComp<MagazineVisualsComponent>(uid, out var magVisualsComp) && fireMode.MagState != null)
|
if (TryComp<MagazineVisualsComponent>(uid, out var magVisualsComp) && fireMode.MagState != null)
|
||||||
_gun.SetMagState(uid, fireMode.MagState, false, magVisualsComp);
|
_gun.SetMagState(uid, fireMode.MagState, false, magVisualsComp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
namespace Content.Client._Sunrise.Weapons.Ranged.Systems;
|
||||||
|
|
||||||
|
public enum FireModesLayers : byte
|
||||||
|
{
|
||||||
|
FireMode,
|
||||||
|
}
|
||||||
|
|
@ -33,19 +33,12 @@ public sealed class ActionsAddedTest
|
||||||
Assert.That(serverSession.AttachedEntity, Is.Not.Null);
|
Assert.That(serverSession.AttachedEntity, Is.Not.Null);
|
||||||
var serverEnt = serverSession.AttachedEntity!.Value;
|
var serverEnt = serverSession.AttachedEntity!.Value;
|
||||||
var clientEnt = clientSession!.AttachedEntity!.Value;
|
var clientEnt = clientSession!.AttachedEntity!.Value;
|
||||||
try
|
Assert.That(sEntMan.EntityExists(serverEnt));
|
||||||
{
|
Assert.That(cEntMan.EntityExists(clientEnt));
|
||||||
Assert.That(sEntMan.EntityExists(serverEnt));
|
Assert.That(sEntMan.HasComponent<ActionsComponent>(serverEnt));
|
||||||
Assert.That(cEntMan.EntityExists(clientEnt));
|
Assert.That(cEntMan.HasComponent<ActionsComponent>(clientEnt));
|
||||||
Assert.That(sEntMan.HasComponent<ActionsComponent>(serverEnt));
|
Assert.That(sEntMan.HasComponent<CombatModeComponent>(serverEnt));
|
||||||
Assert.That(cEntMan.HasComponent<ActionsComponent>(clientEnt));
|
Assert.That(cEntMan.HasComponent<CombatModeComponent>(clientEnt));
|
||||||
Assert.That(sEntMan.HasComponent<CombatModeComponent>(serverEnt));
|
|
||||||
Assert.That(cEntMan.HasComponent<CombatModeComponent>(clientEnt));
|
|
||||||
}
|
|
||||||
catch (AssertionException)
|
|
||||||
{
|
|
||||||
Console.WriteLine("Assert Failed.");
|
|
||||||
}
|
|
||||||
|
|
||||||
var sComp = sEntMan.GetComponent<ActionsComponent>(serverEnt);
|
var sComp = sEntMan.GetComponent<ActionsComponent>(serverEnt);
|
||||||
var cComp = cEntMan.GetComponent<ActionsComponent>(clientEnt);
|
var cComp = cEntMan.GetComponent<ActionsComponent>(clientEnt);
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,10 @@ namespace Content.IntegrationTests.Tests.Buckle
|
||||||
- type: Body
|
- type: Body
|
||||||
prototype: Human
|
prototype: Human
|
||||||
- type: StandingState
|
- type: StandingState
|
||||||
|
# Sunrise-Start
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
- type: DoAfter
|
- type: DoAfter
|
||||||
|
# Sunrise-End
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: {StrapDummyId}
|
name: {StrapDummyId}
|
||||||
|
|
|
||||||
|
|
@ -38,12 +38,8 @@ namespace Content.IntegrationTests.Tests.Chemistry
|
||||||
|
|
||||||
foreach (var reactionPrototype in prototypeManager.EnumeratePrototypes<ReactionPrototype>())
|
foreach (var reactionPrototype in prototypeManager.EnumeratePrototypes<ReactionPrototype>())
|
||||||
{
|
{
|
||||||
Console.WriteLine($"\n=== Testing reaction: {reactionPrototype.ID} ===");
|
//since i have no clue how to isolate each loop assert-wise im just gonna throw this one in for good measure
|
||||||
Console.WriteLine($"Reactants:");
|
Console.WriteLine($"Testing {reactionPrototype.ID}");
|
||||||
foreach (var (id, reactant) in reactionPrototype.Reactants)
|
|
||||||
{
|
|
||||||
Console.WriteLine($" {id}: {reactant.Amount} (catalyst: {reactant.Catalyst})");
|
|
||||||
}
|
|
||||||
|
|
||||||
EntityUid beaker = default;
|
EntityUid beaker = default;
|
||||||
Entity<SolutionComponent>? solutionEnt = default!;
|
Entity<SolutionComponent>? solutionEnt = default!;
|
||||||
|
|
@ -102,60 +98,23 @@ namespace Content.IntegrationTests.Tests.Chemistry
|
||||||
|
|
||||||
await server.WaitAssertion(() =>
|
await server.WaitAssertion(() =>
|
||||||
{
|
{
|
||||||
|
//you just got linq'd fool
|
||||||
|
//(i'm sorry)
|
||||||
var foundProductsMap = reactionPrototype.Products
|
var foundProductsMap = reactionPrototype.Products
|
||||||
.Concat(reactionPrototype.Reactants.Where(x => x.Value.Catalyst).ToDictionary(x => x.Key, x => x.Value.Amount))
|
.Concat(reactionPrototype.Reactants.Where(x => x.Value.Catalyst).ToDictionary(x => x.Key, x => x.Value.Amount))
|
||||||
.ToDictionary(x => x, _ => false);
|
.ToDictionary(x => x, _ => false);
|
||||||
|
|
||||||
Console.WriteLine($"\nExpected products for {reactionPrototype.ID}:");
|
|
||||||
foreach (var (reagent, quantity) in foundProductsMap)
|
|
||||||
{
|
|
||||||
Console.WriteLine($" {reagent.Key}: {reagent.Value}");
|
|
||||||
}
|
|
||||||
|
|
||||||
Console.WriteLine($"\nActual solution contents for {reactionPrototype.ID}:");
|
|
||||||
foreach (var (reagent, quantity) in solution.Contents)
|
foreach (var (reagent, quantity) in solution.Contents)
|
||||||
{
|
{
|
||||||
Console.WriteLine($" {reagent.Prototype}: {quantity}");
|
Assert.That(foundProductsMap.TryFirstOrNull(x => x.Key.Key == reagent.Prototype && x.Key.Value == quantity, out var foundProduct));
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var (reagent, quantity) in solution.Contents)
|
|
||||||
{
|
|
||||||
var found = foundProductsMap.TryFirstOrNull(x => x.Key.Key == reagent.Prototype && x.Key.Value == quantity, out var foundProduct);
|
|
||||||
if (!found)
|
|
||||||
{
|
|
||||||
Console.WriteLine($"\nERROR: Failed to find match for {reagent.Prototype} x{quantity}");
|
|
||||||
var possibleMatches = foundProductsMap.Where(x => x.Key.Key == reagent.Prototype).ToList();
|
|
||||||
if (possibleMatches.Any())
|
|
||||||
{
|
|
||||||
Console.WriteLine("Possible matches with different quantities:");
|
|
||||||
foreach (var match in possibleMatches)
|
|
||||||
{
|
|
||||||
Console.WriteLine($" {match.Key.Key} x{match.Key.Value}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Console.WriteLine("No matches found for this reagent type");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Assert.That(found, Is.True, $"Failed to find match for {reagent.Prototype} x{quantity} in reaction {reactionPrototype.ID}");
|
|
||||||
foundProductsMap[foundProduct.Value.Key] = true;
|
foundProductsMap[foundProduct.Value.Key] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
var missingProducts = foundProductsMap.Where(x => !x.Value).ToList();
|
Assert.That(foundProductsMap.All(x => x.Value));
|
||||||
if (missingProducts.Any())
|
|
||||||
{
|
|
||||||
Console.WriteLine($"\nERROR: Missing expected products in {reactionPrototype.ID}:");
|
|
||||||
foreach (var (reagent, _) in missingProducts)
|
|
||||||
{
|
|
||||||
Console.WriteLine($" {reagent.Key}: {reagent.Value}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Assert.That(foundProductsMap.All(x => x.Value), $"Not all expected products were found in reaction {reactionPrototype.ID}");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
await pair.CleanReturnAsync();
|
await pair.CleanReturnAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -109,11 +109,6 @@ namespace Content.IntegrationTests.Tests
|
||||||
.ToList();
|
.ToList();
|
||||||
foreach (var protoId in protoIds)
|
foreach (var protoId in protoIds)
|
||||||
{
|
{
|
||||||
// Sunrise-Start
|
|
||||||
if (protoId == "Envelope")
|
|
||||||
continue;
|
|
||||||
// Sunrise-End
|
|
||||||
|
|
||||||
entityMan.SpawnEntity(protoId, map.GridCoords);
|
entityMan.SpawnEntity(protoId, map.GridCoords);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,6 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components.Mobs
|
||||||
alertsSystem.ShowAlert(playerUid, "Debug1");
|
alertsSystem.ShowAlert(playerUid, "Debug1");
|
||||||
alertsSystem.ShowAlert(playerUid, "Debug2");
|
alertsSystem.ShowAlert(playerUid, "Debug2");
|
||||||
|
|
||||||
alerts = alertsSystem.GetActiveAlerts(playerUid);
|
|
||||||
Assert.That(alerts, Has.Count.EqualTo(alertCount + 2));
|
Assert.That(alerts, Has.Count.EqualTo(alertCount + 2));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,6 @@ public sealed partial class MindTests
|
||||||
{
|
{
|
||||||
Console.WriteLine(pair.Client.EntMan.ToPrettyString(ent));
|
Console.WriteLine(pair.Client.EntMan.ToPrettyString(ent));
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLine($"Client entity count: {pair.Client.EntMan.EntityCount}");
|
|
||||||
|
|
||||||
Assert.That(pair.Client.EntMan.EntityCount, Is.EqualTo(0));
|
Assert.That(pair.Client.EntMan.EntityCount, Is.EqualTo(0));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,11 @@ public sealed class SlippingTest : MovementTest
|
||||||
await SpawnTarget("TrashBananaPeel");
|
await SpawnTarget("TrashBananaPeel");
|
||||||
|
|
||||||
var modifier = Comp<MovementSpeedModifierComponent>(Player).SprintSpeedModifier;
|
var modifier = Comp<MovementSpeedModifierComponent>(Player).SprintSpeedModifier;
|
||||||
// Sunrise: Ввиду бхоп системы, скорость не ровно 1, а может быть чуть больше.
|
// Sunrise-Start
|
||||||
|
// Ввиду бхоп системы, скорость не ровно 1, а может быть чуть больше.
|
||||||
// Assert.That(modifier, Is.EqualTo(1), "Player is not moving at full speed.");
|
// Assert.That(modifier, Is.EqualTo(1), "Player is not moving at full speed.");
|
||||||
Assert.That(Math.Abs(modifier - 1), Is.LessThan(0.1f)); // Sunrise-add
|
Assert.That(Math.Abs(modifier - 1), Is.LessThan(0.1f));
|
||||||
|
// Sunrise-End
|
||||||
|
|
||||||
// Player is to the left of the banana peel.
|
// Player is to the left of the banana peel.
|
||||||
Assert.That(Delta(), Is.GreaterThan(0.5f));
|
Assert.That(Delta(), Is.GreaterThan(0.5f));
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ namespace Content.IntegrationTests.Tests.Preferences
|
||||||
FlavorText = "The biggest boy around.",
|
FlavorText = "The biggest boy around.",
|
||||||
Species = "Human",
|
Species = "Human",
|
||||||
Age = 21,
|
Age = 21,
|
||||||
BodyType = "Normal",
|
BodyType = "Normal", // Sunrise-Edit
|
||||||
Appearance = new(
|
Appearance = new(
|
||||||
"Afro",
|
"Afro",
|
||||||
Color.Aqua,
|
Color.Aqua,
|
||||||
|
|
@ -54,8 +54,8 @@ namespace Content.IntegrationTests.Tests.Preferences
|
||||||
Color.Azure,
|
Color.Azure,
|
||||||
Color.Beige,
|
Color.Beige,
|
||||||
new (),
|
new (),
|
||||||
1.0f,
|
1.0f, // Sunrise-Edit
|
||||||
1.0f)
|
1.0f) // Sunrise-Edit
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,84 +0,0 @@
|
||||||
using Content.Shared.Chemistry.Components;
|
|
||||||
using Content.Shared.Chemistry.EntitySystems;
|
|
||||||
using Content.Shared.FixedPoint;
|
|
||||||
|
|
||||||
namespace Content.IntegrationTests.Tests._Sunrise.Chemistry;
|
|
||||||
|
|
||||||
[TestFixture]
|
|
||||||
[TestOf(typeof(CryostasisBeakerSystem))]
|
|
||||||
public sealed class CryostasisBeakerTests
|
|
||||||
{
|
|
||||||
[TestPrototypes]
|
|
||||||
private const string Prototypes = @"
|
|
||||||
- type: entity
|
|
||||||
id: TestCryostasisBeaker
|
|
||||||
components:
|
|
||||||
- type: SolutionContainerManager
|
|
||||||
solutions:
|
|
||||||
beaker:
|
|
||||||
maxVol: 50
|
|
||||||
canReact: false
|
|
||||||
- type: CryostasisBeaker
|
|
||||||
maxTemperature: 293.15
|
|
||||||
|
|
||||||
- type: reagent
|
|
||||||
id: TestReagent
|
|
||||||
name: reagent-name-nothing
|
|
||||||
desc: reagent-desc-nothing
|
|
||||||
physicalDesc: reagent-physical-desc-nothing
|
|
||||||
";
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public async Task CryostasisBeakerPreventsHeating()
|
|
||||||
{
|
|
||||||
await using var pair = await PoolManager.GetServerClient();
|
|
||||||
var server = pair.Server;
|
|
||||||
|
|
||||||
var testMap = await pair.CreateTestMap();
|
|
||||||
|
|
||||||
await server.WaitPost(() =>
|
|
||||||
{
|
|
||||||
var solutionSystem = server.System<SharedSolutionContainerSystem>();
|
|
||||||
|
|
||||||
var beaker = server.EntMan.SpawnEntity("TestCryostasisBeaker", testMap.GridCoords);
|
|
||||||
|
|
||||||
Assert.That(solutionSystem.TryGetSolution(beaker, "beaker", out var solutionEntity, out var solution));
|
|
||||||
|
|
||||||
solutionSystem.TryAddReagent(solutionEntity.Value, "TestReagent", FixedPoint2.New(10));
|
|
||||||
|
|
||||||
solutionSystem.SetTemperature(solutionEntity.Value, 500.0f);
|
|
||||||
|
|
||||||
Assert.That(solution!.Temperature, Is.LessThanOrEqualTo(293.15f));
|
|
||||||
|
|
||||||
solutionSystem.AddThermalEnergy(solutionEntity.Value, 10000.0f);
|
|
||||||
|
|
||||||
Assert.That(solution.Temperature, Is.LessThanOrEqualTo(293.15f));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public async Task NormalBeakerAllowsHeating()
|
|
||||||
{
|
|
||||||
await using var pair = await PoolManager.GetServerClient();
|
|
||||||
var server = pair.Server;
|
|
||||||
|
|
||||||
var testMap = await pair.CreateTestMap();
|
|
||||||
|
|
||||||
await server.WaitPost(() =>
|
|
||||||
{
|
|
||||||
var solutionSystem = server.System<SharedSolutionContainerSystem>();
|
|
||||||
|
|
||||||
var beaker = server.EntMan.SpawnEntity("TestCryostasisBeaker", testMap.GridCoords);
|
|
||||||
if (server.EntMan.HasComponent<CryostasisBeakerComponent>(beaker))
|
|
||||||
server.EntMan.RemoveComponent<CryostasisBeakerComponent>(beaker);
|
|
||||||
|
|
||||||
Assert.That(solutionSystem.TryGetSolution(beaker, "beaker", out var solutionEntity, out var solution));
|
|
||||||
|
|
||||||
solutionSystem.TryAddReagent(solutionEntity.Value, "TestReagent", FixedPoint2.New(10));
|
|
||||||
|
|
||||||
solutionSystem.SetTemperature(solutionEntity.Value, 500.0f);
|
|
||||||
|
|
||||||
Assert.That(solution!.Temperature, Is.EqualTo(500.0f));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -71,15 +71,15 @@ public static class ClientPackaging
|
||||||
|
|
||||||
var inputPass = graph.Input;
|
var inputPass = graph.Input;
|
||||||
|
|
||||||
// Sunrise-Sponsors-Start
|
// Sunrise-Start
|
||||||
var assemblies = new List<string> { "Content.Client", "Content.Shared", "Content.Shared.Database", "Content.Sunrise.Interfaces.Client", "Content.Sunrise.Interfaces.Shared" };
|
var assemblies = new List<string> { "Content.Client", "Content.Shared", "Content.Shared.Database", "Content.Sunrise.Interfaces.Client", "Content.Sunrise.Interfaces.Shared" };
|
||||||
// Sunrise-Sponsors-End
|
// Sunrise-End
|
||||||
|
|
||||||
await RobustSharedPackaging.WriteContentAssemblies(
|
await RobustSharedPackaging.WriteContentAssemblies(
|
||||||
inputPass,
|
inputPass,
|
||||||
contentDir,
|
contentDir,
|
||||||
"Content.Client",
|
"Content.Client",
|
||||||
assemblies, // Sunrise-Sponsors
|
assemblies, // Sunrise-Edit
|
||||||
cancel: cancel);
|
cancel: cancel);
|
||||||
|
|
||||||
await RobustClientPackaging.WriteClientResources(
|
await RobustClientPackaging.WriteClientResources(
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ public static class ServerPackaging
|
||||||
"Npgsql",
|
"Npgsql",
|
||||||
"Microsoft",
|
"Microsoft",
|
||||||
"NetCord",
|
"NetCord",
|
||||||
"0Harmony",
|
"0Harmony", // Sunrise-Edit
|
||||||
};
|
};
|
||||||
|
|
||||||
private static readonly List<string> ServerNotExtraAssemblies = new()
|
private static readonly List<string> ServerNotExtraAssemblies = new()
|
||||||
|
|
|
||||||
|
|
@ -479,5 +479,7 @@ public enum LogType
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Instrument = 103,
|
Instrument = 103,
|
||||||
|
|
||||||
|
// Sunrise-Start
|
||||||
Interactions = 104,
|
Interactions = 104,
|
||||||
|
// Sunrise-End
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,10 @@
|
||||||
license: "CC-BY-SA-3.0"
|
license: "CC-BY-SA-3.0"
|
||||||
copyright: "Taken from TG station"
|
copyright: "Taken from TG station"
|
||||||
source: "https://github.com/tgstation/tgstation/commit/827967c9650c23af64280ad1491405fed8f644c5#diff-6cc910b7cad9ac4333c8d0885fc844746066120b465d8d4ba8f7019169316574"
|
source: "https://github.com/tgstation/tgstation/commit/827967c9650c23af64280ad1491405fed8f644c5#diff-6cc910b7cad9ac4333c8d0885fc844746066120b465d8d4ba8f7019169316574"
|
||||||
|
- files: ["traitor_wawa.ogg"]
|
||||||
|
license: "CC-BY-SA-3.0"
|
||||||
|
copyright: "Taken from TG station, edited by FairlySadPanda (Github)"
|
||||||
|
source: "https://github.com/tgstation/tgstation/commit/827967c9650c23af64280ad1491405fed8f644c5#diff-6cc910b7cad9ac4333c8d0885fc844746066120b465d8d4ba8f7019169316574"
|
||||||
- files: ["pirate_start.ogg"]
|
- files: ["pirate_start.ogg"]
|
||||||
license: "CC-BY-NC-SA-3.0"
|
license: "CC-BY-NC-SA-3.0"
|
||||||
copyright: "Made by @MIXnikita#1474 (Discord) for SS14"
|
copyright: "Made by @MIXnikita#1474 (Discord) for SS14"
|
||||||
|
|
@ -24,5 +28,6 @@
|
||||||
source: "https://www.youtube.com/watch?v=jf1sYGYVLsw"
|
source: "https://www.youtube.com/watch?v=jf1sYGYVLsw"
|
||||||
- files: ["changeling_start.ogg"]
|
- files: ["changeling_start.ogg"]
|
||||||
license: "CC-BY-SA-3.0"
|
license: "CC-BY-SA-3.0"
|
||||||
copyright: "Taken from TG station"
|
copyright: "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/436ba869ebcd0b60b63973fb7562f447ee655205"
|
||||||
source: "https://github.com/tgstation/tgstation/blob/master/sound/ambience/antag/ling_alert.ogg"
|
source: "https://github.com/tgstation/tgstation/blob/master/sound/music/antag/ling_alert.ogg"
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
||||||
- files:
|
- files:
|
||||||
- hyperspace_begin.ogg
|
- hyperspace_begin.ogg
|
||||||
- hyperspace_end.ogg
|
- hyperspace_end.ogg
|
||||||
copyright: 'taken from TauCetiStation and trimmed by Morb0'
|
copyright: '"hyperspace_begin.ogg", and "hyperspace_end.ogg" by /tg/station'
|
||||||
license: CC-BY-SA-3.0
|
license: CC-BY-SA-3.0
|
||||||
source: https://github.com/TauCetiStation/TauCetiClassic/commit/92d2767dbb39f28540f78d5055e7be1eb7acee98
|
source: https://github.com/tgstation/tgstation/tree/71a79f1f75902d2ccab27cbffb971b12b7ab042d/sound/runtime/hyperspace
|
||||||
|
|
||||||
- files: [hyperspace_progress.ogg]
|
- files: [hyperspace_progress.ogg]
|
||||||
copyright: '"hyperspace_progress.ogg" by /tg/station. Modified for looping by metalgearsloth.'
|
copyright: '"hyperspace_progress.ogg" by /tg/station. Modified for looping by metalgearsloth.'
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -247,12 +247,17 @@
|
||||||
copyright: "Created by mattroks101 for Bee Station. cig_snuff converted to mono"
|
copyright: "Created by mattroks101 for Bee Station. cig_snuff converted to mono"
|
||||||
source: "https://github.com/BeeStation/BeeStation-Hornet/pull/29"
|
source: "https://github.com/BeeStation/BeeStation-Hornet/pull/29"
|
||||||
|
|
||||||
- files: [changeling_shriek.ogg]
|
- files: [stealthoff.ogg]
|
||||||
copyright: whateverusername0
|
copyright: 'TGStation at d4f678a1772007ff8d7eddd21cf7218c8e07bfc0'
|
||||||
license: CC-BY-SA-3.0
|
license: "CC-BY-SA-3.0"
|
||||||
source: https://github.com/whateverusername0/space-station-14-wizden/blob/ling/Resources/Audio/Effects/changeling_shriek.ogg
|
source: https://github.com/tgstation/tgstation/commit/d4f678a1772007ff8d7eddd21cf7218c8e07bfc0
|
||||||
|
|
||||||
- files: [beeps.ogg, electrical_short_circuit.ogg, electrical_short_circuit2.ogg, ]
|
- files: ["soft_thump.ogg"]
|
||||||
copyright: '"taken from zvukipro.com'
|
license: "CC-BY-4.0"
|
||||||
license: "CC-BY-NC-3.0"
|
copyright: "Clipped by FairlySadPanda (Github) from a sound created by CheChoDj (Freesound)"
|
||||||
source: https://zvukipro.com/predmet/158-zvuk-elektrichestva.html
|
source: "https://freesound.org/people/CheChoDj/sounds/609353/"
|
||||||
|
|
||||||
|
- files: [card_drag.ogg]
|
||||||
|
copyright: 'created by Tao7891; perryprog (GitHub) downmixed to mono'
|
||||||
|
license: CC0-1.0
|
||||||
|
source: https://github.com/space-wizards/space-station-14/pull/37363
|
||||||
|
|
|
||||||
Binary file not shown.
27
Resources/Audio/Jukebox/attributions.yml
Normal file
27
Resources/Audio/Jukebox/attributions.yml
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
- files: ["sector11.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "-Sector11 by MashedByMachines. Converted to mono OGG."
|
||||||
|
source: "https://www.newgrounds.com/audio/listen/312622"
|
||||||
|
|
||||||
|
- files: ["mod.flip-flap.ogg"]
|
||||||
|
license: "Custom"
|
||||||
|
copyright: "Flip Flap by X-ceed is licensed under a short but clear license (see flip-flap.txt in Audio/Lobby) and is free for non-commercial use. Converted to mono OGG."
|
||||||
|
source: "http://aminet.net/package/mods/xceed/Flipflap"
|
||||||
|
|
||||||
|
- files: ["title3.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "Title3 by Cuboos. It is a remix of the song 'Tintin on the Moon'. Converted to mono OGG."
|
||||||
|
source: "https://www.youtube.com/watch?v=YKVmXn-Gv0M"
|
||||||
|
|
||||||
|
- files:
|
||||||
|
- "constellations.ogg"
|
||||||
|
- "drifting.ogg"
|
||||||
|
- "starlight.ogg"
|
||||||
|
license: "CC-BY-3.0"
|
||||||
|
copyright: "Constellations by Qwertyquerty. Converted to mono OGG."
|
||||||
|
source: "https://www.youtube.com/channel/UCPYbhBUGhH7n_G4HLK2YipQ"
|
||||||
|
|
||||||
|
- files: ["sunset.ogg"]
|
||||||
|
license: "CC-BY-SA-3.0"
|
||||||
|
copyright: "Sunset by PigeonBeans. Exported in Mono OGG."
|
||||||
|
source: "https://soundcloud.com/pigeonbeans/sunset"
|
||||||
BIN
Resources/Audio/Jukebox/constellations.ogg
Normal file
BIN
Resources/Audio/Jukebox/constellations.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Jukebox/drifting.ogg
Normal file
BIN
Resources/Audio/Jukebox/drifting.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Jukebox/flip-flap.ogg
Normal file
BIN
Resources/Audio/Jukebox/flip-flap.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Jukebox/sector11.ogg
Normal file
BIN
Resources/Audio/Jukebox/sector11.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Jukebox/starlight.ogg
Normal file
BIN
Resources/Audio/Jukebox/starlight.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Jukebox/sunset.ogg
Normal file
BIN
Resources/Audio/Jukebox/sunset.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Jukebox/title3.ogg
Normal file
BIN
Resources/Audio/Jukebox/title3.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/Spac_Stac.ogg
Normal file
BIN
Resources/Audio/Lobby/Spac_Stac.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/atomicamnesiammx.ogg
Normal file
BIN
Resources/Audio/Lobby/atomicamnesiammx.ogg
Normal file
Binary file not shown.
|
|
@ -1,4 +1,9 @@
|
||||||
- files: ["endless_space.ogg"]
|
- files: ["thunderdome.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "-Sector11 by MashedByMachines. Converted from MP3 to OGG."
|
||||||
|
source: "https://www.newgrounds.com/audio/listen/312622"
|
||||||
|
|
||||||
|
- files: ["endless_space.ogg"]
|
||||||
license: "CC-BY-3.0"
|
license: "CC-BY-3.0"
|
||||||
copyright: "Endless Space by SolusLunes. Converted from MP3 to OGG."
|
copyright: "Endless Space by SolusLunes. Converted from MP3 to OGG."
|
||||||
source: "https://www.newgrounds.com/audio/listen/67583"
|
source: "https://www.newgrounds.com/audio/listen/67583"
|
||||||
|
|
@ -20,3 +25,53 @@
|
||||||
license: "CC-BY-NC-SA-3.0"
|
license: "CC-BY-NC-SA-3.0"
|
||||||
copyright: "Absconditus by ZhayTee. Converted from MP3 to OGG."
|
copyright: "Absconditus by ZhayTee. Converted from MP3 to OGG."
|
||||||
source: "https://bandcamp.zhaytee.net/track/absconditus"
|
source: "https://bandcamp.zhaytee.net/track/absconditus"
|
||||||
|
|
||||||
|
- files: ["atomicamnesiammx.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "Atomic Amnesia MMX by Philip Dyer. Converted from MP3 to OGG."
|
||||||
|
source: "https://soundcloud.com/3kliksphilip/atomic-amnesia-mmx-1"
|
||||||
|
|
||||||
|
- files: ["singuloose.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "Singuloose by Janis Schiedková. Converted from MP3 to OGG."
|
||||||
|
source: "https://soundcloud.com/js_m/singuloose"
|
||||||
|
|
||||||
|
- files: ["title2.ogg"]
|
||||||
|
license: "Custom"
|
||||||
|
copyright: "Originally composed by Jonathan Dunn for RoboCop (Game Boy) published by Ocean Software. Remixed by Eric Shumaker for his video Dilbert 3. As of October 9th, 2008 nobody owns the rights to this song and copyright action has never been taken against anyone using this song in their projects."
|
||||||
|
source: "https://www.youtube.com/watch?v=4o6_8Unj2mQ"
|
||||||
|
|
||||||
|
- files: ["title3.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "Title3 by Cuboos. It is a remix of the song 'Tintin on the Moon'. Converted from MP3 to OGG."
|
||||||
|
source: "https://www.youtube.com/watch?v=YKVmXn-Gv0M"
|
||||||
|
|
||||||
|
- files: ["comet_haley.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "Comet Haley by Stellardrone. Converted from MP3 to OGG."
|
||||||
|
source: "https://stellardrone.bandcamp.com/track/comet-halley"
|
||||||
|
|
||||||
|
- files: ["mod.flip-flap.ogg"]
|
||||||
|
license: "Custom"
|
||||||
|
copyright: "Flip Flap by X-ceed is licensed under a short but clear license (see flip-flap.txt in this directory) and is free for non-commercial use. It was converted from MOD to WAV using Schism Tracker, in 16 Bit, Non-Interpolated mode, no output equalizer settings, Ramp volume at start of sample enabled. From there it was converted to OGG Vorbis with `ffmpeg -i flip-flap.wav -q 2.9 flip-flap-renc.ogg` (quality scale chosen to match size of the OGG file being replaced). Non-interpolated mode was chosen as the module has a high enough sample rate to balance it out, but seems muffled in other interpolation modes. If 'Ramp volume at start of sample' is not enabled, a clicking phenomenon results."
|
||||||
|
source: "http://aminet.net/package/mods/xceed/Flipflap"
|
||||||
|
|
||||||
|
- files: ["Spac_Stac.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "Spac Stac by Hayabusa. Converted from MP3 to OGG."
|
||||||
|
source: "https://www.youtube.com/watch?v=grUBe-SZgr0"
|
||||||
|
|
||||||
|
- files: ["pwmur.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "phoron will make us rich by Sunbeamstress/Lauren Loveless."
|
||||||
|
source: "https://soundcloud.com/sunbeamstress/phoron-will-make-us-rich"
|
||||||
|
|
||||||
|
- files: ["lasers_rip_apart_the_bulkhead.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "lasers rip apart the bulkhead by Sunbeamstress/Lauren Loveless."
|
||||||
|
source: "https://soundcloud.com/sunbeamstress/lasers-rip-apart-the-bulkhead"
|
||||||
|
|
||||||
|
- files: ["every_light_is_blinking_at_once.ogg"]
|
||||||
|
license: "CC-BY-NC-SA-3.0"
|
||||||
|
copyright: "every light is blinking at once by Sunbeamstress/Lauren Loveless."
|
||||||
|
source: "https://soundcloud.com/sunbeamstress/every-light-is-blinking-at-once"
|
||||||
|
|
|
||||||
BIN
Resources/Audio/Lobby/comet_haley.ogg
Normal file
BIN
Resources/Audio/Lobby/comet_haley.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/every_light_is_blinking_at_once.ogg
Normal file
BIN
Resources/Audio/Lobby/every_light_is_blinking_at_once.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/lasers_rip_apart_the_bulkhead.ogg
Normal file
BIN
Resources/Audio/Lobby/lasers_rip_apart_the_bulkhead.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/mod.flip-flap.ogg
Normal file
BIN
Resources/Audio/Lobby/mod.flip-flap.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/pwmur.ogg
Normal file
BIN
Resources/Audio/Lobby/pwmur.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/singuloose.ogg
Normal file
BIN
Resources/Audio/Lobby/singuloose.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/thunderdome.ogg
Normal file
BIN
Resources/Audio/Lobby/thunderdome.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/title2.ogg
Normal file
BIN
Resources/Audio/Lobby/title2.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Lobby/title3.ogg
Normal file
BIN
Resources/Audio/Lobby/title3.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Machines/airlock_deny – копія.ogg
Normal file
BIN
Resources/Audio/Machines/airlock_deny – копія.ogg
Normal file
Binary file not shown.
Binary file not shown.
|
|
@ -58,6 +58,11 @@
|
||||||
copyright: "Taken from TG station."
|
copyright: "Taken from TG station."
|
||||||
source: "https://github.com/tgstation/tgstation/blob/d4f678a1772007ff8d7eddd21cf7218c8e07bfc0/sound/machines/warning-buzzer.ogg"
|
source: "https://github.com/tgstation/tgstation/blob/d4f678a1772007ff8d7eddd21cf7218c8e07bfc0/sound/machines/warning-buzzer.ogg"
|
||||||
|
|
||||||
|
- files: ["warning_buzzer_xenoborg.ogg"]
|
||||||
|
license: "CC-BY-SA-3.0"
|
||||||
|
copyright: "Made by Toast (Discord)"
|
||||||
|
source: "https://github.com/space-wizards/space-station-14/pull/36935"
|
||||||
|
|
||||||
- files: ["anomaly_sync_connect.ogg"]
|
- files: ["anomaly_sync_connect.ogg"]
|
||||||
license: "CC0-1.0"
|
license: "CC0-1.0"
|
||||||
copyright: "Created by newagesoup, convert to ogg mono by TheShuEd"
|
copyright: "Created by newagesoup, convert to ogg mono by TheShuEd"
|
||||||
|
|
@ -108,7 +113,7 @@
|
||||||
copyright: "cmorris035"
|
copyright: "cmorris035"
|
||||||
source: "https://freesound.org/people/cmorris035/sounds/319152/"
|
source: "https://freesound.org/people/cmorris035/sounds/319152/"
|
||||||
|
|
||||||
- files: ["airlock_open.ogg", "airlock_close.ogg"]
|
- files: ["airlock_open.ogg", "airlock_close.ogg", "airlock_deny.ogg"]
|
||||||
license: "CC-BY-SA-3.0"
|
license: "CC-BY-SA-3.0"
|
||||||
copyright: "/tg/station"
|
copyright: "/tg/station"
|
||||||
source: "https://github.com/tgstation/tgstation/tree/5f5002b21253354c20ea224be3f604d79299b37e/sound/machines"
|
source: "https://github.com/tgstation/tgstation/tree/5f5002b21253354c20ea224be3f604d79299b37e/sound/machines"
|
||||||
|
|
@ -158,11 +163,6 @@
|
||||||
copyright: "dakamakat on freesound.org"
|
copyright: "dakamakat on freesound.org"
|
||||||
source: "https://freesound.org/people/Dakamakat/sounds/717370/"
|
source: "https://freesound.org/people/Dakamakat/sounds/717370/"
|
||||||
|
|
||||||
- files: ["airlock_deny.ogg"]
|
|
||||||
license: "CC-BY-SA-3.0"
|
|
||||||
copyright: "/vgstation-coders/vgstation13"
|
|
||||||
source: "https://github.com/vgstation-coders/vgstation13/blob/Bleeding-Edge/sound/machines/denied.ogg"
|
|
||||||
|
|
||||||
- files:
|
- files:
|
||||||
- twobeep.ogg
|
- twobeep.ogg
|
||||||
- chime.ogg
|
- chime.ogg
|
||||||
|
|
@ -196,12 +196,6 @@
|
||||||
license: "CC0-1.0"
|
license: "CC0-1.0"
|
||||||
copyright: "Created by fspera, converted to OGG and modified by chromiumboy."
|
copyright: "Created by fspera, converted to OGG and modified by chromiumboy."
|
||||||
source: "https://freesound.org/people/fspera/sounds/528111/"
|
source: "https://freesound.org/people/fspera/sounds/528111/"
|
||||||
|
|
||||||
- files: ["energyshield_up.ogg"]
|
|
||||||
license: "CC0-1.0"
|
|
||||||
copyright: "unfa on freesound.org"
|
|
||||||
source: "https://freesound.org/people/unfa/sounds/584173/"
|
|
||||||
|
|
||||||
- files:
|
- files:
|
||||||
- airlock_emergencyoff.ogg
|
- airlock_emergencyoff.ogg
|
||||||
- airlock_emergencyon.ogg
|
- airlock_emergencyon.ogg
|
||||||
|
|
@ -220,17 +214,3 @@
|
||||||
license: "CC-BY-3.0"
|
license: "CC-BY-3.0"
|
||||||
copyright: "Created by Tomlija, converted to OGG and modified by themias."
|
copyright: "Created by Tomlija, converted to OGG and modified by themias."
|
||||||
source: "https://freesound.org/people/Tomlija/sounds/99565/"
|
source: "https://freesound.org/people/Tomlija/sounds/99565/"
|
||||||
- files: ["energyshield_down.ogg"]
|
|
||||||
license: "CC-BY-4.0"
|
|
||||||
copyright: "SilverIllusionist on freesound.org"
|
|
||||||
source: "https://freesound.org/people/SilverIllusionist/sounds/673556/"
|
|
||||||
|
|
||||||
- files: ["energyshield_ambient.ogg"]
|
|
||||||
license: "CC0-1.0"
|
|
||||||
copyright: "julianmateo_ on freesound.org"
|
|
||||||
source: "https://freesound.org/people/julianmateo_/sounds/524165/"
|
|
||||||
|
|
||||||
- files: ["energyshield_parry.ogg"]
|
|
||||||
license: "CC-BY-4.0"
|
|
||||||
copyright: "Robinhood76 on freesound.org"
|
|
||||||
source: "https://freesound.org/people/Robinhood76/sounds/107613/"
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,3 @@
|
||||||
- files: ["emergency_meeting.ogg"]
|
|
||||||
license: "CC-BY-NC-SA-3.0"
|
|
||||||
copyright: "Taken from TG station."
|
|
||||||
source: "https://github.com/tgstation/tgstation/commit/97945e7d08d1457ffc27e46526a48c0453cc95e4"
|
|
||||||
|
|
||||||
- files: ["tension_session.ogg"]
|
- files: ["tension_session.ogg"]
|
||||||
license: "CC-BY-3.0"
|
license: "CC-BY-3.0"
|
||||||
copyright: "Created by qwertyquerty"
|
copyright: "Created by qwertyquerty"
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
copyright: "Taken from vgstation"
|
copyright: "Taken from vgstation"
|
||||||
source: "https://github.com/vgstation-coders/vgstation13/commit/23303188abe6fe31b114a218a1950d7325a23730"
|
source: "https://github.com/vgstation-coders/vgstation13/commit/23303188abe6fe31b114a218a1950d7325a23730"
|
||||||
|
|
||||||
- files: ["shotgun.ogg"]
|
- files: ["estocshot.ogg"]
|
||||||
license: "CC-BY-SA-3.0"
|
license: "CC-BY-SA-3.0"
|
||||||
copyright: "Taken from tgstation"
|
copyright: "machinegun-one-shot.wav by DeltaCode. Converted to .OGG and MONO by august-sun"
|
||||||
source: "https://github.com/tgstation/tgstation/blob/5736656139713c802033b9457a2a9d058211bd85/sound/weapons/gun/shotgun/shot.ogg"
|
source: "https://freesound.org/people/DeltaCode/sounds/668347/"
|
||||||
|
|
|
||||||
Binary file not shown.
BIN
Resources/Audio/_Sunrise/Ambience/Antag/traitor_start.ogg
Normal file
BIN
Resources/Audio/_Sunrise/Ambience/Antag/traitor_start.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/_Sunrise/Effects/Shuttle/hyperspace_begin.ogg
Normal file
BIN
Resources/Audio/_Sunrise/Effects/Shuttle/hyperspace_begin.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/_Sunrise/Effects/Shuttle/hyperspace_end.ogg
Normal file
BIN
Resources/Audio/_Sunrise/Effects/Shuttle/hyperspace_end.ogg
Normal file
Binary file not shown.
Binary file not shown.
BIN
Resources/Audio/_Sunrise/Machines/airlock_deny.ogg
Normal file
BIN
Resources/Audio/_Sunrise/Machines/airlock_deny.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/_Sunrise/Weapons/Guns/Gunshots/shotgun.ogg
Normal file
BIN
Resources/Audio/_Sunrise/Weapons/Guns/Gunshots/shotgun.ogg
Normal file
Binary file not shown.
|
|
@ -1,5 +0,0 @@
|
||||||
# disease
|
|
||||||
shop-disease-category-infect = Infectie
|
|
||||||
shop-disease-category-symptoms = Symptomen
|
|
||||||
shop-disease-category-evolution = Evolutie
|
|
||||||
shop-disease-category-infection = Infectie
|
|
||||||
|
|
@ -2379,7 +2379,7 @@ entities:
|
||||||
- type: Transform
|
- type: Transform
|
||||||
pos: -0.17729092,2.357732
|
pos: -0.17729092,2.357732
|
||||||
parent: 1
|
parent: 1
|
||||||
- proto: GrenadeFragTimer
|
- proto: GrenadeFrag
|
||||||
entities:
|
entities:
|
||||||
- uid: 58
|
- uid: 58
|
||||||
components:
|
components:
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue