Commit Graph

835 Commits

Author SHA1 Message Date
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 a3fbab84e645a16a30845aa1e683e7ffc0e3b8cd)
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
metalgearsloth
867f873c9c Fix MapPainter (#22290) 2023-12-16 19:37:31 +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
Leon Friedrich
3e5c1c73ad Mind tweaks & fixes (#21203) 2023-10-24 18:04:06 +02:00
Debug
d5d7be36a2 The Oracle (#208)
* Working oracle moment

* Update OracleSystem

Use a dynamic blacklist, so we dont have to manually specify all invalids, and do some general code cleanup

* Convert ReadWrites into ReadOnly
2023-10-22 03:27:51 +02:00
Velcroboy
9e281cb5f8 Adds Tortuga Station (#214)
* Adds Tortuga Station

* Add evac shuttle

* Update proto file :)

* ...

* remove med borg

* NTES Seal light/airlock fix

* Add chem spawn

---------

Co-authored-by: Jeff <>
2023-10-22 01:24:03 +02:00
Debug
b8d6ff1d21 Create test for Roboisseur 2023-10-20 18:42:55 +02:00
DrSmugleaf
9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
DrSmugleaf
6bb3ad25f6 Replace all T : Component constraints with T : IComponent (#21073) 2023-10-20 15:30:20 +02:00
Leon Friedrich
5e737cdb4d Add new entity spawn test & fix misc bugs (#19953) 2023-10-20 15:29:43 +02:00
JJ
f06fc04768 Deep Fryer And Its Powers (#163)
* Deep Fryer And Its Powers

The Deep Fryer has been implemented. It uses Corn Oil, Ghee, and Olive Oil to fry. Other features include:
1. Mixing Oil and Water at a certain temperature causes smoke.
2. When throwing an object at the Deep Fryer, a Chef will *always* land the shot, but anyone else has a chance of missing.
3. When an item is sliced, an event is triggered that other items can see.

* Update meal_recipes.yml

* Reworking the effects so they won't trigger on init.

* Create DeepFryerTest.cs

* Commenting out the UnsafeOilVolumeEffects part of the .yml. Something about the sound script inside of it breaks UnintializedSaveTest and it's not necessary for a smoke reaction to occur anyway.

* Update DeepFryerSystem.cs
2023-10-18 23:57:10 +02:00
TemporalOroboros
8c55d3e5ce Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-14 22:07:17 +02:00
Kara
d6abba1198 Kill ComponentExt (#20907) 2023-10-14 22:02:35 +02:00
DrSmugleaf
4877e2aaf8 Replace string data fields with LocId where relevant (#20883) 2023-10-14 22:02:30 +02:00
metalgearsloth
de7879694f Climbing refactor (#20516) 2023-10-14 22:02:29 +02:00
DrSmugleaf
f5f2bd655b Fix test prototypes fields being marked as unused (#20853) 2023-10-14 22:01:27 +02:00
Leon Friedrich
6df43fe245 Fix buckle test but properly this time (#20854) 2023-10-14 22:01:26 +02:00
Leon Friedrich
92699f3ab3 Try fix buckle test (#20851) 2023-10-14 22:01:26 +02:00
Carolyn3114
db7842a570 Pebble Rebased (#124)
* Pebble rebased

* Update PostMapInitTest.cs

* Update PostMapInitTest.cs

* Update PostMapInitTest.cs

Signed-off-by: Carolyn3114 <136143032+Carolyn3114@users.noreply.github.com>

* Update pebble.yml

* Update pebble.yml

* add salv shuttle console

* Update pebble.yml

* Update pebble.yml

* Update pebble.yml

* Update pebble.yml

* map pool

* Update pebble.yml

* Update pebble.yml

* Update edge.yml

Made Pebble the small-pop map

---------

Signed-off-by: Carolyn3114 <136143032+Carolyn3114@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
2023-10-12 15:48:30 +00:00
DrSmugleaf
7923212d11 Add test to load all config presets (#20705) 2023-10-08 19:58:55 +02:00
Leon Friedrich
e9ceacd0b9 Misc mind tweaks and fixes (#20614) 2023-10-08 19:58:55 +02:00
Colin-Tel
8ff4853877 Adds Edge (#121)
* Adds Edge

Also modifies the map pool file.

* Added Salvage arm

also corrected job prototypes in the map yaml.

* I accidentally the atmos

:trollface:

* adjusts test

also obligatory post-"I'm done mapping" map edits

* Update PostMapInitTest.cs

mfw I missed a comma 😱

* Update edge.yml

Say it with me: "It's never done"

* Update edge.yml

added roboisseur
2023-10-07 05:12:57 +00:00