Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
7761d9b
bring back valentines (#4083)
hivehum Feb 12, 2026
c4d0f53
Automatic changelog update
ImpstationBot Feb 12, 2026
00391e3
big boys have tried big boy solutions. let a yaml warrior take a crac…
yesteryuri Feb 14, 2026
7cb6d9e
ty april (#4140)
mqole Feb 17, 2026
7bd2fe3
these tests are really... heh... testing my patience (#4144)
mqole Feb 17, 2026
ad34f67
NEW Wizard spells (#3606)
starlighthowls Feb 17, 2026
fb1186b
Automatic changelog update
ImpstationBot Feb 17, 2026
39a688f
make eating and drinking doafters not repeat (#3981)
msTheowo Feb 17, 2026
84059ce
Seclink Refactor (#4020)
mqole Feb 17, 2026
84ee1c8
Revolutionaries - Automatic Enemy Communication Intercepted Blue Aler…
yesteryuri Feb 17, 2026
9b9b5ab
Automatic changelog update
ImpstationBot Feb 17, 2026
88527b4
add bolted prying to the changeling armblade (#4095)
lobsterpaw Feb 17, 2026
5515f4c
disable auto mode (#4104)
DinnerCalzone Feb 17, 2026
ca1d20c
vrex spawn and move speed tweaks (buffs?) (#4120)
lobsterpaw Feb 17, 2026
6946d8d
lollipops as weapons (#4124)
lobsterpaw Feb 17, 2026
274c0f1
homo status (#4134)
DinnerCalzone Feb 17, 2026
ef89116
UNGU CAN EAT MORE STUFF NOW (#4143)
youtubevideo3 Feb 17, 2026
e7ebd39
Automatic changelog update
ImpstationBot Feb 17, 2026
c22dbfb
Attribute Gray audio (#4138)
DinnerCalzone Feb 18, 2026
fc47eb2
Fixing the Moth displacements on the Nouveau Jumpsuit/skirt (#4123)
FlapWrap Feb 18, 2026
5855035
medglasses for moths and arachnids (#4125)
meatsmall Feb 18, 2026
d6e9ce7
Automatic changelog update
ImpstationBot Feb 18, 2026
0cc58d9
make uplink discounts not apply to unbuyable items & uplink listings …
msTheowo Feb 18, 2026
01f9564
Automatic changelog update
ImpstationBot Feb 18, 2026
bafa114
Revert "ty april (#4140)" (#4149)
mqole Feb 19, 2026
15d0833
Killer tomato changes and new botanist uplink item (#4050)
starlighthowls Feb 22, 2026
492ea48
Automatic changelog update
ImpstationBot Feb 22, 2026
8d4493a
Hushpup Glow-Up (#4059)
DVDPlayerOfDiscordFame Feb 22, 2026
9e9a992
Automatic changelog update
ImpstationBot Feb 22, 2026
9fab5fc
change parent (#4106)
eviltori Feb 22, 2026
c56e583
Automatic changelog update
ImpstationBot Feb 22, 2026
f583ea2
Intercom (#4110)
FancyPlanks Feb 22, 2026
45bbfea
Automatic changelog update
ImpstationBot Feb 22, 2026
94c63ee
Snail -> Gastropoid (#4112)
ATDoop Feb 22, 2026
0427662
Give dragons, Pipi, and Dolby the ability to stamp. Also hamlet is a …
ATDoop Feb 22, 2026
8030570
Automatic changelog update
ImpstationBot Feb 22, 2026
2623f48
change draw depth of pressure regulator (#4153)
CombustibleToast Feb 22, 2026
2b67b35
Automatic changelog update
ImpstationBot Feb 22, 2026
0eacef8
fix this stupid test fail (#4157)
hivehum Feb 24, 2026
f19f0a2
Automatic changelog update
ImpstationBot Feb 24, 2026
b21866c
two floats chopped in half (#4155)
Moodotsuki Feb 24, 2026
74ea4eb
Automatic changelog update
ImpstationBot Feb 24, 2026
150b34f
New midround ghost role: Exploding Butler (#3992)
yesteryuri Feb 24, 2026
8d2266d
Automatic changelog update
ImpstationBot Feb 24, 2026
33fe211
fix many longstanding problems with gray displacements (#4167)
widgetbeck Feb 24, 2026
a4d4806
Automatic changelog update
ImpstationBot Feb 24, 2026
ae81650
Ports/Cherrypicks Conspirators from Harmony (#4003)
Simul-ad-Astra Feb 24, 2026
564c025
Automatic changelog update
ImpstationBot Feb 24, 2026
755e3f3
add optional MIT relicense checkbox, clarify contributor name syntax
mqole Feb 24, 2026
6d57751
missed a fucking hyphen.
mqole Feb 24, 2026
b796d33
strange pills sprite fix (#4170)
msTheowo Feb 24, 2026
055dc1d
Automatic changelog update
ImpstationBot Feb 24, 2026
97457e7
Atmos Flightsuit (#4082)
CombustibleToast Feb 24, 2026
563dd30
Automatic changelog update
ImpstationBot Feb 24, 2026
32347a3
Miscellaneous bounty fixes and tweaks (#4132)
ultramario1998 Feb 24, 2026
8c9f325
Automatic changelog update
ImpstationBot Feb 24, 2026
9c5fcda
Cardboard entity unification, cardboard structure delta pressure dama…
DinnerCalzone Feb 24, 2026
9eae3e5
Automatic changelog update
ImpstationBot Feb 24, 2026
caf0248
Loud bounty hunter kit nerfs (#4162)
TuttlePants Feb 24, 2026
4ce8601
Automatic changelog update
ImpstationBot Feb 24, 2026
6b55dfb
Xenoarchaeology - Allow sibling nodes to count toward time add (#4133)
TheGrimbeeper Feb 24, 2026
a43df92
Automatic changelog update
ImpstationBot Feb 24, 2026
0b3ba20
mood refactor: strange moods, thaven decoupling (#3401)
Darkmajia Feb 24, 2026
271b0e7
Raycasted Audio with Reverb [Refactored Goob/Monolith Port] (#3632)
Jellvisk Feb 24, 2026
1e0f5cc
Logprobing nanochat now respects PDAs holding cards (#3913)
mqole Feb 24, 2026
de0f89e
Automatic changelog update
ImpstationBot Feb 24, 2026
99d8cb6
remove the appraisal module from salvage borgs (#4119)
lobsterpaw Feb 24, 2026
6a4b36b
Automatic changelog update
ImpstationBot Feb 24, 2026
a596f93
Hungry Trait + adds excluded species to soft hands with allu (#4062)
yesteryuri Feb 24, 2026
46ae51b
Automatic changelog update
ImpstationBot Feb 24, 2026
4390086
Yet Another HoS Uniform Option! (#4026)
youtubevideo3 Feb 24, 2026
18a108c
Automatic changelog update
ImpstationBot Feb 24, 2026
7249cbb
Sirval Names (#4117)
ATDoop Feb 24, 2026
d03632f
Automatic changelog update
ImpstationBot Feb 24, 2026
4c92311
port diner chef outfits from den + add heels to chef's loadout (#4007)
msTheowo Feb 24, 2026
daeee04
Automatic changelog update
ImpstationBot Feb 24, 2026
2b008b4
atmos flightsuit hotfix (#4179)
msTheowo Feb 24, 2026
2a7dafe
Automatic changelog update
ImpstationBot Feb 24, 2026
f08c4b2
no butlers (#4184)
yesteryuri Feb 27, 2026
7a99697
Automatic changelog update
ImpstationBot Feb 27, 2026
f509e60
PSA: The PSA is better now (#4176)
DVDPlayerOfDiscordFame Feb 27, 2026
c96dc19
Automatic changelog update
ImpstationBot Feb 27, 2026
ebee9be
heretic flavor overhaul 2 (#4154)
Kandiyaki Feb 27, 2026
0fab14d
Automatic changelog update
ImpstationBot Feb 27, 2026
0b94196
Wizard fixes (#4165)
starlighthowls Feb 27, 2026
391c844
Automatic changelog update
ImpstationBot Feb 27, 2026
86e83b6
rarer claymores in maintenance loot (#4169)
lobsterpaw Feb 27, 2026
13e494e
Automatic changelog update
ImpstationBot Feb 27, 2026
48cec71
Gondal Shortening Surgery (#4174)
youtubevideo3 Feb 27, 2026
4aec83d
Automatic changelog update
ImpstationBot Feb 27, 2026
da96bf1
Minor Drozd Changes (#4175)
DVDPlayerOfDiscordFame Feb 27, 2026
34f96f7
Automatic changelog update
ImpstationBot Feb 27, 2026
fb05ce8
Add "emag" to the uplink description of the emag (#4136)
CombustibleToast Feb 27, 2026
3939a37
Automatic changelog update
ImpstationBot Feb 27, 2026
a43da68
fix decapoid loadouts (#4145)
eviltori Feb 28, 2026
a4d6ac4
Automatic changelog update
ImpstationBot Feb 28, 2026
a612efd
water bottle fix (#4147)
DinnerCalzone Mar 2, 2026
f1b1433
Automatic changelog update
ImpstationBot Mar 2, 2026
7762f4d
Fixxed typo in milbrat_replacements.yml (#4194)
tstormn3tw0rk Mar 2, 2026
a8ba080
fix the gray displacements i fucked up (#4197)
widgetbeck Mar 3, 2026
86ef347
Automatic changelog update
ImpstationBot Mar 3, 2026
7c8c359
Return roundstart service worker (#3332)
Pinkbat5 Mar 4, 2026
a10c955
Automatic changelog update
ImpstationBot Mar 4, 2026
26e7cbe
Mix A Bunch Of Heretic Sounds To Mono (#4199)
salamanderskies Mar 7, 2026
24f184b
Automatic changelog update
ImpstationBot Mar 7, 2026
f7dd7b8
white ball banishment (#4198)
salamanderskies Mar 7, 2026
56b8976
Automatic changelog update
ImpstationBot Mar 7, 2026
2987663
maintenance update: Gate, Submarine, Eclipse (#4063)
meridiadottxt Mar 8, 2026
a4757cc
Echion Upkeep, again. (#3782)
DVDPlayerOfDiscordFame Mar 8, 2026
644acb7
Automatic changelog update
ImpstationBot Mar 8, 2026
803cc49
Lawvend and new lawsets! (#4008)
starlighthowls Mar 8, 2026
0b87405
Automatic changelog update
ImpstationBot Mar 8, 2026
768e0dd
Department EVA Suits! (also the Salvage Secure Crate) (#4042)
ThatKidConnor Mar 8, 2026
9503388
Decapoid Species Update: Clamp intrinsic damage modifiers, buff claw …
DinnerCalzone Mar 8, 2026
8fbec3a
Automatic changelog update
ImpstationBot Mar 8, 2026
ac3647f
Fix borgs being unable to hold capacitors (#4103)
jkwookee Mar 8, 2026
1dd1040
Automatic changelog update
ImpstationBot Mar 8, 2026
04f0745
adds eclipse to relevant tests (#4211)
hivehum Mar 8, 2026
e2807c8
Printable N2 kits (empty) + N2 kits spawn in emergency lockers (#4109)
FlapWrap Mar 8, 2026
f2ef814
Fan's Misc Resprites #1 (#4111)
FancyPlanks Mar 8, 2026
2b7cac3
Automatic changelog update
ImpstationBot Mar 8, 2026
e01a357
admemespraypainter (#4121)
jkwookee Mar 8, 2026
a5beee9
Automatic changelog update
ImpstationBot Mar 8, 2026
d02cdf0
goonstation stamps (#4128)
msTheowo Mar 8, 2026
3ffa658
Automatic changelog update
ImpstationBot Mar 8, 2026
a74a93a
Ungu Sprite Tweaks (#4161)
youtubevideo3 Mar 8, 2026
e5f636c
Automatic changelog update
ImpstationBot Mar 8, 2026
99eabfe
maybe fix weird anomalocarid kidney test fail (#4182)
ATDoop Mar 8, 2026
9cf374c
Add a new round end sound (first contact) (#4191)
DinnerCalzone Mar 8, 2026
a530f11
fix those threes errors (#4192)
msTheowo Mar 8, 2026
efc14dd
Automatic changelog update
ImpstationBot Mar 8, 2026
e87246f
Commit Change (#4206)
soup4food Mar 8, 2026
3e3390a
Automatic changelog update
ImpstationBot Mar 8, 2026
b00d4f5
remove service headset from lawdrobe (#4105)
eviltori Mar 9, 2026
128c940
Automatic changelog update
ImpstationBot Mar 9, 2026
349f6b4
made giant spiders more enemy (#4113)
eviltori Mar 9, 2026
c7f58d6
Automatic changelog update
ImpstationBot Mar 9, 2026
4bc7eb5
wizard wreck namespace + add to magnet pool (#4135)
lobsterpaw Mar 9, 2026
1a5886c
change default postmortem instructions (#4158)
eviltori Mar 9, 2026
d57e227
Automatic changelog update
ImpstationBot Mar 9, 2026
e260da5
Harmony Nurse Sprite Uniform Sprite Port Uniform Nurse From Sprite Ha…
youtubevideo3 Mar 9, 2026
0514ec2
shorten artifact ghost role timer (#4181)
ATDoop Mar 9, 2026
1ddd8ec
Automatic changelog update
ImpstationBot Mar 9, 2026
c9d2f85
Automatic changelog update
ImpstationBot Mar 9, 2026
b333b6b
shipyard Reach shuttle updates (#4043)
meatsmall Mar 9, 2026
9581132
Automatic changelog update
ImpstationBot Mar 9, 2026
33c1e94
Storage component on ClothingBackpackSatchelSyndicate (#4156)
Moodotsuki Mar 9, 2026
4d7d29a
Automatic changelog update
ImpstationBot Mar 9, 2026
d998f3a
Boar and Banana Deer Accents Yay! (#4185)
Squamatic Mar 9, 2026
8af5a7b
Automatic changelog update
ImpstationBot Mar 9, 2026
1fd3685
remove valentines (#4213)
hivehum Mar 9, 2026
9ffa506
Automatic changelog update
ImpstationBot Mar 9, 2026
bf7add6
Thaven idle typing indicator (#4200)
CombustibleToast Mar 9, 2026
ed8d44c
Automatic changelog update
ImpstationBot Mar 9, 2026
eaf4390
color adjustments to main tiles (#4205)
mousesweater Mar 9, 2026
1e3cafc
Automatic changelog update
ImpstationBot Mar 9, 2026
80933b2
assorted oasis update (#4204)
lobsterpaw Mar 9, 2026
2a68817
Automatic changelog update
ImpstationBot Mar 9, 2026
a843fa8
February Updates to Cluster and Union, Lawvends (#4163)
Squamatic Mar 9, 2026
c35ef11
tone down/remove a couple anomalocarid reactions to chemicals (#4190)
ATDoop Mar 9, 2026
992a0ab
Reptilian States for Imp-Specific Hardsuits (#4209)
Squamatic Mar 9, 2026
8e15428
Automatic changelog update
ImpstationBot Mar 9, 2026
db76a18
The Xenoborg Fashion Show (#4203)
DVDPlayerOfDiscordFame Mar 9, 2026
678f2d3
Automatic changelog update
ImpstationBot Mar 9, 2026
237a5b4
Commit That Removes The Slur (#4219)
youtubevideo3 Mar 10, 2026
e2cc600
Automatic changelog update
ImpstationBot Mar 10, 2026
1097313
service worker and lawvend (#4218)
DinnerCalzone Mar 10, 2026
1af8b6c
Automatic changelog update
ImpstationBot Mar 10, 2026
a2f5527
more saturated black on the syndicate palette (#4131)
msTheowo Mar 12, 2026
715ec9e
Automatic changelog update
ImpstationBot Mar 12, 2026
1ba8a45
Merge remote-tracking branch 'imp-station/master' into imp-catch-up-0…
Sage-Jones Mar 13, 2026
fe20c0a
Revert "service worker and lawvend (#4218)"
Sage-Jones Mar 13, 2026
34cc4b1
Revert "February Updates to Cluster and Union, Lawvends (#4163)"
Sage-Jones Mar 13, 2026
7003da6
Revert "assorted oasis update (#4204)"
Sage-Jones Mar 13, 2026
e7f48ae
Revert "color adjustments to main tiles (#4205)"
Sage-Jones Mar 13, 2026
ab17ae9
Revert "Harmony Nurse Sprite Uniform Sprite Port Uniform Nurse From S…
Sage-Jones Mar 13, 2026
7eab6cc
Revert "adds eclipse to relevant tests (#4211)"
Sage-Jones Mar 13, 2026
62f6b46
Revert "Decapoid Species Update: Clamp intrinsic damage modifiers, bu…
Sage-Jones Mar 13, 2026
00a759d
Revert "Department EVA Suits! (also the Salvage Secure Crate) (#4042)"
Sage-Jones Mar 13, 2026
247d5f8
Revert "Lawvend and new lawsets! (#4008)"
Sage-Jones Mar 13, 2026
78ff1a4
Revert "maintenance update: Gate, Submarine, Eclipse (#4063)"
Sage-Jones Mar 13, 2026
3733e7a
Revert "Return roundstart service worker (#3332)"
Sage-Jones Mar 13, 2026
a23ae31
Revert "Gondal Shortening Surgery (#4174)"
Sage-Jones Mar 13, 2026
5c8fc13
remove chef heels
Sage-Jones Mar 13, 2026
ceb085a
Revert "Yet Another HoS Uniform Option! (#4026)"
Sage-Jones Mar 13, 2026
33e7c01
Revert "remove the appraisal module from salvage borgs (#4119)"
Sage-Jones Mar 13, 2026
d460e51
Revert "Loud bounty hunter kit nerfs (#4162)"
Sage-Jones Mar 13, 2026
fd29b8e
Revert "New midround ghost role: Exploding Butler (#3992)"
Sage-Jones Mar 13, 2026
188bfae
Revert "Give dragons, Pipi, and Dolby the ability to stamp. Also haml…
Sage-Jones Mar 13, 2026
c5ef101
Revert "Intercom (#4110)"
Sage-Jones Mar 13, 2026
82a3e9e
Revert "add bolted prying to the changeling armblade (#4095)"
Sage-Jones Mar 13, 2026
1cbd21c
Remove Codex Horae
Sage-Jones Mar 13, 2026
1cc5005
killing wizspores until we redo bros
Sage-Jones Mar 13, 2026
9156acd
Testing some test changes
Sage-Jones Mar 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 8 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,17 @@
- [ ] I have added media to this PR or it does not require an in-game showcase.
<!-- You should understand that not following the above may get your PR closed at maintainer’s discretion -->

## Licensing
<!-- THIS IS OPTIONAL. Impstation is licensed under AGPLv3 by default. Check this box if you wish to allow other users to relicense your work to MIT. -->
- [ ] I give permission for any changes to the repository made in this PR to be relicensed under MIT.
<!-- THIS IS OPTIONAL. -->

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay.
Make sure to read the guidelines and take this Changelog template out of the comment block in order for it to show up.
Changelog must have a :cl: symbol, so the bot recognizes the changes and adds them to the game's changelog. -->
Changelog must have a :cl: symbol, so the bot recognizes the changes and adds them to the game's changelog.
The name that appears on the changelog will be your GitHub usernabe by default. If you wish for a different name to appear, format the symbol like so:
:cl: My Name -->
<!--
:cl:
- add: Added fun!
Expand Down
2 changes: 2 additions & 0 deletions Content.Client/Administration/UI/Tabs/AdminTab/AdminTab.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
<cc:CommandButton Command="achatwindow" Text="{Loc admin-player-actions-window-admin-chat}"/>
<!-- CD: records purge button -->
<cc:UICommandButton Command="purgecharacterrecords" Text="{Loc admin-player-actions-window-cd-record-purge}" WindowType="{x:Type cdAdmin:ModifyCharacterRecords}"/>
<!-- IMP: Shared moods -->
<cc:CommandButton Command="sharedmoods" Text="{Loc admin-player-actions-window-shared-moods}"/>
</GridContainer>
</BoxContainer>
</Control>
3 changes: 1 addition & 2 deletions Content.Client/Options/UI/OptionsMenu.xaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
<DefaultWindow xmlns="https://spacestation14.io"
xmlns:tabs="clr-namespace:Content.Client.Options.UI.Tabs"
xmlns:dtabs="clr-namespace:Content.Client._DV.Options.UI.Tabs"
Title="{Loc 'ui-options-title'}"
MinSize="800 450"> <!-- DV add dtabs -->
MinSize="800 450">
<TabContainer Name="Tabs" Access="Public">
<tabs:MiscTab Name="MiscTab" />
<tabs:GraphicsTab Name="GraphicsTab" />
Expand Down
67 changes: 42 additions & 25 deletions Content.Client/Options/UI/Tabs/AudioTab.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,49 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="clr-namespace:Content.Client.Options.UI">
<BoxContainer Orientation="Vertical">
<BoxContainer Orientation="Vertical" Margin="8 8 8 8" VerticalExpand="True">
<Label Text="{Loc 'ui-options-volume-label'}"
StyleClasses="LabelKeyText"/>
<BoxContainer Orientation="Vertical" Margin="0 3 0 0">
<ui:OptionSlider Name="SliderVolumeMaster" Title="{Loc 'ui-options-master-volume'}"
Margin="0 0 0 8" />
<ui:OptionSlider Name="SliderVolumeMidi" Title="{Loc 'ui-options-midi-volume'}" />
<ui:OptionSlider Name="SliderVolumeAmbientMusic" Title="{Loc 'ui-options-ambient-music-volume'}" />
<ui:OptionSlider Name="SliderVolumeAmbience" Title="{Loc 'ui-options-ambience-volume'}" />
<ui:OptionSlider Name="SliderVolumeLobby" Title="{Loc 'ui-options-lobby-volume'}" />
<ui:OptionSlider Name="SliderVolumeInterface" Title="{Loc 'ui-options-interface-volume'}" />
<!-- EE add -->
<ui:OptionSlider Name="SliderVolumeAnnouncer" Title="{Loc 'ui-options-announcer-volume'}" />
<ui:OptionSlider Name="SliderMaxAmbienceSounds" Title="{Loc 'ui-options-ambience-max-sounds'}"
Margin="0 0 0 8" />
<CheckBox Name="LobbyMusicCheckBox" Text="{Loc 'ui-options-lobby-music'}" />
<CheckBox Name="RestartSoundsCheckBox" Text="{Loc 'ui-options-restart-sounds'}" />
<CheckBox Name="EventMusicCheckBox" Text="{Loc 'ui-options-event-music'}" />
<!-- EE add -->
<CheckBox Name="AnnouncerDisableMultipleSoundsCheckBox"
Text="{Loc 'ui-options-announcer-disable-multiple-sounds'}"
ToolTip="{Loc 'ui-options-announcer-disable-multiple-sounds-tooltip'}" />
<CheckBox Name="AdminSoundsCheckBox" Text="{Loc 'ui-options-admin-sounds'}" />
<CheckBox Name="BwoinkSoundCheckBox" Text="{Loc 'ui-options-bwoink-sound'}" />
<ScrollContainer VerticalExpand="True">
<BoxContainer Orientation="Vertical" Margin="8 8 8 8">
<Label Text="{Loc 'ui-options-volume-label'}"
StyleClasses="LabelKeyText"/>
<BoxContainer Orientation="Vertical" Margin="0 3 0 0">
<ui:OptionSlider Name="SliderVolumeMaster" Title="{Loc 'ui-options-master-volume'}"
Margin="0 0 0 8" />
<ui:OptionSlider Name="SliderVolumeMidi" Title="{Loc 'ui-options-midi-volume'}" />
<ui:OptionSlider Name="SliderVolumeAmbientMusic" Title="{Loc 'ui-options-ambient-music-volume'}" />
<ui:OptionSlider Name="SliderVolumeAmbience" Title="{Loc 'ui-options-ambience-volume'}" />
<ui:OptionSlider Name="SliderVolumeLobby" Title="{Loc 'ui-options-lobby-volume'}" />
<ui:OptionSlider Name="SliderVolumeInterface" Title="{Loc 'ui-options-interface-volume'}" />
<!-- EE add -->
<ui:OptionSlider Name="SliderVolumeAnnouncer" Title="{Loc 'ui-options-announcer-volume'}" />
<ui:OptionSlider Name="SliderMaxAmbienceSounds" Title="{Loc 'ui-options-ambience-max-sounds'}"
Margin="0 0 0 8" />
<CheckBox Name="LobbyMusicCheckBox" Text="{Loc 'ui-options-lobby-music'}" />
<CheckBox Name="RestartSoundsCheckBox" Text="{Loc 'ui-options-restart-sounds'}" />
<CheckBox Name="EventMusicCheckBox" Text="{Loc 'ui-options-event-music'}" />
<!-- EE add -->
<CheckBox Name="AnnouncerDisableMultipleSoundsCheckBox"
Text="{Loc 'ui-options-announcer-disable-multiple-sounds'}"
ToolTip="{Loc 'ui-options-announcer-disable-multiple-sounds-tooltip'}" />
<CheckBox Name="AdminSoundsCheckBox" Text="{Loc 'ui-options-admin-sounds'}" />
<CheckBox Name="BwoinkSoundCheckBox" Text="{Loc 'ui-options-bwoink-sound'}" />

<!-- VDS additions start -->
<Label Text="{Loc 'ui-options-general-acoustics'}"
StyleClasses="LabelKeyText"
Margin="0 10 0 0" />
<Label Text="{Loc 'ui-options-acoustics-subtext-1'}" StyleClasses="LabelSubText" />
<Label Text="{Loc 'ui-options-acoustics-subtext-2'}" StyleClasses="LabelSubText" />
<Label Text="{Loc 'ui-options-acoustics-subtext-3'}" StyleClasses="LabelSubText"
Margin="0 0 0 6" />
<CheckBox Name="AcousticEnableCheckBox" Text="{Loc 'ui-options-acoustics-enabled'}" />
<CheckBox Name="AcousticHighResolutionCheckBox"
Text="{Loc 'ui-options-acoustics-high-resolution'}"
ToolTip="{Loc 'ui-options-acoustics-high-resolution-tooltip'}" />
<ui:OptionSlider Name="SliderAcousticReflectionCount" Title="{Loc 'ui-options-acoustics-max-reflections'}" />
<!-- VDS additions end -->
</BoxContainer>
</BoxContainer>
</BoxContainer>
</ScrollContainer>
<ui:OptionsTabControlRow Name="Control" Access="Public" />
</BoxContainer>
</Control>
19 changes: 19 additions & 0 deletions Content.Client/Options/UI/Tabs/AudioTab.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using Robust.Shared;
using Robust.Shared.Configuration;
using Content.Shared._EE.CCVar; // EE
using Content.Shared._VDS.CCVars; // VDS

namespace Content.Client.Options.UI.Tabs;

Expand Down Expand Up @@ -76,6 +77,17 @@ public AudioTab()
Control.AddOptionCheckBox(CCVars.AdminSoundsEnabled, AdminSoundsCheckBox);
Control.AddOptionCheckBox(CCVars.BwoinkSoundEnabled, BwoinkSoundCheckBox);

// VDS start
var acousticEnable = Control.AddOptionCheckBox(VCCVars.AcousticEnable, AcousticEnableCheckBox);
acousticEnable.ImmediateValueChanged += UpdateAcousticButtons;
Control.AddOptionCheckBox(VCCVars.AcousticHighResolution, AcousticHighResolutionCheckBox);
Control.AddOptionSlider(
VCCVars.AcousticReflectionCount,
SliderAcousticReflectionCount,
_cfg.GetCVar(VCCVars.AcousticReflectionCountMinimum),
_cfg.GetCVar(VCCVars.AcousticReflectionCountMaximum));
// VDS end

Control.Initialize();
}

Expand All @@ -84,6 +96,7 @@ protected override void EnteredTree()
base.EnteredTree();
_admin.AdminStatusUpdated += UpdateAdminButtonsVisibility;
UpdateAdminButtonsVisibility();
UpdateAcousticButtons(_cfg.GetCVar(VCCVars.AcousticEnable)); // VDS
}

protected override void ExitedTree()
Expand All @@ -98,6 +111,12 @@ private void UpdateAdminButtonsVisibility()
BwoinkSoundCheckBox.Visible = _admin.IsActive();
}

private void UpdateAcousticButtons(bool value) // VDS
{
AcousticHighResolutionCheckBox.Visible = value is true;
SliderAcousticReflectionCount.Visible = value is true;
}

private void OnMasterVolumeSliderChanged(float value)
{
// TODO: I was thinking of giving OptionsTabControlRow a flag to "set CVar immediately", but I'm deferring that
Expand Down
2 changes: 1 addition & 1 deletion Content.Client/Options/UI/Tabs/MiscTab.xaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<tabs:MiscTab xmlns="https://spacestation14.io"
<tabs:MiscTab xmlns="https://spacestation14.io"
xmlns:tabs="clr-namespace:Content.Client.Options.UI.Tabs"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="clr-namespace:Content.Client.Options.UI">
Expand Down
2 changes: 1 addition & 1 deletion Content.Client/Options/UI/Tabs/MiscTab.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.Linq;
using System.Linq;
using Content.Client.UserInterface.Screens;
using Content.Shared.CCVar;
using Content.Shared.HUD;
Expand Down
8 changes: 8 additions & 0 deletions Content.Client/VendingMachines/UI/VendingMachineMenu.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@
<BoxContainer Name="MainContainer" Orientation="Vertical">
<LineEdit Name="SearchBar" PlaceHolder="{Loc 'vending-machine-component-search-filter'}" HorizontalExpand="True" Margin ="4 4"/>
<co:SearchListContainer Name="VendingContents" VerticalExpand="True" Margin="4 4"/>
<!-- IMP ADD store button -->
<BoxContainer Orientation="Vertical"
Margin="4 4">
<Button Name="StoreButton"
Access="Public"
Text="{Loc 'vending-machine-open-store'}"
HorizontalAlignment="Center"/>
</BoxContainer>
<!-- Footer -->
<BoxContainer Orientation="Vertical">
<PanelContainer StyleClasses="LowDivider" />
Expand Down
5 changes: 4 additions & 1 deletion Content.Client/VendingMachines/UI/VendingMachineMenu.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,16 @@ private void GenerateButton(ListData data, ListContainerButton button)
/// <summary>
/// Populates the list of available items on the vending machine interface
/// and sets icons based on their prototypes
/// IMP: Also hides the store button if there is no store
/// </summary>
public void Populate(List<VendingMachineInventoryEntry> inventory, bool enabled)
public void Populate(List<VendingMachineInventoryEntry> inventory, bool enabled, bool hasStore = false) // imp add hasStore
{
_enabled = enabled;
_listItems.Clear();
_amounts.Clear();

StoreButton.Visible = hasStore; // imp add

if (inventory.Count == 0 && VendingContents.Visible)
{
SearchBar.Visible = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using Robust.Client.UserInterface;
using Robust.Shared.Input;
using System.Linq;
using Content.Shared.Store.Components; // IMP ADD

namespace Content.Client.VendingMachines
{
Expand All @@ -26,6 +27,11 @@ protected override void Open()
_menu = this.CreateWindowCenteredLeft<VendingMachineMenu>();
_menu.Title = EntMan.GetComponent<MetaDataComponent>(Owner).EntityName;
_menu.OnItemSelected += OnItemSelected;
// IMP ADD START
_menu.StoreButton.OnPressed += _ =>
{
SendMessage(new VendingStoreOpenMessage());
};
Refresh();
}

Expand All @@ -36,7 +42,9 @@ public void Refresh()
var system = EntMan.System<VendingMachineSystem>();
_cachedInventory = system.GetAllInventory(Owner);

_menu?.Populate(_cachedInventory, enabled);
var hasStore = EntMan.HasComponent<StoreComponent>(Owner); // imp add

_menu?.Populate(_cachedInventory, enabled, hasStore); // imp add hasStore
}

public void UpdateAmounts()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
using Content.Shared._Harmony.Conspirators.Components;
using Content.Shared._Harmony.Conspirators.EntitySystems;
using Content.Shared.Antag;
using Content.Shared.StatusIcon.Components;
using Robust.Client.Player;
using Robust.Shared.Prototypes;

namespace Content.Client._Harmony.Conspirators.EntitySystems;

public sealed class ConspiratorSystem : SharedConspiratorSystem
{
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;

public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<ConspiratorComponent, GetStatusIconsEvent>(OnConspiratorGetIcons);
}

private void OnConspiratorGetIcons(Entity<ConspiratorComponent> entity, ref GetStatusIconsEvent args)
{
if (_playerManager.LocalSession?.AttachedEntity is { } playerEntity)
{
if (!HasComp<ShowAntagIconsComponent>(playerEntity) &&
!HasComp<ConspiratorComponent>(playerEntity))
return;
}

if (_prototypeManager.TryIndex(entity.Comp.ConspiratorIcon, out var iconPrototype))
args.StatusIcons.Add(iconPrototype);
}
}
79 changes: 79 additions & 0 deletions Content.Client/_Impstation/StrangeMoods/Eui/SharedMoodsEui.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
using Content.Client.Eui;
using Content.Shared._Impstation.StrangeMoods;
using Content.Shared._Impstation.StrangeMoods.Eui;
using Content.Shared.Eui;

namespace Content.Client._Impstation.StrangeMoods.Eui;

public sealed class SharedMoodsEui : BaseEui
{
private readonly SharedMoodsUi _sharedMoodsUi;

public SharedMoodsEui()
{
_sharedMoodsUi = new SharedMoodsUi();
_sharedMoodsUi.OnCreateShared += CreateShared;
_sharedMoodsUi.OnSave += SaveMoods;
_sharedMoodsUi.OnSharedSelected += GetSharedMood;
}

private void CreateShared()
{
SendMessage(new SharedMoodsInitStartMessage());
}

private void SaveMoods()
{
var newMoods = _sharedMoodsUi.GetMoods();
var targetMood = _sharedMoodsUi.GetTargetMood();

if (targetMood is not { } target)
return;

SendMessage(new SharedMoodsSaveMessage(target, newMoods));
_sharedMoodsUi.SetMoods(newMoods);
}

private void GetSharedMood(SharedMood mood)
{
if (mood.UniqueId == null)
return;

SendMessage(new SharedMoodsRequestMessage(mood.UniqueId));
}

public override void Opened()
{
_sharedMoodsUi.OpenCentered();
}

public override void HandleMessage(EuiMessageBase msg)
{
base.HandleMessage(msg);

switch (msg)
{
case SharedMoodsSendMessage sendData:
{
if (sendData.Mood is not { } mood)
return;

_sharedMoodsUi.SetMoods(mood.Moods);
break;
}
case SharedMoodsInitValidMessage initData:
{
_sharedMoodsUi.PopulateDropDown(initData.AllSharedMoods, initData.Mood);
break;
}
}
}

public override void HandleState(EuiStateBase state)
{
if (state is not SharedMoodsEuiState s)
return;

_sharedMoodsUi.PopulateDropDown(s.AllSharedMoods, s.MoodId);
}
}
45 changes: 45 additions & 0 deletions Content.Client/_Impstation/StrangeMoods/Eui/SharedMoodsInitEui.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
using Content.Client.Eui;
using Content.Shared._Impstation.StrangeMoods.Eui;
using Content.Shared.Eui;

namespace Content.Client._Impstation.StrangeMoods.Eui;

public sealed class SharedMoodsInitEui : BaseEui
{
private readonly SharedMoodsInitUi _sharedMoodsUi;

public SharedMoodsInitEui()
{
_sharedMoodsUi = new SharedMoodsInitUi();
_sharedMoodsUi.OnNameAccepted += AcceptName;
}

private void AcceptName(string name)
{
SendMessage(new SharedMoodsInitAcceptMessage(name));
}

public override void Opened()
{
_sharedMoodsUi.OpenCentered();
}

public override void HandleMessage(EuiMessageBase msg)
{
base.HandleMessage(msg);

switch (msg)
{
case SharedMoodsInitValidMessage:
{
_sharedMoodsUi.Close();
break;
}
case SharedMoodsInitErrorMessage:
{
_sharedMoodsUi.ShowError();
break;
}
}
}
}
Loading
Loading