Уменьшение количества редактирований файлов оффов (#3365)

This commit is contained in:
Vigers Ray 2025-12-26 03:30:36 +03:00 committed by GitHub
parent 4ead93709c
commit 3d383e5377
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
268 changed files with 1844802 additions and 1778 deletions

View file

@ -1,5 +1,5 @@
#blank_issues_enabled: true
#contact_links:
# - name: Request a Feature
# url: https://discord.gg/rGvu9hKffJ
# about: Submit feature requests on our Discord server (https://discord.gg/rGvu9hKffJ).
blank_issues_enabled: true
contact_links:
- name: Request a Feature
url: https://discord.gg/rGvu9hKffJ
about: Submit feature requests on our Discord server (https://discord.gg/rGvu9hKffJ).

View file

@ -1,17 +0,0 @@
---
name: Предложить новое
about: Запросить у разработчиков добавить что-то новое.
title: ''
labels: ''
assignees: VigersRay
---
**Ваш запрос функции связан с проблемой/ошибкой? Опишите, пожалуйста.**
<!-- Четкое и краткое описание проблемы. Например: Меня всегда раздражает, когда [...] -->
**Опишите желаемое**
<!-- Четкое и краткое описание того, что вы хотите, и что оно должно делать. -->
**Дополнительный контекст**
<!-- Добавьте сюда любой другой контекст или скриншоты, связанные с запросом функции. -->

View file

@ -1,11 +0,0 @@
---
name: Поставить задачу
about: Создать задачу для себя чтобы о ней знали другие, а так же запросить у спрайтеров
спрайты.
title: ''
labels: ''
assignees: VigersRay
---

4
.github/config.yml vendored
View file

@ -3,7 +3,7 @@ Project-Condor:
project: 2
inbox: Inbox
labels:
"W: In Progress": "В Прогрессе"
"W: In Progress": "In Progress"
"W: Discussion": "Design and Discussion"
"W: Backlog": "Backlog"
"W: Next": "Следующее"
"W: Next": "Next"

20
.github/labeler.yml vendored
View file

@ -1,30 +1,30 @@
"Изменения: Спрайты":
"Changes: Sprites":
- changed-files:
- any-glob-to-any-file: '**/*.rsi/*.png'
"Изменения: Карты":
"Changes: Map":
- changed-files:
- any-glob-to-any-file:
- 'Resources/Maps/**/*.yml'
- 'Resources/Prototypes/Maps/**/*.yml'
"Изменения: Интерфейс":
"Changes: UI":
- changed-files:
- any-glob-to-any-file: '**/*.xaml*'
"Изменения: Шейдеры":
"Changes: Shaders":
- changed-files:
- any-glob-to-any-file: '**/*.swsl'
"Изменения: Локализация":
- changed-files:
- any-glob-to-any-file: '**/*.ftl'
"Изменения: Аудио":
"Changes: Audio":
- changed-files:
- any-glob-to-any-file: '**/*.ogg'
"Нет C#":
"Changes: No C#":
- 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.
- all-globs-to-all-files: "!**/*.cs"
"Changes: Localisation":
- changed-files:
- any-glob-to-any-file: '**/*.ftl'

1
.gitignore vendored
View file

@ -306,4 +306,3 @@ Resources/MapImages
# Direnv stuff
.direnv/
.idea/

View file

@ -4,4 +4,4 @@
<toRun name="Content.Server" type="DotNetProject" />
<method v="2" />
</configuration>
</component>
</component>

View file

@ -125,6 +125,8 @@ internal sealed class BuckleSystem : SharedBuckleSystem
!buckled ||
args.Sprite == null)
{
// Sunrise-Edit
//_rotationVisualizerSystem.SetHorizontalAngle((uid, rotVisuals), rotVisuals.DefaultRotation);
return;
}

View file

@ -121,16 +121,15 @@ namespace Content.Client.Changelog
});
}
// Sunrise-Start
public Changelog MergeChangelogs(List<Changelog> changelogs)
{
var combinedChangelog = new Changelog();
foreach (var changelog in changelogs)
{
// Объединение списков записей
combinedChangelog.Entries.AddRange(changelog.Entries);
// Объединение свойств
if (!string.IsNullOrEmpty(changelog.Name))
{
combinedChangelog.Name = changelog.Name;
@ -147,11 +146,11 @@ namespace Content.Client.Changelog
}
}
// Упорядочивание по времени
combinedChangelog.Entries = combinedChangelog.Entries.OrderBy(entry => entry.Time).ToList();
return combinedChangelog;
}
// Sunrise-End
public void PostInject()
{

View file

@ -16,7 +16,7 @@
VerticalAlignment="Bottom"
HorizontalAlignment="Center">
<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"/>
<widgets:GhostGui Name="Ghost" Access="Protected" />
<inventory:InventoryGui Name="Inventory" Access="Protected"/>
@ -34,7 +34,7 @@
<BoxContainer Orientation="Vertical" HorizontalExpand="True" SeparationOverride="10" Margin="10">
<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"/>
</BoxContainer>
</PanelContainer>

View file

@ -103,7 +103,7 @@ public sealed class AHelpUIController: UIController, IOnSystemChanged<BwoinkSyst
{
_bwoinkSystem = system;
_bwoinkSystem.OnBwoinkTextMessageRecieved += ReceivedBwoink;
_bwoinkSystem.OnBwoinkCooldownReceived += ReceivedCooldown;
_bwoinkSystem.OnBwoinkCooldownReceived += ReceivedCooldown; // Sunrise-Edit
_input.SetInputCommand(ContentKeyFunctions.OpenAHelp,
InputCmdHandler.FromDelegate(_ => ToggleWindow()));
@ -115,7 +115,7 @@ public sealed class AHelpUIController: UIController, IOnSystemChanged<BwoinkSyst
DebugTools.Assert(_bwoinkSystem != null);
_bwoinkSystem!.OnBwoinkTextMessageRecieved -= ReceivedBwoink;
_bwoinkSystem!.OnBwoinkCooldownReceived -= ReceivedCooldown;
_bwoinkSystem!.OnBwoinkCooldownReceived -= ReceivedCooldown; // Sunrise-Edit
_bwoinkSystem = null;
}
@ -160,11 +160,13 @@ public sealed class AHelpUIController: UIController, IOnSystemChanged<BwoinkSyst
UIHelper!.Receive(message);
}
// Sunrise-Start
private void ReceivedCooldown(object? sender, BwoinkCooldownMessage message)
{
EnsureUIHelper();
UIHelper?.OnCooldownReceived(message);
}
// Sunrise-End
private void DiscordRelayUpdated(BwoinkDiscordRelayUpdated args, EntitySessionEventArgs session)
{
@ -350,7 +352,7 @@ public interface IAHelpUIHandler : IDisposable
public void ToggleWindow();
public void DiscordRelayChanged(bool active);
public void PeopleTypingUpdated(BwoinkPlayerTypingUpdated args);
public void OnCooldownReceived(BwoinkCooldownMessage message);
public void OnCooldownReceived(BwoinkCooldownMessage message); // Sunrise-Edit
public event Action OnClose;
public event Action OnOpen;
public Action<NetUserId, string, bool, bool>? SendMessageAction { get; set; }
@ -441,6 +443,7 @@ public sealed class AdminAHelpUIHandler : IAHelpUIHandler
panel.UpdatePlayerTyping(args.PlayerName, args.Typing);
}
// Sunrise-Start
public void OnCooldownReceived(BwoinkCooldownMessage message)
{
// 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)
{
if (_activePanelMap.TryGetValue(userId, out var panel))
@ -640,10 +642,12 @@ public sealed class UserAHelpUIHandler : IAHelpUIHandler
{
}
// Sunrise-Start
public void OnCooldownReceived(BwoinkCooldownMessage message)
{
_chatPanel?.OnCooldownReceived(message);
}
// Sunrise-End
public event Action? OnClose;
public event Action? OnOpen;

View file

@ -274,7 +274,7 @@ public sealed partial class ChatUIController : UIController
SetChatWindowOpacity(opacity);
}
public void SetChatWindowOpacity(float opacity)
public void SetChatWindowOpacity(float opacity) // Sunrise-Edit
{
var chatBox = UIManager.ActiveScreen?.GetWidget<ChatBox>() ?? UIManager.ActiveScreen?.GetWidget<ResizableChatBox>();

View file

@ -1,5 +1,6 @@
<widgets:ChatBox
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:controls="clr-namespace:Content.Client.UserInterface.Systems.Chat.Controls"
MouseFilter="Stop"

View file

@ -54,10 +54,12 @@ public partial class ChatBox : UIWidget
_controller.RegisterChat(this);
}
// Sunrise-Start
public void SetChatOpacity()
{
_controller.SetChatWindowOpacity(_configurationManager.GetCVar(CCVars.ChatWindowOpacity));
}
// Sunrise-End
private void OnTextEntered(LineEditEventArgs args)
{
@ -94,7 +96,7 @@ public partial class ChatBox : UIWidget
public void Repopulate()
{
ClearChatContents(); // Sunrise
ClearChatContents(); // Sunrise-Edit
foreach (var message in _controller.History)
{
@ -104,7 +106,7 @@ public partial class ChatBox : UIWidget
private void OnChannelFilter(ChatChannel channel, bool active)
{
ClearChatContents(); // Sunrise
ClearChatContents(); // Sunrise-Edit
foreach (var message in _controller.History)
{
@ -122,7 +124,7 @@ public partial class ChatBox : UIWidget
_controller.UpdateHighlights(highlighs);
}
// Sunrise start
// Sunrise-Start
private void ClearChatContents()
{
Contents.Clear();
@ -135,7 +137,7 @@ public partial class ChatBox : UIWidget
}
}
}
// Sunrise end
// Sunrise-End
public void AddLine(string message, Color color)
{

View file

@ -71,11 +71,13 @@ public sealed class EscapeUIController : UIController, IOnStateEntered<GameplayS
_changelog.ToggleWindow();
};
// Sunrise-Start
_escapeWindow.RoadmapButton.OnPressed += _ =>
{
CloseEscapeWindow();
UIManager.GetUIController<RoadmapUIController>().ToggleRoadmap();
};
// Sunrise-End
_escapeWindow.RulesButton.OnPressed += _ =>
{
@ -101,7 +103,7 @@ public sealed class EscapeUIController : UIController, IOnStateEntered<GameplayS
_console.ExecuteCommand("quit");
};
// Sunrise-start
// Sunrise-Start
_escapeWindow.DonateButton.OnPressed += _ =>
{
_uri.OpenUri(_cfg.GetCVar(SunriseCCVars.InfoLinksDonate));
@ -111,7 +113,7 @@ public sealed class EscapeUIController : UIController, IOnStateEntered<GameplayS
{
_uri.OpenUri(_cfg.GetCVar(SunriseCCVars.InfoLinksReplays));
};
// Sunrise-end
// Sunrise-End
_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.
_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
.Bind(EngineKeyFunctions.EscapeMenu,

View file

@ -14,7 +14,7 @@ namespace Content.Client.UserInterface.Systems.Ghost.Controls.Roles
{
private SpriteSystem _spriteSystem;
public event Action<GhostRoleInfo>? OnRoleSelected;
public event Action<GhostRoleInfo>? OnRoleRules;
public event Action<GhostRoleInfo>? OnRoleRules; // Sunrise-Edit
public event Action<GhostRoleInfo>? OnRoleFollow;
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);
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);
if (!hasAccess)

View file

@ -33,8 +33,8 @@ namespace Content.Client.VendingMachines.UI
public VendingMachineMenu()
{
MinSize = new Vector2(250, 150); // Sunrise-Resize
SetSize = new Vector2(450, 150); // Sunrise-Resize
MinSize = new Vector2(250, 150); // Sunrise-Edit
SetSize = new Vector2(450, 150); // Sunrise-Edit
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);

View file

@ -24,16 +24,16 @@ public sealed class VoiceMaskBoundUserInterface : BoundUserInterface
_window = this.CreateWindow<VoiceMaskNameChangeWindow>();
_window.ReloadVerbs(_protomanager);
_window.AddVerbs();
// Sunrise-TTS-Start
// Sunrise-Start
if (IoCManager.Resolve<IConfigurationManager>().GetCVar(SunriseCCVars.TTSEnabled))
{
_window.ReloadVoices(IoCManager.Resolve<IPrototypeManager>());
}
// Sunrise-TTS-End
// Sunrise-End
_window.OnNameChange += OnNameSelected;
_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)
@ -48,7 +48,7 @@ public sealed class VoiceMaskBoundUserInterface : BoundUserInterface
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)

View file

@ -12,11 +12,11 @@
<Label Text="{Loc 'voice-mask-name-change-speech-style'}" />
<OptionButton Name="SpeechVerbSelector" /> <!-- Populated in LoadVerbs -->
</BoxContainer>
<!-- Sunrise-TTS-Start -->
<!-- Sunrise-Start -->
<BoxContainer Orientation="Horizontal" Margin="5" Visible="False" Name="TTSContainer">
<Label Text="{Loc 'voice-mask-voice-change-info'}" />
<OptionButton Name="VoiceSelector" /> <!-- Populated in LoadVerbs -->
</BoxContainer>
<!-- Sunrise-TTS-End -->
<!-- Sunrise-End -->
</BoxContainer>
</controls:FancyWindow>

View file

@ -13,10 +13,10 @@ public sealed partial class VoiceMaskNameChangeWindow : FancyWindow
{
public Action<string>? OnNameChange;
public Action<string?>? OnVerbChange;
public Action<string>? OnVoiceChange; // Sunrise-TTS
public Action<string>? OnVoiceChange; // Sunrise-Edit
private List<(string, string)> _verbs = new();
private List<TTSVoicePrototype> _voices = new(); // Sunrise-TTS
private List<TTSVoicePrototype> _voices = new(); // Sunrise-Edit
private string? _verb;
@ -67,7 +67,7 @@ public sealed partial class VoiceMaskNameChangeWindow : FancyWindow
SpeechVerbSelector.SelectId(id);
}
// Sunrise-TTS-Start
// Sunrise-Start
public void ReloadVoices(IPrototypeManager proto)
{
VoiceSelector.OnItemSelected += args =>
@ -91,7 +91,7 @@ public sealed partial class VoiceMaskNameChangeWindow : FancyWindow
if (_voices.Count > 0)
TTSContainer.Visible = true;
}
// Sunrise-TTS-End
// Sunrise-End
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);
if (voiceIdx != -1)
VoiceSelector.Select(voiceIdx);
// Sunrise-TTS-End
// Sunrise-End
}
}

