Commit Graph

6961 Commits

Author SHA1 Message Date
Hannah Giovanna Dawson 0eddbc7595
Migrate Lathe Material Ejection Code to MaterialStorage (#23199)
* SS14-23184 Migrate Lathe Material Ejection Code to MaterialStorage

The lathe material ejection code acts as a do-nothing
man-in-the-middle system that does work that would be
reasonable for any MaterialStorage-using machine to
use. This has been fixed by migrating the ejection
code to MaterialStorage, allowing anything that uses
the system to eject mats it is storing.

* Fix some YAML references. Science!!

(cherry picked from commit f850047341108b286170197d12f4d13946ee0b40)
2024-01-22 21:08:04 +01:00
Nemanja 150c8cd817
Buff heat and flame damage (#23238)
(cherry picked from commit cfb129c5a4fcdf996ab16defd35e24ed909ca663)
2024-01-22 21:07:51 +01:00
Whisper aae12e3bc8
make healing sounds audible (#23211)
(cherry picked from commit da055fcd988e47ab278606e9c8895bd3b23bcaac)
2024-01-22 21:04:15 +01:00
Kot ab98f3ff5f
Fix next map not being displayed on the lobby UI after map vote (#23231)
Fix map not being displayed in lobby ui after map vote

(cherry picked from commit f8c83b7134d349549615154b652ed42d2908ce91)
2024-01-22 21:00:55 +01:00
Guillaume E 6b59dbd0b3
Artifact analyzer now pauses on power-loss (#22974)
* Artifact analyzer now pauses on power-loss

Instead of just cancelling the current scan, the artifact analyzer
will now pause in case of power-loss.

Scanning will automatically resume when power returns.

* Improve artifact scanning pausing

This builds upon the latest improvements in artifact scanning
regarding UI update.

(cherry picked from commit 4fe93cf456f28d14da144431be5b567a3896cd4e)
2024-01-22 21:00:53 +01:00
Nemanja 04f0a8811a
Hyper convection lathes and industrial ore processor (#23202)
* Hyper-convection lathes and industrial ore processor

* balance

* gold... why not?

* review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit c3f81bfe033a14922dc6e91de402c56d321f3370)
2024-01-22 21:00:37 +01:00
metalgearsloth dfb8cb1740
Reduce shuttle smimsh allocations (#22952)
(cherry picked from commit 3a166e14230650f7d0dc40c370898d02b3206a83)
2024-01-22 21:00:33 +01:00
Hannah Giovanna Dawson 4a701640b4
Clean out tags when attempting to speak/whisper/emote (#23055)
A few bugs have popped up where (legal) string formatting tags
have been duplicated out into whisper and local.

Using the RemoveMarkup static we can sanitize attempted
speech to remove markup.

(cherry picked from commit 84f544ff103d038c33309494c4bbc4cd9698839a)
2024-01-22 20:59:56 +01:00
AJCM-git 82bd0e6af8
Access logs tweaks and fixes (#23096)
* Fix AccessRecord not serializing correctly on map saves

* record struct my beloved

* Final tweaks

* pro

* This is no longer necessary

(cherry picked from commit a4dd4828cf585a5534c7ecc86aeb43484c924d00)
2024-01-22 19:00:10 +01:00
Nemanja 4fd2ee722a
Station beacons (#23136)
* Station beacons

* crate

* remove navmap from warp points

* ack

* oh damn

* okay emisser

(cherry picked from commit 99d78c4b97aff1a5a0dad6804bac00d4bc425e1f)
2024-01-22 18:59:49 +01:00
qwerltaz 2028184ee2
flammable entities hotfix (#23113)
* flammable fix

* move air check and ignition to if statement

(cherry picked from commit 2fe1164a03c212095aa383461335b016f9d7fb47)
2024-01-22 18:57:52 +01:00
Dakamakat 6d3eaddde0
Fix Admin-spawned Nukies not counting as dead (#23103)
fix(NukeopsRuleSystem): admin created nukeops not count as dead

(cherry picked from commit ff77e830d320592e99db93c6ea4f7f9b0fbd1fd8)
2024-01-22 18:57:50 +01:00
Ed 5ce889fef1
Tesla (#21124)
* upload all textures
finished easiest part - TeslaGenerator

* Added Tesla energy logic

* add lightning pulse priority

* work

* optimise lightning arc system

* now tesla moving to LightningTarget entity and consume it

* some audio work
add airlock and computers to the LightningTarget

* add nice visual and explosions
add crashing to game

* rsi meta fix

* disabling explosions (crashing server)
I'll get back to that problem later.

* adding important admin logging

* a little bit of cleaning and documentation

* Persistent attempts to fix the server crashing on explosions. Accidental cleaning of everything I see.

* now the tesla incinerates everything it touches except the containment field.

* colliders work

* fix falling tesla on ground after being exploded

* add consume sound, add spawn and collapses sound

* added TeslaGenerator to cargo trading console

* add all tesla part to cargo trading console

* Tesla coils: Turn on and off, get energy from lightning, give energy to the grid.

* tesla coil is ready

* tesla grounding rod is ready

* clean up

* clean up 2

* grounding rods now working without power

* add LightningResistance parameter for LightningTarget Component

* add chaotic teleport

* eletrocution remove?

* deltanedas fix pack

* more fixes

* FIXES

* FIIIXEEES

* The "Grounding Rod" component is removed, and replaced with "LightiningSparking", which is responsible for changing the visuals when hit by lightning. Duplicate code from the coil is removed.

* ops

* fix

* nah, is escaped anyway

* increase tesla collider size

* keron bb

* try fix test?

* fix

* bruh

* check turn off sus comp

* prototype cleaning

* FIIX

* return and fix sus component

* fix tesla eating lightnings, now mini tesla is electrocuted

* commented some issues

* remove linq sorting
fix jumping system
minor fixes

* fix second Linq

* fix tesla colliders! Yeah, it works

* fix componentregistration

* Just retests

* not fix

* FIX TESLA

* fixes

* store targets

* back

* make dictionary of hashsets

* some sloth fixes

* stump

* playtest balance energy generation, return to unpotimized (but working) lightning shoot

* parity

* work on

* some new fix, some new bug (chasingComponent not chasing)

* comment

* fix ChasingWalkSystem

* fix collider tesla problem

* revert old unoptimized shoot lightning

* new fix pack

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 88d7cfb4c035a5a5c2c3e7fc643b9a0d4ad18f5f)
2024-01-22 18:56:57 +01:00
TemporalOroboros aebae6fab7
Content ecs containers (#22484)
(cherry picked from commit 7a77d6d5dd73a34be238fdebc284da5bc2917c67)
2024-01-22 18:47:55 +01:00
Nemanja 850e75a073
GORILLA Gauntlets (#23012)
* GORILLA gauntlets

* oh shit this too

(cherry picked from commit 9bd03824ac863cb4d87bfc984dcc163b84926649)
2024-01-22 18:47:45 +01:00
Nemanja 98530a63dc
clerical error station event (#23091)
(cherry picked from commit 3e08fe07cd4eae61b6518660ec466b8015db799e)
2024-01-22 18:47:30 +01:00
deltanedas b8c87c060f
allow crusher suicide (#22987)
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 62a6a03cd1f341bb975729e3c4bda6b22a9604b3)
2024-01-22 18:45:44 +01:00
qwerltaz cd5c92d818
Fix flammables air ignition (#23063)
* Fix welder ignition

* fix mobs on fire hotspot expose frequency

* fix shotgun pellets ignition

* ensure ignitionComp on flammable init

* \n

* Revert "ensure ignitionComp on flammable init"

This reverts commit 6915dcdc

(cherry picked from commit 3f9102839579506e8bf71f5fbf48c92328104e58)
2024-01-22 18:45:42 +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 35ba42af9ccbbe41e8a3e59b30f2799ef8ca4b8d)
2024-01-22 18:44:30 +01:00
Darkie 0a2e3663e5
Added a regular and an engraved zippo (flippo) lighter (#23020)
* Added the zippo and engraved zippo. Added the engraved zippo in the detective's coat.

* Added copyright.

* Renamed to Flippo

* Gave the Flippo new sounds. Moved the lighter sound collections to their own folder in Items.

* Fixed YAML issues that showed up with moving the lighter noises to their own folder.

* Added the detective's Flippo as a thief objective, with half the weight of the forensic scanner.

(cherry picked from commit 1c8eb2f3de92e52fcc5100e4751e0dd51f20c77e)
2024-01-22 18:44:11 +01:00
Leon Friedrich f00f9f6281
Update engine to v197.0.0 (#23069)
(cherry picked from commit a608071dda93d55f71ae96d7eb1a9b9051bc447e)
2024-01-22 18:38:42 +01:00
Leon Friedrich dfce24f487
Update ToolshedTest for engine PR (#22989)
(cherry picked from commit eb04a982948bd4378d297f7796725450e6cc8146)
2024-01-22 18:38:41 +01:00
Ed a86f9ba75f
Thief hotfix (#22976)
* fixes!

* reduced collection amount

* omeeeeega

* pipup

* popup

(cherry picked from commit 166296b2c510a81cdf3a11636a296b1ad859ed85)
2024-01-22 18:38:38 +01:00
LankLTE 1805610dac
remove racism (#23039)
* Remove only 'species' is crew rules

* hit space one too many times

(cherry picked from commit ed997dc5beb794ef1009e75fd3a8344c045d4f37)
2024-01-22 18:38:34 +01:00
Leon Friedrich c171790149
Fix device networking, again (#23035)
(cherry picked from commit af42cf82b7ca57fbdb0fd9dd16fd56248e92c7d1)
2024-01-22 18:38:01 +01:00
Leon Friedrich 6dd211c44f
Fix rotation visuals desync & appearance state spam (#23016)
* Fix rotation visuals desync

* :bucklemeup:

* A

(cherry picked from commit cf98300ba223cc9b8bed72d9b6dff273a79119a3)
2024-01-22 18:37:45 +01:00
Chief-Engineer 7278318225
Add access logs (IC ones) (#17810)
(cherry picked from commit 476ea14e8a0925e7f90ddbe5f6dd7144bf43cde5)
2024-01-22 18:37:44 +01:00
LankLTE dfe06b2725
fix ahelp relay times (#23001)
RoundDuration instead of CurTime

(cherry picked from commit d75d7d71879d8ef9251b5fab4b44489fb8b92cde)
2024-01-22 18:37:41 +01:00
Kara 10e779c24c
Optimize artifact analyzer UI state sending (#22949)
* Remove n rename cruft old shit

* Artifact analyzer UI updating optimization

* Revert "Remove n rename cruft old shit"

This reverts commit 8789338fb20f77d79c5b0e40719896efe0103fcc.

(cherry picked from commit ab6726136f452dc4372a5cc8d1d5dcabf65024b3)
2024-01-22 18:37:35 +01:00
metalgearsloth 3f4851b4be
Fix multi-ghosts (#22964)
* Fix multi-ghosts

* Fix mind visits

(cherry picked from commit c326e5d08727139aa19d231995c16d54f71b42b8)
2024-01-22 18:37:08 +01:00
Emisse b8ddac727a
reduce nuke required floor radius variable (#22947)
Update NukeComponent.cs

(cherry picked from commit 789fd894544276f408420fb0d1d7c15f19c2560b)
2024-01-22 18:37:05 +01:00
LankLTE 2d7b15e070
change the restart vote to have no effect with admins online (#22945)
* Change the vote and cvar

* Only denies successful votes

* Add comments because I'm a good coder, I swear

* I added a space to the first line of ccvars it's so over

(cherry picked from commit 82ddf451e6d70710a93d40aa1f5bbb7138333fb3)
2024-01-22 18:37:01 +01:00
Leon Friedrich fa9710576a
Fix pulling mispredicts (#22941)
* Fix pulling mispredicts

* Make behaviour consistent

* Good ol terminating entities

(cherry picked from commit 721a445bbd707d21744ba01220e5ce46eda84e4e)
2024-01-22 18:36:56 +01:00
LankLTE d336e43278
add round time to the ahelp relay (#22937)
* Basic roundtime implementation

* Forgot to clamp the length checker

(cherry picked from commit e10a314ec2314a6a24a59956c9594b3ba65cbd34)
2024-01-22 18:36:54 +01:00
Nemanja f4264f6a9c
Automatic holiday sprites (#22929)
(cherry picked from commit 00813171c1caa0a6e56dc28fbcbb37dcfc417ebc)
2024-01-22 18:36:53 +01:00
Leon Friedrich 309ca8224c
Fix closet skeletons spawning in nullspace (#22942)
(cherry picked from commit 0baffe32435341a066198805c94f38fd049395ae)
2024-01-22 18:36:51 +01:00
Leon Friedrich 3b8a4316fa
Make some prototypes use frozen collections (#22576)
* Make some prototypes use frozen collections

* poke tests

* Remove frozen dictionary enumeration

(cherry picked from commit 8587c3778abdf94041a491b1ff6330fbe6746c03)
2024-01-22 18:36:50 +01:00
Ed 9a8b0a2d61
Thief pacifist (#22932)
* pac

* to settings

* ensuuure me princess

* Update Content.Server/GameTicking/Rules/Components/ThiefRuleComponent.cs

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>

* Update Content.Server/GameTicking/Rules/ThiefRuleSystem.cs

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>

---------

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>
(cherry picked from commit 78354052eae0231e2d41715c0528f08ec29d3111)
2024-01-22 18:36:49 +01:00
deltanedas b7ce6cdbd1
exterminator midround minor antag (#19946)
* terminator locale

* terminate objective

* terminator components and shared system

* terminator roles rules and system

* terminator events

* skeleton recolour

* terminator and endoskeleton

* ghost role spawn

* damage modifier sets

* :trollface:

* :trollface:

* add antag prototype

* ghost role locale

* skynet

* :trollface:

* :trollface:

* :trollface:

* add endoskeleton body prototype

* :trollface:

* :trollface:

* smite locale

* implement terminate smite

* :trollface:

* :trollface:

* implement PopupBehavior

* endoskeleton transform popup

* move stuff from shared to server since nothing actually used it

* recolour everything

* update parts

* :trollface:

* :trollface:

* ok fire was using the damage set, back to 1.0

* tweak

* :trollface:

* :trollface:

* simplemob ops

* 1 rule per pro

* :trollface:

* :trollface:

* update some sprites

* structural damage

* :trollface:

* :trollface:

* Revert "update some sprites"

This reverts commit 459196c6a8942c5412885d5fe2f1a83a48408ddc.

* offbrand, add die objective to maybe remove fear of murderbone

* add shut down objective to the list

* fix ghost role

* fix control mob

* :trollface:

* :trollface:

* please

* naming

* code changes for GenericAntag terminator

* yml changes for GenericAntag terminator

* :trollface:

* moved kill objective override to an objective component

* use kill objective override

* fix

* oh

* locale changes

* change burn to heat for skin melting gib

* change some endoskeleton stuff

* pro

* i already did this dementia ops

* objective

* fix

* pro

* swap out full sprite

* update parts

* forgor

* fix mind transfer

* type

* endoskeleton has 500 mass

* evil

* fishops

* warops

---------

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

(cherry picked from commit 52532e40759d874e25daf1620ad5d808b0942116)
2024-01-22 18:36:12 +01:00
deltanedas 556288b0de
add limits to steal objectives (#22672)
* add ObjectiveLimit comp/system

* give ian and disk limits

* all

* up limit

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 2ca649edfa4963215919f3fc4dc621899cd8c595)
2024-01-22 18:34:54 +01:00
Arimah Greene 1ce1f33c6f
Add a 'Copy' button to the fax UI (#22027)
* Add a 'Copy' button to the fax UI

* Add ValidatePrototypeId attribute

Co-authored-by: Kara <lunarautomaton6@gmail.com>

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit b20fcf51411761710a7289765d216bd3980ded35)
2024-01-22 18:34:53 +01:00
Ed 8bca049ca7
New Thief minor antagonist (#21520)
* start working

* add right-click thief antagins
some architecture restruct

* add meh thief greeting audio

* add thief subgamemode to Traitors gamemode

* add late join thief (not tested yet)
add briefing

* add pacifism

* add Steal tasks to thief

* fix crash thief+traitor on person

* add new condition: collection steal

* add tracking of succes collection objective

* add stamp collection target
remove some boring steal target
add check pulling entity to collection target

* finalize first 2 group objective

* start merging stealing objective systems

* merging

* finish merging. Now traitor steal objective work better

* we don't check the items of pullable sentient entity

* clear naming, enable thief signle item objective start

* objective pack add

* finish with steal item objectives

* convert string to ProtoId<>

* some clean up

* add thieves to revolution game mode

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>

* update pacifism: fix crashing, monkey-thief without pacified

* adaptive animal briefing, cleaning locales

* add structure steal objectives

* remove RCD target

* add thiefs to manifest, but bug with traitor duplications

* add escape objective

* add chat briefing

* setup animal objective group system

* add animal steal objectives

* add animal objectives notroleconditions

* add morty

* now thief mode has a chance of not launching Now there are a random number of thieves per round from 1 to 3

* 6 hours of trying to fix duplicate tasks. Failure

* added thief pinpointer (buggy)

* start thief backpack UI work

* revert pinpointer for scope reason

* UI continue work

* add thief starter kits content

* remove ERP kit :trollface:

* finally! giving starting items to thief. Now it playable, but still need more work

* clean up

* fix

* fox

* add merged items into thief
new Starting Kit (buggy)

* fix YES antag menu

* objection tweaks

* remove hearts objective, working on spawning things from toolbox

* smug

* fixes

* add race specifier objective condition LAMPS

* meh

* fix fix fix

* the alive

* Adding stamps

* Update backpack.ftl

* Revert1

* Revert ftl

* add voice mask to communicator kit

* Update Resources/Locale/en-US/administration/antag.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/objectives/conditions/steal.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/prototypes/roles/antags.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* update

* fix

* more reusable function, add documentation

* fix doc

* faint fixes

---------

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

(cherry picked from commit 144af233c4f4135cccacfa5d50281fce44a1595e)
2024-01-22 18:30:44 +01:00
LordCarve ed1813f1dd
Fixed PaperSystem bugs (#22896)
(cherry picked from commit 044f5e7c4ebda196c1cd57322424b9ff932e6f9f)
2024-01-22 18:29:24 +01:00
Nemanja 1fa68eefb0
Ion law visuals (#22908)
(cherry picked from commit 681f9a2c852033949f0b984f9f3b711c52e4cfdf)
2024-01-22 18:29:23 +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 a3fbab84e645a16a30845aa1e683e7ffc0e3b8cd)
2024-01-22 18:29:05 +01:00
chromiumboy a37bf27456
Power monitoring console overhaul (#20927)
* Prototyping whole station wire map

* More prototyping

* Added icons for the different power distributors and toggleable cable displays

* Power cable layouts are now only sent to the client when the power monitor is open

* UI prototyping

* Power monitors can now see the sprites of distant entities, long entity names are truncated

* Updated how network devices are added to the player's PVS

* More feature prototypes

* Added source / load symbols

* Final prototype! Time to actually code it properly...

* Start of code clean up

* Continuing code clean up

* Fixed UI appearance

* Code clean up complete

* Removed unnecessary changes

* Updated how power values are calculated, added UI warnings for power sinks and power net checks

* Updated how power values are calculated again, added support for portable generators

* Removed unnecessary files

* Map beacons start toggled off, console map now works outside the station, fixed substation icon

* Made some of Sloth's requested changes. Power distributors don't blink anymore, unless selected

* Moved a number of static variables in PowerMonitoringHelper to sensible places in the main files. Added a NavMapTrackableComponent so that you can specify how individual entities appear on the navmap

* Updated the colors/positions of HV cables and SMESes to improve contrast

* Fixed SMES color in map legend

* Partially fixed auto-scrolling on device selection, made sublists alphabetical

* Changed how auto-scroll is handled

* Changed the font color of the console warning messages

* Reduced the font size of beacon labels

* Added the station name to the console

* Organized references

* Removed unwanted changes to RobustToolbox

* Fix merge conflict

* Fix merge conflict, maybe

* Fix merge conflict

* Updated outdated reference

* Fixed portable_generator.yml

* Implemented a number of requested changes, move bit masks to a shared component

* Navigate listings via the navmap

* First attempt at improving efficiency

* Second attempt at optimization, entity grouping added for solar panels

* Finished solar panel entity joining

* Finished major revisions, code clean up needed

* Finializing optimizations

* Made requested changes

* Bug fix, removed obsolete code

* Bug fixes

* Bug fixes

* STarted revisions

* Further revisions

* More revision

* Finalizing revisions. Need to make RT PR

* Code tidying

* More code tidying

* Trying to avoid merge conflicts

* Trying to avoid merge conflicts

* Removed use of PVS

* Improving efficiency

* Addressed a bunch of outstanding issues

* Clear old data on console refresh

* UI adjustments

* Made node comparison more robust. More devices can be combined into one entry

* Added missing component 'dirty'

(cherry picked from commit 1de682e23fd3cb832fa3328a7e6c4bd4b1a858f7)
2024-01-22 18:28:33 +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
Debug 1a5469fd90
Prevent zombies from becoming psionic (#679)
* Prevent zombies from becoming psionic, and remove existing powers.

* Minor spelling mistake
2024-01-19 21:53:05 +01:00
Debug 9c0520ff22
Seperate migrations into multiple files (#673)
* Allow for multiple migration files

* Split delta migrations

* Update migration.yml
2024-01-15 17:41:08 +01:00
Debug ec51232977
Spare ID safe (#671)
* Initial commit

* Unused access level

* Update meta.json

* Update SharedBiscuitComponent.cs

* Unneeded DataField and VVAccess

Editing it in VV does nothing anyways, it wont magically unlock the item slot

* Big smart

* Add safe sprite

Thanks @TadJohnson00

Co-Authored-By: Tad "Taddy" Johnson <120885811+TadJohnson00@users.noreply.github.com>

* Prevent faxing slips

* Custom background for corperate slip

* Localize crack verb

* Update paperslips.yml

* Update paperslips.yml

* Remove default comments

* Update paperslips.yml

* Pro

* Remove default id card

* Update Resources/Prototypes/DeltaV/Entities/Objects/Specific/Command/safe.yml

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: Debug <49997488+DebugOk@users.noreply.github.com>

---------

Signed-off-by: Debug <49997488+DebugOk@users.noreply.github.com>
Co-authored-by: Tad "Taddy" Johnson <120885811+TadJohnson00@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-01-15 00:48:30 +01:00