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

Floof Station release V13 #523

Merged
merged 204 commits into from
Feb 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
204 commits
Select commit Hold shift + click to select a range
029b763
Shitmed: Implementing Existing Newmed Code Into SS14 (#1159)
gluesniffler Nov 17, 2024
ea9a076
Automatic Changelog Update (#1159)
SimpleStation14 Nov 17, 2024
bdbc394
Update Credits (#1235)
github-actions[bot] Nov 17, 2024
f95774b
Mass Engine Update (#1220)
sleepyyapril Nov 17, 2024
bf6019f
Pirate Radio Heisentest Fix (#1225)
VMSolidus Nov 17, 2024
2eea0f7
Fix Loadout Subcategories Not Being Found (#1233)
DEATHB4DEFEAT Nov 17, 2024
bea5f13
Hotfix Stamina System (#1245)
sleepyyapril Nov 18, 2024
3f8194a
Automatic Changelog Update (#1245)
SimpleStation14 Nov 18, 2024
ab0fa7c
Day/Night Time Cycle For Maps (#1234)
DocNITE Nov 18, 2024
460f444
Automatic Changelog Update (#1234)
SimpleStation14 Nov 18, 2024
860d7c6
Shitmed Update 1 (#1240)
gluesniffler Nov 18, 2024
eb0121f
Automatic Changelog Update (#1240)
SimpleStation14 Nov 18, 2024
aec89a5
Fix Self-Aware Crashing Client (#1247)
angelofallars Nov 18, 2024
ddee61c
Automatic Changelog Update (#1247)
SimpleStation14 Nov 18, 2024
bb13e39
Shitmed Surgery Popups (#1241)
angelofallars Nov 18, 2024
59d2695
AlertsComponentTest Fix (#1246)
sleepyyapril Nov 18, 2024
4fe41ef
Automatic Changelog Update (#1241)
SimpleStation14 Nov 18, 2024
7090017
Power Attack Stamina Update (#1238)
angelofallars Nov 18, 2024
c0f813b
Automatic Changelog Update (#1238)
SimpleStation14 Nov 18, 2024
114194a
Glimmer Wisps Mindbreak Their Victims (#1248)
VMSolidus Nov 18, 2024
6d6cbdf
Automatic Changelog Update (#1248)
SimpleStation14 Nov 18, 2024
6c21325
The Great Loadout Reorganizing (#1230)
VMSolidus Nov 18, 2024
5756a0e
Automatic Changelog Update (#1230)
SimpleStation14 Nov 18, 2024
049a995
Fix Power Attacks Being Faster Than Left Clicks (#1252)
VMSolidus Nov 20, 2024
8a88bfd
Automatic Changelog Update (#1252)
SimpleStation14 Nov 20, 2024
411cb21
Tweak Wizden Trait Descriptions (#1260)
Mnemotechnician Nov 22, 2024
29d2cb1
More Trait Functions (PushMarkup & AddArmor) (#1253)
VMSolidus Nov 22, 2024
8d54aa2
Automatic Changelog Update (#1260)
SimpleStation14 Nov 22, 2024
0574be4
Feat: Anomaly Scanner Data Copying (#1250)
Mnemotechnician Nov 22, 2024
6fa8d68
Automatic Changelog Update (#1253)
SimpleStation14 Nov 22, 2024
1b57045
Automatic Changelog Update (#1250)
SimpleStation14 Nov 22, 2024
41501bd
Mass Bug Fixing (#1256)
sleepyyapril Nov 22, 2024
9798f53
Automatic Changelog Update (#1256)
SimpleStation14 Nov 22, 2024
992b2e4
Rename "Pierce" Typo to "Piercing" (#1267)
angelofallars Nov 22, 2024
b431d24
Buff Medical Due to Shitmed Changes Cherry-Pick (#1259)
Tmanzxd Nov 22, 2024
02dd8ab
Automatic Changelog Update (#1267)
SimpleStation14 Nov 22, 2024
09d5900
Automatic Changelog Update (#1259)
SimpleStation14 Nov 22, 2024
e3b0299
Extra Slime Marking
ItsDzordz Dec 16, 2024
c1dbc64
Quick patch
ItsDzordz Dec 16, 2024
4f3efa1
Merge branch 'master' into Slime-Marking
Fansana Jan 5, 2025
90ba8a0
remove duplicate
Fansana Jan 5, 2025
b001839
actually remove the right duplicate
Fansana Jan 5, 2025
1170399
Merge commit 'ea9a07616fb2b419e89811fa2f753a19aee0da73' into floof/ch…
Mnemotechnician Jan 13, 2025
0fd837f
Merge commit 'bdbc394a8ee4599ab783e83047abf9fa4db6bec8' into floof/ch…
Mnemotechnician Jan 13, 2025
8a64e87
Merge commit 'f95774b3ce4300012b8dbaa60829499ba6a68203' into floof/ch…
Mnemotechnician Jan 13, 2025
d2f8b9d
Migrate Floofstation rules to the new format
Mnemotechnician Jan 13, 2025
3ee02e9
Migrate old StorageFills to the new EntityTableContainerFill
Mnemotechnician Jan 13, 2025
36df059
-- Marker: compiles & runs with a few bugs --
Mnemotechnician Jan 13, 2025
6a511ab
Merge commit '3f8194a879035866199771121262e7ffca3ae2ae' into floof/ch…
Mnemotechnician Jan 13, 2025
0d7d3ce
Merge commit '4fe41eff5edd756aea6899e94f8637607dfec456' into floof/ch…
Mnemotechnician Jan 13, 2025
4d3ecb6
Mass Bug Fixing (#1256)
sleepyyapril Nov 22, 2024
ad3f4dd
Buff Medical Due to Shitmed Changes Cherry-Pick (#1259)
Tmanzxd Nov 22, 2024
1cf936b
Fix ointment caustic healing amount
Mnemotechnician Jan 13, 2025
ddb5ffa
Shitmed Update 2 - [Insert Snarky Remark] (#1271)
gluesniffler Nov 30, 2024
df96cdb
Fix Lobotomy (#1306)
angelofallars Dec 3, 2024
40cadff
Fix health analyzer and RehydratableSystem improper Dirty() call
Mnemotechnician Jan 13, 2025
5e3a62c
Ok apparently I cannot insert xaml comments inside a guidebook entery.
Mnemotechnician Jan 13, 2025
2a85f55
Fix rules formatting and naming
Mnemotechnician Jan 13, 2025
5b02182
Fix test fail caused by component modification on ComponentInit
Mnemotechnician Jan 13, 2025
5d4988d
Fuck you heisentest.
Mnemotechnician Jan 13, 2025
a616fe2
Made the rules tab collapsed by default (let's hope I don't cause a s…
Mnemotechnician Jan 13, 2025
8a4cca4
Fix pirate radio spawn
Mnemotechnician Jan 15, 2025
423bc3c
Fix standing state/buckle conflict
Mnemotechnician Jan 16, 2025
02360be
Remove collision fixtures from footprint entities
Mnemotechnician Jan 16, 2025
e7f4651
Fix incorrect dragging print orientation
Mnemotechnician Jan 16, 2025
d64850c
Update the CCO
JenreyDominos Jan 17, 2025
f5837d3
Merge branch 'master' of https://github.com/Fansana/floofstation1 int…
Mnemotechnician Jan 17, 2025
493ee52
Separate spray paints into their own loot table and add them back int…
Mnemotechnician Jan 17, 2025
541190e
Minor syntax error
Mnemotechnician Jan 17, 2025
84223c5
Merge branch 'Fansana:master' into Slime-Marking+
ItsDzordz Jan 17, 2025
91bfa2b
Added Extra Markings, and adjusted the cap of markings on certain races.
ItsDzordz Jan 17, 2025
b78154f
Quick arachnid patch
ItsDzordz Jan 17, 2025
a05c809
quick path no2
ItsDzordz Jan 17, 2025
c047776
A little bit of love to the forgoten
ItsDzordz Jan 18, 2025
08cf119
mothroach
fenndragon Jan 18, 2025
ed3d59e
Merge branch 'master' into floof/cherrypick/ee-surgery
Mnemotechnician Jan 18, 2025
7cfc563
Update gorilla.yml
FoxxoTrystan Jan 18, 2025
524e273
saltern door fix
WhiteLightningTwister Jan 18, 2025
55c31a1
Update Resources/Prototypes/Floof/Entities/Mobs/NPCs/ertmothroach.yml
fenndragon Jan 18, 2025
0a346a2
Update Resources/Prototypes/Floof/Entities/Mobs/NPCs/ertmothroach.yml
fenndragon Jan 18, 2025
1381414
Update Resources/Prototypes/Floof/Entities/Mobs/NPCs/ertmothroach.yml
fenndragon Jan 18, 2025
4b93c85
Allow gladiabots to wear hats
Timfa2112 Jan 19, 2025
08d78e4
add alive
fenndragon Jan 19, 2025
b5244fa
Delete floofstation1 - Shortcut.lnk
fenndragon Jan 19, 2025
087c27c
Merge pull request #495 from Timfa2112/gladiabot-hats
FoxxoTrystan Jan 19, 2025
b944c7c
Automatic Changelog Update (#495)
Floof-Station-Bot Jan 19, 2025
dea23e7
Add custom markings + Adds wings section and wagging comp to all.
FoxxoTrystan Jan 19, 2025
e23c21c
fixes
FoxxoTrystan Jan 19, 2025
ef82217
yml fixes
FoxxoTrystan Jan 19, 2025
f388c3a
Merge pull request #481 from Mnemotechnician/floof/cherrypick/ee-surgery
Mnemotechnician Jan 19, 2025
30a347c
Automatic Changelog Update (#481)
Floof-Station-Bot Jan 19, 2025
7f024d8
HypnoVisor
FoxxoTrystan Jan 19, 2025
f63ccfd
Merge branch 'master' into hypno-visor
FoxxoTrystan Jan 19, 2025
278d57e
Slime marking limit +
ItsDzordz Jan 19, 2025
83f2fba
change description
FoxxoTrystan Jan 19, 2025
d41bc62
Added The Classical Maid Dress
ItsDzordz Jan 20, 2025
b2c8b73
Moved The textures as requested
ItsDzordz Jan 20, 2025
50bc3bd
Slime marking limit -
ItsDzordz Jan 20, 2025
54e4536
Allow sorting into teams
Timfa2112 Jan 20, 2025
ddb30d7
Use another component to subscribe to the event
Timfa2112 Jan 20, 2025
ebbf168
removed using which won't work in Floof
Timfa2112 Jan 20, 2025
d4bf0ec
Moved Directories as requested
ItsDzordz Jan 20, 2025
00c3022
Move faction selector to Server
Timfa2112 Jan 20, 2025
622aabd
remove networked attributes where they're not neede
Timfa2112 Jan 21, 2025
c30fdf3
remove networked attributes where they're not neede
Timfa2112 Jan 21, 2025
86b17a0
Merge remote-tracking branch 'origin/gladiabot-teams' into gladiabot-…
Timfa2112 Jan 21, 2025
33eb9e4
Update prototype
Timfa2112 Jan 21, 2025
451928d
Merge commit '1b5704535ce42041c068d201cdb447af42004c20' into floof/ch…
Mnemotechnician Jan 21, 2025
50ca0c5
The great Floof Loadout Reorganizing
Mnemotechnician Jan 21, 2025
9ff0a33
Fix events between server and client so the bot changes colour
Timfa2112 Jan 21, 2025
785eb3b
Don't crash when selecting NPC's that don't have the factionselector …
Timfa2112 Jan 21, 2025
e3499c4
Apply suggestions from code review
Timfa2112 Jan 21, 2025
be33714
Apply //Floofstation comments
Timfa2112 Jan 21, 2025
b1a22da
Fix accidentally using an internal constructor that didn't seem to be…
Timfa2112 Jan 21, 2025
776cfe8
Add Batonbot and Disablerbot
Timfa2112 Jan 22, 2025
45ac05a
ensure we're only applying the event on entities with the setter comp…
Timfa2112 Jan 22, 2025
1e1ad4b
Increase price so the bot won't be worth less than its parts dropped
Timfa2112 Jan 22, 2025
ec815a1
Add Fland to PostMapInitTest.cs
Dunrab Jan 22, 2025
f66e820
initial fland map file
Dunrab Jan 22, 2025
5186f78
cargo shuttle for fland
Dunrab Jan 22, 2025
45f3a96
initial job file for fland
Dunrab Jan 22, 2025
1f8a614
add fland to the map pool
Dunrab Jan 22, 2025
8b764d4
Ensure a set faction is relevant to an entity that will change its sp…
Timfa2112 Jan 22, 2025
8489de1
Lower HP a little
Timfa2112 Jan 22, 2025
ed0cc6d
Add the sawn off pka to the vendor
VividPups Jan 22, 2025
a6800e8
Merge pull request #503 from VividPups/sawn-off-pka
FoxxoTrystan Jan 23, 2025
6f6e89c
Automatic Changelog Update (#503)
Floof-Station-Bot Jan 23, 2025
2a1453d
added psych job slot
Dunrab Jan 23, 2025
9d15fb5
added more missing things
Dunrab Jan 23, 2025
9f9f9a7
updated flands cargo shuttle
Dunrab Jan 23, 2025
9d518ab
a few more minor changes
Dunrab Jan 23, 2025
73e714b
make perma better
Dunrab Jan 23, 2025
1056872
uplink
VividPups Jan 24, 2025
5390610
Update Resources/Prototypes/Catalog/uplink_catalog.yml
VividPups Jan 24, 2025
22c6a59
Merge pull request #504 from VividPups/Singo
FoxxoTrystan Jan 24, 2025
eaf65b2
Automatic Changelog Update (#504)
Floof-Station-Bot Jan 24, 2025
a2c2da8
Merge pull request #492 from fenndragon/ERT-mothroach
FoxxoTrystan Jan 24, 2025
7df34b1
Merge pull request #496 from fenndragon/Warden
FoxxoTrystan Jan 24, 2025
29d1538
Automatic Changelog Update (#492)
Floof-Station-Bot Jan 24, 2025
44fb0dc
Automatic Changelog Update (#496)
Floof-Station-Bot Jan 24, 2025
55dacf3
Merge pull request #498 from ItsDzordz/long_Maid_outfit
FoxxoTrystan Jan 24, 2025
51bf7f1
Merge pull request #500 from Timfa2112/gladiabot-teams
FoxxoTrystan Jan 24, 2025
f3654a4
Merge branch 'master' into batonbot-disablerbot
FoxxoTrystan Jan 24, 2025
487cc62
Automatic Changelog Update (#498)
Floof-Station-Bot Jan 24, 2025
b59b3da
Automatic Changelog Update (#500)
Floof-Station-Bot Jan 24, 2025
3817c08
Merge pull request #501 from Timfa2112/batonbot-disablerbot
FoxxoTrystan Jan 24, 2025
6ff29d0
Automatic Changelog Update (#501)
Floof-Station-Bot Jan 24, 2025
1c57957
Merge commit '9798f5363135cbe71479d0a14cf3215d01ed28f0' into floof/ch…
Mnemotechnician Jan 24, 2025
330ac06
Merge commit '09d59007d4c55ee9f7daa0f56cae672c51951843' into floof/ch…
Mnemotechnician Jan 24, 2025
0ad849a
Loadouts V4 (#1164)
DEATHB4DEFEAT Nov 25, 2024
30011dc
Fix captains loadouts
Mnemotechnician Jan 24, 2025
c912677
Fix random humanoids
Mnemotechnician Jan 24, 2025
a3147b8
Revert "Fix Power Attacks Being Faster Than Left Clicks (#1252)"
Mnemotechnician Jan 24, 2025
74fbe5e
Add a notice regarding the EE#1252 reverted PR
Mnemotechnician Jan 24, 2025
ba7b8c5
Revert "Loadouts V4 (#1164)"
Mnemotechnician Jan 24, 2025
158f02d
CCO & CCS Update
JenreyDominos Jan 25, 2025
ec85dd6
Merge branch 'Fansana:master' into master
JenreyDominos Jan 25, 2025
55034c8
request
VividPups Jan 25, 2025
387ded1
Changed category of arachnid apendeges and moth wings to wings
ItsDzordz Jan 25, 2025
009a6cc
Changed marking type for harpy wings to wings from Rarm
ItsDzordz Jan 25, 2025
af00636
Merge pull request #507 from VividPups/girlfailure
Fansana Jan 25, 2025
ab1b00d
Merge pull request #494 from WhiteLightningTwister/saltern-rework
Fansana Jan 25, 2025
50fdc9b
rubber and visiual
VividPups Jan 26, 2025
dcff5e2
tweak things
VividPups Jan 26, 2025
31afdef
add plushie to the prize
VividPups Jan 26, 2025
23f78c6
It's Civilian, not Service, duh
Mnemotechnician Jan 26, 2025
86ca179
Xeno and PKA tweaks
Mnemotechnician Jan 26, 2025
aeb6a3d
Merge pull request #513 from VividPups/adds-the-wedding-dress-and-the…
FoxxoTrystan Jan 26, 2025
886a9f2
fixes changes
FoxxoTrystan Jan 26, 2025
f62bdec
Mood and wagging tweaks
Mnemotechnician Jan 26, 2025
b1910b6
Cryptobiolin fix
Mnemotechnician Jan 26, 2025
80f7ad5
Merge pull request #417 from ItsDzordz/Slime-Marking+
FoxxoTrystan Jan 26, 2025
96bd0a1
Merge pull request #497 from FoxxoTrystan/hypno-visor
FoxxoTrystan Jan 26, 2025
d3bdece
Submarine and arena rework (#510)
Dunrab Jan 26, 2025
cafd4d7
Pseudo-inventory fixes
Mnemotechnician Jan 26, 2025
3586311
Vending machine repairability
Mnemotechnician Jan 26, 2025
fa82dbd
Typos
Mnemotechnician Jan 26, 2025
212786b
Merge branch 'master' of https://github.com/Fansana/floofstation1 int…
Mnemotechnician Jan 26, 2025
b20d5c0
Oops. Seems like #510 actually forgot to add Anomaly spawn points to …
Mnemotechnician Jan 26, 2025
5172ab1
Fix default humanoid profile not loading the default species appearence
Mnemotechnician Jan 26, 2025
58c6428
Merge branch 'master' of https://github.com/Fansana/floofstation1 int…
Mnemotechnician Jan 26, 2025
2475aab
Update README.md
Fansana Jan 26, 2025
477343f
Disable prtitlecase for the time being
Mnemotechnician Jan 27, 2025
eb8aaca
rules.yml
fenndragon Jan 29, 2025
bc9da3e
Create FloofstationCoreRules.xml
fenndragon Jan 29, 2025
02972de
Create RuleC0.xml
fenndragon Jan 29, 2025
c2e9f39
Add files via upload
fenndragon Jan 29, 2025
f4b47e3
Merge branch 'master' into rules
FoxxoTrystan Jan 30, 2025
9d3775d
Merge branch 'Fansana:master' into adding-nonlethal-prefill-mags-
VividPups Jan 30, 2025
e790858
Add a shark tell to the lizard
VividPups Jan 30, 2025
83f70ba
Merge pull request #518 from fenndragon/rules
FoxxoTrystan Jan 30, 2025
c7e8a85
Update CCO1362.yml
JenreyDominos Jan 30, 2025
e2e0472
Merge pull request #519 from VividPups/Shark-Tail
FoxxoTrystan Jan 30, 2025
7331ce2
Merge pull request #515 from Mnemotechnician/floof/fix/minor-fixes
FoxxoTrystan Jan 31, 2025
6a34130
Fixed moth wings
ItsDzordz Feb 1, 2025
9676430
Merge pull request #522 from ItsDzordz/Moth-Wings-QuickFix
Fansana Feb 2, 2025
e6e3087
Merge pull request #505 from Mnemotechnician/floof/cherrypick/ee-2024…
FoxxoTrystan Feb 2, 2025
b23443a
Merge pull request #506 from JenreyDominos/CCO-&-CCS-Update
FoxxoTrystan Feb 2, 2025
1772f21
Merge pull request #512 from VividPups/adding-nonlethal-prefill-mags-
FoxxoTrystan Feb 2, 2025
f88539d
Merge pull request #502 from Dunrab/map-addition-fland
FoxxoTrystan Feb 2, 2025
21ae42d
Update default.yml
FoxxoTrystan Feb 2, 2025
758306f
conflict bullshit
FoxxoTrystan Feb 2, 2025
797b590
gone
FoxxoTrystan Feb 2, 2025
1071293
Train Pool
FoxxoTrystan Feb 2, 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
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/prtitlecase.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: PR Title Case
on:
pull_request_target:
types: [opened, edited, synchronize]
on: [] # Disabled for the time being.
# pull_request_target:
# types: [opened, edited, synchronize]

env:
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion Content.Client/Alerts/ClientAlertsSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ private void OnPlayerDetached(EntityUid uid, AlertsComponent component, LocalPla
ClearAlerts?.Invoke(this, EventArgs.Empty);
}

public void AlertClicked(AlertType alertType)
public void AlertClicked(ProtoId<AlertPrototype> alertType)
{
RaiseNetworkEvent(new ClickAlertEvent(alertType));
}
Expand Down
6 changes: 5 additions & 1 deletion Content.Client/Audio/AmbientSoundSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,11 @@ private void ProcessNearbyAmbience(TransformComponent playerXform)
.WithMaxDistance(comp.Range);

var stream = _audio.PlayEntity(comp.Sound, Filter.Local(), uid, false, audioParams);
_playingSounds[comp] = (stream.Value.Entity, comp.Sound, key);

if (stream == null)
continue;

_playingSounds[comp] = (stream!.Value.Entity, comp.Sound, key);
playingCount++;

if (_playingSounds.Count >= _maxAmbientCount)
Expand Down
4 changes: 2 additions & 2 deletions Content.Client/Audio/ClientGlobalSoundSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ private void PlayAdminSound(AdminSoundEvent soundEvent)
if(!_adminAudioEnabled) return;

var stream = _audio.PlayGlobal(soundEvent.Filename, Filter.Local(), false, soundEvent.AudioParams);
_adminAudio.Add(stream.Value.Entity);
_adminAudio.Add(stream!.Value.Entity);
}

private void PlayStationEventMusic(StationEventMusicEvent soundEvent)
Expand All @@ -76,7 +76,7 @@ private void PlayStationEventMusic(StationEventMusicEvent soundEvent)
if(!_eventAudioEnabled || _eventAudio.ContainsKey(soundEvent.Type)) return;

var stream = _audio.PlayGlobal(soundEvent.Filename, Filter.Local(), false, soundEvent.AudioParams);
_eventAudio.Add(soundEvent.Type, stream.Value.Entity);
_eventAudio.Add(soundEvent.Type, stream!.Value.Entity);
}

private void PlayGameSound(GameGlobalSoundEvent soundEvent)
Expand Down
2 changes: 1 addition & 1 deletion Content.Client/Audio/ContentAudioSystem.AmbientMusic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ private void UpdateAmbientMusic()
track.ToString(),
Filter.Local(),
false,
AudioParams.Default.WithVolume(_musicProto.Sound.Params.Volume + _volumeSlider));
AudioParams.Default.WithVolume(_musicProto.Sound.Params.Volume + _volumeSlider))!;

_ambientMusicStream = strim.Value.Entity;

Expand Down
6 changes: 5 additions & 1 deletion Content.Client/Audio/ContentAudioSystem.LobbyMusic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,11 @@ private void PlaySoundtrack(string soundtrackFilename)
false,
_lobbySoundtrackParams.WithVolume(_lobbySoundtrackParams.Volume + SharedAudioSystem.GainToVolume(_configManager.GetCVar(CCVars.LobbyMusicVolume)))
);
if (playResult.Value.Entity == default)

if (playResult == null)
return;

if (playResult!.Value.Entity == default)
{
_sawmill.Warning(
$"Tried to play lobby soundtrack '{{Filename}}' using {nameof(SharedAudioSystem)}.{nameof(SharedAudioSystem.PlayGlobal)} but it returned default value of EntityUid!",
Expand Down
3 changes: 3 additions & 0 deletions Content.Client/Body/Components/BrainComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
namespace Content.Client.Body.Components;
[RegisterComponent]
public sealed partial class BrainComponent : Component { }
3 changes: 3 additions & 0 deletions Content.Client/Body/Components/LungComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
namespace Content.Client.Body.Components;
[RegisterComponent]
public sealed partial class LungComponent : Component { }
3 changes: 3 additions & 0 deletions Content.Client/Body/Components/StomachComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
namespace Content.Client.Body.Components;
[RegisterComponent]
public sealed partial class StomachComponent : Component { }
65 changes: 65 additions & 0 deletions Content.Client/Body/Systems/BodySystem.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,72 @@
using Content.Shared.Body.Systems;
using Content.Shared.Body.Part;
using Content.Shared.Humanoid;
using Content.Shared.Humanoid.Markings;
using Robust.Client.GameObjects;
using Robust.Shared.Utility;
using Content.Shared.Body.Components;

namespace Content.Client.Body.Systems;

public sealed class BodySystem : SharedBodySystem
{
[Dependency] private readonly MarkingManager _markingManager = default!;

private void ApplyMarkingToPart(MarkingPrototype markingPrototype,
IReadOnlyList<Color>? colors,
bool visible,
SpriteComponent sprite)
{
for (var j = 0; j < markingPrototype.Sprites.Count; j++)
{
var markingSprite = markingPrototype.Sprites[j];

if (markingSprite is not SpriteSpecifier.Rsi rsi)
continue;

var layerId = $"{markingPrototype.ID}-{rsi.RsiState}";

if (!sprite.LayerMapTryGet(layerId, out _))
{
var layer = sprite.AddLayer(markingSprite, j + 1);
sprite.LayerMapSet(layerId, layer);
sprite.LayerSetSprite(layerId, rsi);
}

sprite.LayerSetVisible(layerId, visible);

if (!visible)
continue;

// Okay so if the marking prototype is modified but we load old marking data this may no longer be valid
// and we need to check the index is correct. So if that happens just default to white?
if (colors != null && j < colors.Count)
sprite.LayerSetColor(layerId, colors[j]);
else
sprite.LayerSetColor(layerId, Color.White);
}
}

protected override void ApplyPartMarkings(EntityUid target, BodyPartAppearanceComponent component)
{
if (!TryComp(target, out SpriteComponent? sprite))
return;

if (component.Color != null)
sprite.Color = component.Color.Value;

foreach (var (visualLayer, markingList) in component.Markings)
foreach (var marking in markingList)
{
if (!_markingManager.TryGetMarking(marking, out var markingPrototype))
continue;

ApplyMarkingToPart(markingPrototype, marking.MarkingColors, marking.Visible, sprite);
}
}

protected override void RemoveBodyMarkings(EntityUid target, BodyPartAppearanceComponent partAppearance, HumanoidAppearanceComponent bodyAppearance)
{
return;
}
}
81 changes: 61 additions & 20 deletions Content.Client/Buckle/BuckleSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using Content.Shared.Buckle.Components;
using Content.Shared.Rotation;
using Robust.Client.GameObjects;
using Robust.Shared.GameStates;

namespace Content.Client.Buckle;

Expand All @@ -14,37 +15,77 @@ public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<BuckleComponent, AfterAutoHandleStateEvent>(OnBuckleAfterAutoHandleState);
SubscribeLocalEvent<BuckleComponent, AppearanceChangeEvent>(OnAppearanceChange);
SubscribeLocalEvent<StrapComponent, MoveEvent>(OnStrapMoveEvent);
SubscribeLocalEvent<BuckleComponent, BuckledEvent>(OnBuckledEvent);
SubscribeLocalEvent<BuckleComponent, UnbuckledEvent>(OnUnbuckledEvent);
}

private void OnBuckleAfterAutoHandleState(EntityUid uid, BuckleComponent component, ref AfterAutoHandleStateEvent args)
/// <summary>
/// Is the strap entity already rotated north? Lower the draw depth of the buckled entity.
/// </summary>
private void OnBuckledEvent(Entity<BuckleComponent> ent, ref BuckledEvent args)
{
ActionBlocker.UpdateCanMove(uid);

if (!TryComp<SpriteComponent>(uid, out var ownerSprite))
if (!TryComp<SpriteComponent>(args.Strap, out var strapSprite) ||
!TryComp<SpriteComponent>(ent.Owner, out var buckledSprite))
return;

// Adjust draw depth when the chair faces north so that the seat back is drawn over the player.
// Reset the draw depth when rotated in any other direction.
// TODO when ECSing, make this a visualizer
// This code was written before rotatable viewports were introduced, so hard-coding Direction.North
// and comparing it against LocalRotation now breaks this in other rotations. This is a FIXME, but
// better to get it working for most people before we look at a more permanent solution.
if (component is { Buckled: true, LastEntityBuckledTo: { } } &&
Transform(component.LastEntityBuckledTo.Value).LocalRotation.GetCardinalDir() == Direction.North &&
TryComp<SpriteComponent>(component.LastEntityBuckledTo, out var buckledSprite))
if (Transform(args.Strap.Owner).LocalRotation.GetCardinalDir() == Direction.North)
{
component.OriginalDrawDepth ??= ownerSprite.DrawDepth;
ownerSprite.DrawDepth = buckledSprite.DrawDepth - 1;
ent.Comp.OriginalDrawDepth ??= buckledSprite.DrawDepth;
buckledSprite.DrawDepth = strapSprite.DrawDepth - 1;
}
}

/// <summary>
/// Was the draw depth of the buckled entity lowered? Reset it upon unbuckling.
/// </summary>
private void OnUnbuckledEvent(Entity<BuckleComponent> ent, ref UnbuckledEvent args)
{
if (!TryComp<SpriteComponent>(ent.Owner, out var buckledSprite))
return;

if (ent.Comp.OriginalDrawDepth.HasValue)
{
buckledSprite.DrawDepth = ent.Comp.OriginalDrawDepth.Value;
ent.Comp.OriginalDrawDepth = null;
}
}

// If here, we're not turning north and should restore the saved draw depth.
if (component.OriginalDrawDepth.HasValue)
private void OnStrapMoveEvent(EntityUid uid, StrapComponent component, ref MoveEvent args)
{
// I'm moving this to the client-side system, but for the sake of posterity let's keep this comment:
// > This is mega cursed. Please somebody save me from Mr Buckle's wild ride

// The nice thing is its still true, this is quite cursed, though maybe not omega cursed anymore.
// This code is garbage, it doesn't work with rotated viewports. I need to finally get around to reworking
// sprite rendering for entity layers & direction dependent sorting.

if (args.NewRotation == args.OldRotation)
return;

if (!TryComp<SpriteComponent>(uid, out var strapSprite))
return;

var isNorth = Transform(uid).LocalRotation.GetCardinalDir() == Direction.North;
foreach (var buckledEntity in component.BuckledEntities)
{
ownerSprite.DrawDepth = component.OriginalDrawDepth.Value;
component.OriginalDrawDepth = null;
if (!TryComp<BuckleComponent>(buckledEntity, out var buckle))
continue;

if (!TryComp<SpriteComponent>(buckledEntity, out var buckledSprite))
continue;

if (isNorth)
{
buckle.OriginalDrawDepth ??= buckledSprite.DrawDepth;
buckledSprite.DrawDepth = strapSprite.DrawDepth - 1;
}
else if (buckle.OriginalDrawDepth.HasValue)
{
buckledSprite.DrawDepth = buckle.OriginalDrawDepth.Value;
buckle.OriginalDrawDepth = null;
}
}
}

Expand Down
Loading
Loading