View file

@ -49,7 +49,7 @@ namespace Content.Client.Voting.UI
{
{ VotekickReasonType.Raiding.ToString(), Loc.GetString("ui-vote-votekick-type-raiding") },
{ 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();
@ -88,8 +88,10 @@ namespace Content.Client.Voting.UI
VoteTypeButton.AddItem(Loc.GetString(option.Name), (int)voteType);
}
// Sunrise-Start
var loc = IoCManager.Resolve<ILocalizationManager>();
DetailsEdit.Placeholder = new Rope.Leaf(loc.GetString("ui-vote-votekick-details-placeholder"));
// Sunrise-End
_state.OnStateChanged += OnStateChanged;
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}");
}
@ -240,7 +242,6 @@ namespace Content.Client.Voting.UI
VoteTypeButton.SelectId(obj.Id);
VoteNotTrustedLabel.Visible = false;
DetailsEdit.Visible = false;
if ((StandardVoteType)obj.Id == StandardVoteType.Votekick)
{
if (!IsAllowedVotekick)
@ -254,8 +255,6 @@ namespace Content.Client.Voting.UI
{
_votingSystem.RequestVotePlayerList();
}
DetailsEdit.Visible = true;
}
VoteWarningLabel.Visible = AvailableVoteOptions[(StandardVoteType)obj.Id].EnableVoteWarning;

