Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream Merge 2024-09-08 #178

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
7736089
Update Credits (#837)
github-actions[bot] Sep 1, 2024
39d8dad
Disable Mood In Debug (#806)
VMSolidus Sep 1, 2024
1a1392c
Diagonal Window Smoothing (#805)
VMSolidus Sep 1, 2024
154a433
Automatic Changelog Update (#805)
SimpleStation14 Sep 1, 2024
90bc04c
Maximize Default Description Limits (#788)
VMSolidus Sep 1, 2024
bb2543d
Automatic Changelog Update (#788)
SimpleStation14 Sep 1, 2024
8b79a9c
Reduce Default PowerAttack Stamina Cost (#840)
VMSolidus Sep 1, 2024
fe1567b
Automatic Changelog Update (#840)
SimpleStation14 Sep 1, 2024
6d0780d
Bot for Changelog (#833)
Evgencheg Sep 1, 2024
b779a9d
Automatic Changelog Update (#833)
SimpleStation14 Sep 1, 2024
bbd616d
Update actions_changelogs_since_last_run.py (#841)
DEATHB4DEFEAT Sep 1, 2024
b53ef76
Added Jukebox (#26736) (#802)
DJB1gYAPPA Sep 2, 2024
5530834
Automatic Changelog Update (#802)
SimpleStation14 Sep 2, 2024
1dc993b
Psionic Extraplanar Creatures (#829)
VMSolidus Sep 2, 2024
52b2e3f
Automatic Changelog Update (#829)
SimpleStation14 Sep 2, 2024
071389e
Cloning Refactor (#735)
VMSolidus Sep 2, 2024
ade6f99
Automatic Changelog Update (#735)
SimpleStation14 Sep 2, 2024
7085fc9
Delete All Then Ghost Fault Tolerance (#787)
VMSolidus Sep 2, 2024
7c83878
Update Issue Templates (#797)
stellar-novas Sep 2, 2024
97ac8c5
Add PR URL to Changelogs and Make Author a Header (#843)
DEATHB4DEFEAT Sep 2, 2024
024b77e
Automatic Changelog Update (#843)
SimpleStation14 Sep 2, 2024
a996f3a
Update actions_changelogs_since_last_run.py (#846)
DEATHB4DEFEAT Sep 2, 2024
ed8a00a
Automatic Changelog Update (#846)
SimpleStation14 Sep 2, 2024
b2fc8b3
Psychognomy (#808)
Elijahrane Sep 3, 2024
a120917
Automatic Changelog Update (#808)
SimpleStation14 Sep 3, 2024
fe41b53
Fix Prize Balls' Pet Rock (#831)
ShatteredSwords Sep 3, 2024
13aea27
Remove Irrelevant/Test Changelogs (#847)
DEATHB4DEFEAT Sep 4, 2024
de613aa
More/Better Tips (#844)
VMSolidus Sep 5, 2024
7a8f07c
Automatic Changelog Update (#844)
SimpleStation14 Sep 5, 2024
42dfeec
Fix some Things with Interaction Verbs (#854)
Mnemotechnician Sep 5, 2024
4a7ae20
Automatic Changelog Update (#854)
SimpleStation14 Sep 5, 2024
199adc4
Fix Colored Jumpskirts Actually Being Skirts (#848)
VMSolidus Sep 5, 2024
442f2ea
Automatic Changelog Update (#848)
SimpleStation14 Sep 5, 2024
e553e68
Merge remote-tracking branch 'refs/remotes/real-ee/master' into feat/…
Mnemotechnician Sep 5, 2024
391cb06
Revert "Bot for Changelog (#833)"
Mnemotechnician Sep 6, 2024
c0ee9d7
Revert "Update actions_changelogs_since_last_run.py (#841)"
Mnemotechnician Sep 6, 2024
b01674a
Undo whatever this is manually
Mnemotechnician Sep 6, 2024
e8b5089
Ports Trait Rebalance From Floof (#842)
ShatteredSwords Sep 6, 2024
835c890
Automatic Changelog Update (#842)
SimpleStation14 Sep 6, 2024
0f04868
Roboticist (#801)
Mnemotechnician Sep 6, 2024
1d7fe82
Automatic Changelog Update (#801)
SimpleStation14 Sep 6, 2024
fa1d3d3
Loadouts V3 (#736)
DEATHB4DEFEAT Sep 6, 2024
93fe77e
Automatic Changelog Update (#736)
SimpleStation14 Sep 6, 2024
73764c2
Fix For Discord Changelog (#869)
Evgencheg Sep 7, 2024
9cce9dd
Civilian Uniform Loadout Group (#872)
VMSolidus Sep 7, 2024
a53a0d7
Shoes Loadout Group (#873)
VMSolidus Sep 7, 2024
d13ccd6
Hat Loadout Group (#876)
VMSolidus Sep 7, 2024
77a631a
Outerclothes Loadout Group (#877)
VMSolidus Sep 7, 2024
f701632
Gloves Loadout Group (#878)
VMSolidus Sep 7, 2024
e985cb6
Miscellaneous Item Groups (#880)
VMSolidus Sep 7, 2024
2bb6ada
Neck Loadout Group (#874)
VMSolidus Sep 7, 2024
07f8112
Automatic Changelog Update (#872)
SimpleStation14 Sep 7, 2024
f52c5be
Automatic Changelog Update (#874)
SimpleStation14 Sep 7, 2024
4b08928
Eyewear Loadout Group (#879)
VMSolidus Sep 7, 2024
0d3c636
Masks Loadout Group (#875)
VMSolidus Sep 7, 2024
6ecc1f8
Automatic Changelog Update (#879)
SimpleStation14 Sep 7, 2024
5fd26be
Automatic Changelog Update (#875)
SimpleStation14 Sep 7, 2024
93e3ba6
Update discord-changelog.yml (#881)
DEATHB4DEFEAT Sep 7, 2024
ee3274b
[Feature] Shortcut Construction System (#861)
Remuchi Sep 7, 2024
9aa0038
Automatic Changelog Update (#861)
SimpleStation14 Sep 7, 2024
266aef8
Update gloves.yml (#860)
Evgencheg Sep 7, 2024
bc17a0d
Update Credits (#887)
github-actions[bot] Sep 8, 2024
0ab7da1
Default TOML File (#818)
VMSolidus Sep 8, 2024
bb9e777
Merge remote-tracking branch 'refs/remotes/real-ee/master' into feat/…
Mnemotechnician Sep 8, 2024
9dd569d
Make Height Sliders Affect Your Bloodstream Volume (#858)
Mnemotechnician Sep 8, 2024
5c48a1e
Disable Quick Swap for Item Slots by Default (#856)
Mnemotechnician Sep 8, 2024
1580c4e
Automatic Changelog Update (#858)
SimpleStation14 Sep 8, 2024
d7b6c82
Fixed some Comment Syntax (#851)
SleepyScarecrow Sep 8, 2024
da02682
Add New Nuke Music (#850)
BasedUser Sep 8, 2024
d3eeaba
Change Slime Scream (#849)
BasedUser Sep 8, 2024
a5ee726
Automatic Changelog Update (#856)
SimpleStation14 Sep 8, 2024
50f3f79
Make Hugging/Petting Interactions Affect Mood (#823)
Mnemotechnician Sep 8, 2024
23f1b4e
Display Language Fonts/Colors in Chat Bubbles (#812)
Mnemotechnician Sep 8, 2024
4ba3984
Automatic Changelog Update (#849)
SimpleStation14 Sep 8, 2024
e14b140
Oscillating Event Scheduler (#796)
Mnemotechnician Sep 8, 2024
8f0d160
TraitSystem Component Removals (Anomalous Positronics Trait) (#885)
VMSolidus Sep 8, 2024
08be023
Cherry-Pick "Shrimp Mob for Metempsychosis (#862)" (#882)
Mnemotechnician Sep 8, 2024
b6914bc
Merge remote-tracking branch 'refs/remotes/real-ee/master' into feat/…
Mnemotechnician Sep 8, 2024
a33f392
Automatic Changelog Update (#812)
SimpleStation14 Sep 8, 2024
be2907f
Automatic Changelog Update (#882)
SimpleStation14 Sep 8, 2024
0442fa3
Fix Translators Not Working Correctly Under Certain Conditions (#834)
Mnemotechnician Sep 8, 2024
32b0166
Automatic Changelog Update (#834)
SimpleStation14 Sep 8, 2024
7a592e9
Re-Enable Recycler Gibbing (#822)
VMSolidus Sep 8, 2024
7fc3c07
Adds a Toy Which Makes Bwoink Sound (#759)
BlueHNT Sep 8, 2024
7d0cbc6
Automatic Changelog Update (#822)
SimpleStation14 Sep 8, 2024
272ae47
AddPsionicPower Command (#807)
VMSolidus Sep 8, 2024
7235684
Automatic Changelog Update (#759)
SimpleStation14 Sep 8, 2024
01c94a1
Automatic Changelog Update (#807)
SimpleStation14 Sep 8, 2024
0d24eef
Fix all floof job-sepcific loadouts
Mnemotechnician Sep 8, 2024
e4686d0
Merge remote-tracking branch 'refs/remotes/real-ee/master' into feat/…
Mnemotechnician Sep 8, 2024
51506c3
Merge remote-tracking branch 'refs/remotes/real-ee/master' into feat/…
Mnemotechnician Sep 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .github/ISSUE_TEMPLATE/config.yml

This file was deleted.

6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: Request a Feature
about: "Template for noting future planned features. Please ask for approval in the Discord if you aren't an organization Member before posting a feature request"
name: Request a feature
about: "Please outline your request in Discord first if you aren't a maintainer."
title: ''
labels: ''
labels: ["Type: Feature"]
assignees: ''

---
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/issue_report.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: Report an Issue
about: "Any general issues you have during play or with the codebase"
name: Report an issue
about: "Any issues found in gameplay or the codebase"
title: ''
labels: ''
labels: 'Type: Bug'
assignees: ''

---
Expand Down
65 changes: 32 additions & 33 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,41 +16,40 @@ jobs:
permissions:
contents: write
steps:
- name: Checkout Master
uses: actions/checkout@v3
with:
token: ${{ secrets.BOT_TOKEN }}
ref: "${{ vars.CHANGELOG_BRANCH }}"
- name: Checkout Master
uses: actions/checkout@v3
with:
token: ${{ secrets.BOT_TOKEN }}
ref: ${{ vars.CHANGELOG_BRANCH }}

- name: Setup Git
run: |
git config --global user.name "${{ vars.CHANGELOG_USER }}"
git config --global user.email "${{ vars.CHANGELOG_EMAIL }}"
shell: bash
- name: Setup Git
run: |
git config --global user.name "${{ vars.CHANGELOG_USER }}"
git config --global user.email "${{ vars.CHANGELOG_EMAIL }}"
shell: bash

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18.x

- name: Install Dependencies
run: |
cd "Tools/changelogs"
npm install
shell: bash
continue-on-error: true
- name: Install Dependencies
run: |
cd "Tools/changelogs"
npm install
shell: bash

- name: Generate Changelog
run: |
cd "Tools/changelogs"
node changelog.js
shell: bash
continue-on-error: true
- name: Generate Changelog
run: |
cd "Tools/changelogs"
node changelog.js
shell: bash

- name: Commit Changelog
run: |
git add *.yml
git commit -m "${{ vars.CHANGELOG_MESSAGE }} (#${{ env.PR_NUMBER }})"
git push
shell: bash
continue-on-error: true
- name: Commit Changelog
run: |
git pull origin master
git add *.yml
git commit -m "${{ vars.CHANGELOG_MESSAGE }} (#${{ env.PR_NUMBER }})"
git push
shell: bash
continue-on-error: true
24 changes: 24 additions & 0 deletions .github/workflows/discord-changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Discord Changelog

on:
workflow_dispatch:
schedule:
- cron: '0 6 * * *'

jobs:
publish_changelog:
runs-on: ubuntu-latest
steps:

- name: checkout
uses: actions/checkout@v3
with:
ref: master

- name: Publish changelog
run: Tools/actions_changelogs_since_last_run.py
env:
CHANGELOG_DIR: ${{ vars.CHANGELOG_DIR }}
CHANGELOG_WEBHOOK: ${{ secrets.CHANGELOG_WEBHOOK }}
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
continue-on-error: true
2 changes: 1 addition & 1 deletion Content.Client/Administration/UI/AdminUIHelpers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public static bool TryConfirm(Button button, Dictionary<Button, ConfirmationData
button.Text = data.OriginalText;
}, data.Cancellation.Token);

button.ModulateSelfOverride = StyleNano.ButtonColorCautionDefault;
button.ModulateSelfOverride = StyleNano.ButtonColorDangerDefault;
button.Text = Loc.GetString("admin-player-actions-confirm");
return false;
}
Expand Down
119 changes: 119 additions & 0 deletions Content.Client/Audio/Jukebox/JukeboxBoundUserInterface.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
using Content.Shared.Audio.Jukebox;
using Robust.Client.Audio;
using Robust.Client.Player;
using Robust.Shared.Audio.Components;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;

namespace Content.Client.Audio.Jukebox;

public sealed class JukeboxBoundUserInterface : BoundUserInterface
{
[Dependency] private readonly IPlayerManager _player = default!;
[Dependency] private readonly IPrototypeManager _protoManager = default!;

[ViewVariables]
private JukeboxMenu? _menu;

public JukeboxBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
IoCManager.InjectDependencies(this);
}

protected override void Open()
{
base.Open();

_menu = new JukeboxMenu();
_menu.OnClose += Close;
_menu.OpenCentered();

_menu.OnPlayPressed += args =>
{
if (args)
{
SendMessage(new JukeboxPlayingMessage());
}
else
{
SendMessage(new JukeboxPauseMessage());
}
};

_menu.OnStopPressed += () =>
{
SendMessage(new JukeboxStopMessage());
};

_menu.OnSongSelected += SelectSong;

_menu.SetTime += SetTime;
PopulateMusic();
Reload();
}

/// <summary>
/// Reloads the attached menu if it exists.
/// </summary>
public void Reload()
{
if (_menu == null || !EntMan.TryGetComponent(Owner, out JukeboxComponent? jukebox))
return;

_menu.SetAudioStream(jukebox.AudioStream);

if (_protoManager.TryIndex(jukebox.SelectedSongId, out var songProto))
{
var length = EntMan.System<AudioSystem>().GetAudioLength(songProto.Path.Path.ToString());
_menu.SetSelectedSong(songProto.Name, (float) length.TotalSeconds);
}
else
{
_menu.SetSelectedSong(string.Empty, 0f);
}
}

public void PopulateMusic()
{
_menu?.Populate(_protoManager.EnumeratePrototypes<JukeboxPrototype>());
}

public void SelectSong(ProtoId<JukeboxPrototype> songid)
{
SendMessage(new JukeboxSelectedMessage(songid));
}

public void SetTime(float time)
{
var sentTime = time;

// You may be wondering, what the fuck is this
// Well we want to be able to predict the playback slider change, of which there are many ways to do it
// We can't just use SendPredictedMessage because it will reset every tick and audio updates every frame
// so it will go BRRRRT
// Using ping gets us close enough that it SHOULD, MOST OF THE TIME, fall within the 0.1 second tolerance
// that's still on engine so our playback position never gets corrected.
if (EntMan.TryGetComponent(Owner, out JukeboxComponent? jukebox) &&
EntMan.TryGetComponent(jukebox.AudioStream, out AudioComponent? audioComp))
{
audioComp.PlaybackPosition = time;
}

SendMessage(new JukeboxSetTimeMessage(sentTime));
}

protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (!disposing)
return;

if (_menu == null)
return;

_menu.OnClose -= Close;
_menu.Dispose();
_menu = null;
}
}

18 changes: 18 additions & 0 deletions Content.Client/Audio/Jukebox/JukeboxMenu.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<ui:FancyWindow xmlns="https://spacestation14.io" xmlns:ui="clr-namespace:Content.Client.UserInterface.Controls"
SetSize="400 500" Title="{Loc 'jukebox-menu-title'}">
<BoxContainer Margin="4 0" Orientation="Vertical">
<ItemList Name="MusicList" SelectMode="Button" Margin="3 3 3 3"
HorizontalExpand="True" VerticalExpand="True" SizeFlagsStretchRatio="8"/>
<BoxContainer Orientation="Vertical">
<Label Name="SongSelected" Text="{Loc 'jukebox-menu-selectedsong'}" />
<Label Name="SongName" Text="---" />
<Slider Name="PlaybackSlider" HorizontalExpand="True" />
</BoxContainer>
<BoxContainer Orientation="Horizontal" HorizontalExpand="True"
VerticalExpand="False" SizeFlagsStretchRatio="1">
<Button Name="PlayButton" Text="{Loc 'jukebox-menu-buttonplay'}" />
<Button Name="StopButton" Text="{Loc 'jukebox-menu-buttonstop'}" />
<Label Name="DurationLabel" Text="00:00 / 00:00" HorizontalAlignment="Right" HorizontalExpand="True"/>
</BoxContainer>
</BoxContainer>
</ui:FancyWindow>
Loading
Loading