Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
183 commits
Select commit Hold shift + click to select a range
c0659a9
thavens are now fixed :fire: (#928)
jackel234 Jun 26, 2025
19ea102
New wehnade fun item (#933)
IronDragoon Jun 26, 2025
00854de
Pride mantle port and adjustments (#940)
IronDragoon Jun 26, 2025
9dab3d9
Update Changelog (#940)
Jun 26, 2025
7933891
Crayon Placement Preview Overlay (#941)
Ekpy Jun 26, 2025
402afb9
Organic shield fix (#950)
Drywink Jun 26, 2025
dbe0a93
Update Changelog (#950)
Jun 26, 2025
8a11ac0
[port] Vox sounds from Impstation (and a few from Goob) (#927)
jackel234 Jun 26, 2025
3d92739
Update Changelog (#927)
Jun 26, 2025
5fce1c9
[port] Adding RMC's pump action feature (#960)
jackel234 Jun 26, 2025
860d76c
New footstep sounds for all military/mallcop boots (#946)
DevilishMilk Jun 26, 2025
36cf257
removed the smuggler satchel from the salvage shuttle (#942)
Flameingman2 Jun 26, 2025
7aa6bcb
Added bounty weighting and entry step sizes (#962)
GansuLalan Jun 26, 2025
cabab47
Fix/tweak item toggling for slime people and in pockets (#967)
diatomic-ge Jun 26, 2025
5f77996
Pioneer update 2 (#932)
IronDragoon Jun 26, 2025
a5016b8
Update Changelog (#932)
Jun 26, 2025
33ebf14
HIT HIM WITH THE CHAIR (#951)
mkanke-real Jun 26, 2025
79f4a56
new tider drip outfit (#924)
willowzeta Jun 26, 2025
ae6dd5f
Bricktoss.gif (#949)
mkanke-real Jun 26, 2025
f699e93
Update Changelog (#929) (#945)
UristMcWiki Jun 26, 2025
3311066
Adding new noises for lizards (#965)
jackel234 Jun 26, 2025
9a00a73
Update Changelog (#965)
Jun 26, 2025
091b04d
cherrypick: ipc improvements and dynamic power drain from DeltaV (#958)
ZigTag Jun 26, 2025
bddcff0
Update Changelog (#958)
Jun 26, 2025
2f33831
Tones Survival down a bit (#968)
DevilishMilk Jun 26, 2025
0b5beeb
1984 (Rule changes) (#969)
Icepicked Jun 26, 2025
bd9bcab
Update Changelog (#969)
Jun 26, 2025
46dcdf4
Shuttle loop fixes (#936)
Queer-Cats Jun 27, 2025
a7c2295
Vulp Sprite Ops p1: Mask sprites for Vulpkanin (#944)
Zephyrpak Jun 27, 2025
cfa783b
maildrobe additions (#935)
ThatOneMoon Jun 27, 2025
6857afa
Update Changelog (#935)
Jun 27, 2025
1255ee7
slime emotes and squish emote sprite change (#930)
Fr0goo Jun 27, 2025
ac48356
Bagel HFR (#947)
mkanke-real Jun 27, 2025
8a150c4
Box Update (#952)
Huhm-1 Jun 27, 2025
f3fe038
Update Changelog (#952)
Jun 27, 2025
9caf79f
Kills Zombies (#973)
DevilishMilk Jun 27, 2025
3b3435d
Update Changelog (#973)
Jun 27, 2025
bbaf538
Fixing a small oversight from my lizard noises pr (#974)
jackel234 Jun 27, 2025
495c5b7
Text highlighting cherry pick (#979)
vectorassembly Jun 27, 2025
4d08c1d
Update Changelog (#979)
Jun 27, 2025
5d81e87
Box Fixes because I am dumb (#975)
Huhm-1 Jun 27, 2025
9ebc1e0
Update Changelog (#975)
Jun 27, 2025
3e456aa
[port] Make departmental orders consoles print slips (#36944) (#972)
jackel234 Jun 27, 2025
25564f0
Money transfer fixes for withdrawing cash or transferring between dep…
Currot Jun 27, 2025
72d8528
Update Changelog (#981)
Jun 27, 2025
fa93f7f
Borg screams (#956)
Tyranex Jun 27, 2025
e803b61
Update Changelog (#956)
Jun 27, 2025
89df334
is it just me, or is it cold in here? :ice_cube: (#982)
jackel234 Jun 28, 2025
f5185fc
Update Changelog (#982)
Jun 28, 2025
fa8173f
Master
UristMcWiki Jun 28, 2025
c923f26
Merge branch 'master' of https://github.com/funky-station/funky-station
UristMcWiki Jun 28, 2025
2677a39
Fix artifact point extraction going into negatives (#36642)
EmoGarbage404 Apr 17, 2025
4bbf99e
83c2fdb6197b97bceb9c7b88c85b25ac1c2534d7
EmoGarbage404 Apr 15, 2025
f512b45
Feature/auto sync node scanner (#36635)
Fildrance Apr 27, 2025
ca229bc
fixing spessman getting teleported inside artifact (#36719)
Fildrance Apr 19, 2025
95d2699
Void path heretic buffs (#984)
jackel234 Jun 28, 2025
2ddede4
Cherrypicking a PR from wizden, and sneaking in a tiny change (#986)
jackel234 Jun 28, 2025
90eaaa0
Update Changelog (#986)
Jun 28, 2025
4ffeb2a
fix yaml err
taydeo Jun 28, 2025
022bfc2
Mechanical oil for IPCs (#948)
Jun 28, 2025
e53cee5
Update Changelog (#948)
Jun 28, 2025
abac8a6
Update e_sword.yml
UristMcWiki Jun 29, 2025
c84db40
Cherrypicking three artifact prs from Wizden (#989)
jackel234 Jun 29, 2025
f1703b1
Update Changelog (#989)
Jun 29, 2025
eae9bff
Update uplink_catalog.yml
UristMcWiki Jun 29, 2025
d908446
Update uplink_catalog.yml
UristMcWiki Jun 29, 2025
344e813
Update e_sword.yml
UristMcWiki Jun 29, 2025
426b50e
Player entities will no longer be able to use their hands while prone…
JoulesBerg Jun 29, 2025
d133beb
Update Changelog (#993)
Jun 29, 2025
86f2cae
hotfix: vox and lizards can now open doors by bumping
taydeo Jun 30, 2025
bd4ad58
Revert "Shuttle loop fixes (#936)" (#1004)
taydeo Jun 30, 2025
f4f4d24
I would like to formally apologize to all my haters. I would also lik…
JoulesBerg Jul 1, 2025
438d699
Update Changelog (#1013)
Jul 1, 2025
f9c7c4c
Gen pop (#978)
JoulesBerg Jul 1, 2025
57f93c0
Update Changelog (#978)
Jul 1, 2025
fa7ff84
Dv Paperwork Port (#994)
mkanke-real Jul 1, 2025
8630b0a
Buff throwing away items + slimes become ThrowInsertContainer because…
GreyMario Jul 1, 2025
ae4dd2b
Update Changelog (#995)
Jul 1, 2025
babb0b9
one line change (#1005)
PurpleTranStar Jul 1, 2025
37b615a
fuck man I'm high I'm doing this on purpose ok? (#992)
funnyfurby Jul 2, 2025
0ce671a
Update ammo counter when ammo is inserted from an ammoprovider (#1002)
WesEfird Jul 2, 2025
fc533e5
Makes the admin Modify Markings menu use FTL (#1016)
mnva0 Jul 2, 2025
092b43f
Glacier update (#1023)
willowzeta Jul 2, 2025
ad0ca04
Elkridge updates (#1022)
willowzeta Jul 2, 2025
e65521f
Rule Changes pt 1985 (#1017)
Icepicked Jul 2, 2025
b162817
Rodentia screams (#1018)
vectorassembly Jul 2, 2025
0fe4196
Update Changelog (#1018)
Jul 2, 2025
fd27ba5
Roid is back on the menu! (#1024)
mkanke-real Jul 2, 2025
6086361
Change default Boxer jumpsuit (#1015)
mnva0 Jul 2, 2025
9eebbaf
Removes server rules clause from thaven guidebook (#1001)
DevilishMilk Jul 2, 2025
23f9a60
Allow manually setting job / hud icon of ID cards in ID card computer…
ilyamikcoder Jul 2, 2025
ffe0aa3
Update Changelog (#998)
Jul 2, 2025
789a1aa
Adds genpop access to secoff, ward, and HoS (#1028)
mkanke-real Jul 3, 2025
2ea6f48
Update Changelog (#1028)
Jul 3, 2025
33636e0
Cherry-picked the Propeller Hat and Swirl Lollipop items originally f…
GumshoeWorm Jul 3, 2025
eaebb7e
Update Changelog (#1033)
Jul 3, 2025
2a024c3
adds a small bit of variation to boot sound effects (#996)
DevilishMilk Jul 3, 2025
24489e3
I am one with the flames (#1012)
mnva0 Jul 3, 2025
786c176
DEAD (#1021)
taydeo Jul 3, 2025
5c93894
Update Changelog (#1021)
Jul 3, 2025
ec85a0e
Adds "HOS" To "Sheriff" Word Replacements For the Cowboy Accent (#997)
88tv Jul 3, 2025
41867bb
Update Changelog (#997)
Jul 3, 2025
640ce03
Changes new slime emotes to mono (#1038)
DevilishMilk Jul 4, 2025
a47f756
Update Changelog (#1038)
Jul 4, 2025
cc2e462
Adds HFR to cargo order console (#1042)
mkanke-real Jul 4, 2025
9338239
Update Changelog (#1042)
Jul 4, 2025
8e8a182
removed blob flash damage (#1046)
DevilishMilk Jul 4, 2025
ec88e83
Bagel Genpop Update (#1041)
mkanke-real Jul 4, 2025
9311f37
Update Changelog (#1041)
Jul 4, 2025
465dfb9
Syringe Rework Part 3: Return of ChemMaster Bottling (#1044)
Queer-Cats Jul 4, 2025
8db1f7f
Bootsteps debassified (#1039)
DevilishMilk Jul 4, 2025
172c917
Fland updates (#1019)
Icepicked Jul 4, 2025
1fe7fa2
Medbot Fix (#1009)
Herostar898 Jul 4, 2025
495aad1
Fixes missing FTL entry for the Pumps & Valves section of the RPD (#1…
mnva0 Jul 4, 2025
3ce8a34
Changes the white shoes of the Atmospheric Technician, Reporter, and …
mnva0 Jul 4, 2025
cadf418
Home-Run Bat Nerf (#1030)
TheSecondLord Jul 4, 2025
fb5a2f1
Shiva Internals Update (#1036)
Ekpy Jul 4, 2025
3d947bf
Update Changelog (#1036)
Jul 4, 2025
bc2c4a1
Update uplink_catalog.yml (#991)
UristMcWiki Jul 4, 2025
ba1126c
Update Changelog (#991)
Jul 4, 2025
2ba651c
:( (#1049)
corresp0nd Jul 4, 2025
6a1c637
Update Changelog (#1049)
Jul 4, 2025
17f303b
Ports Playtime Reminders from Wizard's Den (#1050)
DevilishMilk Jul 4, 2025
954df45
Update Changelog (#1050)
Jul 4, 2025
0a8b34b
Mech Changes But For Real (#1027)
UristMcWiki Jul 7, 2025
62fdd2c
Update Changelog (#1027)
Jul 7, 2025
9f27d9a
Magistrate (#793)
taydeo Jul 8, 2025
78a20e2
Update Changelog (#793)
Jul 8, 2025
f446971
Minor Vulpkanin Markings Changes (#1062)
Zephyrpak Jul 8, 2025
eb7f22d
Update Changelog (#1062)
Jul 8, 2025
95fcb72
Heretic ascension (#1082)
Drywink Jul 8, 2025
6d8f978
Smartfridge Redux (#1079)
Queer-Cats Jul 8, 2025
4df074b
New interaction sounds (#1063)
vectorassembly Jul 8, 2025
fc99d39
IEDs made illegal to crew. Seismic charges restricted to cargo. (#1071)
ferynn Jul 8, 2025
afde02f
adds 28 new replacements to the cowboy accent (#1069)
88tv Jul 8, 2025
939576a
Heretic rebalances (#1081)
willowzeta Jul 8, 2025
881b994
Update Changelog (#1081)
Jul 8, 2025
fd21f24
Add styptic powder & silver sulfadiazine (#1070)
sowelipililimute Jul 8, 2025
9b893a7
Update Changelog (#1070)
Jul 8, 2025
c8d7658
Prevent setting ID card accesses twice when spawning players in jobs …
GreyMario Jul 8, 2025
c36405e
Update Changelog (#1084)
Jul 8, 2025
03683c3
webedit ops: patching flashbang bounty (#1064)
GreyMario Jul 8, 2025
175f47f
Magistrate spawns on Glacier/Elkridge (and some misc fixes) (#1086)
willowzeta Jul 8, 2025
0dc874a
Update Changelog (#1086)
Jul 8, 2025
23fbd23
Apc wires (#1077)
mkanke-real Jul 8, 2025
fcf577e
Update Changelog (#1077)
Jul 8, 2025
e8e6265
Adds Logistics access group, used for ordering. (#1085)
DevilishMilk Jul 8, 2025
4491a79
Update Changelog (#1085)
Jul 8, 2025
9fbb45b
Atmos updates (#1088)
Terkala Jul 8, 2025
8567bae
New thaven moods (#1067)
ferynn Jul 9, 2025
e4b2f4f
Update Changelog (#1067)
Jul 9, 2025
321a5af
Update medicine.yml
UristMcWiki Jul 9, 2025
67b828d
Update medicine.yml
UristMcWiki Jul 9, 2025
f20b703
Fixes HoP cloak colors (#1107)
DevilishMilk Jul 10, 2025
1bedf39
Update Changelog (#1107)
Jul 10, 2025
898a4e4
QoL slop for bartender (real) (#1095)
Teasq Jul 12, 2025
e8ecd11
Update Changelog (#1095)
Jul 12, 2025
ce5055d
cherrypick: protogen snouts from TheDen#865 (#1072)
ZigTag Jul 12, 2025
5dff347
Update Changelog (#1072)
Jul 12, 2025
4f85200
Wizden Cleanups 1 (#1113)
McBosserson Jul 12, 2025
8775c27
Readds Reclaimer, modified for better resource-gathering (#1094)
DevilishMilk Jul 12, 2025
c339298
Roid the continuing (#1101)
mkanke-real Jul 12, 2025
6fd5918
Adds the Senior Detective PDA (#1100)
88tv Jul 12, 2025
0df092a
Flesh out diona medication (#1075)
sowelipililimute Jul 12, 2025
3e26b74
Update Changelog (#1075)
Jul 12, 2025
afd4006
Adds Magi to Bagel (#1120)
mkanke-real Jul 12, 2025
f80a52e
fland magi and AI sentry fix (#1119)
Icepicked Jul 12, 2025
2b0deb5
Fix to shuttle not docking correctly and other minor changes (#1058)
IronDragoon Jul 12, 2025
cd6ea5b
TriggerSystem improvements (#35762) (#1104)
JoulesBerg Jul 12, 2025
32a551f
NTRep cargo access (#1074)
willowzeta Jul 12, 2025
06bfc9c
:fire: :cat: :fire: :bird: (#1110)
jackel234 Jul 12, 2025
cad32f8
Add 'soloing' to chatbox filter checkboxes (#1102)
dch-GH Jul 12, 2025
9a36ce1
Omega Map Update [7/5/25] (#1061)
salpphie Jul 12, 2025
e0047b9
Funking up Wizard (#1105)
Terkala Jul 12, 2025
7ea841c
Thaven mood tweaks (#1068)
ferynn Jul 12, 2025
414a52b
Magistrate and Genpop (#1096)
Huhm-1 Jul 12, 2025
573b46c
I :heart: :man_cook: :fire: :+1: :pray: (#1097)
jackel234 Jul 12, 2025
072ad30
Fix heretic losing body parts, fix rune drawing on items in the heret…
dch-GH Jul 12, 2025
349aecd
more bottles (#1052)
Queer-Cats Jul 12, 2025
3b716e4
Update Changelog (#1052)
Jul 12, 2025
df5f398
Firelock temperature and pressure warning lights (#28339) (#1111)
jackel234 Jul 12, 2025
477ce0f
UI Improvements (#1035)
McBosserson Jul 12, 2025
5e6116f
The Vending
ThatOneMoon Jul 28, 2025
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
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion Content.Client/Access/UI/IdCardConsoleBoundUserInterface.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using Content.Shared.Access.Systems;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.CrewManifest;
using Content.Shared.StatusIcon;
using Robust.Shared.Prototypes;
using static Content.Shared.Access.Components.IdCardConsoleComponent;

Expand Down Expand Up @@ -64,7 +65,7 @@ protected override void UpdateState(BoundUserInterfaceState state)
_window?.UpdateState(castState);
}

public void SubmitData(string newFullName, string newJobTitle, List<ProtoId<AccessLevelPrototype>> newAccessList, string newJobPrototype)
public void SubmitData(string newFullName, string newJobTitle, string newJobIcon, List<ProtoId<AccessLevelPrototype>> newAccessList, string newJobPrototype)
{
if (newFullName.Length > MaxFullNameLength)
newFullName = newFullName[..MaxFullNameLength];
Expand All @@ -75,6 +76,7 @@ public void SubmitData(string newFullName, string newJobTitle, List<ProtoId<Acce
SendMessage(new WriteToTargetIdMessage(
newFullName,
newJobTitle,
newJobIcon, // Funkystation - ID card console job icon selection
newAccessList,
newJobPrototype));
}
Expand Down
10 changes: 10 additions & 0 deletions Content.Client/Access/UI/IdCardConsoleWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,22 @@
<Label Name="JobTitleLabel" Text="{Loc 'id-card-console-window-job-title-label'}" />
<LineEdit Name="JobTitleLineEdit" HorizontalExpand="True" />
<Button Name="JobTitleSaveButton" Text="{Loc 'id-card-console-window-save-button'}" Disabled="True" />

<!-- begin Funkystation - job icon selection -->
<Label Name="JobIconLabel" Text="{Loc 'id-card-console-window-job-icon-label'}" />
<TextureRect Name="JobIconPreview"
TextureScale="3 3"
Margin="4 0"
VerticalAlignment="Center" />
<Button Name="JobIconChangeButton" Text="{Loc 'id-card-console-window-job-icon-change-button'}" Disabled="True" />
<!-- end Funkystation -->
</GridContainer>
<Control MinSize="0 8" />
<GridContainer Columns="2">
<Label Text="{Loc 'id-card-console-window-job-selection-label'}" />
<OptionButton Name="JobPresetOptionButton" />
</GridContainer>
<Control MinSize="0 8" />
<Control Name="AccessLevelControlContainer" />
</BoxContainer>
</DefaultWindow>
34 changes: 34 additions & 0 deletions Content.Client/Access/UI/IdCardConsoleWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@
using Content.Shared.Access;
using Content.Shared.Access.Systems;
using Content.Shared.Roles;
using Content.Shared.StatusIcon;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Client.GameObjects;
using Robust.Shared.Prototypes;
using Content.Client._Funkystation.Access.UI;
using static Content.Shared.Access.Components.IdCardConsoleComponent;

namespace Content.Client.Access.UI
Expand All @@ -15,7 +18,9 @@ namespace Content.Client.Access.UI
public sealed partial class IdCardConsoleWindow : DefaultWindow
{
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IEntitySystemManager _entitySystem = default!;
[Dependency] private readonly ILogManager _logManager = default!;
private readonly SpriteSystem _spriteSystem;
private readonly ISawmill _logMill = default!;

private readonly IdCardConsoleBoundUserInterface _owner;
Expand All @@ -27,6 +32,8 @@ public sealed partial class IdCardConsoleWindow : DefaultWindow
private string? _lastJobTitle;
private string? _lastJobProto;

private IdCardConsoleIconSelectorWindow _iconWindow; // Funkystation - ID card console job icon selection

// The job that will be picked if the ID doesn't have a job on the station.
private static ProtoId<JobPrototype> _defaultJob = "Passenger";

Expand All @@ -36,6 +43,7 @@ public IdCardConsoleWindow(IdCardConsoleBoundUserInterface owner, IPrototypeMana
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
_logMill = _logManager.GetSawmill(SharedIdCardConsoleSystem.Sawmill);
_spriteSystem = _entitySystem.GetEntitySystem<SpriteSystem>();

_owner = owner;

Expand Down Expand Up @@ -67,6 +75,13 @@ public IdCardConsoleWindow(IdCardConsoleBoundUserInterface owner, IPrototypeMana
JobPresetOptionButton.AddItem(Loc.GetString(job.Name), _jobPrototypeIds.Count - 1);
}

// begin Funkystation - ID card console job icon selection
_iconWindow = new IdCardConsoleIconSelectorWindow();
_iconWindow.SetAllowedIcons();
_iconWindow.OnJobIconChanged += _ => SubmitData();
JobIconChangeButton.OnPressed += _ => _iconWindow.OpenCentered();
// end Funkystation

JobPresetOptionButton.OnItemSelected += SelectJobPreset;
_accessButtons.Populate(accessLevels, prototypeManager);
AccessLevelControlContainer.AddChild(_accessButtons);
Expand Down Expand Up @@ -98,6 +113,8 @@ private void SelectJobPreset(OptionButton.ItemSelectedEventArgs args)
JobTitleLineEdit.Text = Loc.GetString(job.Name);
args.Button.SelectId(args.Id);

_iconWindow.SetJobIcon(job.Icon); // Funkystation

ClearAllAccess();

// this is a sussy way to do this
Expand Down Expand Up @@ -168,6 +185,20 @@ public void UpdateState(IdCardConsoleBoundUserInterfaceState state)

JobPresetOptionButton.Disabled = !interfaceEnabled;

// begin Funkystation - ID card console job icon selection
JobIconLabel.Modulate = interfaceEnabled ? Color.White : Color.Gray;
JobIconChangeButton.Disabled = !interfaceEnabled;
if(!interfaceEnabled) {
_iconWindow.Close();
}

_iconWindow.SetJobIcon(state.TargetIdJobIcon);
if(_prototypeManager.TryIndex<JobIconPrototype>(state.TargetIdJobIcon ?? "JobIconForNoId", out var jobIcon))
{
JobIconPreview.Texture = _spriteSystem.Frame0(jobIcon.Icon);
}
// end Funkystation

_accessButtons.UpdateState(state.TargetIdAccessList?.ToList() ??
new List<ProtoId<AccessLevelPrototype>>(),
state.AllowedModifyAccessList?.ToList() ??
Expand All @@ -187,6 +218,8 @@ public void UpdateState(IdCardConsoleBoundUserInterfaceState state)
_lastFullName = state.TargetIdFullName;
_lastJobTitle = state.TargetIdJobTitle;
_lastJobProto = state.TargetIdJobPrototype;

_iconWindow.SetJobIcon(state.TargetIdJobIcon); // Funkystation - ID card console job icon selection
}

private void SubmitData()
Expand All @@ -198,6 +231,7 @@ private void SubmitData()
_owner.SubmitData(
FullNameLineEdit.Text,
JobTitleLineEdit.Text,
_iconWindow.JobIcon, // Funkystation - ID card console job icon selection
// Iterate over the buttons dictionary, filter by `Pressed`, only get key from the key/value pair
_accessButtons.ButtonsList.Where(x => x.Value.Pressed).Select(x => x.Key).ToList(),
jobProtoDirty ? _jobPrototypeIds[JobPresetOptionButton.SelectedId] : string.Empty);
Expand Down
7 changes: 3 additions & 4 deletions Content.Client/Cargo/Systems/CargoSystem.Telepad.cs
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,9 @@ private void OnChangeData(EntityUid uid, SpriteComponent? sprite = null)
switch (state)
{
case CargoTelepadState.Teleporting:
if (_player.HasRunningAnimation(uid, TelepadBeamKey))
return;
_player.Stop(uid, player, TelepadIdleKey);
_player.Play((uid, player), CargoTelepadBeamAnimation, TelepadBeamKey);
_player.Stop((uid, player), TelepadIdleKey);
if (!_player.HasRunningAnimation(uid, TelepadBeamKey))
_player.Play((uid, player), CargoTelepadBeamAnimation, TelepadBeamKey);
break;
case CargoTelepadState.Unpowered:
sprite.LayerSetVisible(CargoTelepadLayers.Beam, false);
Expand Down
5 changes: 3 additions & 2 deletions Content.Client/Cargo/UI/CargoConsoleMenu.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,10 @@
<!-- Products get added here by code -->
</BoxContainer>
</ScrollContainer>
<Control MinHeight="5"/>
<Control MinHeight="5" Name="OrdersSpacer"/>
<PanelContainer VerticalExpand="True"
SizeFlagsStretchRatio="1">
SizeFlagsStretchRatio="1"
Name="Orders">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#000000" />
</PanelContainer.PanelOverride>
Expand Down
8 changes: 7 additions & 1 deletion Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ public void PopulateOrders(IEnumerable<CargoOrderData> orders)

var product = _protoManager.Index<EntityPrototype>(order.ProductId);
var productName = product.Name;
var account = _protoManager.Index(order.Account);

var row = new CargoOrderRow
{
Expand All @@ -219,7 +220,9 @@ public void PopulateOrders(IEnumerable<CargoOrderData> orders)
"cargo-console-menu-populate-orders-cargo-order-row-product-name-text",
("productName", productName),
("orderAmount", order.OrderQuantity),
("orderRequester", order.Requester))
("orderRequester", order.Requester),
("accountColor", account.Color),
("account", Loc.GetString(account.Code)))
},
Description =
{
Expand Down Expand Up @@ -282,6 +285,9 @@ protected override void FrameUpdate(FrameEventArgs args)
AccountActionButton.Disabled = TransferSpinBox.Value <= 0 ||
TransferSpinBox.Value > bankAccount.Accounts[orderConsole.Account] * orderConsole.TransferLimit ||
_timing.CurTime < orderConsole.NextAccountActionTime;

OrdersSpacer.Visible = !orderConsole.SlipPrinter;
Orders.Visible = !orderConsole.SlipPrinter;
}
}
}
5 changes: 2 additions & 3 deletions Content.Client/Cargo/UI/CargoOrderRow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@
<BoxContainer Orientation="Vertical"
HorizontalExpand="True"
VerticalExpand="True">
<Label Name="ProductName"
<RichTextLabel Name="ProductName"
Access="Public"
HorizontalExpand="True"
StyleClasses="LabelSubText"
ClipText="True" />
StyleClasses="LabelSubText" />
<Label Name="Description"
Access="Public"
HorizontalExpand="True"
Expand Down
5 changes: 4 additions & 1 deletion Content.Client/Cargo/UI/CargoShuttleMenu.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ public void SetOrders(SpriteSystem sprites, IPrototypeManager protoManager, List
{
var product = protoManager.Index<EntityPrototype>(order.ProductId);
var productName = product.Name;
var account = protoManager.Index(order.Account);

var row = new CargoOrderRow
{
Expand All @@ -47,7 +48,9 @@ public void SetOrders(SpriteSystem sprites, IPrototypeManager protoManager, List
"cargo-console-menu-populate-orders-cargo-order-row-product-name-text",
("productName", productName),
("orderAmount", order.OrderQuantity - order.NumDispatched),
("orderRequester", order.Requester))
("orderRequester", order.Requester),
("accountColor", account.Color),
("account", Loc.GetString(account.Code)))
},
Description = {Text = Loc.GetString("cargo-console-menu-order-reason-description",
("reason", order.Reason))}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ protected override void Open()
(uint) _window.PillDosage.Value, (uint) _window.PillNumber.Value, _window.LabelLine));
_window.CreateBottleButton.OnPressed += _ => SendMessage(
new ChemMasterOutputToBottleMessage(
(uint) _window.BottleDosage.Value, _window.LabelLine));
(uint) _window.BottleDosage.Value, (uint) _window.BottleNumber.Value, _window.LabelLine));

for (uint i = 0; i < _window.PillTypeButtons.Length; i++)
{
Expand Down
4 changes: 3 additions & 1 deletion Content.Client/Chemistry/UI/ChemMasterWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc 'chem-master-window-pills-label'}" />
<Control HorizontalExpand="True" MinSize="50 0" />
<Label Text="{Loc 'chem-master-window-pills-number-label'}" Margin="5 0 0 0" StyleClasses="LabelSecondaryColor" />
<Label Text="{Loc 'chem-master-window-number-label'}" Margin="5 0 0 0" StyleClasses="LabelSecondaryColor" />
<SpinBox MinSize="100 0" Name="PillNumber" Access="Public" Value="0" />
<Label Text="{Loc 'chem-master-window-dose-label'}" Margin="5 0 0 0" StyleClasses="LabelSecondaryColor" />
<SpinBox MinSize="100 0" Name="PillDosage" Access="Public" Value="1" />
Expand All @@ -103,6 +103,8 @@
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc 'chem-master-window-bottles-label'}" />
<Control HorizontalExpand="True" MinSize="50 0" />
<Label Text="{Loc 'chem-master-window-number-label'}" Margin="5 0 0 0" StyleClasses="LabelSecondaryColor" />
<SpinBox MinSize="100 0" Name="BottleNumber" Access="Public" Value="0" />
<Label Text="{Loc 'chem-master-window-dose-label'}" Margin="5 0 0 0" StyleClasses="LabelSecondaryColor" />
<SpinBox MinSize="100 0" Name="BottleDosage" Access="Public" Value="0" />
<Button MinSize="80 0" Name="CreateBottleButton" Access="Public" Text="{Loc 'chem-master-window-create-button'}" />
Expand Down
10 changes: 8 additions & 2 deletions Content.Client/Chemistry/UI/ChemMasterWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ public ChemMasterWindow()
PillDosage.InitDefaultButtons();
PillNumber.InitDefaultButtons();
BottleDosage.InitDefaultButtons();
BottleNumber.InitDefaultButtons();

// Ensure label length is within the character limit.
LabelLineEdit.IsValid = s => s.Length <= SharedChemMaster.LabelMaxLength;
Expand Down Expand Up @@ -320,7 +321,7 @@ public void UpdateState(BoundUserInterfaceState state)
BufferCurrentVolume.Text = $" {castState.PillBufferCurrentVolume?.Int() ?? 0}u";

InputEjectButton.Disabled = castState.ContainerInfo is null;
CreateBottleButton.Disabled = true;
CreateBottleButton.Disabled = castState.PillBufferReagents.Count == 0;;
CreatePillButton.Disabled = castState.PillBufferReagents.Count == 0;

UpdateDosageFields(castState);
Expand All @@ -334,10 +335,12 @@ private void UpdateDosageFields(ChemMasterBoundUserInterfaceState castState)
{
var bufferVolume = castState.PillBufferCurrentVolume?.Int() ?? 0;
PillDosage.Value = (int) Math.Min(bufferVolume, castState.PillDosageLimit);
BottleDosage.Value = (int) Math.Min(bufferVolume, 30);

PillTypeButtons[castState.SelectedPillType].Pressed = true;
PillNumber.IsValid = x => x >= 0;
PillDosage.IsValid = x => x > 0 && x <= castState.PillDosageLimit;
BottleNumber.IsValid = x => x >= 0;
BottleDosage.IsValid = x => x >= 0;

// Avoid division by zero
Expand All @@ -346,7 +349,10 @@ private void UpdateDosageFields(ChemMasterBoundUserInterfaceState castState)
else
PillNumber.Value = 0;

BottleDosage.Value = bufferVolume;
if (BottleDosage.Value > 0)
BottleNumber.Value = bufferVolume / BottleDosage.Value;
else
BottleNumber.Value = 0;
}
/// <summary>
/// Generate a product label based on reagents in the buffer.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Content.Client.Guidebook.Components;
using Content.Client.UserInterface.Controls;
using Content.Shared.Chemistry;
using Content.Shared.Containers.ItemSlots;
using JetBrains.Annotations;
Expand Down Expand Up @@ -31,8 +32,7 @@ protected override void Open()

// Setup window layout/elements
_window = this.CreateWindow<ReagentDispenserWindow>();
_window.Title = EntMan.GetComponent<MetaDataComponent>(Owner).EntityName;
_window.HelpGuidebookIds = EntMan.GetComponent<GuideHelpComponent>(Owner).Guides;
_window.SetInfoFromEntity(EntMan, Owner);

// Setup static button actions.
_window.EjectButton.OnPressed += _ => SendMessage(new ItemSlotButtonPressedEvent(SharedReagentDispenser.OutputSlotName));
Expand Down
14 changes: 11 additions & 3 deletions Content.Client/Clothing/ClientClothingSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using System.Numerics;
using Content.Client.DisplacementMap;
using Content.Client.Inventory;
using Content.Shared._DV.Silicon.IPC; // DeltaV - IPC Snouts
using Content.Shared.Clothing;
using Content.Shared.Clothing.Components;
using Content.Shared.Clothing.EntitySystems;
Expand Down Expand Up @@ -106,17 +107,24 @@ private void OnGetVisuals(EntityUid uid, ClothingComponent item, GetEquipmentVis

List<PrototypeLayerData>? layers = null;

// Begin DeltaV Additions - IPC snouts
var speciesId = inventory.SpeciesId;

if (TryComp(args.Equipee, out SnoutHelmetComponent? helmetComponent) && helmetComponent.EnableAlternateHelmet)
speciesId = helmetComponent.ReplacementRace;

// first attempt to get species specific data.
if (inventory.SpeciesId != null)
item.ClothingVisuals.TryGetValue($"{args.Slot}-{inventory.SpeciesId}", out layers);
if (speciesId != null)
item.ClothingVisuals.TryGetValue($"{args.Slot}-{speciesId}", out layers);

// if that returned nothing, attempt to find generic data
if (layers == null && !item.ClothingVisuals.TryGetValue(args.Slot, out layers))
{
// No generic data either. Attempt to generate defaults from the item's RSI & item-prefixes
if (!TryGetDefaultVisuals(uid, item, args.Slot, inventory.SpeciesId, out layers))
if (!TryGetDefaultVisuals(uid, item, args.Slot, speciesId, out layers))
return;
}
// End DeltaV Additions

// add each layer to the visuals
var i = 0;
Expand Down
14 changes: 12 additions & 2 deletions Content.Client/Crayon/CrayonSystem.cs
Original file line number Diff line number Diff line change
@@ -1,22 +1,32 @@
using Content.Client.Crayon.Overlays;
using Content.Client.Items;
using Content.Client.Message;
using Content.Client.Stylesheets;
using Content.Shared.Crayon;
using Content.Shared.Decals;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.GameObjects;
using Robust.Shared.GameStates;
using Robust.Shared.Localization;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;

namespace Content.Client.Crayon;

public sealed class CrayonSystem : SharedCrayonSystem
{
[Dependency] private readonly IOverlayManager _overlayManager = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;

// Didn't do in shared because I don't think most of the server stuff can be predicted.
public override void Initialize()
{
base.Initialize();

_overlayManager.AddOverlay(new CrayonPlacementOverlay(_transform, _sprite)); //Funky Station

SubscribeLocalEvent<CrayonComponent, ComponentHandleState>(OnCrayonHandleState);
Subs.ItemStatus<CrayonComponent>(ent => new StatusControl(ent));
}
Expand Down
Loading
Loading