View file

@ -70,13 +70,16 @@ namespace Content.Client.Voting
_netManager.RegisterNetMessage<MsgVoteData>(ReceiveVoteData);
_netManager.RegisterNetMessage<MsgVoteCanCall>(ReceiveVoteCanCall);
// Sunrise-Start
_netManager.RegisterNetMessage<RequestVoteMusicDisableOptionMessage>(OnRequestVoteMusicDisableOption);
_netManager.RegisterNetMessage<VoteMusicDisableOptionMessage>();
_cfg.OnValueChanged(SunriseCCVars.VoteMusicDisable, OnVoteMusicDisableOptionChanged);
// Sunrise-End
_client.RunLevelChanged += ClientOnRunLevelChanged;
}
// Sunrise-Start
private void OnRequestVoteMusicDisableOption(RequestVoteMusicDisableOptionMessage _)
{
var message = new VoteMusicDisableOptionMessage
@ -94,6 +97,7 @@ namespace Content.Client.Voting
};
_netManager.ClientSendMessage(message);
}
// Sunrise-End
private void ClientOnRunLevelChanged(object? sender, RunLevelChangedEventArgs e)
{
@ -180,7 +184,7 @@ namespace Content.Client.Voting
{
Entries = message.Options
.Select(c => new VoteEntry(c.name))
.ToArray(),
.ToArray()
};
existingVote = vote;

View file

@ -3,39 +3,33 @@ using Robust.Client.Graphics;
using Robust.Client.Input;
using Robust.Client.Player;
using Robust.Shared.Console;
using Robust.Shared.Map;
namespace Content.Client.Weapons.Melee;
public sealed class MeleeSpreadCommand : IConsoleCommand
public sealed class MeleeSpreadCommand : LocalizedEntityCommands
{
public string Command => "showmeleespread";
public string Description => "Shows the current weapon's range and arc for debugging";
public string Help => $"{Command}";
public void Execute(IConsoleShell shell, string argStr, string[] args)
[Dependency] private readonly IEyeManager _eyeManager = default!;
[Dependency] private readonly IInputManager _inputManager = default!;
[Dependency] private readonly IOverlayManager _overlay = default!;
[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 (collection == null)
if (_overlay.RemoveOverlay<MeleeArcOverlay>())
return;
var overlayManager = collection.Resolve<IOverlayManager>();
if (overlayManager.RemoveOverlay<MeleeArcOverlay>())
{
return;
}
var sysManager = collection.Resolve<IEntitySystemManager>();
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>()));
_overlay.AddOverlay(new MeleeArcOverlay(
EntityManager,
_eyeManager,
_inputManager,
_playerManager,
_meleeSystem,
_combatSystem,
_transformSystem));
}
}

