Skip to content
This repository has been archived by the owner on Oct 23, 2024. It is now read-only.

Commit

Permalink
Merge 05/20 (#138)
Browse files Browse the repository at this point in the history
* fuck em drones (space-wizards#7931)

* Automatic changelog update

* Kitchen supplies crate (space-wizards#8022)

* Automatic changelog update

* Rework climbing (space-wizards#7706)

* Fix popup deletion raycasts (space-wizards#8072)

* Fix popup deletion raycasts

* woops

* Allow do_afters to be spammed (space-wizards#8074)

* Atmos high pressure movements cleanup (space-wizards#8075)

* Fixes LINDA and monstermos clashing over high pressure difference direction

* Fix space wind CVar not disabling space wind entirely.

* Change 1 (one) variable name

* Fix pressure direction not being reset after high pressure movements happen. (space-wizards#8078)

* New high pressure movement algorithm (space-wizards#8086)

Co-authored-by: Tomeno <[email protected]>

* Adds last pressure direction to atmos debug overlay. (space-wizards#8083)

* Automatic changelog update

* StationSystem/jobs/partial spawning refactor (space-wizards#7580)

* Partial work on StationSystem refactor.

* WIP station jobs API.

* forgor to fire off grid events.

* Partial implementation of StationSpawningSystem

* whoops infinite loop.

* Spawners should work now.

* it compiles.

* tfw

* Vestigial code cleanup.

* fix station deletion.

* attempt to make tests go brr

* add latejoin spawnpoints to test maps.

* make sure the station still exists while destructing spawners.

* forgot an exists check.

* destruction order check.

* hopefully fix final test.

* fail-safe radstorm.

* Deep-clean job code further. This is bugged!!!!!

* Fix job bug. (init order moment)

* whooo cleanup

* New job selection algorithm that tries to distribute fairly across stations.

* small nitpicks

* Give the heads their weights to replace the head field.

* make overflow assign take a station list.

* moment

* Fixes and test #1 of many.

* please fix nullspace

* AssignJobs should no longer even consider showing up on a trace.

* add comment.

* Introduce station configs, praying i didn't miss something.

* in one small change stations are now fully serializable.

* Further doc comments.

* whoops.

* Solve bug where assignjobs didn't account for roundstart.

* Fix spawning, improve the API.
Caught an oversight in stationsystem that should've broke everything but didn't, whoops.

* Goodbye JobController.

* minor fix..

* fix test fail, remove debug logs.

* quick serialization fixes.

* fixes..

* sus

* partialing

* Update Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs

Co-authored-by: Kara <[email protected]>

* Use dirtying to avoid rebuilding the list 2,100 times.

* add a bajillion more lines of docs (mostly in AssignJobs so i don't ever forget how it works)

* Update Content.IntegrationTests/Tests/Station/StationJobsTest.cs

Co-authored-by: Kara <[email protected]>

* Add the Mysteriously Missing Captain Check.

* Put maprender back the way it belongs.

* I love addressing reviews.

* Update Content.Server/Station/Systems/StationJobsSystem.cs

Co-authored-by: Kara <[email protected]>

* doc cleanup.

* Fix bureaucratic error, add job slot tests.

* zero cost abstractions when

* cri

* saner error.

* Fix spawning failing certain tests due to gameticker not handling falliability correctly.
Can't fix this until I refactor the rest of spawning code.

* submodule gaming

* Packedenger.

* Documentation consistency.

Co-authored-by: Kara <[email protected]>

* I successfully broke the game.

* How the fuck did none of this turn up in local testing :stare:

* HOTFIX DOWNLOADS BEING BROKEN AGAIN.

* fix the fact I sent a bunch of maps to detroit. (space-wizards#8087)

* Don't play landing sounds in space (space-wizards#8085)

* Rework CollisionGroups (space-wizards#7656)

* Replace Mob, Vault, and Small impassable with Mid, High, Low

* Remove CollisionGroup.Underplating

* Remove CollisionGroup.Passable

* Fix constructed APCs not being interactable

* Change firelocks to occlude

* Make pipe inherit from BaseItem

* Clean up pipes

* Remove duplicate physics and fixtures from bucket

* Rework CollisionGroups on all entities

* Add SlipLayer

* Remove fixture from delta

* Fix maps

* Address reviews

* Add SubfloorMask

* Fix glass collisions for flying mobs

* Fix maps

* Update new items

* Fix bagel again

* Fix slug

* Fix maps

* Touchups

* Fix tables blocking high pressure movement

* Update StandingState to allow going under flaps

* Cleanup

* More formatting

* Pull split from rotation due to mapping issues.

* Changs chinese food vending machine (space-wizards#7754)

* new chinese food items from paradise

* made soy sauce salty

* new snacks based on the new assets

* chang assets 1

* chang vending machine

* rsi animation and fix

* rsi path fix

* misc changes

* fortune cookie snacks complete with fortunes

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml

Co-authored-by: ShadowCommander <[email protected]>

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml

darn Americans

Co-authored-by: ShadowCommander <[email protected]>

Co-authored-by: ShadowCommander <[email protected]>

* Automatic changelog update

* Update submodule

* Adjust EnteringRange for EntityStorage (space-wizards#8099)

* Buffed Dex+ and Stellibinin (space-wizards#8090)

* Improves the smoking experience (space-wizards#8089)

Co-authored-by: ike709 <[email protected]>

* Add listgamemaps command (space-wizards#8093)

* Automatic changelog update

* paintings 1 (space-wizards#8067)

* Automatic changelog update

* Singlehandedly saved the entire project [praise] (space-wizards#8109)

* Delete windowsXP_error.ogg

* Delete windowsXP_shutdown.ogg

* Delete windowsXP_startup.ogg

* Collisiongroup tweaks (space-wizards#8110)

* Automatic changelog update

* Hugging yourself no longer allowed (space-wizards#8103)

!1984.

I want to hug the other person damnit.

* Automatic changelog update

* Remove the nose off the ghost (space-wizards#8076)

* Add external programs to rules (space-wizards#8108)

* Make CarpetChapel not collide (space-wizards#8112)

* Automatic changelog update

* Censor Slimes (space-wizards#8101)

* SlowOnDamage for mobs. Removes pulling from some mobs. (space-wizards#7824)

* SlowOnDamage for all mobs now not just humans

* removes puller from basesimplemob

* adds pulling back to xeno, pets and some animals

* Automatic changelog update

* Allows pickuppable animals to resist out of inventory (space-wizards#7545)

Co-authored-by: ShadowCommander <[email protected]>

* Automatic changelog update

* Machine Port Prototypes (space-wizards#7659)

Co-authored-by: metalgearsloth <[email protected]>

* Adds suppermatter (space-wizards#7633)

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Cargo telepad machine linking (space-wizards#7756)

Co-authored-by: metalgearsloth <[email protected]>

* Salami Lid (space-wizards#7813)

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Adds cat ears as rare loot and traitor item (space-wizards#6939)

* adds cat ears that give uwu accent

* error

* Updated to 20tc

Web edit yoink

* 21 TC now

* Automatic changelog update

* Pie transfer reagent on collision (space-wizards#7802)

Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Reagents localization (space-wizards#7916)

Co-authored-by: metalgearsloth <[email protected]>

* Atlas Station Component (space-wizards#8094)

Co-authored-by: ShadowCommander <[email protected]>

* Bagel Station Component  (space-wizards#8095)

* Add files via upload

* Update bagel.yml

* Remove extra fixtures

Co-authored-by: ShadowCommander <[email protected]>

* Marathon Station Component (space-wizards#8097)

Co-authored-by: ShadowCommander <[email protected]>

* Moose Station Component (space-wizards#8098)

Co-authored-by: ShadowCommander <[email protected]>

* Saltern Small Update 3.2 (space-wizards#8100)

Co-authored-by: ShadowCommander <[email protected]>

* Remove misc Startup/Shutdown overrides (space-wizards#8113)

Co-authored-by: ike709 <[email protected]>

* Fish Cap (space-wizards#8046)

* Add files via upload

* Update hats.yml

* Update clothesmate.yml

* Show ghosts popups etc through walls (space-wizards#8077)

* Show ghosts popups etc through walls

* Stage moment

* crashes

* Convert suicide to ecs (space-wizards#8091)

Co-authored-by: metalgearsloth <[email protected]>

* Added the recipes and tech for several non lethal bullet (space-wizards#8079)

* Automatic changelog update

* Expanded icon smoothing conversion scripts (space-wizards#8055)

* Expanded icon smoothing conversion scripts

* hotfix `iconsmooth_inv.py` b/c of table weirdness

* Syndie Commander and Syndie Elite Armors (space-wizards#8003)

Co-authored-by: metalgearsloth <[email protected]>

* GatherableSystem/Component (space-wizards#8041)

Co-authored-by: metalgearsloth <[email protected]>

* Add power sinks (space-wizards#8020)

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Delta Fixed, Reuploaded Again (space-wizards#8105)

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* filing collision + outline fix (space-wizards#8122)

* Barratry Update (space-wizards#8118)

* Automatic changelog update

* fix fish hat (space-wizards#8123)

* Suicide2 (space-wizards#8117)

* Fix toilet suicide

* Fix ghost ghosting

* Clean suicide system

* The Newest Furry Race [Skeletons] (space-wizards#7825)

Co-authored-by: Moony <[email protected]>
Co-authored-by: Kara <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Optionally deserialize `AudioParams` in `SoundSpecifier` (space-wizards#8065)

* Lizard name datasets (space-wizards#7890)

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Don't force bwoink window open for admins (space-wizards#8066)

* Powercell adjustment (space-wizards#7828)

Co-authored-by: Kara <[email protected]>

* Automatic changelog update

* Shuttle Assembly Crate (space-wizards#7898)

* Automatic changelog update

* Round end audio (space-wizards#8048)

* Automatic changelog update

* Laser gun bugfix & damage adjustment (space-wizards#8069)

* fix elite suit (space-wizards#8127)

* Update submodule

* Skeleton Sprite Fix (space-wizards#8126)

* Automatic changelog update

* Legally distinct gravity gun (space-wizards#8114)

* Escalation rules (space-wizards#8128)

* Escalation rules

* a

* Added the TechFabCircuitboards and made them spawn in the head's lockers (space-wizards#8124)

* Stripping ECS + window do_after (space-wizards#8111)

* Stripping ECS + window do_after

* stuff

* workies

* Delays

* Automatic changelog update

* Move disarmed event (space-wizards#8130)

* Fixing warnings (space-wizards#8131)

* Cleanup the namespaces (space-wizards#8132)

* Tether gun fixes (space-wizards#8129)

* Salvage mob restrictions (space-wizards#8080)

* unbork (space-wizards#8139)

* Add files via upload (space-wizards#8142)

* Flavor text (space-wizards#8070)

* Automatic changelog update

* It's a waffle home. [New Salvage] (space-wizards#7991)

* Skeleton Bugfix Pt. 2 (space-wizards#8137)

* Automatic changelog update

* Fix interaction and add comments to CollisionGroup (space-wizards#8149)

* Automatic changelog update

* Eye lerping on entities (space-wizards#8151)

* eye lerping on entities

* small improvements

* Splitstation update and fixes (space-wizards#8141)

* Entities gib when being microwaved (space-wizards#8144)

* Airlocks now trap air in their tile. (space-wizards#8136)

* Automatic changelog update

* Update for grid API changes (space-wizards#8152)

* Update submodule

* Update submodule

Forgot I had breaking changes

* Map-disablable pumps (for fixing Delta) (space-wizards#8164)

* Make Lobby Background Not Stretch (space-wizards#8166)

* Fix IsBlockedTurf throwing when entities do not have a PhysicsComponent (space-wizards#8170)

* Automatic changelog update

* Asteroid buff (space-wizards#8167)

* adds a 5 heat flatreduction to metallic damage modifier

* buffs asteroid health by 50 and sets damage modifer set to metallic

* Automatic changelog update

* Don't log chat messages (space-wizards#8162)

Threshold set to info instead. The actual logging is in the xaml itself for reasons but I didn't want to use a sawmill for it to avoid interfering with hud refactor any more.

* Harmbaton rework + remove `MeleeInteractEvent` (space-wizards#8157)

* Automatic changelog update

* Submodule Update (space-wizards#8187)

* Revert "Revert "Make mapping use consistent Entity Uids (space-wizards#7625)" (space-wizards#7650)" (space-wizards#8186)

This reverts commit 0957606.

* Fix climbing out of CloningPod and MedicalScanner (space-wizards#8191)

* Fix climbing out of CloningPod and MedicalScanner

* Fix mask

* Fix test

* Automatic changelog update

* Don't log out of PVS chat messages (space-wizards#8195)

* ECS icon smoothing (space-wizards#8196)

* Pathfinder hotfixes (space-wizards#8201)

* Update submodule

* Target outline opts (space-wizards#8200)

* Restart vote is now actually passable (space-wizards#8194)

* Automatic changelog update

* Visualizer systems update (space-wizards#8203)

* optimize appearance updating for subfloor entities

* sprite event args

* a

* stop double appearance update.

* Fix chatbox crash (space-wizards#8204)

* Remove esword unneeded property

* Don't allow adminfrozen entities to be pulled (space-wizards#8205)

* Fix playglobalsound volume (space-wizards#8208)

* Update issue template (space-wizards#8218)

* Update patrons.

About time jesus.

* Update GitHub credits

* Unify ignore/replacement lists for the two contrib ps1 scripts.

* Cleaning device net system (space-wizards#8153)

* Add Light Replacer to the Janibelt whitelist (space-wizards#8222)

* Automatic changelog update

* Update submodule

* More dynamic melee sounds (space-wizards#8207)

* Automatic changelog update

* Reduce lighter size (space-wizards#8229)

Co-authored-by: ike709 <[email protected]>

* Automatic changelog update

* Minor lobby fixes (space-wizards#8227)

Co-authored-by: ike709 <[email protected]>

* Fix bomb suit desc (space-wizards#8232)

* Typing indicator (typing chat bubble) (space-wizards#8215)

* Fix cream pie crash due to client deletion (space-wizards#8234)

* Automatic changelog update

* Make combat feel 100x better with this one simple trick (space-wizards#8231)

* Automatic changelog update

* Fix toggle subfloor (space-wizards#8225)

* Don't show sandbox in vote menu (space-wizards#8220)

* Automatic changelog update

* Underplating, go away (space-wizards#8138)

* New announcement chime

* Automatic changelog update

* Fix thrown items colliding with non-hard entities (space-wizards#8243)

* Fix pies colliding with non-hard(puddles)

* Fix thrown items colliding with tables

* Automatic changelog update

* Render small mobs at an appropriate layer (space-wizards#8238)

* Automatic changelog update

* Make anchorable not spammable (space-wizards#8202)

* weh

* Make anchorable not spammable

* Console completions (content side) (space-wizards#8211)

* Automatic changelog update

* Cleanup WeightlessSystem (space-wizards#8193)

* Gas Tank dispenser (space-wizards#8160)

* Automatic changelog update

* Funny red spacemen (nukeops) (space-wizards#8073)

Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>

* Cleaning up lighting prototypes (space-wizards#8217)

Co-authored-by: metalgearsloth <[email protected]>

* Polymorphs and Transformation (space-wizards#8185)

* Station alert levels (space-wizards#8226)

* Automatic changelog update

* Kick mines (real) (space-wizards#8056)

Co-authored-by: metalgearsloth <[email protected]>

* Adds space ambience (space-wizards#8096)

* Adds space ambience

* handle that better

* Update Content.Client/Audio/BackgroundAudioSystem.cs

Co-authored-by: wrexbe <[email protected]>

* Update Content.Client/Audio/BackgroundAudioSystem.cs

Co-authored-by: wrexbe <[email protected]>

Co-authored-by: ike709 <[email protected]>
Co-authored-by: wrexbe <[email protected]>

* Automatic changelog update

* Prevent pathfinding crash (space-wizards#8251)

* Remove bangin' donk (space-wizards#8249)

* Remove bangin' donk

* Remove bangin donk from announcements.yml

Co-authored-by: wrexbe <[email protected]>

* Automatic changelog update

* Reset ghost rotation to zero on follow (space-wizards#8256)

* Automatic changelog update

* Disable nukies (space-wizards#8253)

Co-authored-by: Moony <[email protected]>

* syndi commander hardsuit 1 character fix (space-wizards#8258)

* Funny dog mug (space-wizards#8224)

* Bagel Update 13.2 (space-wizards#8254)

* Automatic changelog update

* Completely remaps Delta's security department. (space-wizards#8223)

* Automatic changelog update

* Make nukies usable (space-wizards#8257)

* Make nukies usable

- Spawn points that work
- Radar default range bumped up
- Used the infiltrator instead
- Spawning works
I playtested it and it was working so anything new pops up then I'm gonna screm.

* a

* Automatic changelog update

* Lots of pathfinder bugfixes (space-wizards#8248)

* Update submodule

* More Coats (space-wizards#7939)

* Fix hard hat lights (space-wizards#8265)

* Removed the ability for flying mobs to pass through airlocks (space-wizards#8236)

* Removed the ability for flying mobs to pass through airlocks

* Adjusted the interaction of FlyingMob to Doors

Essentially removed the GlassAirlockLayer from the impassible group and instead added the HighImpassble group to the FlyingMobMask

* Automatic changelog update

* Make Corgi Spawner spawn Ian Instead (space-wizards#8235)

* High Security Door (space-wizards#8148)

* Add files via upload

* Update layouts.yml

* Add files via upload

* Update highsec.yml

* Update highsec.yml

* Update highsec.yml

* Update meta.json

* Update meta.json

* Add files via upload

* Delete panel_closed.png

* Update meta.json

* Update meta.json

* Update meta.json

* Update layouts.yml

* Fix popups appearing at 0,0 (space-wizards#8221)

Co-authored-by: metalgearsloth <[email protected]>

* Useful bowls (space-wizards#8266)

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Setgamepreset tweaks (space-wizards#8260)

* Electronics Crate (space-wizards#8183)

Co-authored-by: metalgearsloth <[email protected]>

* Automatic changelog update

* Fix PoweredLightPostSmall visualizer (space-wizards#8271)

* Secret! (space-wizards#8276)

Co-authored-by: moonheart08 <[email protected]>

* Automatic changelog update

* Pulls Traitor and Nuclear Operative from rotation in favor of Secret.

* Laser nerf attempt (space-wizards#8280)

* Automatic changelog update

* Fix bug space-wizards#8284 (space-wizards#8286)

Cargo telepads should have collision when anchored

* Automatic changelog update

* Integration tests no longer have artificial SQLite delays. (space-wizards#8289)

Should hopefully fix DEBUG tests.

* Add files via upload (space-wizards#8282)

* Two small bugfixes (space-wizards#8285)

* Automatic changelog update

* HOTFIX DOWNLOADS BEING BROKEN AGAIN AGAIN

* Fix NukeOps rule not checking for enabled before adding text to the roundend screen. (space-wizards#8291)

* Include nospawn in tests (space-wizards#8293)

* Fix PDA ringtone crash (space-wizards#8299)

* Fixed disabling OOC not disabling the discord relay (space-wizards#8275)

Co-authored-by: ike709 <[email protected]>

* Automatic changelog update

* Fix storage interaction (space-wizards#8290)

* Update submodule

* Fix strippable text var (space-wizards#8302)

* Higher quality flip-flap (space-wizards#8303)

* Automatic changelog update

* adds water and fuel tanks back to cargo (space-wizards#8168)

* Saltern Update 3.3 (space-wizards#8273)

* Automatic changelog update

* Adjusted the medical chem inside the spacemidipen (space-wizards#8192)

* Fix github action test output spam (space-wizards#8316)

* Immovable rod (space-wizards#8306)

* Automatic changelog update

Co-authored-by: Veritius <[email protected]>
Co-authored-by: PJBot <[email protected]>
Co-authored-by: lapatison <[email protected]>
Co-authored-by: Jacob Tong <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: Vera Aguilera Puerto <[email protected]>
Co-authored-by: Tomeno <[email protected]>
Co-authored-by: Tomeno <[email protected]>
Co-authored-by: Moony <[email protected]>
Co-authored-by: Kara <[email protected]>
Co-authored-by: Peptide90 <[email protected]>
Co-authored-by: Chris V <[email protected]>
Co-authored-by: Ripmorld <[email protected]>
Co-authored-by: ike709 <[email protected]>
Co-authored-by: ike709 <[email protected]>
Co-authored-by: wrexbe <[email protected]>
Co-authored-by: EmoGarbage404 <[email protected]>
Co-authored-by: Emisse <[email protected]>
Co-authored-by: keronshb <[email protected]>
Co-authored-by: Leon Friedrich <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: Pieter-Jan Briers <[email protected]>
Co-authored-by: ZeroDayDaemon <[email protected]>
Co-authored-by: Alex Evgrashin <[email protected]>
Co-authored-by: 20kdc <[email protected]>
Co-authored-by: TimrodDX <[email protected]>
Co-authored-by: T-Stalker <[email protected]>
Co-authored-by: youarereadingthis <[email protected]>
Co-authored-by: Flipp Syder <[email protected]>
Co-authored-by: Justin Trotter <[email protected]>
Co-authored-by: themias <[email protected]>
Co-authored-by: efzapa <[email protected]>
Co-authored-by: Paul Ritter <[email protected]>
Co-authored-by: wrexbe <[email protected]>
Co-authored-by: Ian Pike <[email protected]>
Co-authored-by: Abregado <[email protected]>
Co-authored-by: magmodius <[email protected]>
Co-authored-by: Abregado <[email protected]>
Co-authored-by: Morbo <[email protected]>
  • Loading branch information
Show file tree
Hide file tree
Showing 33 changed files with 452 additions and 179 deletions.
18 changes: 9 additions & 9 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,31 +39,31 @@ jobs:
- name: Setup Submodule
run: |
git submodule update --init --recursive
- name: Pull engine updates
uses: space-wizards/[email protected]

- name: Update Engine Submodules
run: |
cd RobustToolbox/
git submodule update --init --recursive
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x

- name: Install dependencies
run: dotnet restore

- name: Build Project
run: dotnet build --configuration Release --no-restore /p:WarningsAsErrors=nullable /m

- name: Run Content.Tests
run: dotnet test --no-build Content.Tests/Content.Tests.csproj -v n
run: dotnet test --no-build Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0

- name: Run Content.IntegrationTests
shell: pwsh
run: |
$env:DOTNET_gcServer=1
dotnet test --no-build Content.IntegrationTests/Content.IntegrationTests.csproj -v n
dotnet test --no-build Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0
1 change: 1 addition & 0 deletions Content.Client/Entry/IgnoredComponents.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ public static class IgnoredComponents
"DiseaseVaccine",
"SophicScribe",
"DiseaseVaccineCreator",
"ImmovableRod",
"DiseaseZombie",
"DiseaseBuildup",
"Carriable",
Expand Down
55 changes: 16 additions & 39 deletions Content.Client/PDA/Ringer/RingerBoundUserInterface.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
using System;
using Content.Client.Message;
using Content.Shared.PDA;
using Content.Shared.PDA.Ringer;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.Localization;
namespace Content.Client.PDA.Ringer
{
[UsedImplicitly]
Expand Down Expand Up @@ -47,17 +43,12 @@ private bool TryGetRingtone(out Note[] ringtone)

ringtone = new Note[4];

if (!Enum.TryParse<Note>(_menu.RingerNoteOneInput.Text.Replace("#", "sharp"), false, out var one)) return false;
ringtone[0] = one;

if (!Enum.TryParse<Note>(_menu.RingerNoteTwoInput.Text.Replace("#", "sharp"), false, out var two)) return false;
ringtone[1] = two;

if (!Enum.TryParse<Note>(_menu.RingerNoteThreeInput.Text.Replace("#", "sharp"), false, out var three)) return false;
ringtone[2] = three;

if (!Enum.TryParse<Note>(_menu.RingerNoteFourInput.Text.Replace("#", "sharp"), false, out var four)) return false;
ringtone[3] = four;
for (int i = 0; i < _menu.RingerNoteInputs.Length; i++)
{
if (!Enum.TryParse<Note>(_menu.RingerNoteInputs[i].Text.Replace("#", "sharp"), false, out var note))
return false;
ringtone[i] = note;
}

return true;
}
Expand All @@ -66,36 +57,22 @@ protected override void UpdateState(BoundUserInterfaceState state)
{
base.UpdateState(state);

if (_menu == null)
{
if (_menu == null || state is not RingerUpdateState msg)
return;
}

switch (state)
for (int i = 0; i < _menu.RingerNoteInputs.Length; i++)
{
case RingerUpdateState msg:
{
var noteOne = msg.Ringtone[0].ToString();
var noteTwo = msg.Ringtone[1].ToString();
var noteThree = msg.Ringtone[2].ToString();
var noteFour = msg.Ringtone[3].ToString();

if (RingtoneMenu.IsNote(noteOne))
_menu.RingerNoteOneInput.Text = noteOne.Replace("sharp", "#");

if (RingtoneMenu.IsNote(noteTwo))
_menu.RingerNoteTwoInput.Text = noteTwo.Replace("sharp", "#");

if (RingtoneMenu.IsNote(noteThree))
_menu.RingerNoteThreeInput.Text = noteThree.Replace("sharp", "#");

if (RingtoneMenu.IsNote(noteFour))
_menu.RingerNoteFourInput.Text = noteFour.Replace("sharp", "#");

_menu.TestRingerButton.Visible = !msg.IsPlaying;
break;
var note = msg.Ringtone[i].ToString();
if (RingtoneMenu.IsNote(note))
{
_menu.PreviousNoteInputs[i] = note.Replace("sharp", "#");
_menu.RingerNoteInputs[i].Text = _menu.PreviousNoteInputs[i];
}

}

_menu.TestRingerButton.Visible = !msg.IsPlaying;
}


Expand Down
4 changes: 2 additions & 2 deletions Content.Client/PDA/Ringer/RingtoneMenu.xaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<SS14Window xmlns="https://spacestation14.io"
<DefaultWindow xmlns="https://spacestation14.io"
Title="{Loc 'comp-ringer-ui-menu-title'}"
MinSize="256 128"
SetSize="256 128">
Expand Down Expand Up @@ -70,4 +70,4 @@
</BoxContainer>
</PanelContainer>
</BoxContainer>
</SS14Window>
</DefaultWindow>
84 changes: 17 additions & 67 deletions Content.Client/PDA/Ringer/RingtoneMenu.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,89 +1,39 @@
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Maths;
using System;
using Content.Client;
using Content.Shared.PDA;
using Robust.Client.UserInterface.Controls;

namespace Content.Client.PDA.Ringer
{
[GenerateTypedNameReferences]
public sealed partial class RingtoneMenu : SS14Window
public sealed partial class RingtoneMenu : DefaultWindow
{
private string[] _previousNoteInputs = new string[4];
public string[] PreviousNoteInputs = new string[] { "A", "A", "A", "A"};
public LineEdit[] RingerNoteInputs = default!;

public RingtoneMenu()
{
RobustXamlLoader.Load(this);

//RingerNoteOneInput
RingerNoteOneInput.OnTextChanged += _ => //Prevents unauthorized characters from being entered into the LineEdit
{
RingerNoteOneInput.Text = RingerNoteOneInput.Text.ToUpper();

if(!IsNote(RingerNoteOneInput.Text))
{
RingerNoteOneInput.Text = _previousNoteInputs[0];
}
else
{
_previousNoteInputs[0] = RingerNoteOneInput.Text;
}

RingerNoteOneInput.CursorPosition = RingerNoteOneInput.Text.Length; //Resets caret position to the end of the typed input
};

//RingerNoteTwoInput
RingerNoteTwoInput.OnTextChanged += _ => //Prevents unauthorized characters from being entered into the LineEdit
{
RingerNoteTwoInput.Text = RingerNoteTwoInput.Text.ToUpper();

if(!IsNote(RingerNoteTwoInput.Text))
{
RingerNoteTwoInput.Text = _previousNoteInputs[1];
}
else
{
_previousNoteInputs[1] = RingerNoteTwoInput.Text;
}

RingerNoteTwoInput.CursorPosition = RingerNoteTwoInput.Text.Length; //Resets caret position to the end of the typed input
};
RingerNoteInputs = new LineEdit[] { RingerNoteOneInput, RingerNoteTwoInput, RingerNoteThreeInput, RingerNoteFourInput };

//RingerNoteThreeInput
RingerNoteThreeInput.OnTextChanged += _ => //Prevents unauthorized characters from being entered into the LineEdit
for (int i = 0; i < RingerNoteInputs.Length; i++)
{
RingerNoteThreeInput.Text = RingerNoteThreeInput.Text.ToUpper();

if(!IsNote(RingerNoteThreeInput.Text))
var input = RingerNoteInputs[i];
int index = i;
input.OnTextChanged += _ => //Prevents unauthorized characters from being entered into the LineEdit
{
RingerNoteThreeInput.Text = _previousNoteInputs[2];
}
else
{
_previousNoteInputs[2] = RingerNoteThreeInput.Text;
}

RingerNoteThreeInput.CursorPosition = RingerNoteThreeInput.Text.Length; //Resets caret position to the end of the typed input
};
input.Text = input.Text.ToUpper();

//RingerNoteFourInput
RingerNoteFourInput.OnTextChanged += _ => //Prevents unauthorized characters from being entered into the LineEdit
{
RingerNoteFourInput.Text = RingerNoteFourInput.Text.ToUpper();

if(!IsNote(RingerNoteFourInput.Text))
{
RingerNoteFourInput.Text = _previousNoteInputs[3];
}
else
{
_previousNoteInputs[3] = RingerNoteFourInput.Text;
}
if (!IsNote(input.Text))
input.Text = PreviousNoteInputs[index];
else
PreviousNoteInputs[index] = input.Text;

RingerNoteFourInput.CursorPosition = RingerNoteFourInput.Text.Length; //Resets caret position to the end of the typed input
};
input.CursorPosition = input.Text.Length; //Resets caret position to the end of the typed input
};
}
}

protected override DragMode GetDragModeFor(Vector2 relativeMousePos)
Expand Down
2 changes: 1 addition & 1 deletion Content.Client/Storage/StorageBoundUserInterface.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public void InteractWithItem(BaseButton.ButtonEventArgs args, EntityUid entity)
{
if (args.Event.Function == EngineKeyFunctions.UIClick)
{
SendMessage(new StorageRemoveItemMessage(entity));
SendMessage(new StorageInteractWithItemEvent(entity));
}
else if (IoCManager.Resolve<IEntityManager>().EntityExists(entity))
{
Expand Down
4 changes: 4 additions & 0 deletions Content.Server/Chat/Managers/ChatManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,10 @@ public void SendAdminAnnouncement(string message)

public void SendHookOOC(string sender, string message)
{
if (!_oocEnabled && _configurationManager.GetCVar(CCVars.DisablingOOCDisablesRelay))
{
return;
}
message = FormattedMessage.EscapeText(message);
var messageWrap = Loc.GetString("chat-manager-send-hook-ooc-wrap-message", ("senderName", sender));
ChatMessageToAll(ChatChannel.OOC, message, messageWrap);
Expand Down
48 changes: 48 additions & 0 deletions Content.Server/ImmovableRod/ImmovableRodComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
using Content.Shared.Sound;

namespace Content.Server.ImmovableRod;

[RegisterComponent]
public sealed class ImmovableRodComponent : Component
{
public int MobCount = 0;

[DataField("hitSound")]
public SoundSpecifier Sound = new SoundPathSpecifier("/Audio/Effects/bang.ogg");

[DataField("hitSoundProbability")]
public float HitSoundProbability = 0.1f;

/// <summary>
/// The rod will be automatically cleaned up after this time.
/// </summary>
[DataField("lifetime")]
public TimeSpan Lifetime = TimeSpan.FromSeconds(30);

[DataField("minSpeed")]
public float MinSpeed = 10f;

[DataField("maxSpeed")]
public float MaxSpeed = 35f;

/// <remarks>
/// Stuff like wizard rods might want to set this to false, so that they can set the velocity themselves.
/// </remarks>
[DataField("randomizeVelocity")]
public bool RandomizeVelocity = true;

/// <summary>
/// Overrides the random direction for an immovable rod.
/// </summary>
[DataField("directionOverride")]
public Angle DirectionOverride = Angle.Zero;

/// <summary>
/// With this set to true, rods will automatically set the tiles under them to space.
/// </summary>
[DataField("destroyTiles")]
public bool DestroyTiles = true;

[DataField("accumulator")]
public float Accumulator = 0f;
}
Loading

0 comments on commit b7a84c6

Please sign in to comment.