Commit Graph

765 Commits

Author SHA1 Message Date
AJCM-git 9a6fa17e72
Virtual items cleanup (#23912)
* Virtual items cleanup

* Detail

* Review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 108f001731)
2024-01-26 22:49:14 +01:00
deltanedas 149ad77eb5
Add TryGetPrimaryDepartment to jobs system (#23317)
* add primary departments

* make command and station specific secondary

* add a unit test

* fixy

* compile

* webedit ops

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

(cherry picked from commit d1d11d09c7)
2024-01-26 22:48:20 +01:00
Pieter-Jan Briers 1c54b75da5
Dependency update / fixes / skrungle bungle (#23745)
* Give .props files 2-space indents.

* Move to Central Package Management.

Allows us to store NuGet package versions all in one place. Yay!

* Update NuGet packages and fix code for changes.

Notable:

Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.

* Remove dotnet-eng NuGet package source.

I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.

* Remove Robust.Physics project.

Never used.

* Remove erroneous NVorbis reference.

Should be VorbisPizza and otherwise wasn't used.

* Sandbox fixes

* Remove unused unit test package references.

Castle.Core and NUnit.ConsoleRunner.

* Update NUnit to 4.0.1

This requires replacing all the old assertion methods because they removed them 🥲

* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.

* Add Robust.Analyzers.Test

* Update submodule

* commit to re-run CI

(cherry picked from commit a6c9c36b68)
2024-01-26 22:33:46 +01:00
Emisse 9d047a7e52
kill machine parts + migrate machine part spawners to salvage loot spawner (#23752)
* kill machine parts

* guidebook and artifact effect

* worst test ive ever seen in my life

* nuke test

(cherry picked from commit df1d8c36e5)
2024-01-26 22:14:43 +01:00
iacore f2adcd8783
more balanced constructing and unscrewing for metal objects (#21051)
* more balanced constructing and unscrewing for metal objects

- computer frame, machine frame, rack and meatspike can be deconstructed while anchored by screwing
- Computer frames now need time to be constructed.
- it now takes a reasonable time to make a meatspike. If you can construct a machine frame in 2.5, surely you can make a meatspike in 2.

* Fixes test

(cherry picked from commit d73c7e9a0a)
2024-01-26 21:50:18 +01:00
metalgearsloth f128143d13
Salvage magnet revamp (#23119)
* Generic offering window

* More work

* weh

* Parity

* Progression meter

* magnet

* rona

* PG asteroid work

* code red

* Asteroid spawnings

* clams

* a

* Marker fixes

* More fixes

* Workings of biome asteroids

* A

* Fix this loading code

* a

* Fix masking

* weh

* Fixes

* Magnet claiming

* toe

* petogue

* magnet

* Bunch of fixes

* Fix default

* Fixes

* asteroids

* Fix offerings

* Localisation and a bunch of fixes

* a

* Fixes

* Preliminary draft

* Announcement fixes

* Fixes and bump spawn rate

* Fix asteroid spawns and UI

* More fixes

* Expeditions fix

* fix

* Gravity

* Fix announcement rounding

* a

* Offset tweak

* sus

* jankass

* Fix merge

(cherry picked from commit bf79acd127)
2024-01-26 21:35:22 +01:00
Leon Friedrich 6cc69b0954
Changes required for frozen event bus PR (#23493)
* Changes required for frozen event bus PR

* Fix RoundEndTest

(cherry picked from commit 377be6fcca)
2024-01-26 21:33:07 +01:00
Leon Friedrich 661f3eb54a
Changes required for engine PR (#23488)
(cherry picked from commit 42ec9b2967)
2024-01-26 21:31:29 +01:00
Nemanja 30fccbbc8d
Chill bounties + fixes (#23411)
* Chill bounties + fixes

* localize

* fix arbitage

(cherry picked from commit 4662d463b8)
2024-01-26 21:30:40 +01:00
metalgearsloth b1738dcf9c
AutoCompState + ItemToggle fixes (#23422)
* AutoCompState + ItemToggle fixes

Fix a lot of the comp states that are never actually networked and also cleaned up ItemToggle events a bunch. ItemToggle will still need some future work for lights and sounds.

* Also catch these

(cherry picked from commit 2166958bd0)
2024-01-26 21:27:29 +01:00
DrSmugleaf ec6a4c8f06
Fix ConfigPresetTests.TestLoadAll not handling automatic panic bunker (#23414)
(cherry picked from commit ac022090b6)
2024-01-26 21:27:08 +01:00
Debug 56cd917c73
Fix Nyano systems for solution refactor 2024-01-26 21:22:43 +01:00
TemporalOroboros ce27944275
Revert 'Revert 'Solution Entities'' (#23168)
(cherry picked from commit d23c8d5c19)
2024-01-23 23:00:42 +01:00
Leon Friedrich f4149a1404
Fix GravityGridTest (#23348)
(cherry picked from commit 383271c8fa)
2024-01-23 22:53:53 +01:00
Leon Friedrich 0f4debb057
Try fix random explosion test failures (#23158)
(cherry picked from commit c2c76c2035)
2024-01-22 20:59:04 +01:00
TemporalOroboros aebae6fab7
Content ecs containers (#22484)
(cherry picked from commit 7a77d6d5dd)
2024-01-22 18:47:55 +01:00
Leon Friedrich f3e61795f4
Add some tests and fix some miscellaneous bugs (#22836)
* Add some tests and fix some bugs

* Add more helper methods

* remove submodule

* fix merge

* also fix DirtyAll()

* poke

(cherry picked from commit 35ba42af9c)
2024-01-22 18:44:30 +01:00
Leon Friedrich e27a59b938
Try fix organ networking (#23034)
(cherry picked from commit 0734a876f9)
2024-01-22 18:44:25 +01:00
Leon Friedrich dfce24f487
Update ToolshedTest for engine PR (#22989)
(cherry picked from commit eb04a98294)
2024-01-22 18:38:41 +01:00
Leon Friedrich fb9adfb137
Make cargo arbitrage test ignore gambling crate (#22943)
(cherry picked from commit 9eaa4c3a5d)
2024-01-22 18:36:55 +01:00
Darkie 03abecd365
ItemToggle system expansion (#22369)
* Fixed EnergySword and variants having incorrect sound on attacking when in their Off state.

* Removed the unused ItemToggle from the serverside and created a new shared ItemToggleComponent and System, now used for the e-blade family of items. Also added e-blade hum and swing sounds. Thanks Sloth for the initial code!

* Changing Stunbaton system to include the itemToggle system.

* Adapted changes that have come up in the meantime.

* Changed damagespecifier to be serializable and autoNetworked in melee weapon components. Fixes a bug that makes it so client-side, damage values are not updated on toggle.

* Made the ItemToggleSystem have both a shared and a server component. Ported the Stun Baton and Stun Prod to the new toggleable system. Added a failure to activate noise component.

* Ported the welders to the new item toggle system. Set it so deactivated damage and item size default to the item's regular options.

* Removed unnecessary usings.

* Small modification to the stun prod.

* Made the integration test use the new method to turn the welders on.

* Fixed a few testing issues, applied a few changes requested by Delta.

* Updated Stunbaton code for consistentcy when it comes to calling the itemToggle component.

* Removed a redundant return; as per Delta.
Made examining the stun baton for charge rely on the battery component instead.

* Removed the welder visualizer system, now using the generic one. Removed some unused usings. Removed the welder visuals and layers.
Ported lighters to the new system.
Added zippi (sic) lighters.

* Renamed variables used to make them less generic.

* Simplified the light update code.

* Fixed the unit test to use the itemToggle system for welders now.

* Made the name shorter. I can't tell if the welding damage when interacted with actually does anything though. I can't figure out how to trigger it.

* Fixed some YML issues.

* Added a client side item toggle system just to make the shared code run on local UID's too.

* Fixed some more Yaml.

* Made the Zippi lighter have its own parent item, so it doesnt' conflict with the random pattern on the regular lighter.

* Made the zippi lighter its own in-hand sprites.

* Added a summary for the activated property in itemtoggle component.

* Fixed a typo in the itemToggle Component.

* Fixed a typo.

* Added to the remarks for the ItemToggleComponent.

* Fixed up the lighter yaml to make it use a generic term instead of a toggle layer enum for the random skin.

* Fixed a bug I introduced accidentally with the humming sound.

* Removed 2 unnecessary events from the ItemToggleSystem and component.

* Fixed a bug by only making the server run the item activation code, since the client cannot predict whether or not the activation will be cancelled.

* Cleaned up some names and functions getting called.

* Renamed a couple of variables and removed the explicit datafields from the component. Removed "activated: false" from yml since they're already deactivated by default.

* Added an IsActivated function, used it in the welder and stun baton systems code.
Refactored welder code to remove the WelderToggle event, now using the ItemToggleActivatedEvent instead for eye protection check.

* Fixed a typo. Added some comments.

* Split the ItemToggle into smaller components.
Changed the items that used the toggle system to work with the smaller components.
Made the mirror shield reflect energy shots with a 95% chance.

* Fixed the namespaces for the server components and whatnot.

* Fixed a doubled deactivation sound from using activated wieldable items (like the double Esword).
Fixed wrong yml with the e-dagger.
Fixed the disarm malus code.

* Added the zippo lighter to the detective's trench coat.

* Removed the default hit sound for the double e-sword since it was unnecessary.

* Changed e-sword damage numbers to be in line with the changes made by Emisse.

* Made no damage sounds be autoNetworked, so it changes can be changed on activation/deactivation of items.
Made Welders and Eswords sound like themselves but quieter if they hit for 0 damage, instead of taps.
You can choose what sound to play when a weapon does 0 damage when activated now.
Fixed a bug with swing sounds.

* Typo.

* Fixed a bug where the welder would blind you if you used it while it was off.

* Created a single abstract method called when an item has completed its toggle.

* Update Content.Server/Eye/Blinding/EyeProtection/EyeProtectionSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Fixed a comment.

* Made most component variables readOnly for ItemToggle. There is no need to be able to change them from within the variable viewer.

* Removed trailing white spaces.

* Made the Use a field instead of a property in the itemToggleActivation/Deactivation attempt events.

* Small fixes.

* Removed ForceToggle, just use the toggle method instead.

* Fixed a bug with item sharpness staying even after getting deactivated, if the item gained sharpness that way (esword).

* Used ProtoId in the welder component.

* Made damage NetSerializable as well.

* Added networking and data fields to a couple of components.

* Made component variables autonetworked. Added some comments.

* Moved the events that modify item components on toggle to events, handled (where possible) in the systems linked to said components.

* Made all the component variables readWrite again.

* Added the component get to the WelderStatus.

* Added a predictable bool to the item toggle component.

* Replaced the Activated/Deactivated events with ToggleDone, with an Activated argument. Used that to simplify some systems.

* Added a reflect update raise event.

* Removed the Zippo changes. To add in a later PR.

* Removed the zippo from meta.json too.

* Small fix.

* Another small fix.

* Fixed the wieldable system thing in ItemToggle.

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

(cherry picked from commit a3fbab84e6)
2024-01-22 18:29:05 +01:00
Debug 18f0af1f68
Implement gridinv, proper (#703)
* Implement gridinv, 1500 squashed commits :elp:

* Me when

* Linter errors

* Fix katana belts
2024-01-21 19:58:28 +01:00
Velcroboy 81a4890686
Hammurabi Rebase (#686)
Co-authored-by: IamVelcroboy<>
2024-01-16 21:53:35 -06:00
Debug e09112b35c
Fix Crime Assist incorrect entires and add a test (#624)
* Create CrimeassistTest.cs

* Fix invalid crimeasssist entries

* Clean up test code
2023-12-31 17:22:56 +01:00
LordCarve 4b9e628418 Consistent Absorbent System behavior (#22723) 2023-12-22 23:25:35 +01:00
Nemanja d4ef5bec6c mild reagent prototype cleanup + other misc garbage (#22630) 2023-12-22 22:45:36 +01:00
Pieter-Jan Briers 33e3e8b321 High-latency DB testing stuff (#22282) 2023-12-16 19:39:24 +01:00
Nemanja 5556cba3ca Narsie test bandaid (#22206) 2023-12-16 19:28:58 +01:00
TemporalOroboros 0df9e39c62 Make test EntitySpecifiers ignore entities with null prototypes (#22174) 2023-12-16 19:27:09 +01:00
metalgearsloth d63396a203 Fix SpawnAndDeleteEntityCountTest heisentest (#21975) 2023-12-02 20:30:39 +01:00
metalgearsloth 59037cdbbb Use PoolManager testmap for EntityTest (#21968) 2023-12-02 20:27:37 +01:00
metalgearsloth fa25e1fc02 Fix GridFill comp skip (#21944)
Oop.
2023-12-02 20:27:37 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
metalgearsloth 52104a45c1 Revert Arch testmerge 2 (#21901) 2023-12-02 19:05:12 +01:00
metalgearsloth 39ad6db5c3 Update submodule to 182.1.0 (#21900) 2023-12-02 19:05:11 +01:00
metalgearsloth 9741d9916c Revert the other arch changes (#21871) 2023-12-02 19:05:11 +01:00
metalgearsloth 34efd6194d Revert submodule to 180.2.1 (#21870) 2023-12-02 19:05:11 +01:00
metalgearsloth 333096b19e Content arch (#20107)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-12-02 19:04:08 +01:00
DrSmugleaf 4c2b20b277 Replace usages of MobObserver and AdminObserver with GameTicker consts (#21814) 2023-12-02 19:00:03 +01:00
Debug fd9942cbd4 Fix test failures 2023-11-19 22:56:03 +01:00
Leon Friedrich 84b6204bd2 Add item sprite test (#21599) 2023-11-19 22:23:10 +01:00
Adrian16199 bf341228c3
Shoukou from Nyanotrasen. (#310)
* Shoukou from Nyanotrasen.

Adds Shoko to the rebase.

TO-DO: Ensure that everything is actualy in order in the uh... (reads paper) 79.... thousand lines of yml.
Make it work.

* Updating it to the "acceptable state"

Incase i need to go back if i frick it up.

* Updated the map a bit.

* Changed Shoko further.

* Final changes to departments.

* Final changes to Shoukou, ready to be reviewed.

* Whoops, Now its done~

* Changed the requested things.

* Gave logistics working telecoms.

* Update shoukou.yml

* .

* Added finer details.

* Adjusted alot.

Adjusted pipes in new department places.
Adjusted fire alarms.
Adjusted mistakes of mine.
Fixed the the ingame map.

* Added shutters to lawyers office for private talks.

* Updates

* Adjustments (check desc)

Adjusted cables in salvage's room so they are not under the damn wall while also chaging normal wall for reinforced one.
Added tiles under cargo's substation, LO's office, CE's office.
Got rid of tiny fan in salvage's airlock and atmo's TEG burn chamber.
Added airlocks to cargo.
Made more room in cargo's loading bay.
Expanded doors and added blast doors for cargo shuttle's entrance.
Exchanged some windows in LO's office to reinforced walls and added shutters.
Changed switche's location of detective's office shutters
Added MV cables in security so prisoners have actual power.
Fire alarm has been moved 2 tiles to right and reconnected in command's meeting room.
Moved some engineering hardsuits to the back
The atmos fax should have been named.... hopefully.
Did the obligatory tilewindows, tilewalls, fixrotations,fixgridatmos commands

* Adjustments part 2

Added light at the end of extension of shuttle.
Repaired conveyor belts in cargo.
Exchanged corpsman locker filled to corpsman filled with hardsuit.
Added tiny fan and reversed airlocks in cargo to actualy be able to dock.
Changed the entire area which used to be a side kitchen with eating area and flipping it. Added a window where now resides eating area that looks upon cargo's shuttle.
Changed food in command to be more consistent
Adjusted arrival docks to be more closer aka 5 tiles between eachother instead of 7 so that shuttle can dock properly incase the evac gets destroyed.

* Added mystagogue hardsuit locker.

A quick fix.

* Adjustments to adjustments.

Shady cigs instead of vendomat in the new eating area.
Removed a light on a window.
Added a glass firelock in the new side kitchen and linked it.
Readjusted docking in cargo for cargo's shuttle.
Changed location of the salvage shuttle CONSOLE to be nearby of the magnet.
Got rid of the conveyor belt since there really is no point for it to be there anymore, replaced the airtight with an another door and firelock that was linked.
Adjusted LV cable so it doesnt go thro a wall and reaches the autolathe and airlock doors that have been placed for cargo shuttle
Changed location of the magnet.
(God im tired and depressed, not specificly from this. Hope you are having a fantastic day whoever is reading this)

* Updated SMES's and Substations names.

Updated name of substations near service, in engineering, nearby of epistemics., in command, both security substations, Camera's one, medicals, logistics, upper solars.
Updated SMES's name in engineering of AME, in TEG, on both solars.
Removed 6 MV cables in security because they were causin 2 substations to be connected to eachother

* Anchored the station

Any bump will be meaningless as the station holds still as the big station it is.

---------

Signed-off-by: Adrian16199 <144424013+Adrian16199@users.noreply.github.com>
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
2023-11-14 19:00:27 -06:00
Leon Friedrich 29584576e7 Merge `ActorSystem` and `IPlayerManager` (#21314) 2023-11-12 20:53:33 +01:00
DrSmugleaf 01bc5cc507 Mark all tests that restart rounds as dirty (#21376) 2023-11-12 20:29:56 +01:00
Velcroboy ef89695780
Hive five (#435)
* The Hive Rebase

* Remove un-merged maps from files

---------

Co-authored-by: Jeff <>
2023-11-11 10:37:11 -06:00
Colin-Tel 19dd012857
Adds Asterisk Station (#374)
* Adds Asterisk Station

The map renderer is a bitch ass motherfucker.

* Update default.yml

added Asterisk to pool, and alphabetized the list.

* Update PostMapInitTest.cs

forgot I had to do this shit

* Update asterisk.yml

I forgot the cool role

* Update asterisk.yml

Added station maps

* Update asterisk.yml

Added JobSpawns for salvage and made some other adjustments

* Update asterisk.yml

Changes made after Velcro's review
2023-11-01 11:32:48 -05:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +01:00
Velcroboy 49c711b869
Fixes Tortuga evac being unpowered AND ADDS ARENA STATION! (#311)
* Fixes Tortuga evac being unpowered

* Adds Arena Station

---------

Co-authored-by: Jeff <>
2023-10-25 20:16:52 +00:00
Velcroboy 06458944c8
Wd 1984 (#307)
* Removes WD maps

* Sneaky bugggers

* swap pebble in for bagel map test

---------

Co-authored-by: Jeff <>
2023-10-25 18:07:25 +02:00