View file

@ -1,6 +0,0 @@
namespace Content.Client.Weapons.Ranged.Systems;
public enum FireModesLayers : byte
{
FireMode,
}

View file

@ -201,29 +201,10 @@ public sealed partial class AnalysisConsoleMenu : FancyWindow
("max", node.Value.Comp.MaxDurability)));
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",
("state", hasInfo),
("info", effectDescription)));
("info", _ent.GetComponentOrNull<MetaDataComponent>(node.Value)?.EntityDescription ?? string.Empty)));
var predecessorNodes = _xenoArtifact.GetPredecessorNodes(artifact.Value.Owner, node.Value);
if (!hasInfo)

View file

@ -1,8 +1,9 @@
using Content.Client.CartridgeLoader.Cartridges;
using Content.Client.UserInterface.Fragments;
using Content.Shared.CartridgeLoader.Cartridges;
using Robust.Client.UserInterface;
namespace Content.Client.CartridgeLoader.Cartridges;
namespace Content.Client._Sunrise.CartridgeLoader.Cartridges;
public sealed partial class NavigatorUi : UIFragment
{

View file

@ -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="https://spacestation14.io" Margin="1 0 2 0"
Orientation="Vertical">

View file

@ -7,7 +7,7 @@ using Robust.Shared.Map;
using Robust.Shared.Timing;
using System.Numerics;
namespace Content.Client.CartridgeLoader.Cartridges;
namespace Content.Client._Sunrise.CartridgeLoader.Cartridges;
[GenerateTypedNameReferences]
public sealed partial class NavigatorUiFragment : BoxContainer

View file

@ -1,31 +1,32 @@
using Content.Shared.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;
namespace Content.Client.Weapons.Ranged.Systems;
namespace Content.Client._Sunrise.Weapons.Ranged.Systems;
public sealed class BatteryWeaponFireModesVisualSystem : EntitySystem
{
[Dependency] private readonly GunSystem _gun = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<BatteryWeaponFireModesComponent, AfterAutoHandleStateEvent>(OnFireModeChanged);
}
private void OnFireModeChanged(EntityUid uid, BatteryWeaponFireModesComponent component, ref AfterAutoHandleStateEvent args)
{
if (!TryComp<SpriteComponent>(uid, out var sprite))
return;
var fireMode = component.FireModes[component.CurrentFireMode];
if (fireMode.VisualState != null && sprite.LayerMapTryGet(FireModesLayers.FireMode, out _))
sprite.LayerSetState(FireModesLayers.FireMode, fireMode.VisualState);
if (TryComp<MagazineVisualsComponent>(uid, out var magVisualsComp) && fireMode.MagState != null)
_gun.SetMagState(uid, fireMode.MagState, false, magVisualsComp);
}
}
}

View file

@ -0,0 +1,6 @@
namespace Content.Client._Sunrise.Weapons.Ranged.Systems;
public enum FireModesLayers : byte
{
FireMode,
}

View file

@ -33,19 +33,12 @@ public sealed class ActionsAddedTest
Assert.That(serverSession.AttachedEntity, Is.Not.Null);
var serverEnt = serverSession.AttachedEntity!.Value;
var clientEnt = clientSession!.AttachedEntity!.Value;
try
{
Assert.That(sEntMan.EntityExists(serverEnt));
Assert.That(cEntMan.EntityExists(clientEnt));
Assert.That(sEntMan.HasComponent<ActionsComponent>(serverEnt));
Assert.That(cEntMan.HasComponent<ActionsComponent>(clientEnt));
Assert.That(sEntMan.HasComponent<CombatModeComponent>(serverEnt));
Assert.That(cEntMan.HasComponent<CombatModeComponent>(clientEnt));
}
catch (AssertionException)
{
Console.WriteLine("Assert Failed.");
}
Assert.That(sEntMan.EntityExists(serverEnt));
Assert.That(cEntMan.EntityExists(clientEnt));
Assert.That(sEntMan.HasComponent<ActionsComponent>(serverEnt));
Assert.That(cEntMan.HasComponent<ActionsComponent>(clientEnt));
Assert.That(sEntMan.HasComponent<CombatModeComponent>(serverEnt));
Assert.That(cEntMan.HasComponent<CombatModeComponent>(clientEnt));
var sComp = sEntMan.GetComponent<ActionsComponent>(serverEnt);
var cComp = cEntMan.GetComponent<ActionsComponent>(clientEnt);

View file

@ -34,8 +34,10 @@ namespace Content.IntegrationTests.Tests.Buckle
- type: Body
prototype: Human
- type: StandingState
# Sunrise-Start
- type: Appearance
- type: DoAfter
# Sunrise-End
- type: entity
name: {StrapDummyId}

View file

@ -38,12 +38,8 @@ namespace Content.IntegrationTests.Tests.Chemistry
foreach (var reactionPrototype in prototypeManager.EnumeratePrototypes<ReactionPrototype>())
{
Console.WriteLine($"\n=== Testing reaction: {reactionPrototype.ID} ===");
Console.WriteLine($"Reactants:");
foreach (var (id, reactant) in reactionPrototype.Reactants)
{
Console.WriteLine($" {id}: {reactant.Amount} (catalyst: {reactant.Catalyst})");
}
//since i have no clue how to isolate each loop assert-wise im just gonna throw this one in for good measure
Console.WriteLine($"Testing {reactionPrototype.ID}");
EntityUid beaker = default;
Entity<SolutionComponent>? solutionEnt = default!;
@ -102,60 +98,23 @@ namespace Content.IntegrationTests.Tests.Chemistry
await server.WaitAssertion(() =>
{
//you just got linq'd fool
//(i'm sorry)
var foundProductsMap = reactionPrototype.Products
.Concat(reactionPrototype.Reactants.Where(x => x.Value.Catalyst).ToDictionary(x => x.Key, x => x.Value.Amount))
.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)
{
Console.WriteLine($" {reagent.Prototype}: {quantity}");
}
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}");
Assert.That(foundProductsMap.TryFirstOrNull(x => x.Key.Key == reagent.Prototype && x.Key.Value == quantity, out var foundProduct));
foundProductsMap[foundProduct.Value.Key] = true;
}
var missingProducts = foundProductsMap.Where(x => !x.Value).ToList();
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}");
Assert.That(foundProductsMap.All(x => x.Value));
});
}
await pair.CleanReturnAsync();
}
}
}

View file

@ -109,11 +109,6 @@ namespace Content.IntegrationTests.Tests
.ToList();
foreach (var protoId in protoIds)
{
// Sunrise-Start
if (protoId == "Envelope")
continue;
// Sunrise-End
entityMan.SpawnEntity(protoId, map.GridCoords);
}
});

View file

@ -47,7 +47,6 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components.Mobs
alertsSystem.ShowAlert(playerUid, "Debug1");
alertsSystem.ShowAlert(playerUid, "Debug2");
alerts = alertsSystem.GetActiveAlerts(playerUid);
Assert.That(alerts, Has.Count.EqualTo(alertCount + 2));
});

View file

@ -34,8 +34,6 @@ public sealed partial class MindTests
{
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));

View file

@ -18,9 +18,11 @@ public sealed class SlippingTest : MovementTest
await SpawnTarget("TrashBananaPeel");
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(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.
Assert.That(Delta(), Is.GreaterThan(0.5f));

View file

@ -45,7 +45,7 @@ namespace Content.IntegrationTests.Tests.Preferences
FlavorText = "The biggest boy around.",
Species = "Human",
Age = 21,
BodyType = "Normal",
BodyType = "Normal", // Sunrise-Edit
Appearance = new(
"Afro",
Color.Aqua,
@ -54,8 +54,8 @@ namespace Content.IntegrationTests.Tests.Preferences
Color.Azure,
Color.Beige,
new (),
1.0f,
1.0f)
1.0f, // Sunrise-Edit
1.0f) // Sunrise-Edit
};
}

View file

@ -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));
});
}
}

View file

@ -71,15 +71,15 @@ public static class ClientPackaging
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" };
// Sunrise-Sponsors-End
// Sunrise-End
await RobustSharedPackaging.WriteContentAssemblies(
inputPass,
contentDir,
"Content.Client",
assemblies, // Sunrise-Sponsors
assemblies, // Sunrise-Edit
cancel: cancel);
await RobustClientPackaging.WriteClientResources(

View file

@ -55,7 +55,7 @@ public static class ServerPackaging
"Npgsql",
"Microsoft",
"NetCord",
"0Harmony",
"0Harmony", // Sunrise-Edit
};
private static readonly List<string> ServerNotExtraAssemblies = new()

View file

@ -479,5 +479,7 @@ public enum LogType
/// </summary>
Instrument = 103,
// Sunrise-Start
Interactions = 104,
// Sunrise-End
}

View file

@ -2,6 +2,10 @@
license: "CC-BY-SA-3.0"
copyright: "Taken from TG station"
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"]
license: "CC-BY-NC-SA-3.0"
copyright: "Made by @MIXnikita#1474 (Discord) for SS14"
@ -24,5 +28,6 @@
source: "https://www.youtube.com/watch?v=jf1sYGYVLsw"
- files: ["changeling_start.ogg"]
license: "CC-BY-SA-3.0"
copyright: "Taken from TG station"
source: "https://github.com/tgstation/tgstation/blob/master/sound/ambience/antag/ling_alert.ogg"
copyright: "Taken from TG station at commit https://github.com/tgstation/tgstation/commit/436ba869ebcd0b60b63973fb7562f447ee655205"
source: "https://github.com/tgstation/tgstation/blob/master/sound/music/antag/ling_alert.ogg"

View file

@ -1,9 +1,9 @@
- files:
- hyperspace_begin.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
source: https://github.com/TauCetiStation/TauCetiClassic/commit/92d2767dbb39f28540f78d5055e7be1eb7acee98
source: https://github.com/tgstation/tgstation/tree/71a79f1f75902d2ccab27cbffb971b12b7ab042d/sound/runtime/hyperspace
- files: [hyperspace_progress.ogg]
copyright: '"hyperspace_progress.ogg" by /tg/station. Modified for looping by metalgearsloth.'

View file

@ -247,12 +247,17 @@
copyright: "Created by mattroks101 for Bee Station. cig_snuff converted to mono"
source: "https://github.com/BeeStation/BeeStation-Hornet/pull/29"
- files: [changeling_shriek.ogg]
copyright: whateverusername0
license: CC-BY-SA-3.0
source: https://github.com/whateverusername0/space-station-14-wizden/blob/ling/Resources/Audio/Effects/changeling_shriek.ogg
- files: [stealthoff.ogg]
copyright: 'TGStation at d4f678a1772007ff8d7eddd21cf7218c8e07bfc0'
license: "CC-BY-SA-3.0"
source: https://github.com/tgstation/tgstation/commit/d4f678a1772007ff8d7eddd21cf7218c8e07bfc0
- files: [beeps.ogg, electrical_short_circuit.ogg, electrical_short_circuit2.ogg, ]
copyright: '"taken from zvukipro.com'
license: "CC-BY-NC-3.0"
source: https://zvukipro.com/predmet/158-zvuk-elektrichestva.html
- files: ["soft_thump.ogg"]
license: "CC-BY-4.0"
copyright: "Clipped by FairlySadPanda (Github) from a sound created by CheChoDj (Freesound)"
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.

View 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"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -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"
copyright: "Endless Space by SolusLunes. Converted from MP3 to OGG."
source: "https://www.newgrounds.com/audio/listen/67583"
@ -20,3 +25,53 @@
license: "CC-BY-NC-SA-3.0"
copyright: "Absconditus by ZhayTee. Converted from MP3 to OGG."
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"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -58,6 +58,11 @@
copyright: "Taken from TG station."
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"]
license: "CC0-1.0"
copyright: "Created by newagesoup, convert to ogg mono by TheShuEd"
@ -108,7 +113,7 @@
copyright: "cmorris035"
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"
copyright: "/tg/station"
source: "https://github.com/tgstation/tgstation/tree/5f5002b21253354c20ea224be3f604d79299b37e/sound/machines"
@ -158,11 +163,6 @@
copyright: "dakamakat on freesound.org"
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:
- twobeep.ogg
- chime.ogg
@ -196,12 +196,6 @@
license: "CC0-1.0"
copyright: "Created by fspera, converted to OGG and modified by chromiumboy."
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:
- airlock_emergencyoff.ogg
- airlock_emergencyon.ogg
@ -220,17 +214,3 @@
license: "CC-BY-3.0"
copyright: "Created by Tomlija, converted to OGG and modified by themias."
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/"

View file

@ -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"]
license: "CC-BY-3.0"
copyright: "Created by qwertyquerty"

View file

@ -33,7 +33,7 @@
copyright: "Taken from vgstation"
source: "https://github.com/vgstation-coders/vgstation13/commit/23303188abe6fe31b114a218a1950d7325a23730"
- files: ["shotgun.ogg"]
- files: ["estocshot.ogg"]
license: "CC-BY-SA-3.0"
copyright: "Taken from tgstation"
source: "https://github.com/tgstation/tgstation/blob/5736656139713c802033b9457a2a9d058211bd85/sound/weapons/gun/shotgun/shot.ogg"
copyright: "machinegun-one-shot.wav by DeltaCode. Converted to .OGG and MONO by august-sun"
source: "https://freesound.org/people/DeltaCode/sounds/668347/"

Binary file not shown.

View file

@ -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

View file

@ -2379,7 +2379,7 @@ entities:
- type: Transform
pos: -0.17729092,2.357732
parent: 1
- proto: GrenadeFragTimer
- proto: GrenadeFrag
entities:
- uid: 58
components:

Some files were not shown because too many files have changed in this diff Show more