* Optimise drains
If it's still a problem then we do what I did for rmc14 and just dump all the active drains onto a job to getentitiesinrange in parallel.
* Fixes
* Boom! Emergency access!
* Emergency access sound
* locale
* Updated sounds
* bleh
* Door electrify base
* feat: popups on attempt to activate AI action when wires cut
* refactor: use SharedApcPowerReceiverComponent to check if AI can interact with door
* refactor: added icon and sound for door overcharge
* meta.json should use tabs not spaces
* refactor: extracted sounds for airlock overcharge to static field in system
* refactor: cleanup, ScarKy0 mentions for resources
* refactor: removed unused textures
* feat: now notification is displayed when AI attempting to interact with door which have wire cut
* StationAiWhitelistComponent is properly gating BUI OnMessageAttempt, SharedPowerReceiverSystem.IsPowered is now used to check if device powered
* refactor: use PlayLocal to play electrify sound only for AI player
* refactor: SetBoltsDown now uses TrySetBoltDown, checks for power.
* bolts now check for power using SharedPowerReceiverSystem
* electrify localization and louder electrify sounds
* extracted ShowDeviceNotRespondingPopup, reverted airlocks not opening/closing when ai wire was cut
* refactor: cleanup
* New sprites and fixes
* Copyright
* even more sprite changes
* refactore: cleanup, rename overcharge => electrify
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* fix contraband never getting added to vend inventory
* Revert "fix contraband never getting added to vend inventory"
This reverts commit e7fb3a60c3cb6fcbf41d7f015f13dbc7b1c1901d.
* readd setter method to system
* fix again without reparenting
Lol .AsSingleQuery().
Some people's preferences wouldn't load on Lizard. Turns out the entire preferences set is loaded with a morbillion joins in a single query and one person had 240,000 (!!!) rows returned for their preferences query. Yeah.
* initial commit
* adds astronav cartridge to QM locker
* changes requested in review
* fix merge conflicts
* fixes the statuscontrol disappearing if you eject the cartridge but still have it installed
* fix notificationsenabled on salv pda proto
* fixes lingering statuscontrol on eject while held
---------
Co-authored-by: archrbx <punk.gear5260@fastmail.com>
The ChatSystem code for re-enabling OOC only ran during PostRound, which gets skipped over when doing restartroundnow. Now it does this on PreRoundLobby too.
* builds
* doesn't crash
* seems to work
* distance cap was dumb
* Requested changes
* can't find any issues from making the changes
* Check for anchor and minor optimisation
* Removed unnecessary usings
* Code less verbose and cleanup
* increase thieving beacon range to 2
* add obstruction check
* review
* Entity<T?> strikes again
* webedit ops because github died or something
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Filter Set Outfit menu to exclude loadout sets
* Apply loadouts to job outfits
* Use appropriate species for Urists
* squishy
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* clean up solution regen and drain comps
* Tape applied.
* Update Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* remain entity
* That has to be a rogue test fail.
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* TEG now checks for power supply before checking for IsFullyBuilt
* Update Content.Server/Power/Generation/Teg/TegSystem.cs
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Add mapping editor (#757)
* Remove mapping actions, never again
* Cleanup actions system
* Jarvis, remove all references to CM14
* Fix InventoryUIController crashing when an InventoryGui is not found
* Rename mapping1 to mapping
* Clean up context calls
* Add doc comments
* Add delegate for hiding decals in the mapping screen
* Jarvis mission failed
* a
* Add test
* Fix not flushing save stream in mapping manager
* change
* Fix verbs
* fixes
* localise
---------
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Lists are a reference type, so each component should get a new one, not point at the previous one.
Co-authored-by: PraxisMapper <praxismapper@gmail.com>
* Localization of steal targets
* Correction of localization of theft objects
* The second correction of the localization of theft targets
* Update steal-target-groups.ftl
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
* Revision of the localization method
* Choosing a simple option for localization
* Fix TechnologyDisk name
* Corrections based on feedback received
* correction of declension
---------
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Instead of each mutation being a flag that gets checked at some unique point in BotanySystem somewhere, they're now EntityEffects that get applied when the mutation occurs and when produce is harvested. One new list was added to SeedData so that multiple other fields could be removed.
All the non-stat-change mutations that have been rolled are added to the Mutations list, and get applied to the plant when the mutation occurs or when a seed with the mutation is planted. Produce get mutations applied at harvest if they apply to the produce, and carry all of the plant's mutations over as a seed. This gets rid of the one-off checks for things like Slippery, Bioluminescent, Sentient, etc.
The base odds of a mutation applying should be equal to the odds of the original mutation check. It pretended to have 1 bit flip (on averge) per mutation power, and odds of each mutation was the odds of one of its bit being flipped (1 /275 * bits). The 'thermometer code' applied for numbers will be replaced with simple random rolls, as both average out to the middle value. The new checks are much easier to understand and don't obfuscate the actual changes of something happening behind 3 layers of math. The biggest player-facing change is that Potency will be able to get over 65 significantly more often than it did in the previous system, but it will be just as common to get low values as high ones.
Mutation definitions have been moved to a .yml file. These include the odds per tick per mutagen strength of that mutation applying that tick, the effect applied, if it applies to the plant and/or its produce. This makes mutations simpler to add and edit.
This PR is limited specifically to the mutation logic. Improving other aspects of the system will be done in other PRs per the design document. Mutations was chosen first because its got the largest amount of one-off checks scattered all over that could be consolidated. Once this is merged, mutations could be contributed to the codebase with minimal extra work for later botany refactor PRs.
* Localize RenameCommand and delegate most of the process to MetaDataSystem.SetEntityName()
* Make renaming rely on the EntityRenamedEvent. Fix issue where renaming would keep old Examine text
Requires engine change
* Fix localisation strings
* Make PDA search be based on a renamed entity's Uid instead of its old name
To do this the pda component now has an PdaOwner field which gets
assigned when it is given as a loadout to a player
* Fix bad merge???
huh
* Use AllEntityQuery
* doesn't apply traits for borg or ai
* add some comment and summaries
* weh
weh
* well ok
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
---------
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
* First clumsy implementation of guidebook protodata
* Support for Properties, format strings
* Better null
* Rename file
* Documentation and some cleanup
* Handle errors better
* Added note about client-side components
* A couple of examples
* DataFields
* Use attributes like a sane person
* Outdated doc
* string.Empty
* No IComponent?
* No casting
* Use EntityManager.ComponentFactory
* Use FrozenDictionary
* Cache tagged component fields
* Iterate components and check if they're tagged
* Add reagent whitelist to Injector component and system
* Apply suggested Changes
* Remove LINQ function for performance
* Update Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
---------
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
* Extend shuttle dock time if the shuttle doesn't dock at evac.
If the shuttle can't dock at evac for *some reason*, it will instead try to dock at another port on the station. And if that fails it goes somewhere random on the station.
Because of the chaos and confusion caused by this, many people will frequently not get to the shuttle in time under these circumstances. This sucks for everybody.
To alleviate this, the shuttle launch timer will now be extended if the station doesn't dock at its ideal spot. The default values (controlled via CVar) are 1.667x and 2x respectively for "wrong dock" and "no dock at all" scenarios.
The code around here was a mess, so I fixed that too. "CallEmergencyShuttle" has been renamed to "DockEmergencyShuttle", the overload that did the actual docking has been renamed to DockSingleEmergencyShuttle. Code has been split into separate dock -> announce methods so we can calculate shuttle delay in between the case of multiple stations.
Also made the "shuttle couldn't find a dock" text announce the time until it launches and fix the shuttle timers not triggering for it.
* Minor review
---------
* Add completions to addobjective and localise it
* Cleanup
* Fix
* Make a manager to handle subscribtion completion options
This is so we can unsubscribe to prototype reloads properly
* Convert the manager into a system
* Move the system into the systems folder
I forgor
* Merge CompletionsSystem into ObjectivesSystem
* Returned functionality to industrial reagent grinders without un-nerfing recyclers
* Limited industrial reagent grinder to only extractable solutions
* Remove always false checks (#31708)
* Remove calls to FormattedMessage obsolete methods (#31706)
* Remove FormattedMessage obsolete methods
* Oops
* remove misinformation from tip 26 (#31705)
tip 26
* Automatic changelog update
* Replace obsolete code in AnomalySystem.Generator.cs (#31718)
* replace obsolete
* weh
* Added cursor indicator for space dragon fire breath ability (#31725)
space dragon breath cursor indicator
Co-authored-by: YourUsername <you@example.com>
* Automatic changelog update
* small yml cleanup (#31720)
* Updates descriptions of station specific jobs. (#31713)
done
* Remove unused IoC dependency references. (#31704)
Remove unused IoC dependencies
* cleanup filing cabinets yml (#31211)
* partmedia ahh kommit
* ahh
* everything should be fine now
* f
* now should be good
* Update Resources/Prototypes/Entities/Structures/Storage/filing_cabinets.yml
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* fix suffix
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Move IgnitionEvent to shared (#30985)
* Cleanup railings yml (#31618)
* Cleanup railings
* fix line
* real fix
* Roundstart Grappling Gun (#31737)
Roundstart grappling hook
* Automatic changelog update
* Added in-hand sprite for Smile the Slime (#31731)
added smile the slime in-hand texture
Co-authored-by: YourUsername <you@example.com>
* Lite Magnet Rebalancing (#31726)
magnet rebalancing ish
* unnerf fishops
* Devmap crew monitor fix (#31677)
* Automatic changelog update
* Add ERT time stats (#31629)
* add jobs for ghost roles
* add job to ToggleableGhostRole
* typo
---------
Co-authored-by: Mota <belochuc@gmail.com>
* Automatic changelog update
* Fix CS0642 - Possible mistaken empty statement (#31740)
* Throw the book at em! The space law book now does 1 blunt projectile damage (#31387)
* you can now throw the space law book for 1 blunt damage
* made book damage a feature of all books
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem (#30084)
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem
* guap
* More fixes
* Wait you can do that?
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* Add Donk Co. microwave board to Combat Bakery Kit (#31239)
* Add special microwave board to Combat Bakery Kit
* use event instead of trycomp
* make the board sus
* add instructions note
* embarrassing typo
* Add functionality to Donk Co. microwave instead
* update note
* Automatic changelog update
* Actions bar dynamic resizing (#31759)
* action bar dynamic resizing
* action bar dynamic resizing for separated style
* decreased indent for separated style
---------
Co-authored-by: YourUsername <you@example.com>
* Automatic changelog update
* Fix warnings related to non-exhaustive pattern matching. (#31763)
old man shakes fist at modern syntax
* ats update (#31766)
* ats update
* fix pipenet
* Ninja throwing star ability fix (#31684)
fixed ninja star not spawning
Co-authored-by: YourUsername <you@example.com>
* Automatic changelog update
* Remove duplicate using from FoodSystem (#31769)
* vox voices revamp (#31679)
vox voices v2
* fixed broken pipe sprites (#31773)
* Return Long2 and Long3 hairstyles (#30963)
* Sprites
* Prototype_&_Locale
* sorted_in_alphabetical_order
* Automatic changelog update
* Added many old ion lawsets for borgs and AI. (#31664)
* Added the Commandments, Paladin, LetLive, Station Efficiency, Robocop, Overlord, Dungeon Master, Artist, Antimov and Nutimov lawsets/
* Wording
* Anti-Antimov
* Fixed fun
* Add Snails (#30765)
* add snails
* scuffix
* migrate
* mo-grate
* oopsied the ftls
* Revert "oopsied the ftls"
This reverts commit 0d3c6c17f31ec904679d6a48799cea71e77c1f99.
* the curse of staging the wrong file, resolved.
* Snoth
* fix my dumbs
* reviews 1
* anti space technology
* salt hurty
* spelling
* Its a slotherhouse out here
* sequencing
* cooked snail
* volfix
* speed reversal
* Automatic changelog update
* Remove testbed command (#31793)
* feat: now when research is unlocked in console, approver of reasearch is radio-ed too (#31170)
* feat: now when research is unlocked in console, approver of reasearch is radio-ed too
* refactor: now most of events that require actor name to be radio-ed or logged use TryGetIdentityShortInfoEvent which is subscibed by id-card system and borg system (to work for both carbon and synthetic life-forms)
* refactor: moved TryGetIdentityShortInfoEvent on id card system to shared, fixed cargo cent-com-originated orders
* remove unused check
* refactor: decoupled systems from IdCardSystem (those that are not dependent on it anymore)
* refactor: removed unuseed usings
* feat: emagged cargo/research consoles wont radio messages on buy/research confirm anymore
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Automatic changelog update
* New chemical based artifact nodes (#30873)
* Initial pH nodes, and description changes to indicate pH
* Psychoactive and stimulant nodes, Medical foundation, bioreactive hint
* Added medical reagents to medical node. Added norepinephric acid to acidic and made up a pH
* Added pyrotechnic chem node, and corresponding hint
* spelled psychedelic correctly
* Fixed capitalisation skill issue
* fixed indentation skill issue
* fixed a further indentation skill issue
* Removed extraneous whitespace
* Replaced bioreactive with theraputic and psychoactive. Also fixed typo skill issue.
* removed unnecessary comment
* Replaced heartbreaker with THC for psychadelic
* removed artifexium from acidic
* added tran acid to acidic
* added more medical chems
* removed pH values
* removed all but medical
* Automatic changelog update
* Add Red Neck Gaiter To Secdrobe (#30106)
* Red Neck Gaiter Added to SecDrobe
* Removes Gaiter From TheaterDrobe
* Automatic changelog update
* Fixed typos (#31811)
* Automatic changelog update
* Station AI has their name displayed in announcements now. (#31802)
* Station AI has their name displayed in announcements now.
* I'm so sorry
* Corrections
* part 2
* part 3 :|
* part 4
* Whitespace
* Fixing whitespace part 1
* No more whitespace
* PLEASE NO MORE WHITESPACE
* Automatic changelog update
* Add disabled station anchors version (#31794)
* Add disabled station anchors versions
* remove this
* add structural damage taken to a lot of prototypes (#30790)
* fix
* add structural damage taken to a lot of other things
* do requested changes
* how did this happen
* Automatic changelog update
* No Mr.Snail, I expect you to die! (fix sprite) (#31834)
* No Mr.Snail, I expect you to die!
* emoting
* Allow some mobs to walk slowly (#31360)
* Allow mice to walk slowly
* add more
* Automatic changelog update
* Delete nonsense solar assembly construction through the Construction window (#31425)
* Delete construction for solar assembly, it's the way to do it
* Fix description of solar tracker electronics
* Improvements to hand labeler UI (#31833)
Give line edit focus when window is opened
No longer require pressing enter to set the text
Give feedback when user hits the maximum label length
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* make tesla brighter (#31357)
* make tesla brighter
* radius to 10
* Automatic changelog update
* CorrectContraband levels on each type of magboots (#30960)
* Added a ClothingShoesBootsMagBase, to allow the other versions of the magboots to have their own contraband settings
* Changed Science Boots to not be contraband
* Made ClothingShoesBootsMagBase abstract
* Removed Engineering Contraband from base magboots. Now only the CE's Advanced Magboots are contraband (Grand Theft Contraband). Blood Reds are Syndie Contraband.
* Automatic changelog update
* Morgue system refactor remove unused VVs and into Entity (#31835)
* Remove unused VVs params and usings
from entityUid, MorgueComponent into Entity<MorgueComponent> ent
* remove unnecesary VVs cuz datafields add em
* Make midround zombie outbreaks much rarer (#30266)
* Remove midround zombies
* super rare, like, 1/651 chance every few minutes.
* weight to 1
---------
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
* Automatic changelog update
* Teleporting while pulling crash fix (#31787)
teleporting while pulling crash fix
Co-authored-by: YourUsername <you@example.com>
* Automatic changelog update
* quietify stealthbox (#30741)
* Automatic changelog update
* Atmospheric alerts computer (#25938)
* Atmospheric alerts computer
* Moved components, restricted access to them
* Minor tweaks
* The screen will now turn off when the computer is not powered
* Bug fix
* Adjusted label
* Updated to latest master version
* Automatic changelog update
* Day 0 bug fix for atmos alerts computer (#31858)
Initial commit
* Basically every electronic device can now be used by the AI. (#31730)
* Basically every electronic device can now be used by the AI.
* Removed stuff that didnt make sense
* oops
* Removed access from mailing and disposal units.
* Added AI wires to a couple machines.
* cool epic stuff
* Automatic changelog update
* Fix a typo in the 10 commandments (#31856)
* feat: #26107 uplink discounts for traitors (no nukies for now) (#26297)
* feat: #26107 uplink discounts for traitors and nukies
* refactor: #26107 extracted discount label from price of StoreListingControl
* refactor: minor renaming
* refactor: parametrized adding discounts to uplink store
* fix: #26107 prevent exception on empty discountOptions
* feat: uplink now have 'Discounted' category which contains all discounted items on this session.
* after merge fixups
* rename discount categories according to common sense
* refactor: DiscountOptions is now optional (nullable) on ListingData
* add nullability check ignore for already checked listingData.DiscountOptions
* fix after merge store menu ui
* remove unused using
* final fix after merge conflicts
* [refactor]: #26107 fix variables naming in UplinkSystem
* fix: #26107 fix after merge
* refactor: #26107 now supports discountDownUntil on ListingItem, instead of % of discount
* feat: #26107 support multiple currency discount in store on side of discount message label
* refactor: #26107 extracted discounts initialization to separate system. StoreDiscountData are spread as array and not list now
* refactor: #26107 move more code from storesystem to StoreDiscountComponent
* refactor: #26107 separated StoreSystem and StoreDiscountSystem using events
* fix: #26107 placed not-nullable variable initialization in ListingData for tests
* refactor: #26107 minor renaming, xml-docs
* fix: #26107 changed most of discounts to be down to half price for balance purposes
* ids used in with discounts are now ProtoIds, dicountCategories are now prototypes, code with weights simplified
* decoupled storesystem and store discount system
* xml-docs
* refactor: #26107 xml-doc for StoreDiscountSystem
* is now a thing (tmp)
* fix: compilation errors + StoreDiscountData.DiscountCategoryId
* refactor: rename ListingDataWithCostModifiers, fix all cost related code, enpittyfy performance, uglify uplink_catalog
* refactor: removed unused code, more StoreDiscountSystem docs, simplify code
* refactor: moved discount category logic to respective system, now creating ListingData c-tor clones all mutable fields as expected
* refactor: rename back (its not prototype)
* refactor: move ListingItemsInitializingEvent to file with handling logic
* refactor: comments for StoreBuyFinishedEvent handling, more logging
* refactor: moved StoreInitializedEvent, xml-doc
* refactor: simplify StoreDiscountSystem code (reduce nesting) + xml-doc
* refactor: restore old listing data cost field name
* refactor: fix linter in uplink_catalog.yml
* refactor: xml-doc for ListingDataWithCostModifiers
* refactor: limit usage of ListingData in favour of ListingDataWithCostModifiers
* refactor: purged linq, removed custom datafield names, minor cleanup
* refactor: removed double-allocation on getting available listings
* refactor: StoreSystem.OnBuyRequest now uses component.FullListingsCatalog as reference point (as it was in original code)
* fix: minor discount categories on uplink items changes following design overview
* refactor: StoreBuyListingMessage now uses protoId and not whole object
* refactor: store refund and discount integration test, RefreshAllListings now translates previous cost modifiers to refreshed list, if state previous to refresh had any listing items
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Automatic changelog update
* Fixed AI Actions (#31823)
* Updated sprites for AI HUD
* Epic test fail
* Merged AGhost actions and AI actions together again.
* Seperate comms and bugfix. Fixed broadcast.
* Automatic changelog update
* add wireless net to evac shuttles
* Automatic changelog update
* A kit to help new botanists discover chemistry (#31738)
* Add a kit for botanists to do some limited chemistry to the NutriMax. Intended to help new botanists learn in-game about chemistry.
* remove exclamation marks from names
* naming fix
* Rejected trademark application for 'Farmers Helper'.
---------
Co-authored-by: PraxisMapper <praxismapper@gmail.com>
* Automatic changelog update
* Board for the AI upload console (#31867)
board
* Automatic changelog update
* Fix typo in agri-chem manual (#31869)
* Fix typo in agri-chem manual
* Unremove my added newline
* Cleanup books.yml (#31838)
* Cleanup books.yml
* yeah
* shame
* Vox sign/N2 locker update (#31845)
* Vox sign/N2 locker update
The "vox area" sign and N2 locker sprite were both taken from /vg/station. These sprites have bad racist connotations as discussed in https://github.com/space-wizards/space-station-14/issues/31840, and do not fit our server culture.
The new N2 locker is not a taped on piece of trash. It now also has a blue stripe to mimic the regular O2 locker and make it more distinct from fire safety closets.
The new "vox area" sign sprite follows the same style as other "area indicator" signs used throughout the blue and isn't an explicit warning sign anymore. It still has "No O2" on it to fill that role though.
* emogarbage adjustments
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* Automatic changelog update
* Pizza boxes now have a chance to contain cotton pizza (#31883)
Pizza box now contains cotton pizza
Co-authored-by: Ekkosangen <9094006+XyyxShard@users.noreply.github.com>
* Automatic changelog update
* Tech Anomaly (#31764)
* A
* B
* C
* D
* Update TechAnomalySystem.cs
* idle anim
* Update meta.json
* new animation
* Automatic changelog update
* Fixed throngler name inconsistencies (#31889)
changed throngler names
* I have spent more time today cleaning up garbage than coding new shit, and I am mad (#31246)
* Fix logging of GetWebhook errors
Yeah let's just not log the error only stack trace.
* I have spent more time today cleaning up garbage than coding new shit, and I am mad
Cleans up the custom vote Discord webhook code because I *happened* to lay my eyes on how completely terrible it was and immediately found an obvious bug with it.
Also did basic QA because jesus christ: it more clearly reports pending votes, properly indicates cancelled votes, improves footer formatting, better error logging, all the usual shit.
Requires https://github.com/space-wizards/RobustToolbox/pull/5375 to avoid test failures
* Mineral Scanner (#31390)
* Mineral Scanner
* doink
* review
* sunday funday
* review and fix bugs i think?
* Update MiningOverlay.cs
* Automatic changelog update
* Fix ai upload console itemslot whitelist (#31900)
* Fix ai upload console itemslot whitelist
* aw man
* Automatic changelog update
* improved vox laugh (#31798)
vox laugh not underwater
* fix pump shotgun wielded sprite (#31885)
* fix shotgun sprite
* fix take 2
* fix: Snail event wasnt tabled (#31884)
pest events reorganized and snails spawn
* Automatic changelog update
* Force stop pulling when fall asleep (#31893)
* break pull at sleep
* TryStopPull without user
---------
Co-authored-by: YourUsername <you@example.com>
* Automatic changelog update
* Energy Shotgun Change 2 - Narrow Nerf + instances from NoSpawn --> categories: [ HideSpawnMenu ] + self recharge removed + 1 more shot + normal recharge speed (#31235)
* narrow nerf
* last instance of nospawn gone
* removes self recharge
* 8 shots, less recharge time
* Automatic changelog update
* Add justice helm (#31905)
* Add justice helm
* backslash moment
* spinny light
* remove power cell from recipe
* Automatic changelog update
* Quiver Crafting Recipe (#27198)
* Update quiver.yml
* Create quiver.yml
* Update clothing.yml
* Update pneumatic_cannon.yml
* Update pneumatic_cannon.yml
* Update pneumatic_cannon.yml
* Update pneumatic_cannon.yml
* Delete RDs binary encryption key (#31909)
Deleting binary key
Silicon supremacy!
* undelete rd key
* Automatic changelog update
* split temperature protection into heating and cooling (#30662)
* split temperature protection into heating and cooling
* fugg
* weh
* update TemperatureProtection for stuff
* Automatic changelog update
* makes the maple wing marking have a primary and a secondary color (#31691)
bogos binted
* Automatic changelog update
* Remake bottles and syringes names to use labels (#29956)
* Remake bottles and syringes names to use labels
* vial
* fix and add stuff
* Automatic changelog update
* guide on agrichem and botanicals guidebook update (#31896)
* Automatic changelog update
* Automatic changelog update
* Lost evac pod thing tiny fan (#31915)
* disaster evacpod tinyfan
* real
* :trollface:
* untroll
* Ghostrole rule updates (#29249)
* First batch of ghostrole rule updates
* Second pass
* Re-word free agent
* Apply review comments
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* You heard it here first folks
God rules are weird to write.
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Honkbot -> Free Agent
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Mimebot -> Free Agent
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Jonkbot -> Free Agent
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Softer blue
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* :trollface:
* :trollface:
* :trollface:
* pro
---------
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Ilya246 <57039557+Ilya246@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: godisdeadLOL <169250097+godisdeadLOL@users.noreply.github.com>
Co-authored-by: YourUsername <you@example.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Mervill <mervills.email@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: poeMota <142114334+poeMota@users.noreply.github.com>
Co-authored-by: Mota <belochuc@gmail.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
Co-authored-by: Арт <123451459+JustArt1m@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Lye <128915833+Lyroth001@users.noreply.github.com>
Co-authored-by: DieselMohawk <gavin.drinka@gmail.com>
Co-authored-by: Hreno <hrenor@gmail.com>
Co-authored-by: eoineoineoin <github@eoinrul.es>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>
Co-authored-by: Token <esil.bektay@yandex.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: drakewill-CRL <46307022+drakewill-CRL@users.noreply.github.com>
Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Ekkosangen <9094006+Ekkosangen@users.noreply.github.com>
Co-authored-by: Ekkosangen <9094006+XyyxShard@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Chubbicous <100180479+Chubbicous@users.noreply.github.com>
Co-authored-by: Ps3Moira <113228053+ps3moira@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: Futuristic-OK <141568243+Futuristic-OK@users.noreply.github.com>
Co-authored-by: Ian <ignaz.k@live.de>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* add: basic rodent species
* add: rodentia base sprites
* add: basic rodent hand/foot markings
* add: ears i got em
* add: tail markings
* add: big ears
by request
* tweak: default markings, coloration
everything uses skin color by default when added except for these new "default" markings which use tattoo
* add: the rest of the basic body part markings
* add: snout textures
* add: pattern markings
* add: cheek detail
* add: sex variations for chest marking
* add: give rodentia the generic markings
* add: rodentia names
* add: damage, voice, mass, emotes to rodentia
* add: rummager ability for rodentia
* remove: temperature protection from rodentia
* add: some makeup markings for rodentia
* add: include rodentia in misc pools
* add: rodentia guidebook entries
* tweak: adjust rodentia marking points
* add: rodentia pie sprite
* tweak desc
* tweak: change rodentia name scheme
* tweak: adjust damage modifiers for rodentia
* add: rodentia always trigger mouse traps
* tweak: rodentia have unique speech verbs
* tweak: change rodentia inventory shape
* tweak: rodentia take more phys dmg overall
* tweak: made rodentia hungry
* add: mouth storage component on rodents
* add: server mouthstoragesystem
* add: force-dump mouth storage on trip
hmm the networking on this is a little ehh. but watever
* add: rodentia drop mouth items on damage
* add: blocked interactions if mouth is full
* fix: corrected accent oops
* tweak: tense
* fuck this import in particular
* tweak: spit damage threshold
* fix: no redundant open actions
* refactor: move this action into the types file
* add: rodentia get ability to hide under tables etc.
* tweak: change rodentia action icons
* refactor: im renaming this component and system lol
* refactor: rename this event too
i was gonna refactor the whole system to be more like climbing, but the climbing system is convoluted so im just gonna do this and put it aside
* tweak: fix the mouth storage icon
the number covers it
* tweak: check if colliding with table before un-sneaking
* fix: crawl action cooldown and popup text
* add: slowdown to sneak ability
* refactor: fix this namespace
* tweak: rummageable objects now use a cooldown
* fix: newlines
* Apply suggestions from code review
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: portfiend <109661617+portfiend@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: portfiend <109661617+portfiend@users.noreply.github.com>
* fix: collision group variavbles
* add: proper "full body" sprite
* add: move blaze to head folder, "round face" marking
* add: whisker markings
* tweal: rodentia are 50% -> 33% hungrier
1.5x seemed excessive
* refactor(mouthStorage): move OnExamined from server to shared
* refactor(mousetrap): use HasComp
* refactor(mouthStorage): use a public api instead of event here
* refactor(yml): KILL REPETITION
* refactor(parts/rodentia): KILL REPETITION
---------
Signed-off-by: portfiend <109661617+portfiend@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
* Does all the under the hood changes to mail components before I EVEN start thinking about MailSystem
* Mail Handheld Rapid Parcel Delivery System (#974)
* Mail RPDS
* removed sizes, more items go in capsules
* fixed error
* capsule resprite, added it to service techfab
* Update after upstream merge
* glass
* Update frontier.yml
* tag fix
---------
Co-authored-by: Dvir <dvirf01@gmail.com>
* Mail Buff (#1473)
* MailUp
* Update base_mail.yml
* Update base_mail.yml
* Update MailTeleporterComponent.cs
* Update MailComponent.cs
* Update base_mail.yml
* Update base_mail.yml
* Update Resources/Prototypes/Nyanotrasen/Entities/Objects/Specific/Mail/base_mail.yml
Sure
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
---------
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
* Mail table rework (#1477)
* Mail table, system for smoke prank
* Format mail messages
* DelayedItemSystem cleanup, more mail table entries
* More mail table entries
* Remove hoverbike from mail pool
* Add large mail.
FIXME: mail_large.rsi has no copyright info
* Default mail isLarge to false, comment cleanup
* More mail types
* Add optional large mail flag to admin mailto cmd
* mail_large copyright
* admin cmd fix, new mail types, const cleanup
* Mail: new components, weighting, a few new items
* Fix merge conflict, add placeholder pipebomb mail
* Format mail text, separate sword mail from knives
* Mail: fix exp. welder ID, split up Dan's cigs
* Fourth muffin, decrease captain's sabre chance
* yaml fixes
* Add ShowJobIcons component to mail hud
* Reorganize mail items, add build-a-buddy mail
* Build-a-Buddy fixes, slime & vulp versions, text
* Reptillian->Reptilian
* More signatures, label necrosol bottle, bigger emp
* lowercase i
* extra premium cigars, premium liquors
* Cleanup
* Fixups And Edits
* Remove kendo hakama, jabroni comment, fix cigars
* Platinum cigars, fix sprites
* fix premium absinthe ID
* Remove cyberpen, add BibleUserImplanter, ATV mail
Also adjusts weights for TacticalMaid (missing a zero), Restraints (cut
in half)
* kendo mail order, more mail comments
* Remove Nyano mail lists & parcels, move into _NF/
* True to true, cigars aren't fragile
---------
Co-authored-by: Dvir <dvirf01@gmail.com>
Co-authored-by: Whatstone <whatstone3@gmail.com>
* Kills accidentally cherrypicked platinum cig, makes mail be sorted into 5 ymls again
* THE MAIL TABLE!!!!! AHHHHHHHHHHHHHHHHHHHH
* NUKES two UNNECCESSARY RANDOMLY PASTED BRACKETS
FUCK YOU BUILD ERROR !!! EAT SHIT
* a semicolon for good measure
Adei versus the one silly
* Fuck is this? Why is it in my mail?
* Pro forgot values for two of the engineering mails
💀
* First pass to fix various mail bugs + editing of papers
* obliterates a random S in a C# file, also returns the mail teleporter to how it was
* Nukes the platinum cigar's YAML
Since there's no intent for it to spawn in the mail, might as well.
* Milon's Review
Does some shit to the mail / courierdrobe and gets rid of string keys. Thanks Milon
* Milon's Review 2, Electric Boogaloo
* Various YAML fixes as I try to satisfy the Linter and fail
* Fixes Mail.yml / If I get rid of the EMP china lake does it fix things? Let's find out!
* Cleans up more C# at Milon's behest
* TORTUGAAAAAAAAAAAAAAAAAAAA!!!!
Why is this mapped in?
* Revert "TORTUGAAAAAAAAAAAAAAAAAAAA!!!!"
This reverts commit b1d415a7be.
* Migrations
* Does a bit more fixing
* Update Resources/Locale/en-US/_NF/mail/mail.ftl
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Signed-off-by: Adeinitas <147965189+adeinitas@users.noreply.github.com>
* Update Resources/Locale/en-US/nyanotrasen/Mail/mail.ftl
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Signed-off-by: Adeinitas <147965189+adeinitas@users.noreply.github.com>
* Fixes Mail Capsule / Creates frontierMigrations
Blame Velcro for frontierMigrations.
* Update Resources/Migrations/deltaMigrations.yml
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Signed-off-by: Adeinitas <147965189+adeinitas@users.noreply.github.com>
* Rewords that one fucking comment I made 2 months ago about MIT / AGPL
* Just gives the delayed smoke prank and delayed EMP effects the instant effect sprites
* Where the fuck are these random curly braces from??
* An attempt to satisfy the Yaml Linter
* Revert "Update Resources/Locale/en-US/nyanotrasen/Mail/mail.ftl"
This reverts commit 0ee3869d76.
* Revert "Update Resources/Locale/en-US/_NF/mail/mail.ftl"
This reverts commit 29129df9d6.
* Mail FTL fixes / I think I know what the linter wants
* will this sprite be valid pretty please?
* Does a first pass on noSpawn for all mails.
ANOTHER COMMIT FOR THE PILE.
* Unfucks noSpawn from the mail prototypes
---------
Signed-off-by: Adeinitas <147965189+adeinitas@users.noreply.github.com>
Co-authored-by: ErhardSteinhauer <65374927+ErhardSteinhauer@users.noreply.github.com>
Co-authored-by: Dvir <dvirf01@gmail.com>
Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Whatstone <whatstone3@gmail.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
* Work on abstracting out chargeup functionality/ui from grav gen
* Work on station anchor
* Finish implementing station anchors
* uhh yeah
* ok.
* fix tests
* whoops
* Get the last extraneous yaml fail
* PJB review
* beast mode... ACTIVATE!
---------
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* Localize respawn command, allow for it to use userids, and make it use [Dependency] attributes
* Make respawn verb available for offline players
* Make erase available for offline players
A thousand admins rejoice
* Reorder verbs in code
* Add erase command
* Fix localisation for erase command
* Address reviews and add completion to respawn command
* Complete reviews which I forgor
* From the top! - Redid my branch...
* Cleanup with some comments and explanation
* Testing if Accentless is issue- failed build test
* Wasn't the bug-
* Changed accent weights based off int discussion
* uh, forgot comment change
* Changed comments a final time- reflect new weights
---------
Co-authored-by: Adeinitas <147965189+adeinitas@users.noreply.github.com>
* Re-add improved random sentience event
* Make randomly sentient PDA more likely
* Make vending machine sentience less likely
* Make requested changes
* Make randomly sentient captain's gear more likely
* Sentient captain sabre has pirate accent
* Tweak new random sentient object a bit more
* Sentient PDA improvements
* Apply recommended fixes
* Add requested changes
* Fix merge conflict
* Station AI overlay
* implement
* Bunch of ports
* Fix a heap of bugs and basic scouting
* helldivers
* Shuffle interactions a bit
* navmap stuff
* Revert "navmap stuff"
This reverts commit d1f89dd4be83233e22cf5dd062b2581f3c6da062.
* AI wires implemented
* Fix examines
* Optimise the overlay significantly
* Back to old static
* BUI radial working
* lots of work
* Saving work
* thanks fork
* alright
* pc
* AI upload console
* AI upload
* stuff
* Fix copy-paste shitcode
* AI actions
* navmap work
* Fixes
* first impressions
* a
* reh
* Revert "navmap work"
This reverts commit 6f63fea6e9245e189f368f97be3e32e9b210580e.
* OD
* radar
* weh
* Fix examines
* scoop mine eyes
* fixes
* reh
* Optimise
* Final round of optimisations
* Fixes
* fixes
* Beginnings of making the breadmemes jobs easier
* stuff
* stuff pt. 2
* Stuff pt.3
* Stuff I forgot last time
* Basic whitelist
Only people that are added to the whitelist with the addwhitelist command will be able to join. I call this the "legacy" whitelist
* Remove always deny condition in favor of just breaking if playtime check fails
* Change default whitelist
Default whitelist is now the "legacy" whitelist.
* localization
* Admin check
* minor spelling change
* Fix build
* Whitelist message
* Fix vars not being datafield and spelling mistakes
* Minor spelling mistake
* Change config for salamander
* Reviews and stuff
* Add summaries
* Fix whitelists
* Forgot to add a datafield
* Fixing stuff I guess
* Reuse admin remarks to reduce load when connecting.
* Update log messages to be verbose instead of debug
* Reviews
* whoops
* Explain a bit more how whitelist checking works
* Apply CE's review
* Append Membership to Blacklist and Whitelist conditions
* Fix review comments
* Uncapitalize playerConnectionWhitelist, add to ignored client prototypes
* Make note count field work
* Fix cvar for thingy
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* Disable arrivals message for cryosleep late arrivals
* Provide silent to PlayerSpawnCompleteEvent
* Fix typo
* Move message to event and into arrivals system
* make JobPrototype.Whitelisted respect blanket whitelist, make jobs use it
* add jobwhitelists command and ui
* add job whitelist button to player panel
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Format DockingSystem.Shuttle
* arrivals system
* docking system
* shuttle console system
* emergency shuttle system
* shuttle system
* thruster system
* Fix compile error
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* Action stuff
- Cleanup some event stuff
- Avoid dirtying entity unnecessarily
- Add ActionGrant as an easy way to apply / remove actions via compregistry.
* Fix merge
* Power stuff
- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.
* big update
* boing
* remove ItemToggle from PowerCellDraw query
* add EntityQuery for resolves, make them all optional
* move integration to ToggleCellDraw
* add ToggleCellDraw to almost every PowerCellDraw prototype
* :trollface:
* :trollface:
* :trollface:
* let it disable on mapinit
* set update time on mapinit, make borg power logic consistent now
* :trollface:
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Remove client state from server AirAlarmComponent
Send information for all connected devices, not just the ones for the
current tab, as attempting to limit this breaks multiple users viewing
the same UI.
Fixes#12842
* Send device data as a list, rather than a dictionary
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Added codeword highlighting
* Updated to support more codeword roles, color is set serverside
* Review feedback
* Change to a Component-based system using SessionSpecific
* Tidied up CanGetState, set Access restrictions on component
* Clean-up
* Makes the injection ignore brackets, restore some codewords, remove "Taste/Touch" from adjectives
* add 101kpa nitrogen fixgridatmos marker
* make a lot of things datafields so they save and can be set in yml
* add vox box scrubber/filter/sensor/alarm
* move some stuff to deltav folder, add deltav comments to the fixgridatmos mixture
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Start work on PostgresNotificationManager
Implement initial version of init and listening code
* Finish implementing PostgresNotificationManager
Implement ban insert trigger
* Implement ignoring notifications if the ban was from the same server
* Address reviews
* Fixes and refactorings
Fix typo in migration SQL
Pull new code in BanManager out into its own partial file.
Unify logic to kick somebody with that when a new ban is placed directly on the server.
New bans are now checked against all parameters (IP, HWID) instead of just user ID.
Extracted SQLite ban matching code into a new class so that it can mostly be re-used by the ban notification code. No copy-paste here.
Database notifications are now not implicitly sent to the main thread, this means basic checks will happen in the thread pool beforehand.
Bans without user ID are now sent to servers. Bans are rate limited to avoid undue work from mass ban imports, beyond the rate limit they are dropped.
Improved error handling and logging for the whole system.
Matching bans against connected players requires knowing their ban exemption flags. These are now cached when the player connects.
ServerBanDef now has exemption flags, again to allow matching full ban details for ban notifications.
Made database notifications a proper struct type to reduce copy pasting a tuple.
Remove copy pasted connection string building code by just... passing the string into the constructor.
Add lock around _notificationHandlers just in case.
Fixed postgres connection wait not being called in a loop and therefore spamming LISTEN commands for every received notification.
Added more error handling and logging to notification listener.
Removed some copy pasting from SQLite database layer too while I was at it because god forbid we expect anybody else to do all the work in this project.
Sorry Julian
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* Add failure logging to DiscordWebhook.cs
Add a new function that logs errors with discord webhook's http requests.
Create, Delete, and Edit functions were modified slightly to call the log function but return the same information as before.
The log function logs the error code, caller method using a simple constant (could be better), and attempts to log headers mentioned in issue #30248.
* remove extra ';'
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Move header error logs to debug
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Issue was tools was predicted but wires aren't so this would exclude user from audio.
For now we just do the non-predicted version and I or someone else will fully predict wires later.
* PDA can no longer be linked to multitool
* Ignore previous commit, it would've broken things
* Added SavableAddress field to DeviceNetwork component and PDA for testing. Still need to implement
* System works, borg and pda addresses cannot be saved, but they still connect to the net.
* Suit sensors can no longer be added to network configurators, still work for monitoring purposes.
---------
Co-authored-by: Zachary Yona <magicalusf@gmail.com>
* bah
* all done, thanks slarti
* makes the watcher do the thing
* Update TemperatureSystem.cs
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
* changes something
---------
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
* Fix news management console access checks using manifest instead of AccessReader component
* Fix one tiny mistake
* Fix one tiny mistake, properly this time
* Revert accidental changes unrelated to this PR
* Add missing .Owner on delete check
* Fixed bug with missing gas not getting reset
* Fix bug with MutateInt not using min/max in prob calculation
* Add divison by zero check
* Fix styling
* seed screams now SoundCollectionSpecifier
More types of scream sounds
* plants scream mutation have 10+ scream types
* plant scream reduce scream volume
And scream powerness get's from yml instead of hardcode, so from prototypes could be changed pretty much easilly
* plants review change
* uncomment grappling gun
* Remove rest of Geras files (#30912)
remove remaining geras stuff
* tweak(AgeRequirement): Make the requiredAge more sensible (#30913)
* chrore(ageRequirement): fix grammar. atleast -> at least (#30914)
* Minor sprite fix to inhand med hardsuits and HoS turtleneck jumpsuit (#30918)
* Fixes inhand hardsuit cross color from https://github.com/space-wizards/space-station-14/issues/26516#issue-2213917971
* Fixed HoS Turtle not covering all butt pixels
---------
Co-authored-by: Zachary Yona <magicalusf@gmail.com>
* Add execution component to all energy sword weapons (#30909)
Co-authored-by: plykiya <plykiya@protonmail.com>
* Automatic changelog update
* chore(grammar): correct some mistakes (#30916)
* Add diamond mining drills, buff regular mining drills (#30814)
* why do I have to change so much just to add drills
* diamon
* Automatic changelog update
* give trash a reusable entity table (#30921)
* Contraband marking & examining (#28688)
* System & loc strings
* pass over syndie contraband
* fixes
* grand theft pass
* contrabandexamine -> contraband
* examine text generation update
* all composition parents necessary
* bring back minor contra so it has a less confusing message
* minor
* weapon pass
* jumpsuit pass
* feet pass
* AUUUUUUUUUGHHHHHHHHHHHHHHHHHH
* head
* AUUUUGH
* ear
* belt
* back
* fix
* bro
* rename for more clarity
* do da review
* add cvar for contraband examine
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Automatic changelog update
* Automatic changelog update
* Removes variant cube migration (#30934)
add
* First Review Pass Contraband Fixes (#30930)
* First pass contra fix
* bam
* More
* Security crates are now marked as security restricted
* Syndicate raid suit is contra
* damn I forgot gatfruit
* Add conducting gloves to the maintenance loot table (#30904)
* add
* lower weight
* Fix DoDrop to DropNextTo in container cases (#30911)
* Fix DoDrop to DropNextTo in container cases
DoDrop is too heavy to calculation. In any other case we should use alternatives, for example DropNextTo helper method
* codestyle change
* Fix Reagent Fire Stacks (#30766)
* Fix Reagent Fire Stacks
* Comments on code
* little nicer wording?
* Lines 88 and 89, updated 'narsie' and 'ratvar' to 'Nar'Sie' and Ratva… (#30954)
Lines 88 and 89, updated 'narsie' and 'ratvar' to 'Nar'Sie' and Ratvar, per issue #30719.
* Automatic changelog update
* Fix permission check for whitelists in player panel (#30948)
* Automatic changelog update
* Grey mantle in winterdrobe (#29774)
* add the mantle
* fix a few things
* fix merge conflict stuff, remove from winterdrobe and lathe.
* Add mantle to loadouts (20 hour requirement)
* Automatic changelog update
* Sliceable doAfter (#30824)
* init
* wtf git
* Automatic changelog update
* Add capfruit, a gatfruit mutation. (#30850)
* add base
* add fake suffix and flavor fix
* address some reviews
* parent it
* fix test fail
* add FoodSequence support and address small review
* Automatic changelog update
* Fixes the grey mantle (#30971)
add the thing i missed
* Add keybinds for rotating and flipping objects (#30540)
* add keybinds for rotating and flipping objects
* no popup for verbs
* Automatic changelog update
* tweak(Shuttle_honki): Remove DeviceQuantumSpinInverter from honki shuttle. (#30618)
* Make the Borgs Names Appear When they Make an Announcement (#30107)
* Make the Borgs Names Appear When they Make an Announcement
* bwomp
* re-order
* Use Name instead of metadata
* goiup
* Automatic changelog update
* disable contraband examine
* rename our SliceFoodEvent
* Throngler Plushie Sprite (#30969)
Throngonkler Plush sprite
* Fix bug with rotating shelves (#30978)
* Main
* Update shelfs.yml
* Little bug fix
* No weather on concrete tiles (#30952)
* concrete weather
* miss
* development build ghostrole lottery changes (#30980)
debug ghostrole lottery changes
* Automatic changelog update
* Add a saline syringe to the combat medical kit (#29954)
saline
* Automatic changelog update
* fix the admin verbs trying to kill players by filling their lungs with plasma (#30991)
fix the admin tools trying to kill players by filling their lungs with plasma
* Custom Taco & Kebabs - FoodSequence 2 (#30905)
* control layer ordering
* sprite update
* taco!
* taco naming gen
* fix separator naming
* some proto fixes
* default naming separation
* fix taco naming
* rat update
* hamsterburger
* organs taco
* remove from spawners
* fixes
* fix separators and lemons
* Update food-sequence.ftl
* randomization offset
* fix
* kebabs refactor
* fix
* skewer weapon
* Update food_single.yml
* Update migration.yml
* suppermatter
* hamlet centered
* hamsburger
* Update dead-0.png
* 20 -> 4 burger layers max
* Update burger.yml
* canReact: false
* capfruit update
* Update burger.yml
* Update burger.yml
* Update produce.yml
* some fixes
* Update Resources/Textures/Objects/Consumable/Food/taco.rsi/meta.json
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Update Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Update Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* chicken
* Update food-sequence.ftl
* documentation
* fixes
* Update meat.yml
* Update meat.yml
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Automatic changelog update
* Fix popups not working properly with an eye offset (#30990)
* Adds a random smokable spawner (#30870)
* Textures to make lamps mappable to East/West.
* Adds a random smokable spawner
* remove double derma
* Increase chance for just basic cig
* Update to enitity tables
* Tweak values
* Remove space
---------
Co-authored-by: Jeff <velcroboy333@hotmail.com>
* Fix lizards being unable to eat custom burgers (#31005)
* Fix lizards being unable to eat custom burgers
* ensure tag comp
* Automatic changelog update
* Sedin (#27110)
* Sedin
* almost forgot this.
* what
* Did a few fixes, tried to readd popup
* Fix popup, ready for merge
* minor change
* Generalize seed removal/destruction system, add popups in general.
* fix
* fix (again)
* deadcode is no more
* Sedin buff (nerfing the recipe soon)
* godont
* webedit moment
ok listen I had to nuke my setup because my computer was being Dumb As Shit so let me do this ONE webedit
* CRIKEY
* Revert "CRIKEY"
This reverts commit 1c6959ffd9ba8bb1e97ccf2eb0b37b3ff4ec82ee.
I was not supposed to commit that >:/
* Alright, it should be good now but I havent tested it
* ready for merge/review
* prob -> probability
* Requested changes nodoc
* Review nodoc
* documento
* thumb up emoji
* Automatic changelog update
* Adds a Dinky Star Sticker for security officers (#29767)
* Sec-Star-TASTIC
* fix license
* now counts as trash
* Sticks to people + wearable
* no more sticky
* no more sticky
* mystery-space
* Update Loadout Yaml
* Automatic changelog update
* tweak(hospital): Reduce diamond stack from 30 to 1 (#31027)
* tweak(experiment): Reduce diamond stack from 30 to 1 (#31025)
* replace mapped diamond stacks with single
* Figurine voicelines (#30865)
* initial commit
* tweaks to the new voice lines
capitalizations of I's and the Y on hos 3 voice lines
also changed the captain figuring voice line 2 to something completely different
* capitalized one letter
man i really suck at capitalization
* more capitalization
i never thought this pr would need so many changes
* changed one comma to a dot
* Update Resources/Locale/en-US/datasets/figurines.ftl
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Automatic changelog update
* Adding shock collar and electropack (#30529)
* Adding shock collar with the new ShockOnTrigger
* Cleaning and updating the shock collar
* Add StripDelay datafield to ClothingComponent
* Adding SelfUnremovableClothingComponent
* ShockCollar Update
* Correction of the shock collar
* Correction of the shock collar 2
* Renaming the DamageSpecifier DataField to Damage
* Fixing the damage field in ShockCollar
* Cleaning the ShockCollar
* Renaming ShockCollar to ClothingNeckShockCollar
* Adding ClothingNeckShockCollar as a stealTarget to a thief
* Fixing a typo of the sprite path in ClothingNeckShockCollar
* Cleaning the ShockOnTriggerComponent
* Revision of SelfUnremovableClothing
* Adding a ClothingBackpackElectropack
* Sprite fix
* Code review
* Shock Collar sprite update
* add commit hash
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Automatic changelog update
* Greatly improve the usability of the Gas Analyzer. (#30763)
* greatly improve how the gas analyzer behaves
* don't close the analyzer when the object goes out of range
* cleanup
* always switch to the device tab when a new device is analyzed
* modern api part one
* modern api part 2
* modern api part three
* file scope namespace
* Automatic changelog update
* Fix false and true in player-panel.ftl (#31043)
Fix false and true in player-panel
Add a new True string
* Contra Review Passs - Round 2 (#30942)
* Contra pass round two
* command too
* Stamps
* oopsied a bracket
* Namespace cleanup around Mind Roles (#30965)
* namespaces
* Comment does not need a semicolon
---------
Co-authored-by: Vasilis <vascreeper@yahoo.com>
* Contraband Review Pass - The Threequel (#30970)
Contraband pass number three
* Golden toilet (#31049)
* golden toilet
* Destructible
* sprite
* fix
* copyright
* Automatic changelog update
* Salvage Spawners (#31020)
* treasure entities and spawners
* no more smiles
* remove nyano shock collar code
* Event scheduler setting tweaks (#31018)
tweaks
* Automatic changelog update
* remove meteor swarms rule for a moment
* Revamped Meteor Swarm (#28974)
* meteor code and balanced values
* Meteor Swarms
* Update meteors.yml
* Update meteors.yml
* HOO! (fix overkill bug and buff space dust)
* undo BloodstreamComponent.cs changes
* DamageDistribution -> DamageTypes
* part 2.
* Missing meteor presets (#29044)
* add meteors into missing game presets
* changes for real
* implement code
* this too
* Meteors now leave behind a bit of ore (#30419)
* Meteors that leave behind asteroid ore
* bigger offset
* Bit more generic
* Better defaults
* hrm?
* I HATE CUSTOM SERIALIZERS
* More comments
* renamed a variable
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* refactor event schedulers to use explicit game rules (#29320)
* works, still has testing values, im sure I did stupid shit.
* shitvent crapfactor
* snap extra word out of existence
* shit I died of old
* remove useless inaccurate design comments
* Oopsie, handle requirement params in RandomRuleSystem too
* I'm a slash slinging hasher
* Address reviews, add admin alerts I forgor
* EntityMan saves the day
* address reviews 1
* eh, I actually don't care about the cargo gifts thing.
* started
* Do reviews
* you actually meant 1.2 lmao
* dependency inheritance is a fickle bitch
* I have no idea.
* Threads are for sheets not computers.
* fix traitor rule test
* fix round type tattling
* break things
* It worky
* Toolshed makes we want to drink depresso.
* Finished?
* remove debug values
* timings
* use defaults
* alphabetize
* bobby drop tables
* Float required fr fr
* continue
* more continence
* uno mas
* obsolution
* cleanup and documentations
* Yell at self
* use the right value defaults
* housekeeping
* Event scheduler setting tweaks (#31018)
tweaks
* Automatic changelog update
* remove(NukeopsRuleComponent): Remove a trap from the component file (#31029)
ah
* Fix bug with holding objects (#31009)
Main
* Automatic changelog update
* Replace obsolete map functions in IconSmoothSystem (#30958)
* first part
* second part
* Automatic changelog update
* Fix reagents with ReagentData being duplicated (#30983)
Initial commit
* :trollface:
* :trollface:
* actually untroll
* a
* 50 burger
* add back old meteor code
* fix
* use some live config options in dev
* remove old shock collar icon
* make ammo more consistent and work more
* clean up lathes diff to upstream
* a
* move rubber bullets to deltav folder
* a
* untroll
* more untrolls
* more untrolls
* untroll
* :trollface:
* a
* b
* remove it for real
* add missing lathe recipes
* replace cvars with component field
* remove taco from roboisseur
* migrate cardboard box with smg mags
* remove kebabs
* a
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
Co-authored-by: Zachary Yona <58833995+Magicalus@users.noreply.github.com>
Co-authored-by: Zachary Yona <magicalusf@gmail.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: Token <esil.bektay@yandex.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: LeoSantich <108027402+LeoSantich@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: pigeonpeas <147350443+pigeonpeas@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: PoorMansDreams <150595537+PoorMansDreams@users.noreply.github.com>
Co-authored-by: IgorAnt028 <118114530+IgorAnt028@users.noreply.github.com>
Co-authored-by: NotSoDamn <75203942+NotSoDana@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Jeff <velcroboy333@hotmail.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Eris <eris@erisws.com>
Co-authored-by: FATFSAAM2 <saamboroujerdi@gmail.com>
Co-authored-by: to4no_fix <156101927+chavonadelal@users.noreply.github.com>
Co-authored-by: Mervill <mervills.email@gmail.com>
Co-authored-by: Vasilis <vascreeper@yahoo.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
* make mindshields removable
* use new logic stolen from upstream pr
* a
* remove unused mafia trollage
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* add MailMetricsCartridge prototype
using the CrimeAssist UI until i make the courier performance ui
* add sprite for mail courier cartridge
* Add MailMetricUI
YAYYYYY IT WORKS
UI Contents pending
* Mail earnings live update mailmetrics
* LO can have mailmetrics too
* Add rest of mail metrics
Also removes some loggers
* Add additional metrics to MailMetric
Also fixes some bugs related to stat counting
* MailMetric updates on mail added
* change sprite credit name
decided id rather be credited as Portfiend
* display all mail numbers now
* remove comment
* style mailmetrics, add heading
* mailmetric UI polish
* fixed unopened mail counting bug oopsie
* wtf is this import
get out of here
* move StationLogisticStats to BaseStationMail
* FOUR SPACES
sirry
* fix: newlines
* address reviews
* address reviews
SORRYYYY this is unexpectedly big
* wtf
* semicolon
---------
Co-authored-by: byte <50130120+huckleton@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
* Revert "Adjusts AME rate of diminishing returns (#1625)"
This reverts commit 3e6e4d7b16.
* we're SO BACK
* version fuck you
* no more fucky wucky fucky wuckies are gone
* basic AAC tablet prototype
using station map as a base
* set up aac component/system
* quick phrase prototype
will probably touch this up later
* basic example phrases
just so i have data to work with
* get AACWindow to iterate over quick phrases
* add the rest of the job phrases
* fix this one job name
* actually fix prison guard name
* buttons for aac window
* fix phrase inheritance
* add tabs to aac contaner
* fix column spacing and add button padding
* aac tablet button colors
* AAC tablet sends messages now
* add aac tablet voice sound yay
* add a 1 second cooldown between phrases
* subjects for most departments
* location phrases
* more phrases
* cleanup + sort buttons alphabetically
* fix these phrases
* even more departmental subject phrases
* common phrases
* cleanup imports
* show name of player that pressed button
* aac tablet can be used by multipel people
after all it does not rely on state changes and also multiple people can press buttons on a tablet at once
* capitalize aac
its an acronym
* you know what it is its more phrases!!!!
* SAFETY PHRASES
* last second phrases
* redundant phrase
* and one more hazard phrase for the road
* change voice of aac tablet from borg to alto
just sounds nicer
* localize ALL Phrases
i love utility scripting to automate tedious tasks
* add AAC tablet to loadout
* add AAC tablet to medfab
* tweak: use multiple parents instead of whatever this is
* add: justice department phrases
* add: time quantity phrases
* add: ores and kitchen appliance phrases
* fix: resolve duplicate phrases
* add: aac tablet sprites
* add: justice button style
* fix: misplaced this line oops
* add: justice dept locations
* remove: redundant phrase
* re-run tests
* fix: move aac tablet loadout format
* fix: use Identity instead of Name for aac tablet sender
* fix: return on send phrase if id is invalid
* fix: remove redundant line
* fix: use LocId instead of String for phrase text type
* add: new phrases bc upstream updates
* fix: newlines
* tweak: add end comments to these style comments
* fix: this phrase was broken lol
---------
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
* I should be studying for school but that is sofucking boring, I will pass my class no matter, however getting an A might be a challenge. My gpa is important but is the tourture for 1 point of GPA worth it? The american government says yes but they are responsible for the majority of all genocides that have ever been conducted since the dawn of man
* ugh
* ugh
* melee executions
* fix damage bug
* cleanup
* address reviews hopefully
* resistance bypass mechanic
* component changes
* self executions (not finished yet)
* self execs part two
* ok i fixed things (still not finished)
* finish everything
* review stuff
* nuke if (kind = special)
* more review stuffs
* Make suicide system much less hardcoded and make much more use of events
* Fix a dumb bug I introduced
* self execution popups
* Integration tests
* Why did they even take 0.5 blunt damage?
* More consistent integration tests
* Destructive equals true
* Allow it to dirty-dispose
* IS THIS WHAT YOU WANT?
* FRESH AND CLEAN
* modifier to multiplier
* don't jinx the integration tests
* no file-scoped namespace
* Move the rest of execution to shared, create SuicideGhostEvent
* handled
* Get rid of unused code and add a comment
* ghost before suicide
* stop cat suicides
* popup fix + small suicide change
* make it a bit better
---------
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
* Make anomaly, artifact and gifts events announcement sound optional
* Requested changes + Added new "GameRuleAfterAddedEvent" for StationEventSystem
We need to call "Add" in "StationEventSystem" after others GameRule's in case if we need to change StationEventComponent variables.
* Fix margins
* Makes use of GameRuleComponent.Delay and remove station system handling of delays plus small cleanup
* Fix merge
---------
Co-authored-by: AJCM <AJCM@tutanota.com>
* move MinMax to shared
* cleanup MinMax
* move other ticking components to shared just because
* remove unused prototype file
* update everything to use shared components
* test
* test 2
* test 3
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Add access to gun components
Found from an rmc14 PR.
* Admin verbs proving why access needs to exist
* Someone is probably going to post this pr to le reddit and complain about self-merges.
* Log enrichment: Explosion damage to players
* Update Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Revert to total damage variant only, currently serialised as string.
* Make this its own log type.
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* add tooltips to agentid job icons
* forgot to stage this
* make StatusIconPrototype abstract
* minor visual improvements
* cleanup
* use currentculture to sort job names
* review
* add(FaxComponent): Allows for setting defaults in the component.
This wires up the Fax component to allow the default paper and office
paper to be set. The defaults are what they were before, and it's an
optional option. Now Fax machines can be set to print different paper
when using Print File or other cases where the default paper style is
used.
* Requested change to EntProtoId.
* Fix build failure.
* Basic structure for the player panel ui
* Ensure basic functionality
Player panel now receives and displays basic info
* Make whitelistcommands accept user ids
* Make PlayerPanel use GUIDs where possible
* Add functionality to most playerpanel buttons
* Implement remaining playerpanel features
* Localize everything
* Finish up
* Put command arguments in quotes
I am not sure if it's even possible to have something like a space in
them considering they are guids and usernames but sure why not
* Make playerpanel a verb
* Add Logs button to player panel
* Change Notesbutton text and make whitelistbutton a confirmtion button
* Add freeze button that does not mute the player
* Add sharedconnections counter to playerpanel
* Make the playetime format clearer
* Allow for copying of the a player's username
* Do minor cleanup
* Rearrange buttons
* Fix unfreeze button not updating
* Fix wrong localisation text
* "Fix" the same role ban counting multiple times
The way rolebans are stored is horrible.
As such if you ban someone from a departmenrt or something
role bans are individually placed for every role.
The only way I found to distinguish them is the bantime.
This is horrible but I do not want to rewrite how all the bans are
stored right now.
* Add Delete and Rejuvenate buttons to player panel
By popular demand
* Marginally improve ui
* Add logs
* review update
* Fix verb
* Fix double notes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Everything but the submodule
* stuff I forgot
* heat
* missed lights
* behonky
* LocId
* I guess it was a skill issue?
* predicted audio
* It works with lights now
* Borg equality
* Gorilla gauntlet grants protection from anomaly returned damage when attacking it
* woops, there we go
* NONE
* Use DamageModifierSets, remove Behonker damage
* Reviews dealt with
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Added the ability for blood to track DNA using ReagentData; Forensic Scanner now accounts for solution DNA, non-DNA holders have "Unknown DNA"
* Removes touch DNA for puddles, adds DNA to vomit
* DNA now leaves traces in containers and those marked without don't show DNA on scan (except for puddles), gibbed parts have DNA
* Fix stupid metamorphic glass bug grrr
* Removed SpillableComponent since DnaSubstanceTraceComponent is used instead
* Removes data field from maps, adds DNA tracking for some missed items
* Give default value, fix missing values.
* Fixes recipe bug
* Review changes
* Make the Data list into a nullable type
* Revert map changes
* Move gibbed unknown DNA to forensicssystem
* Add BreakOnDropItem, update do afters, remove unnecessary declarations
* bola
* Changed my mind about the nuke
* gennies too
* Make the comments more clear.
* Sorry for the trailing commas
* Revert "Sorry for the trailing commas"
This reverts commit e60fd9a30977393df3344948e6d5c0ce035723cd.
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* add verbose examine text to gas miners so their behaviour can be understood
* no need for these to be properties
* use an enum instead of two booleans for the miner state
* require the gas miner to be anchored in order to not be disabled
* xmldoc
* pr feedback
* file-scope namespace
* it's to late to hide my transgressions in a rebase
* turns out the normal examine distance is totally fine for this
* AntagSelectionSystemFix
* readded the stuff that shouldn've been deleted in the first place
* re-arrange
* undo indentation
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* GET WORLD POSITON, ROTATION
* Missing parentheses
* ui system depndency
* the issue
* Unused
* Let the function do the transform
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* TemperatureSpeed component
* temperature slowdown prediction (done right)
* remove unnecessary changes
* that too
* get in line
* make it readonly
* auto pause
* De-duplicate loadout gear
Needs supporting code, probably with an interface with StartingGearPrototype which would also use it, but I regexed the yaml.
* Code updates
* Remaining yaml
* Fix automatic naming
* raiseEvent
* Don't code when tired kids
* Fix paper system late localization
* IS THIS WHAT YOU WANT
* well I guess this is happening now
* fix the BUI
* did that even do anything before?
* again with the escapeformatting...
* Dirtying
* Move dirty to function
* Rename PaperSystem to PaperVisualizerSystem
* Fix namespace
* how many namespace changes must I suffer through
* SetContent is for Setting Content
* minor shuffling
* review
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* IN MY WALLS! IN MY WALLS THEY ARE IN MY WALLS HELP HEELP HEKP PA DADOEAMD EODM AOM D *DIES* IM NOT DEAD ADADADDADIAMSDIM
* RUN I SAID RUN! THEY TOOK MY UKELELE
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* Many have fallen
* It's all emo's fault
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* Moves spread data to new component
* Refactors shotgun spread code
* Makes shotgun cartridges and projectiles use new component
* Attempts to fix nullable build error
* Fixes hitscan weapons that I broke :(
* Saviour commit?
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* allow ai to understand if its handcuffed.
* rerun tests they worky on local
* Contained here in, a string of expletives about flaky tests.
* on retrospect, default true is probably smorter.
* do reviews
* I forgor xml
* more xml
* commit used for the recording, mostly copypaste
* Remove recording artifacts, now contains content
* use switch expression instead of switch statement
Also `ExpectedDoAfter` to fail when doafter isn't raised
* Update MoverController.cs
* Update a bunch of movement code to use Entity<T>
* Last errors
* wow, there were more errors
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Completion of documentation
Comments have been added to ConditionalSpawnerComponent and RandomSpawnerComponent
* Appear fix
Some fixes with word "appear"
* Clear search criteria on loading aHelp window
* Pinning technology.
* Relay to aHelp window and discord if a user disconnect/reconnect
* Fix pinning localization
* Log disconnect, reconnects, bans to relay and admin in aHelp
* Drop to 5min to hold active conversations
* Update Content.Server/Administration/Systems/BwoinkSystem.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* discord text styling if diconnect,reconnect,banned message.
* Pin icons instead of text
* Better Icons
* space
* Move button generation in to its own XAML
* List entry control
* Fix spaces
* Remove from active conversations on banned
* Discord if else block cleanup
* Better pin icons
* Move icons to stylesheet styleclass
* Better field order.
* PR review fixes
* fixes
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Make magic mirror do-after longer, add popups to notify the target
* Turns out I do have access to the user
* More detailed popups
* Helmets protecc
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Move vgroid much closer
General feedback is map spam + it takes too long to get to. This is somewhat "close" (considering 1/4 of the distance is the vgroid itself) but without a jetpack / shuttle it's going to be an endeavour.
* Decrease max
* Tweaks
* godzilla
* Update Content.Server/Shuttles/Components/GridSpawnComponent.cs
Specifically if a grid splits under the cvar size it doesn't get a label. This also stops stuff like shuttles splitting in half creating new entries for the new grids. Splitting code leaves the largest grid as the existing one so this will always prefer to keep it large (but if there's multiple splits it won't adjust).
* Update vomit organ smite to not use Component.owner
* is this what you want...?
* am I winning, dad?
* update the comment
* we love entity<t>
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Make delay incurred by transfer amount modifiable
* No unintentional negative delay please
* Use more fixedpoint, hope I didn't break anything
* merge review suggestion
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Syndicate thief, spy, medic
* Fixes description for nukies
* update description for uplink
* Implement the radial menu
* forgot these were necessary to push lol
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* I dunno, break shit I guess.
* Actually fix some shit for once.
* test flakey or me flakey?
* Test were not flakey, they just didnt make any sense anymore.
* more stationy tests
* undo abuncha shit I can set in yml instead
* forgor an assert
* unneeded usings
* 1984
* I made github angy
* yoink
* the end is never the end is never the end is never the end is never the end is never the end is never the
* Im going to commit sudoku
This may be a breaking change for some stuff, I only tested basic combat stuff + throwing.
This fixes the coordinates setting an off-screen position to the top-left pixel and blocks throw attempts as a result.
* ui and visual aspect + radio
* finish jank ui shit and finish radio
* remove radio
* send it
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* add debug logs
* Update Model.cs
* fix playtime logic for null playtime
* remove unnecessary condition
* either me or the compiler is having a C# skill issue
* randomize iconSmoothing
* Revert "randomize iconSmoothing"
This reverts commit 094356f975737c0af24ce39d849aec7852b9af6e.
* try 2
* trying work with client-server communication
* still dont work
* Tayrtahn good suggestion
* remove outdated code
* Fix!
* move data to Appearance
* Update RandomIconSmoothComponent.cs
* Replace EntityCoordiates.InRange() with TransformSystem.InRange()
* nullspace
* I figured it out
* man I have no clue how client side sutff works
* please have mercy
* remove RadiationPulseOverlay changes
* nullspace
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* The death of try20
* Add integration test for traitor gamerule
* Fix max difficulty being overshot
* Check at least one objective is assigned
* EntProtoId
* blah, setup
* Updates GasTankSystem and InternalsSystem to not use Component.Owner
* squish the diff
* Fixa the rest
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* item toggle refactoring and some new systems
* add ToggleClothing component/system
* unhardcode magboots gravity logic
* make magboots and speedboots use ItemToggle and stuff
* remove now useless clothing components
* update client/server magboots systems
* add note to use ItemToggledEvent in ToggleActionEvent doc
* refactor PowerCellDraw to use ItemToggle for ui open/close control
* add TryUseCharges, refactor charges system
* update magboot trigger code
* make borg use ItemToggle, network SelectedModule instead of now removed Activated
* add AccessToggle for borg
* the giga ninja refactor
* update ninja yml
* update ItemToggle usage for some stuff
* fix activatableui requires power
* random fixing
* yaml fixing
* nuke ItemToggleDisarmMalus
* make defib use ItemToggle
* make things that use power not turn on if missing use charge
* pro
* fix sound prediction
* bruh
* proximity detector use ItemToggle
* oop
* big idiot syndrome
* fix ninja spawn rule and make it generic
* fix ninja spawn rule yml
* move loading profiles into AntagLoadProfileRule
* more ninja refactor
* ninja yml fixes
* the dreaded copy paste ops
* remove useless NinjaRuleComponent and ue AntagSelection for greeting
* fix invisibility
* move IsCompleted to SharedObjectivesSystem
* ability fixes
* oop fix powercell instantly draining itself
* sentient speedboots gaming
* make reflect use ItemToggle
* fix other test
* loadprofilerule moved into its own pr
* remove conflict with dragon refactor
* remove all GenericAntag code from ninja
* )
* probably
* remove old enabled
* great language bravo vince
* GREAT LANGUAGE
* who made this language
* because it stinks
* reparent blood-red magboots to magboots probbbly works
* most of the review stuff
* hasGrav doesnt mean what i thought it did
* make health analyzer use itemtoggle, not fail test
* fix mag/speed boots being wacky
* UNTROLL
* add ItemToggle to the random health analyzers
* a
* remove unused obsolete borg func
* untrolling
* :trollface:
* fix test
* fix
* g
* untroll
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Fix the ability to shoot out of crates
* Makes it check what inventory the player is in
* use IsEntityOrParentInContainer
* Fix Issues Github had
* gaahhh... Prevents lasers from being shot out of crates
* gaahhh... Prevents lasers from being shot out of crates
* Fix laser?
* hmmm... this is better looking I think?
* Uncook indentation
* Rerun tests?
* Silence ringtones on invisible PDAs
* Revert "Silence ringtones on invisible PDAs"
This reverts commit afc1041f31eebe82e83630a856a8856b877a9826.
* Literally just this
* Add an admin announcement for news article publishing
* Shaking and Stirring
* Remove shake message
* Switch if order a bit
* Add doafter supprot for reactionmixer
* Fix nullability
* Timespan zero
* Forgot to remove loc string
* Reorganize usings
* Remove unneeded usings, fix b52 needing to be shaken
* Revert "Make all Nukies humans (#29693)"
This reverts commit 3e3e050aafb93daa1eb017ee06b5e2a15fb3d315.
* Implemented species blacklist
* Re-enabled all species as Nukies except for Vox because loadouts don't support breathing alternative gases yet.
* Dungeon spawn support for grid spawns
* Recursive dungeons working
* Mask approach working
* zack
* More work
* Fix recursive dungeons
* Heap of work
* weh
* the cud
* rar
* Job
* weh
* weh
* weh
* Master merges
* orch
* weh
* vgroid most of the work
* Tweaks
* Tweaks
* weh
* do do do do do do
* Basic layout
* Ore spawning working
* Big breaking changes
* Mob gen working
* weh
* Finalising
* emo
* More finalising
* reverty
* Reduce distance
Separate the environment check from CapSpawnAmount into GetValidEnvironment to make the code a little cleaner, and also makes these two checks independent.
CapSpawnAmount and GetValidEnvironment now both have zero side-effects
Broken renamed Idle to reflect its use. Broken in my mind implies that there's some method for fixing.
---------
Co-authored-by: Partmedia <kevinz5000@gmail.com>
* add more info to entity json in logs
* replace TryGetSessionById
* remove unused dependency
* get admin status from the entity
* group values by component
* alphabetize
* I've discovered that my original plans may be bad for performance
* Allow Flares to light cigarettes
* !IsHot check
* nicer looking(and I think the right way to do that...)
* heh, whoops
* Adds IgnitionEvent, IgnitionSource now functions as IsHot when Ignited
* Fixes + remove redundancy
* Hows this?
* press enter
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Flare is not forever hot anymore
* Formatting fixes
* Make IgnitionEvent readonly
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Fixes gravity wells
* thank you slarticodefast
* Minor nitpicks addressed
* NITPICKS UNDONE
* REDO THE NITPICK, WE LOVE MATRIX MULTIPLCATION
* Revert "REDO THE NITPICK, WE LOVE MATRIX MULTIPLCATION"
This reverts commit c782eee1a1c7bda90c7ca686928019cc5f25c8cf.
* NITPICK REDO
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Oh the possibilities
* Merge fixes
* Forgot to remote LavaSystem oops
* Changed EntityEffectArgs to EntityEffectBaseArgs and EntityEffectReagentArgs
* Throw exception for unimplemented effectargs
* Remove Json and overrideable datafields
* Fix test issues
* Actually fix the compiling issue
* Fix comments and remove EntityEffectArgs (no longer used, replaced with EntityEffectBaseArgs)
Miners now can produce a fraction of their SpawnAmount corresponding
to the "remaining space" available in their environment according to
their MaxExternalPressure and MaxExternalAmount.
* add textures
* add SealingCabinet system
* add StoreUnlocker/ObjectiveUnlock system
* add plutonium core and nuke core container
* make nuke deconstructable
* add steal core objective
* add core extraction toolbox to new category
* typo ops wrench fuel
* use queries and resolve, have it resolve instead of using Comp
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
There were TWO bugs here
FIRST, APCs *did* update their visual state on initialization, but at that point the relevant power state hasn't been initialized yet, so it always returns a bogus result. There aren't guaranteed to be subsequent power updates that actually trigger the APC to update so this can get it stuck.
Fixed by just deferring the on-init update to be after the first update tick, which is itself ordered to be after power update.
SECOND: Once I fixed that, I ran into the issue that APCs created at *server startup* also fail to update, because the throttling system (to prevent frequent APC updates) thinks the LastChargeStateTime was at server startup.
Fixed by making that variable nullable so it defaults to null.
Also removed the useless datafields on the "last update" fields. These are all just used to cache and throttle updates, something that should not be persisted to a map file.
Miners' prototype have been changed to reflect this (I read
somewhere that we have about 1 atmos tick/0.5s, my tests show more
like 1/0.53 but that looks close enough).
This also means that miner's spawnAmount is now expressed in mol/s.
See: #18781
This feature should never have been merged, it can be trivially abused to break the entire server.
It's behind a CVar because honestly that's the easiest way to 1984 the feature.
* Spawn dummy entities on client for vending machine UI
* Asked sloth, and we kinda need this pr
---------
Co-authored-by: Vasilis <vasilis@pikachu.systems>
* add LoggingDisabled to AccessReader
* add LogWireAction
* -m give everything besides high-security door a log wire
* make LogAccess public and support string arg
* add log when pulsing
* m
* l
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Implement a new kind of ip range ban that only applies to new players
* Put determining whether a player record exists to its own function
* Make BlacklistedRange bans get bypassed by any ban exemption
* Stop trying to get another DbGuard while already having one
This does break with convention on the functions in that area but
considering the use of this function it's probably fine?
I could alternatively just move the place it's called from.
Also I was suppossed to wait for tests to finish locally just to be
sure, but nah. I am pushing this now
* BlockSolutionAccessComponent now only blocks one specified solution.
* Significant overhaul
Separated spilling when worn functionality into its own component/system.
Removed BlockSolutionAccessComponent.
Added an event for solution access.
* partial buckling refactor
* git mv test
* change test namespace
* git mv test
* Update test namespace
* Add pulling test
* Network BuckleTime
* Add two more tests
* smelly
* Revert "Automatic changelog update"
This reverts commit 3358aef40f2b5525ec15e6ce01533b4e8c2ddfc9.
* Revert "Revert "Automatic changelog update""
This reverts commit 3d0b6a7ade06ec555d4f6df3f39134b139e5247c.
* Removal of the throw cooldown as it felt sluggish and unresponsive before.
* Fix conveyor mispredicts
Instead of tracking active conveyors we instead track the conveyed entities. This also handles things like stacking conveyors more gracely.
* Fix ActiveConveyor
* Fix lerping
* glacier real
* troll
* atmosia tweaks
* 1 less can of plasma not too op
* replace troll generator with solar crate
* add StationSurface to glacier
* add surface map
* biome stuff upstream #28017
* unpause after loading
* fix no terrain
* comment out the surface spawning
* shipyard
* glacier justiceroid
* updateprototype and cleanup
* fix random shit
* untroll
* courier
* add to test :trollface:
* fix
* futureproofing
* hot loop inlet lmao
* tweak some pumps in atmosia
* carpy and make salv locker lighting better
* Edit lights, move salv dock, add justice maints, edit entity names for casing consistency, other minor edits
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
* Give jobs & antags prototypes a guide field
* A
* space
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Add todo
* Fix merge errors
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit e7f2ae52ab24dddc8f3c94cb84b751482700e3da)
* add SignAttemptEvent and minor signature refactor
* add recruiter pen
* add the recruiter ship
* add recruiter antag and event
* fixes
* real
* bad popup spam
* more fix
* fix blood visual maybe
* fix greentext
* more fixy
* fix fill state not being coloured
* give btamp instead of paper in pocket 2
* f
* brighter filled state
* fix greentext
* fix error on spawn
* pro
* prevent using a syringe to inject anything into the pen
* update stuff after upstream merge
---------
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
* make changes
* comments
* commiting a single whitespace so i dont get executed
---------
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
The TEG used to limit hot-cold energy transfer based on actual power drawn, and had maximum efficiency at whatever temperature difference. This PR adjusts the hot-cold energy transfer to be uncapped, "venting" the excess heat that is not used to generate power, and adds an efficiency curve that limits efficiency at low thermal temperatures.
People have been cheesing the TEG by hooking up the hot end to the CO2 miner (which produces infinite, room-temperature gas) and the cold end to a space radiator.
With this change, you will actually need to set up a burn chamber in order to get appreciable power out of the TEG (see below).
If you build a gas holding chamber, you will have to throttle the gas flowing into the TEG instead of constantly cycling the gas through over and over again.
* Mannequin
* rsi license fix
* damage container fix
* container fix
hope this works
* layers fix + appearance comp (mb it help?)
* maybe fixed?
* one day it will work...
* can't even understand why test failing... (maybe fix?)
* last try?
* Don't use invalid defaults for loadouts
At the time it made more sense but now with species specific stuff it's better to have nothing.
* Loadout SetDefault only applies valid loadouts
* THE syndie microwave
* Always burn to explode microwave when copying
* Make it so copying ids stop when the microwave is goign to explode
* Made explosion destroy the board and spit out the machine parts
* Move logic is MicrowaveSystem, make metal cooking use the same logic
* Fix passing the wrong malfunction time
* Shuttle cannot escape aggressive branding
* Always make it explode with an id
* Forgot to invert bool, move it after fry chance
* SS-28662 Add cvar to force spawn everyone at departures
This cvar means everyone must spawn at departures. This
could be handy for an admin event? But mostly it's so the
tutorial departures terminal can be seen by all newbies on
gateway servers.
* Small fix to ArrivalsSystem flow
* Remove incorrect todo
* Add godmode arrivals cvar
* uh...
* fix
* alright, there we go
* Revert "alright, there we go"
This reverts commit 448180bfa58cc24c42a4d59ef34c017b9941f37b.
* Make lasers not hit certain objects and lying mobs unless clicked on
* comment
* Update Content.Server/Weapons/Ranged/Systems/GunSystem.cs
* an l vanished?
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Add "Subpoenaed" to the SecHud and Criminal Records Computer
* Update Content.Server/CriminalRecords/Systems/CriminalRecordsConsoleSystem.cs
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: Bellwether <157836624+BellwetherLogic@users.noreply.github.com>
* Update Resources/Locale/en-US/criminal-records/criminal-records.ftl
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: Bellwether <157836624+BellwetherLogic@users.noreply.github.com>
* Moved and commented files as requested, redesigned icon due to avoid Syndicate lookalike
* moved some .ftl business so it's properly commented
* Attempting to slay a rogue byte order mark
* necromancy upon falsely slain byte order mark
* Moving things into DeltaV namespace
---------
Signed-off-by: Bellwether <157836624+BellwetherLogic@users.noreply.github.com>
Co-authored-by: Bellwether <null>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* add sacrafice/drain sound
* refactor glimmer event yml + uncomment wisp + make mites scale at lower glimmer
* remove glimmer wisp rule and make GlimmerMobRule much more flexible + better
* add LifeDrainer code that wisp uses
* add ai primitives and compounds
* add glimmer wisp
* a
* fixes
* add wisp texture
* desc
* add sounds
* buff so you cant literally 2 shot it with bible
* make it harder to kill but drop more ectoplasm
* make it work properly
* let it use zap in combat i hope
* add glimmer creatures guidebook
* test
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* remove unused terminator code
* remove genericantag usage, put everything on the real rule
* hide spawner from spawn menu
* remove terminator locale
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* rename pirate radio map to listening post, change spawner prototype
* refactor pirate radio spawn rule into DebrisSpawner and LoadFarGrid
* remove obsolete yml
* -m make listening post rule use new stuff and antag selection
* other changes
* fixes
* more
* fixy
* fix nan
* final fix
* what
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Replace obsolete whitelist is valid with whitelist system
* Consistency
* Fix logic
* Bork
* I figured out how to get whitelists on the client lol
* test fail
* woops
* HELP ME FUNCTIONS
* Fix errors
* simplify
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Makes machine parts stacks, removes unused field in stack prototypes
* forgor
* Fix tests
* Fixes lathe construction. Yes. This sucks but there's no better way that doesnt involve refactoring machine parts completely
* detail
* a
* make jugg not atmos hardsuit reable lmao
* re machine yaml refactor
* use the enum name to localize re results
* move a lot of code to shared and refactor
* clientside rework
* add test for missing recipes
* untroll
* make exped board recipe yml consistent with upstream
* fix unearthed sneaky bugs + generic does nothing so remove
* add mass media console board, remove roundstart boards from dynamic recipes
* remove roundstart stuff, add rcd ammo to protolathe
* dont dupe because of access electronics prototypes
* fix final fails
* final untroll
* final untroll 2
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Null <56081759+NullWanderer@users.noreply.github.com>
* Change BanExemption command to AdminFlags.Ban permissions
* Change LOOC to check for Moderator permission
* Change ListVerbs from Admin to Debug AdminFlags
* Change RunVerbAs from Admin to Fun AdminFlags
* More permission changes
* Change GhostKick to Moderator perm
* Clean up command perms
* fuck
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* remove dragon system usage of GenericAntag
* add AntagRandomSpawn for making antags spawn at a random tile
* add AntagSpawner to make an antag spawner just spawn an entity
* add antag prototype for dragon since it never had one
* make dragon spawner a GhostRoleAntagSpawner, remove GenericAntag
* make dragon rule use AntagSelection and stuff
* remove dragon GenericAntag rule
* add back to spawn menu
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Try syncing powered state to client
For some reason the client is not receiving the ApcPowerReceiverComponentState, so it's not working.
* Fix powered state not syncing to client
The client PowerReceiverSystem was abstract, which prevented it from
running initialize.
* Flip check so that it runs bigger checks first
PowerDisabled skips the others.
NeedsPower skips the receiving check.
* Disallow changing Powered manually
* Move Powered update to PowerReceiverSystem
* Move appearance to event subscription
* Move metadata component to AllEntityQuery
* Cleanup
* Move Powered update back to PowerNetSystem
It's easier to use the EntityQueries and it dosen't need to be updated
anywhere else.
* Put appearance updating back
* Move IsPowered to shared
* Simplify IsPowered
* Cleanup
* Remove duplicate PowerChangedEvent
PowerChangedEvent on ProviderChanged doesn't seem to be needed
PowerChangedEvent gets raised by in update if the power state changes
after a new provider is connected
I am leaving the issues open and have updated #26547 with more info on what we should do long-term. This is just to bandaid the short-term complaining.
* Order normal space heater instead of anchored variant
* Make sure ordered objects don't spawn anchored
* Order space heater flatpack instead of a regular space heater
* Remove obsolete TODO
* Remove unnecessary name
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Use nav beacon location for emergency shuttle's docking announcement
Location of the shuttle relative to the nearest nav beacon in docking announcement message of the emergency shuttle
* Add directions relative to station
* A comprehensive rule list for joining admins and mid round command to get rule list added
* Fix up for when a rule is added vs started and some logging
* fix command help localization, fix admin flags and spam anouncement.
* Send admin message only to the joining player not all admins.
* Bit better formatting in chat box
* move profile loading out of nukeops rule
* make BaseNukeopsRule and use AntagLoadProfileRule
* untroll
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* add AntagObjectives from GenericAntag
* add AntagRandomObjectives that traitor and thief can use
* make ObjectivesSystem use initial character name which AntagSelection passes
* make thief and traitor use AntagRandomObjectives
* remove now unused locale
* make sleeper agents rule use baseTraitorRule
* restore dragon rule oop
* bandaid for genericantag
* real
* typo
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Fix firelock prediction issues with periodic pulses of closing lights
For some reason this function was setting a time for the next state
which was triggering the door system to try to close the firelock.
This does not happen serverside because the function only fires from an
event called clientside apparently.
It appears to be an attempt to stop firelocks from closing instantly
that did not function properly, and I cannot discern any other purpose.
As such I have removed it.
* Remove redundant serverside check
This became redundant with commit 439a87f2
* Change prying system and pryunpoweredcomp to allow for custom time modifiers
This will be useful if I go the route of making firelocks pryable when
unpowered instead of just being able to open and close instantly when
unpowered.
* Make firelocks properly predicted
Shared system made. Since atmos checks can only be done on the server we
just have it set relevant bools on the component and then dirty it.
Ditched atmos checks on trying to open, they now only happen whenever
firelocks are updated.
* Make firelocks pryable without a crowbar
While this usually would only allow you to do this when a door is
unpowered, firelocks do not have the airlock component which actually
does that check. As such firelocks will always allow you to pry them
open/closed by hand.
* Clean up System. Change update interval to be based on ticks. Move as much as possible to shared
* Make firelocks unable to emergency close for 2 seconds after being pried open
* Clean up
* More cleanup
* Reorganize SharedFirelockSystem methods to match Initialize order
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* draft one of plant metabolism guidebook
* loc fix?
* add attributes loc
* fix loc syntax
* improved appearance
* last commit was undercooked, my bad
* last commit was still undercooked, my worse
* last commit was even still undercooked, my worst
* Addressed comments?
* Fix newlines
* Hopefully this works
* Cleanup, I think
* 2xs
* Changed PopupEntity overload used to ensure message is only sent to user
* Updated uid for PopupEntity call
* Updating _popupSystem.PopupEntity call in AttemptSummon
* Add radio implants
* Syndie radio implant: add to uplink, formatting pass
* Syndie radio implant: fix doc string
* Syndie radio implants: add inheritdoc to systems
* Syndie radio implants: Change wording on uplink
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
* Syndicate radio implants: More wording changes
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
* Syndicate radio implants: fix review code problems
* syndicate radio implants: remove OpenRadioImplantEvent event and reuse storageimplant stuff
* Syndicate radio implants: prevent implanting borgs with generic radio (syndicate radio is still possible)
* syndie radio implants. extremely graphic non-null matching action and establishment of extreme non-virtual privacy
---------
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
* move paradox code around and update it
* make MidRoundAntagRule just give spawn locations
* update the yaml
* give anom and listening post raffles
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Null <56081759+NullWanderer@users.noreply.github.com>
* reagent dispenser: fancy window
* reagent dispenser: dispense button grid
* reagent dispenser: rearrange containers & info
* reagent dispenser: remove `reagent-dispenser-window-container-label`
* reagent dispenser: add `Scrollcontainer` on right side
* reagent dispenser: get rid of pointless actions
* reagent dispenser: cleanup actions and `inventory` field on bound ui state
* reagent dispenser: cool reagent cards & finishing touches
* reagent dispenser: final cleanup and formatting
* reagent dispenser: `ButtonGrid` and `ReagentDispenserSetDispenseAmountMessage` refactor
* reagent dispenser: cleanup code & address minor concerns
* reagent dispenser: text in reagent cards no longer clips
* reagent dispenser: oh wait i forgot to change this and thats why the builds keep failing probably
* reagent dispenser mayybe this
* reagent dispenser: remove `using FastAccessors;`
* delete unused classes
* disable reagent button when container is empty
* Make things a bit bigger
* remove obsolete text color override
* Allow for Station Records interface for aghosts to delete records
* Fix record consoles not working when there are more than 2 crew members.
HOW DID NOONE NOTICE THIS SOONER???
* Stop being unconventional
* Vox stuff
* Species loadouts and lobby refactor
The control flow for lobby is all over the shop so I pulled it all up from the individual controls so now they handle the bare minimum required and LobbyUIController handles the rest.
* a
* Bulk changes
* a
* weh
* Character import / export
* finalise
* woops this stuff too
* Also datafield exporting
* comments
* Review
* Brings over changes from the original magic refactor PR
* Adds Master Spellbook, spellbook categories, WizCoin currency, and locale
* Wiz€oin™
* Adds currency whitelist to Spellbook preset, grants contained actions on action added.
* Adds grant contained action and remove provided action.
* adds a way for actions to be upgraded to the store
* Adds Fireball 3 and fixes action upgrade logic so that it checks if the action can level or if the action can upgrade separately
* Fixes upgrade logic in ActionUpgradeSystem to allow for level ups without an actual upgrade. Fixed action upgrade logic in store system as well
* Removes current action entity from the bought entities list and adds new or old action entity
* Removes Current Entity
* Removes old comments, fixes TransferAllActionsWithNewAttached
* Removes TODO
* Removes Product Action Upgrade Event
* reverts changes to immovablerodrule
* Removes stale event reference
* fixes mind action grant logic
* reverts shared gun system change to projectile anomaly system
* forgor to remove the using
* Reverts unintended changes to action container
* Adds refund button to the store
* Refreshes store back to origin.
* Refund with correct currency
* Init refund
* Check for terminating and update interface
* Disables refund button
* Removes preset allow refund
* dont refund if map changed
* adds refunds to stores
* Adds method to check for starting map
* comments, datafields, some requested changes
* turns event into ref event
* Adds datafields
* Switches to entity terminating event
* Changes store entity to be nullable and checks if store is terminating to remove reference.
* Tryadd instead of containskey
* Adds a refund disable method, disables refund on bought ent container changes if not an action
* Removes duplicate refundcomp
* Removes unintended merges
* Removed another unintended change from merge
* removes extra using statement
* readds using statement
* might as well just remove both usings since it won't leave the PR
* Fixes Action upgrades from stores
* Changes to non obsolete method uses
* Shares spawn code between instant and world
* Adds action entity to action event, adds beforecastspellevent, adds spell requirements to magic component
* puts prereq check in spell methods, sets up template code for before cast event
* checks for required wizard clothes
* Networks Magic Comp and Wizard Clothes Comp. Renames MagicSpawnData to MagicInstantSpawnData.
* Removes posdata from projectiles
* Speech > RequiresSpeech
* Fixes ActionOnInteract
* checks for muted
* popup for missing reqs
* Validate click loc for blink spell
* Checks if doors are in range and not obstructed before opening
* Check ents by map coords
* Adds speak event
* Comments spellbooks
* Removes comments
* Unobsoletes smite spell
* Invert if
* Requirements loc
* Fixes spell reqs
* Inverts an if
* Comment updates
* Starts doafter work
* Removes doafter references
* Balances fireball upgrades to be more reasonable
* Enables refund on master spellbooks
* Spells to do
* update spellbook doafter
* knock toggles bolts
* Touch Spell comments
* Comments for pending spells
* more comments
* adds spider polymorph to spellbook
* TODOs for spells
* reorganizes spellbook categories and adds wands
* fixes spacing and adds limited conditions
* commented owner only for future store PR
* reenables owner only for the grimoire
* fixes grimoire sprite
* Adds wizard rod polymorph
* summon ghosts event
* Moves rod form to offensive category
* Adds charge spell and loc for rod polymorph
* Oops forgor the actual chages
* Item Recall comment
* Fixes UI
* removes extra field for wizard rod
* Cleanup
* New Condition (INCOMPLETE)
* Fix linter
* Fix linter (for real)
* fixed some descriptions
* adds regions to magic
* Adds a non-refund wizard grimoire, fixes blink to deselect after teleporting, reduces force wall despawn time to 12 seconds
* removes limited upgrade condition
---------
Co-authored-by: AJCM <AJCM@tutanota.com>
* Add tests for ghost spawn position
* Make ghosts spawn immediately
* Format mind system
* Move ghost spawning to GhostSystem
* Spawn ghost on grid or map
This fixes the ghosts being attached the parent entity instead of the grid.
* Move logging out of the ghost system
* Make round start observer spawn using GhostSystem
* Move GameTicker ghost spawning to GhostSystem
Moved the more robust character name selection code over.
Moved the TimeOfDeath code over.
Added canReturn logic.
* Add overrides and default for ghost spawn coordinates
* Add warning log to ghost spawn fail
* Clean up test
* Dont spawn ghost on map delete
* Minor changes to the role test
* Fix role test failing to spawn ghost
It was failing the map check due to using Nullspace
* Fix ghost tests when running in parallel
Not sure what happened, but it seems to be because they were running simultaneously and overwriting values.
* Clean up ghost tests
* Test that map deletion does not spawn ghosts
* Spawn ghost on the next available map
* Disallow spawning on deleted maps
* Fix map deletion ghost test
* Cleanup
* Do not wake up NPC if there is still a mind attached.
This became apparent with diona nymphs (?) and slime gyras (?). This caused players that disconnected while a nymph, gyras or other npc to resume their NPC behavior. Which I would call unwanted. This fixes that.
* Zombies become AI anyway
* Update Content.Server/NPC/Systems/NPCSystem.cs
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* add FireProtection system and event
* minor optimisation + make flammable use fire protection event
* add fire protection values to some things, nerf firesuit heat resistance
* bruh
* unrevert laser nerfs, make elite hardsuit fully fireproof
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* create devicenet frequencies
* create borg transponder and give it to all nt borgs
* add robotics console
* actually implement battery charge display + some fix
* tab
* real explosion
* little safer
* disable destroy button clientside too when on cooldown
* m
* how do i do this when i review things...
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* webedit ops
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* ui updates
* oracle java
* do a thing
* update ui when a borg times out
* maybe fix test
* add IsLocked to LockSystem
* make destroying gib the chassis again, so emagging isnt sus
* use locking
* require using alt click to unlock so normal click is open ui
* the
* use LogType.Action
* take this L
* pocket lint?
* sharer
* pro ops
* robor pushmarkup
* m
* update and make it not use prototype anymore
* frame0
* update yaml
* untroll
* bad
* h
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Added new HTN operations & preconditions
* Ok I forgot about partial
* Namespace pierce the skies
* Some fixes, debug and new operators
* Bruh git eat my files
Fucking whoops
In #27742 I made it so sanitization of character profiles was moved to be *after* database load. Except that means I moved it to be after the copy of all character profiles got sent to the client.
Move the sending to *also* be in that second load stage, and rename it. Fixes the issue.
First bug: if an error occured during pref loading code, it would fail. If the person then readied up, it would likely cause the round to fail to start.
Why could they ready up? The code only checks that the prefs finished loading, not that they finished loading *successfully*. Whoops.
Anyways, now people get kicked if their prefs fail to load. And I improved the error handling.
Second bug: if a user disconnected while their prefs were loading, it would cause an exception. This exception would go unobserved on lobby servers or raise through gameticker on non-lobby servers.
This happened even on a live server once and then triggered the first bug, but idk how.
Fixed this by properly plumbing through cancellation into the preferences loading code. The stuff is now cancelled properly.
Third bug: if somebody has a loadout item with a playtime requirement active, load-time sanitization of player prefs could run into a race condition because the sanitization can happen *before* play time was loaded.
Fixed by moving pref sanitizations to a later stage in the load process.
* Mega Antag Refactor
* last minute delta save
* more workshopping
* more shit
* ok tested this for once
* okkkkk sure
* generic delays for starting rules
* well darn
* nukies partially
* ouagh
* ballin' faded and smonkin wed
* obliterated the diff
* Spread my arms and soak up congratulations
* I've got plenty of love, but nothing to show for it
* but there’s too much sunlight
Shining on my laptop monitor, so I
Can’t see anything with any amount of clarity
* ok this junk
* OOK!
* fubar
* most of sloth's review
* oh boy
* eek
* hell yea!
* ASDFJASDJFvsakcvjkzjnhhhyh
* add shipyard code
* add shipyard preferred dock
* shipyard locale
* add the computer itself
* add all the pre rebase shuttles
* name the shuttle
* tweak all shuttle maps + fix test
* add some categories for future use
* rename nanotrasen to civilian
* update for new ui system and move remaining yaml into deltav folder
* good
* write tests
* wow
* helix price hike
* fix dirty dispose
* use deltav cvar file
* s
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
---------
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Null <56081759+NullWanderer@users.noreply.github.com>
* Added warning to tryGetSolution, moved SolutionContainer code to shared
- Added an optional warning (false by default) to print an error if a solution is missing when using tryGetSolution methods
- Moved ensuring solution containers to shared, left the old method stubs for compatability and marked them as obsolete.
* Update SharedSolutionContainerSystem.cs
* Update SharedSolutionContainerSystem.cs
* Update SolutionContainerSystem.cs
* Update SharedSolutionContainerSystem.cs
* Fixing ensuring chem solutions always returning false on client
- ensuring chem solutions will only return false on the client if it is waiting for a server solutionEntity to be synced
* Added concentration helpers
* fix whitespace
* Add dock device link port
* SpawnAndDeleteAllEntitiesInTheSameSpot moment
* The fuck is TryStopNukeOpsFromConstantlyFailing??
Do we have a new test that can randomly fail?
- Now uses a SoundCollection.
- Now properly handles going between maps (audio rework mucho wow).
- GetAudioLength used so it can properly countdown ANY song (wow audio rework wow wow).
Using static Regex functions that take in a pattern is bad because the pattern constantly needs to be re-parsed. With https://github.com/space-wizards/RobustToolbox/pull/5107, the engine has an analyzer to warn for this practice now.
This commit brings most of content up to snuff already, though some of the tricker code I left for somebody else.
* Geras bug fixes
* oops
* its as shrimple as that
toggled transferName in the polymorph yml instead of using the system to manually change it
* its as shrimple as that (2.0)
fixed reviews for zombies having a dummy action, instead - properly implemented removal of action
* its as shrimple as that (3.0)
fixed tests by removing nameidentifier from slime (its already inherited, anyway)
* Optimise navmaps significantly
- Reduce the delta state size significantly.
- Remove AirtightChangedEvent because this will spam them out constantly.
* weh
* review
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Moved GasMixture to shared
* Temp Fix for sandbox violation, idk why Array.Resize isn't working properly. It's already sandboxed.
* The most powerful webedit in history
The microwave system would update UserInterface on any container changed instead of just the microwave_entity_container. This would cause it to error when trying to update the UI when ConstructionSystem inserted the circuit board and components.
* Basic emote radial menu
* Move out from corvax
* Move to UI controller & add to top menu bar and key bind
* Make emote play
* Add name localization for emotes
* Localize chat messages
* Fix emote menu
* Add categories localization
* Fixes
* Fix
* Add emotes entity blacklist
* Fix entity whitelist required all logic
* Remove unused wagging emote
* Revert sprite
* Set default texture for emote icon
* Update Resources/keybinds.yml
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Tippy is BACK
* Clean up clippy from aprils fools
* Changed names from clippy to tippy, added localization, removed local_clippy command, made it easier to target a specific player
* Rename clippy.yml to tippy.yml
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* feat(fax): Client fax file-print parses and stores label
* feat(fax): Fax machines print, copy, and send paper labels
* style(Fax): Comments and formatting
* feat(fax): Make fax admin logging more consistent and clear
* refactor(fax): Replace ternary with a simpler null coalescing
* refactor(fax): Make FaxSystem Send method signature consistent with Copy, PrintFile
* refactor(fax): Read entire file and process later instead of peeking first
* refactor(fax): Remove local variables only used for style
* style(fax): Fix some nearby style errors
* fix(fax): Undo an inaccurate change to admin log formatting
* refactor(fax): Separate `firstLine` variable
* fix(fax): Use Environment.NewLine
* bienvenidos
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Added localization of groups and types: damage, metabolism (displayed in the guide book). The text for the health analyzer, weapon damage inspection is now taken from damage prototypes
* fix damage tests
* fix damage test yml
* fix damage test prototypes
* Update Content.Shared/Damage/Prototypes/DamageGroupPrototype.cs
* Update Content.Shared/Damage/Prototypes/DamageTypePrototype.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fix handlabeler/utility belt misprediction
* Partly moved HandLabelerSystem to shared
And cleaned up HandLabelerComponent
* WIP format the files so later commits look clearer
Doesn't change individual code lines, but may move
functions to another file
* WIP some more code movement
* Hand Labeler is now mostly predicted
Only the UI isn't
* WIP: Formatting and moved stuff
* Using componentstates for prediction correction
* review
* Update label on label change
* Don't overwrite label while editing
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Fix dropping carried entity when walking to a different grid and accidental escape from carrying
* Fix offset carrying
Better fix#1
* Add cancel escape action
* Add a popup shown when you're getting picked up
* Ported bag-carrying stuff (taking someone out of a bag makes you carry them, also allows to insert the carried person into a bag)
* Add sleeping inside bags
* Fix carrying mass contest
* Add the missing file
---------
Co-authored-by: Azzy <azzydev@icloud.com>
* Rodents can be Faxecuted (executed via Fax machine)
* use brute instead of new group.
* fax visuals now use tags for mouse and hamster instead of comps
* fix for ubuntu, damn ubuntu bane of my life
* cant copy hamlet, can now faxecute mothroaches.
* fix
* fix
* fixes
* removed ifs now using switch, removed hastag now using string.
* fixes and no more switch
* cleanup
* more cleanup
* fix
* cleanup
* moved damage out of faxmachine and into own system and component.
* changes
* fixes and done i think.
* tidy
* Fixes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Optimise navmaps significantly
- Reduce the delta state size significantly.
- Remove AirtightChangedEvent because this will spam them out constantly.
* weh
* review
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Signed-off-by: null <56081759+NullWanderer@users.noreply.github.com>
Some of prototypes don't specify their deconstructTarget node, which
made them show the deconstruct verb as deconstructTarget is set to
"start" node by default. This patch makes attempt to check if is it even
possible from current construction node to reach specified
deconstructTarget.
Fixes#27330
(cherry picked from commit 8442a9142c28917553fb35c6e63695fcbfc62fe2)
* Fix network configurator memory leaking
Doesn't dispose this window.
* Fix the other part
(cherry picked from commit 13c65378425e2d8254e8ed4e68061643b1245308)
* Move job info changing methods for id cards to shared
* Revert "Move job info changing methods for id cards to shared"
This reverts commit 95cbc46b2d1934fa7bf5c72d7d3de9f9168992a1.
* Reapply changes
(cherry picked from commit c122fdf183a8228ccba69cb747a86626ca9b5391)
* Upgraded UseDelay to support multiple delays per entity
* Implement secondary delay for bibles.
Also some improvements to make it work nicely.
* Documentation is good
* Reserve the previous change; now Storage uses the special ID and Bible uses the default.
* .0
* Added VV support to UseDelayInfo
* Serialize better
* No register, just setlength
(cherry picked from commit b292905216948e0c85b04e8ef65a5291dd868eee)
* Added selectable power level to radio jammer
* Cleaned up OnGetVerb
* Settings are now stored in the .yml file. Simplified stuff a lot!
* Minor fixes!
* Small little baby fix :)
* Added the power level switch to the examine menu and also removed the ftl file as it was in the incorrect location.
* Minor code cleanup
* Changed byte -> int
* Update sprite
* Fixed licence
* Added power LED that changes if the jammer is on low power.
* Removed tabs
* Changed github link to the commit
* Changed all the RemComp to RemComDeferred
* Moved NetworkedComponent to shared
* Changed radio jammer textures back with minor edits
* Added a space because it was annoying me
* Jammer now updates range for suit sensors properly! Thanks nikthechampiongr :)
* Removed useless comment
* Cleaned up code that updates the range of tracking devices.
* Fixed client namespace and removed newline
* Cleaned up ChangeLEDState and ChangeChargeLevel.
* Added comments
* Read only
* Fixed another comment
* Locked in
* Made server inherit shared
* Update Content.Shared/Radio/EntitySystems/SharedJammerSystem.cs
* Update Content.Shared/Radio/EntitySystems/SharedJammerSystem.cs
* review fixes
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit d3b1178428e9e0e714e51523558335589078a76c)
* Add NukeOps Test
* Update EvacShuttleTest to also check mapinit
* Update RuleMaxTimeRestartTest
* Fix cvar cleanup
* A
* Revert some changes
* comments
* Add MappingTests
* Finally fix the test
* A
* lower max firestacks to 10, refactor flammable
* fix
* uncap fire stack damage, lower fire stack damage
(cherry picked from commit eee056eaf063caa690516bf8b4eb7e65a0199e9c)
* General slime improvements
* Finish morphing
* oops 2x2 not 3x3
* actually lets ball - 2x3 inventory
* Last two things on the todo list
* .\RobustToolbox\
* JUST COMPILE
* fix tests 2.0
* fix tests 3.0
* Do reviews
* minor change
* guideboob
* more
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit fd0ca42c58315b4c4f91fe9364c3dc3d88ba5624)
* make fire spreading scale with mass
* realer
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit fcf5057b61321920826b630384e0dc6ff5de55e8)
* cant disguise to thing in a container
* copy cigarette visualiser
* prevent aghost throwing an error
* make disguises die in space
* fuck it rewrite it to not use polymorph
* fix action troll
* oop
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Slight blunder on the loadout prototype being used and all the names aligning means playtesting didn't catch it earlier.
Ideally player spawning code wouldn't have sucked so I could add tests like I wanted but it is what it is.
(cherry picked from commit 9bc3e076288c4e4ede6e757aa59ded9cef413340)
* SS14-26480 Roll Traversal Distorter into regular Artifact Analyzers
Bit of a grab-bag of cleanup of Xenoarchaeology prompted by #26480.
1. Traversal distortion biases are now "up" and "down" instead of "in" and "out".
2. Node generation has been tidied up to make it a little clearer how it works.
3. Traversal Distorters have been removed from the game along with their board.
4. Traversal distortion is now done by the artifact analyzers by default.
5. Some loc strings have been made clearer.
6. The Abnormal Artifact Manipulation tech has been made slightly cheaper.
7. The aformentioned tech is now localized as Artifact Recycling, given all it does is unlock the crusher.
8. The Xenoarchaeology guidebook entry has been given a bit of a rewrite, putting all information into
one page and making sure to cover the basics that otherwise would require someone typing "Liltenhead
artifact tutorial" into Youtube.
* Fix references to deleted guidebook entry
* Add fancy button to console because @EmoGarbage404 asked me to
* migration comprete
* Fixed a goober comment
* maint fails to resolve conflicts: more at 11
* Resolve PR comments
* Make UI nice
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit f059714a75601c73c0b7b917d0faac35c99f96fe)
* Added ClothingGotEquipped/ClothingGotUnequipped events
* Better version
* Implemented in a few places
* More implementations
* Add ClothingDidEquipped/ClothingDidUnequipped events
(cherry picked from commit 50631f430d62fc413bc8757f8d1e1c4523417816)
* THE RETURN OF ITEM STATUS
Item status is now inline with the hands again. You can now see item status for both hands at once.
If you have more than 2 hands, the last active hand of that side is displayed in the respective item status.
The item status for the active hand is also highlighted.
Item status has been given a new look so it looks unique and matches every UI theme.
* Shrink item status to 125px
This is going to require fixing the existing controls. Do that later.
* New bullet item status rendering
sex
* Make gun item status look just a little bit nicer.
Avoid only one or two bullets ending up on a single row of an item status.
* Delete Eris theme files
* More improvements
Fixed the fact that left/right were flipped around when assigning status panel locations. Involved renaming all the UI textures.
Redid how content margins are set from the theme. Less complex and cleaner now.
Made the item name always left-aligned, just looks better since other UI elements don't adapt anyways.
* Compact down item status text
Now it fits 3 lines of text on one line. Yay.
This is achieved by compacting RichTextLabels by reducing their line height and giving them a negative bottom margin.
* Add item status sprites for Ashen theme.
* Add status control to show beaker/bucket/jug solution/transfer volumes
Also PollingItemStatusControl I'll be using that more.
* Fix welder item status, clean up welder code
The item status control implementation was ancient and bad. That's why it was buggy.
Removed all the complex dated networking stuff for welders, we just sync the solution contents now anyways so none of that is needed anymore. This moves a buncha stuff to shared and just removes code.
Cleanup. The code was doing some really dumb stuff.
* Spray bottles show contents in item status.
* cowtools
* Fix plasmafire and clockwork themes.
Actual git gaslighting wtf.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 58f025ba8043bcf5c32204b08eec8ae9e5d2bd41)
* Add admin log when someone gets gibbed by a shuttle
* Make shuttle gibbing work properly again
* Fix immovable rod gibbing, no longer puts you into nullspace
* Update Content.Server/ImmovableRod/ImmovableRodSystem.cs
* Update Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 5c69031d116c3ad9c05a80525323d97d7469829e)
* Made more things blessable
* Removed junk
* Remove whatever that was
* Make bowls blessable
* New mixablesolution component, converted everything to work with it
* Fix minor mishaps
* Fix extra spaces in bottle yml
* Fix last extra space, fix bottle havign the wrong solution name
* Remvoe unneeded event(I think), fix alcohol bottles not being mixable
* I missed cans
* Emergency Lights now change color depending on alert level and whether or not they are powered.
* Made a condition for null alert level, added summary doc.
* Refactored uid and emergencylightcomponent into Entity<EmergencyLightComponent>
(cherry picked from commit ebf87be9f22c6680127a0072d729f8f75c940059)
* Chatfactor: Chat Repository, Admin Commands, Chat Created Events
This addition-only PR covers a repository that stores chat messages.
This PR defines what chat messages can be stored, what can be done
with those stored messages, and what events occur when the repository
does things.
This PR also includes to admin commands that show how the repository
will be used for administration purposes at first. Because all chat
messages will be uniquely identified per round (and, as rounds are
uniquely identified, are essentially a GUID) we can delete, amend
or nuke messages.
Note there's no "amend" command right now. The original chatfactor PR
didn't include one, and I'm avoiding further feature bloat with these
chatfactor PRs...
* Remove an event that shouldn't be in this PR
* Resolve PR comments.
* Resolve peak goober moment
* Also make sure we tell the user why if their delete command fails
* Supply a reason if the nukeuserids command is malformed
* Tidy messages
* Some more docstring tidyup
* Imagine tests handling IOC correctly chat
* Imagine tests handling IOC correctly chat
* Resolve PR comments
* Fix goobering with needing to use ToolshedCommand
* In which we bikeshed toolshed
* loud metal pipe sound effect
* One must imagine funny boulder pushing man happy
* Move commands to new folder
* Mald, seethe, cope.
* I hate toolshed I hate toolshed I hate toolshed
* Fix command ftls
* Bit of tidy-up and a YAGNI removal of a get we don't need yet
* Whelp lmao
* UserIDs are in a weird fucky state I didn't anticipate, so I've removed the remove-by-userID command for the time being.
* Rename ChatRepository to ChatRepositorySystem.
* Resolve PR review comments
---------
Co-authored-by: Your Name <you@example.com>
(cherry picked from commit b1136c98d7fde8cf26965817536324b58f192b11)
* Content changes for MapManager/System refactor
* Poke Tests
* Why is this failing?
* Will this make the analyzer happy?
(cherry picked from commit ee96d8aa6636ef091ee823b49ff78ebc13bcce5e)
* Implemented Shakeable
* Prevent shaking open Openables
* Prevent shaking empty drinks. Moved part of DrinkSystem to Shared.
* DrinkSystem can have a little more prediction, as a treat
* Cleanup
* Overhauled PressurizedDrink
* Make soda cans/bottles and champagne shakeable. The drink shaker too, for fun.
* We do a little refactoring.
PressurizedDrink is now PressurizedSolution, and fizziness now only works on solutions containing a reagent marked as fizzy.
* Documentation, cleanup, and tweaks.
* Changed fizziness calculation to use a cubic-out easing curve.
* Removed broken YAML that has avoid the linter's wrath for far too long
* Changed reagent fizzy bool to fizziness float.
Solution fizzability now scales with reagent proportion.
* Rename file to match changed class name
* DoAfter improvements. Cancel if the user moves away; block if no hands.
* Match these filenames too
* And this one
* guh
* Updated to use Shared puddle methods
* Various fixes and improvements.
* Made AttemptShakeEvent a struct
* AttemptAddFizzinessEvent too
(cherry picked from commit cfa94be4c2044146298d07c703f3b71bc377ca63)
* texture appropriation
* add code for projector
* add chameleon projector yml
* damage and actions
* prevent small props being killed round removing you (700 damage from a single shot)
* tweak default
* oop
* do appearance properly, need engine update
* fix bugs, blacklist pda
* remove status icons
* amou
* sus
* fix test + make props fast
* amouuuung
* remove funny log
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 395c33024cb9d4e80078e3ab3c70c1e92e7fd5bc)
* Optimized the drawing of lines and tracked entities
* Optimized nav map updating and added thin wall support
* Added support for thin doors
* Removed floor tile seams, more line drawing optimizations
* Fixed split grids not updating correctly
* Cleaned up NavMapControl code
* Fix nav map header
* Converted nav map updates from system network messages to delta-states
* Addressed review comments
* Fixed timing issue where NavMapSystem would update before AirtightSystem did
(cherry picked from commit 009d06d97833b7700bcfaa534b20575fdbbd7db5)
The gas analyzer now shows the volume of pipes, tanks, canisters and the environment.
Adjust gas analyzers so that the volume and number of moles shown corresponds to only the scanned element, e.g. a canister or single pipe in a pipenet.
(cherry picked from commit 5a5efa11cf1d68708a70d48a286cb97fde96afdf)
* Fix capitalization for pirates and rats
* Deal with replacements better
* Be smarter about caps
* Do last word properly
* Variables named a bit better
* Fix Consistency
* Undo change that's not needed anymore
* Fix up pirate since it doesn't need to check early either
* Make mobster replacin' a bit better anyway
* Remove extra space
* Use capture groups for mobster in', add comments for first and last words
* Slightly more clarification with comments
(cherry picked from commit 432e6ec45dedd2982d0dcea0fe30945113835705)
* Added Jukebox, along with music for jukebox
* Fixed Jukebox meta.json copyright
* Removed songs I couldn't find a license for.
* Renamed files to solve check failures from spaces
* Added missing attributions.yml
* Fixed lack of description in Jukebox
* Jukebox is now constructable.
* Change Jukebox menu to FancyWindow
* Moved Jukebox messages out of jukebox component
* Removed Jukebox OnValueChanged.
* JukeboxComp now uses AutoGenerateComponentState
* Removed state code, since it's auto generated
* Fixed various Jukebox code to match conventions.
* Updated Standard.yml to match changed song list.
* fixes
* Jukebox workin
* Fix
* Polishing
* Finalising
* Revert
* bad
* jukey
* Reviews
* name
* Update submodule to 218.2.0
---------
Co-authored-by: iNVERTED <alextjorgensen@gmail.com>
(cherry picked from commit 2db374988c91c6ce5f932b9cee1ba251cbfb22e5)
* Fix some TryGetMind overrides relying on player data
* A
* Rider has bamboozled me
* Update `data.Mind` before attaching to entity.
(cherry picked from commit 229caa10bf3417858d2cbd7c1290af12dcad4acc)
* mobs burn to ashes on excessive heat damage
* remove comment, remove random lines I didn't mean to add
* combine code into behavior
* clean unused
* fix namespace
* drop next to
* fix spawn entities behavior spawning entities outside container
(cherry picked from commit 4a6cf480cc557447a89ec98b6305b4b461f494ca)
make criminal records computer use round time for history instead of the server time
(cherry picked from commit fbec5d18cf175d9418fed77fcb38b673692771c6)
* Reapply "Game server api" (#26871)
This reverts commit 3aee19792391cbfb06edb65d6f16f77da0f36f13.
* Rewrite 75% of the code it's good now
(cherry picked from commit 9d0dfcf2b9fa1b6ba54b3aa26a3f41982b945323)
How can ONE DATABASE COLUMN have so many cursed issues I don't know, but it certainly pissed off the devil in its previous life.
The start_date column on round entities in the database was added by https://github.com/space-wizards/space-station-14/pull/21153. For some reason, this PR gave the column a nonsensical default value instead of making it nullable. This default value causes the code from #25280 to break. It actually trips an assert though that's not what the original issue report ran into.
This didn't get noticed on wizden servers because we at some point backfilled the start_date column based on the stored admin logs.
So I change the database model to make this column nullable, updated the C# code to match, and made the existing migration set the invalid values to be NULL instead. Cool.
Wait how's SQLite handle in this scenario anyways? Well actually turns out the column was *completely broken* in the first place!
The code for inserting into the round table was copy pasted between SQLite and PostgreSQL, with the only difference being that the SQLite key manually assigned the primary key instead of letting SQLite AUTOINCREMENT it. And then the code to give a start_date value was only added to the PostgreSQL version (which is actually in the base class already). So for SQLite that column's been filled up with the same invalid default the whole time.
Why was the code manually assigning a PK? I checked the SQLite docs for AUTOINCREMENT[1], and the behavior seems appropriate.
I removed the SQLite-specific code path and it just seems to work regardless. The migration just sets the old values to NULL too.
BUT WAIT, THERE'S MORE!
Turns out just doing the migration on SQLite is a pain in the ass! EF Core has to create a new table to apply the nullability change, because SQLite doesn't support proper ALTER COLUMN. This causes the generated SQL commands to be weird and the UPDATE for the migration goes BEFORE the nullability change... I ended up having to make TWO migrations for SQLite. Yay.
Fixes#26800
[1]: https://www.sqlite.org/autoinc.html
(cherry picked from commit d3ac3d06bb6eddd9c2076a586974aabf514a5c86)
* Make UtensilSystem and SharpSystem not run AfterInteract if it has already been handled
* merge conflicts
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit c67948407ec9ee21c0459ca9679b6fac904aad63)
* Implement changes on not-cooked branch
* Made it work
* Fix update appearance calls
* Fix extra indents, clean-up code, fix tests hopefully
* Fix hammy cagecrate
* Fix messing up the yml, add artifact crate specific labels back in
* Visual Studio hates yml, sad
* Seperate the colors for cargonia
* sorry json
* make label move with artifact door
* Apply suggestion changes
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Fix remaining crate offsets, add a few for livestock and graves (why are you labeling graves) and coffin label sprites (why are you labeling coffins??)
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 96ad9002f1d6390bf666c74ddfd871a45a8fe1df)
Fixed cryostorage getting captain's record for unknown jobs.
Also localized Unknown job string.
(cherry picked from commit 9b97a2e05d5fe65b1d81aefcf37b69033c78f21f)
Fix pulling when already pulling
The TryStopPull were failing due to wrong arguments provided.
Replacing the virtual item in hand with a different pull was failing due to the hand not being cleared.
Fix stop pulling checks that had the wrong variables provided.
VirtualItems are already queue deleted at the end of HandleEntityRemoved.
(cherry picked from commit 037a7d7d3d53a623f70a07908299e8fc4df1b4a5)
* make cryo remove crewmember's station record when going to cryo
* Revert "make cryo remove crewmember's station record when going to cryo"
This reverts commit 9ac9707289b5e553e3015c8c3ef88a78439977c6.
* make cryo remove crewmember from station records when the mind is removed from the body
* add stationwide announcement for people cryoing (remember to change pr title and desc)
* minor changes
* announcement actually shows job now
* requested changes
* get outta here derivative
(cherry picked from commit 9d62b3c3e690cdda48143774a5e5db853894e1b8)
It's possible to trigger this by stacking it weirdly with the spawn panel. Just make it bail instead.
(cherry picked from commit 210ed3ece4230a7fa31c12a43f4fdee0f0614915)
* allow usage of network configurator for door electronics
* add checks for "allowed" items
(cherry picked from commit 2bcdb608a3ddd9c91a1169d3f0d2d5b31aaebc88)
Clipping a plant in any condition currently causes it and its clippings to be damaged.
Make clipping harvestable (already eligible for seed extractor) plants yield seeds at full health.
(cherry picked from commit 58e4b5fe4ceab7f9bd60eb3d87daab9d01954a3b)
Revert "Game server api (#24015)"
This reverts commit 297853929b7b3859760dcdda95e21888672ce8e1.
(cherry picked from commit 3aee19792391cbfb06edb65d6f16f77da0f36f13)
* add button to menu
* networking and component work
* try to add access stuff
* main functionality done
* add access lock? I think?
* remove extra line
* fix access system
* move SkipTime to StationCargoBountyDatabaseComponent
* Disable/Enable skip button based on cooldown
* remove debugging
* add access denied sound
* remove DataField tags
* dynamic timer
(cherry picked from commit fd067731b544eb219493338a8fe446c154e880f4)
This command allows you to grant a player temporary privilege to join regardless of player cap, whitelist, etc. It does not bypass bans.
The API for this is IConnectionManager.AddTemporaryConnectBypass().
I shuffled around the logic inside ConnectionManager. Bans are now checked before panic bunker.
(cherry picked from commit d879665b52c6c30d057e94ed49b222b8a1585717)
* Give lollipops and gumballs random flavors
* RandomizedCandy: Fix borg lollipop action
* RandomizedCandy: Play sound when candy is fabricated
* RandomizedCandy: Lollipop can now be put in mouth
* RandomizedCandy: Quieten fab sound
* RandomizedCandy: merge icons and reexport without pHYs chunk
should speed up downloading these textures on 9600 baud modems
* RandomizedCandy: loads more flavors and update description
* RandomizedCandy: Fix duplicate candyFlavor IDs
* RandomizedCandy: Fix attrib and preserve flavor order
* RandomizedCandy: init on MapInit instead of ComponentInit
* RandomizedCandy: Fix minor code style issues, file placement
* RandomizedCandy: put new code into DeltaV namespace
* RandomizedCandy: Removed redundant datafield tags
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
---------
Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
* Update DamagePopupSystem.cs
* Update DamagePopupSystem.cs
* Add ability to allow or deny type change via component bool
(cherry picked from commit e7fda78a181243d67e79e559c366977d92782f1f)
* Suit sensors now know the 'total health' of an entity
* Missed the constructor 😔
(cherry picked from commit f5d9d3c4586252b6741f1c7473eef2b63b8fe586)
* Adds the option for you to toggle your OOC Patron color visibility to yourself and others.
* Makes the button magically disappear if you arent a patron
(cherry picked from commit 7ced9d42f0351319b20828115cad0abd274e4577)
* Moved is canInsert check to before miss check
* Update Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit b709e24d87670270a71b476d30346a1f110a4313)
* Make the advanced treatment modules beakers explosion-proof.
* undo changes
* Epic rename fail
* Explosion recursion data field
* Logic for data field
(cherry picked from commit 307a1c534dd132c8ce90b6fed79135452601a0b3)
* Made it better
* ok
* alright
---------
Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit 5613c3d3ddc64c1fccb1bc591308a19fa2276e9d)
* Replace the teleportation logic on the SCRAM implant!
Now instead of just trying to pick a random tile in range 20 times, the
scram teleportation logic now:
- Gets a list of grids in range
- Until a suitable tile is picked it picks a random grid
- From that grid it picks a random tile.
- If the tile is suitable, then it is set as the target and the user
will be teleported there.
- Grids and tiles are randomly picked as outlined above until a valid
tile is found, or all valid grids and tiles are exhausted.
- Should no suitable tile be found then they get teleported to the same
position they are at. Effectively not teleporting them.
* Actually make the defaults sane which I forgor in the last commit
* Extract tile section to its own function. Bias selection for current grid. Use proper coords for box.
* Address reviews as much as possible
* Address reviews
(cherry picked from commit 2ffd616c41b548e8fcd869dca7e980ffc6e384b1)
* move SolutionTransfer to shared and predict as much as possible
* fully move OpenableSystem to shared now that SolutionTransfer is
* fix imports for everything
* doc for solution transfer system
* trolling
* add scoopable system
* make ash and foam scoopable
* untroll
* untroll real
* make clickable it work
* troll
* the scooping room
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1db178b63254c5b509a6493a631fddb596b376a4)
* Add door electronics configuration menu
* Use file-scoped namespaces
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Open door electronics configuration menu only with network configurator
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Make the access list in the id card computer a separate control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix merge conflict
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove DoorElectronics tag
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Integrate doors with #17927
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move door electornics ui stuff to the right place
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Some review fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* More fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* review fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move all accesses from airlock prototypes to door electronics
Signed-off-by: c4llv07e <kseandi@gmail.com>
* rework door electronics config access list
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove Linq from the door electronics user interface
* [WIP] Add EntityWhitelist to the activatable ui component
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Better interaction system
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Refactor
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix some door electronics not working without AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move AccessReaderComponent update code to the AccessReaderSystem
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecesary newlines in the door access prototypes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused variables in access level control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecessary method from the door electronics configuration menu
Signed-off-by: c4llv07e <kseandi@gmail.com>
* [WIP] change access type from string to ProtoId<AccessLevelPrototype>
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused methods
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Newline fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Restored to a functional state
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix access configurator not working with door electronics AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Replace all string access fields with ProtoId
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move access level control initialization into Populate method
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Review
---------
Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 64bb8dbdd50e0b1e5744e1eb0cc6f24bda959ade)
* Adds the CentComm Disk and configures it to work with direct-use shuttles
* Added functionality for drone shuttles (i.e. cargo shuttle)
* Adds support for pods, and a disk console object for disks to be inserted into. Also sprites.
* Added the disk to HoP's locker
* Removed leftover logs & comments
* Fix for integration test
* Apply suggestions from code review (formatting & proper DataField)
Co-authored-by: 0x6273 <0x40@keemail.me>
* Fix integration test & changes based on code review
* Includes Disk Cases to contain Coordinate Disks, which are now CDs instead of Floppy Disks
* Check pods & non-evac shuttles for CentCom travel, even in FTL
* Import
* Remove CentCom travel restrictions & pod disk consoles
* Major changes that changes the coordinates disk system to work with salvage expeditions
* Missed CC diskcase removal
* Fix build
* Review suggestions and changes
* Major additional changes after merge
* Minor tag miss
* Integration test fix
* review
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit bed9e9ac6a068495ff70f09eb852a9c7a156d632)
As it turns out, they are not in fact on their own netid. They are
actually just on wireless. The way I had tested my previous pr led to
this mistake being made. I originally had the radio jammer block
wireless as well, but decided to take out under the flase assumption
that it suit sensors were actually on their own netid and did not
require the ability to block all wireless packets at the last moment.
(cherry picked from commit 29c81bcc052ab53c5b10d9a5dbe1c761745e3d1e)
* Block access to solutions in equipped spillables.
* Stop Drink verb appearing if the solution can't be accessed.
(cherry picked from commit 1b94e0156311c918d17c7de4b79fedd328e04efc)
* created the AccentComponent and the AccentSystem
* word replacement schtuhff
* made it a trait fr ongg!!1
* Update Content.Server/Speech/EntitySystems/SouthernAccentSystem.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 6b7427e3ee8a4453d30b585e0fc4fa734f5f46d5)
* Can now search the uplink store interface with a searchbar.
* Search text updates no longer send server messages. Persists listings locally.
* Formatting fixes and tidying.
* Added helper method to get localised name and description (or otherwise, entity name and description) of store listing items.
* Update Content.Client/Store/Ui/StoreMenu.xaml
* Review change; moved localisation helper functions to their own class.
* Prevent thread-unsafe behaviour as-per review.
* Remove dummy boxcontainer
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit de62ec204b04809175945a2ccfd4dbce6dafd8eb)
* Translations
* Make aghost command work on other players using optional argument
* Reviews
(cherry picked from commit 87a56b25c3f06ea98661684b8e62f8acb0afee85)
* Make advertise system survive no map inits
* Add comment to try prevent future bugs
(cherry picked from commit 175f8205c0c43ae12438bc1d9019a72d9fcca341)
* Fix GasMixers/Filters not working
* OKAY GAS FILTERS TOO
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 7638252df3b0c7e958e988fc7e491d81c1e8a656)
* Hyposprays Draw from Jugs
* Fix last onlyMobs usage in yml
* Some Suggested Changes
* Remove unnecessary datafield name declarations
* Remove unnecessary dirtying of component
* Same line parentheses
* Added client-side HypospraySystem
* Cache UI values and only updates if values change
* empty line
* Update label
* Label change
* Reimplement ReactionMixerSystem
* Remove DataField from Hypospray Toggle Mode
* Change ToggleMode from enum to Bool OnlyAffectsMobs
* Add DataField required back since it's required for replays...?
* update EligibleEntity and uses of it
* Add user argument back
* Adds newline
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Guard for dirty entity
* Adds summary tag
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit f192d7901fedd134c38a6cab38731f8e93994492)
The FTL UI on the shuttle console would reset the FTL progress bar every time you open it. This is because the server only sends "time until completion", not a start/end time. The FTL code now uses a separate start/end time so the exact same progress bar can be preserved.
For convenience, I made a StartEndTime record struct that stores the actual tuple. This is now used by the code and has some helpers.
(cherry picked from commit 3b791459c74c6b56c8ae6204a936f6de06674b93)
* combine same-tile explosions in the same tick
* !
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 355d00a0f2529a5beac6426837fad129d45a41a6)
* polymorph changes
Adds poly proto ids to polymorph action event and checks for proto id when performing
* nullable proto id
* Replaces instances of Polymorph prototype with a proto id and tryindex
* birdup
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 06b14f30cd9267abcb135e6031a273905cf1ba40)
* Add auto-mode to reagent grinder
* Remove redundant stuff with DataField
* Use margin instead of dummy control
* Resolve grinder component
(cherry picked from commit a606909d30477453bc23765df4c78f04b2ead522)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50
* final toCoords Removed
* Remove all unused variables and dead code paths
* remove always true variable, should be a cvar or something instead
* remove superfluous variables from tests
(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
* Send what seleted for secret to admin chat
* add line
* Add localization support
(cherry picked from commit 69a15ada7f83cd7ad6010c7d6ac80ab7fc6b1e23)
Makes electrocution damage based on the voltage of the wire and bring down the damage to a sane level. It's no longer primarily based on the power being received.
LV Cable -> 10 damage
MV Cable -> 20 damage
HV Cable -> 30 damage
Having a primarily power-based damage system causes there to be massive fluctuations in damage based on things outside of a regular player's control, like the station power output. This removes a lot of player agency and turns grilles into a risky gamble where they can either do no damage or instantly fry the player due to simply being hooked up to the engine.
While this may be a more accurate simulation in some regards, the reality of the gameplay is that it's often just frustrating, resulting in constant death traps as players brushing against electrified grilles and punching wires take absurd amounts of damage. By making them flat rates, it's possible to actually balance the damage output.
(cherry picked from commit aba16198f6846d880b3a1c233b5e9252d21e6985)
* Separated "thank you" messages from general ads
* Moved MessagePackPrototype to shared, cleaned up AdvertiseComponent, and actually killed AdvertisementsPackPrototype.
+More suggests changes.
* Rename PackPrototypeID to Pack in both components.
(cherry picked from commit 794a447bb7f0a36abaac802e0fa4d1ce7c8998ef)
* add Name field to SpeechVerbPrototype
* extra locale for voice mask ui
* SpeechVerb ui and handling
* raaaaaaaaa
* reeeeeeeeal
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* fix sort
* did you hear john syndicate died of ligma
* Update Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit d13da2837d3a919df2101b37eae945e633c76c56)
* Give 'em something to talk about
* Wire panel visuals
* Wire graphics tweak
* More ads and thanks
* More ads for a noisy arcade
* New screen for space villain machines
* Implement EmitSoundIntervalComponent and a bunch of arcade noises
* Require power for sounds
* Allow earlier startup intervals
* Orange glow
* Audio attributions
* Include the PR link
* Replace EmitSoundInterval with expanded SpamEmitSound
* Remove pacman-themed arcade sounds
* Documentation good.
* Updated methods to use Entity<T>
* Refactored SpamEmitSound to get rid of accumulator and chance.
* Fixed prewarm logic
* Moved stuff to Shared
* Fix outdated YAML
* Better prediction, auto pause handling
* Make enable/disable reset the timer instead of trying to save it.
(cherry picked from commit b1ba6b5bb615615cc58f255dc9fe84c5ffe8822b)
* Removed inconsistent broadcast cooldown whenever the "Announce" button is pressed on the communications terminal.
* Revert "Removed inconsistent broadcast cooldown whenever the "Announce" button is pressed on the communications terminal."
This reverts commit c730d6499b6908f6ae7c52e21d5338fa3b7eb80e.
* Reapply "Removed inconsistent broadcast cooldown whenever the "Announce" button is pressed on the communications terminal."
This reverts commit 3c2d66af865a11ca55eb0e98db58a955c0d70c00.
* -Removed cooldown entirely
(cherry picked from commit 578f7e4f2c1cde38e1c66fa2b5fbbb2903576dec)
* Fix test
* Kill float accumulators
* Use entity proxy methods
* DataField auto name generation where possible
* Kill comp properties
* Clean up server comps
* Make events record structs
* Clean up shared body code
* Clean up server body code
* Rename organ events to be same names as in med refactor
(cherry picked from commit 37b8d78dac047122fe77038bafb8e682132db3cd)
closes#955
* Ported over code for delta-v to fix bounties
* Added requested changes
* Removed the station arg from "IsBountyComplete". It is unneeded and all calls just use a null value for it anyways
Don't always mark after interact event as handled for welder tools. Done with a view towards allowing disposal interaction post tool system handling.
Co-authored-by: MQuatermain <misterquatermain@pm.me>
(cherry picked from commit ebddef7675269ea4c354673a888a2c8f6e418548)
* Make mind shield implants unable to be implanted more than once
* Default AllowMultipleImplants to false and update implanters.yml
* Use TryComp instead of TryGetComponent
* Deny multiple implants for fun implants too.
* Make comment more precise
(cherry picked from commit 771390bb6741074935e5f24c0aa9c87bc7b5ad09)
* Add DeviceNetworkJammerComponent & System
Allows for entities to "jam" DeviceNetwork packets.
Whenever a device attempts to send a packet, the
DeviceNetworkJammerSystem listens for the BeforePacketSentEvent.
From there if any entity with the jammer component is within range of
either the sender or receiver of the packet the event will be cancelled.
Additionally jammers can only block packets in certain networks. If a
packet is not being transmitted in one of the networks it can block then
even if the jammer is in range the event will not be cancelled.
The range is stored in the jammer component along with the networks it
can jam.
Jammable network ids are stored as strings which seems to be how custom
networks are stored (E.g. network ids for suit sensors).
To allow for all of this, the BeforePacketSentEvent was modified to
provide the NetworkId.
* Make JammerSystem for the radio jammer use the DeviceNetworkJammer. Remove redundant event.
* Replace calls to TryDistance with InRange
(cherry picked from commit 266cc85f57c883b3a604a66da91d94bb1e18ec5d)
* Adds variations to immovable rod
* slash oopsie
* Changed prototypes from being hardcoded to being defined in the rules component
* Changed from 10% chance to 5%
* Changes based on feedback
* Fix nullable error
* Moved randomized logic to .yaml. Probabilities of alternate rods add up to 5%.
(cherry picked from commit 8f652eaa7560a47a750173d716426dcd1ad7c01b)
* make landmine work on stepping off
* update methods naming
* made both step modes possible
* updated stepoff event raise to not interfere with game physics internals
* added comments
* figuring out how audiosystem works
* added beep sound effect, updated how stepoff trigger works to make it more consistent
* updated source in attributions.yml
* made stepoff working every time
* introduced suggested changes
* updated janitor's WetSignMine to have audio
* made cleaner events and bashing my head at OnEndCollide event raise
* inverted conditional where applicable
* review
---------
Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 54dd273f660d6d8d523d0771bb8d8437373b082e)
* Add Prometheus stats for admin count
Fixes#20828
Reports time series for admin count. Counts are separated by state (active, AFK, or deadminned) and admin rank.
* Use static constructor instead of static readonly for the metric
Docs recommend this due to inconsistent execution of C# static constructors.
* Remove static usage, use IoC IMeterFactory.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit a1817a12dbb385275f4273c1abf48fac0a989ddd)
* haunted dungeon
* Initial work
Still needs prefab gen work to make it interesting.
* ime a worm
* weh
* Work
* Slight tweaks
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 952b7f4c4e8e957c0c3765f7b20f2745c9297e27)
Restrict door remotes to only being able to manipulate doors relevant to
their type.
(cherry picked from commit 93e3aed26e30375058aa44482236410ff31484f0)
* Remove second shove check.
* Change when popups and sounds are created.
Reduces phantom shoves that feel bad.
* why didn't i think of this i saw it earlier...
* Replaced Is fields with prefix
* remove some dependencies to fix tests???
(cherry picked from commit 5a2c74499889f80393a90335b182632cfbe8e2fb)
- Fix the free node check considering the whole tile and not the poly.
- Clear maps on direction resets.
- More robust arrival checks for pathfinding nodes.
(cherry picked from commit 64b648ff3c5183393b28285909e6b62c2b66663e)
* Added verb action to Glue/Lube system
* Changes based on feedback
* Fix TryGlue/Lube to use Entity<> rather than EntityUid, Component
(cherry picked from commit 70c718f61cd952f49f6908107edfbeeb3b7e41e0)
* Prep for DoorRemote Status
* Door Remote Mode Messages
* plural opens and closes
* never trust webedits
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit e627a0d24bc8ae89665feb0b0d519b5fbb77ce32)
* Fix scram! implant keeping you pulled to someone when teleporting you
* Exorcise sleep deprivation speak
(cherry picked from commit eb80d9752e0309f8485478a43bcba6fb15fc3711)
Fixes#26211
Admin messages now have separate "seen" and "dismissed" fields. The idea is that an admin should be able to tell whether a user pressed the "dismiss for now" button. Instead of using "seen" as "show this message to players when they join", "dismissed" is now used for this.
Existing notes in the database will automatically be marked as dismissed on migration. A note cannot be dismissed without being seen (enforced via constraint in the database too, aren't I fancy).
As part of this, it has become impossible for a player to play without dismissing the message in some form. Instead of a shitty popup window, the popup is now a fullscreen overlay that blocks clicks behind it, making the game unplayable. Also, if a user somehow has multiple messages they will be combined into one popup.
Also I had enough respect for the codebase to make it look better and clean up the code somewhat. Yippee.
(cherry picked from commit d776c4b392a082dba7539d77cfa20fc904ed4091)
Wire layouts manually navigate the inheritance hierarchy, but the data fields on the prototypes were also automatically inherited already. This meant that inheriting a wire layout prototype and changing nothing would cause the wires to be duplicated unless they were manually modified on top.
Fix is easy: just disable inheritance on the data fields.
Also, integration test for it.
(cherry picked from commit a4692004de978cda6761d4090e13ed4d8bc1fa11)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.
* Missed a few
* Revert changes to pulling
* No
(cherry picked from commit 4a83c365858830e3b2ff2b94fff501256422c20e)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.
* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.
* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.
* Fix issue introduced by merge.
* Use interaction system for determining whether a distance is within range
* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.
* Exorcise ghost.
The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.
* Exorcise ghost Pt. 2
* Allow for movement check to be overriden in zero g and adjust doafter args where needed.
You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars
* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.
* Fix evil incorrect and uneeded comments
(cherry picked from commit 362d56981fd7654f6ebec36f16cc8fabdd04b6a7)
* Pulling rework
Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.
* More pulling cleanup
* stats
* More cleanup
* First draft
* More pulling
* weh
* Fix puller
* Pulling working
* Fix merge
* Dunked
* Self-merge time
* Fix hotkey
* Fix container changes
* oop
* Fix multi-pulling
* Move alerts cleanup.
* pulling fixes
(cherry picked from commit c584f6444a85cc53edb060230f7e7b2b76cc87bf)
* Fix SCRAM implant not being usable while in cuffs. Also fix freedom implant from working while dead/crit as a side effect
* Move check up to apply to all actions and do thing I forgor to do before
* Change check into an ActionBlocker check that also checks whether the user is sleeping.
* Make checking for Consciousness the default for actions
Went through and chose what I believe to be sensible defaults for actions that had CheckCanInteract.
* Fix typos my beloved
I had an unbelievable skill issue
* Fix major skill issue
(cherry picked from commit 22e9d6562f21bdd4f0962d6e3b6fcdd81bb4c253)
* Spray Paint (Draft)
* paint colors, paints in maints loot, cargo crate of paints.
* fix
* remove paint (sort of)
* moved paintcleaner into own system
* Moved paint to server (had to unfortunately)
* doafter now breaks when moving away.
* cant paint mobstatecomp
* loads of fixes
* fixes
* fixes
* nopaintshadercomp
* fixes
* fix
* use locale for paint remove string
* remove nopaintshadercomponent and use blacklist
* remove enabled.true from visualizer
* paint doafter event.
* add verbs for paint and remove paint and icon for paint verb.
* fixes
* no longer replaces shader when shader exists.
* replace forloop with foreach, check shader before adding and removing.
* paint doafter now separate so no copy paste code
* Entities in sprayed targets item slots are also now correctly sprayed.
* fix
* fix
* fix airlock psray painter now removes painted before painting door.
* spray paints now use openablecomponent.
* fix
* fix damn accesstypes.
* fix
* fix
(cherry picked from commit e4d5e7f1aebfc37b1bc3453fdb39578f3897b6a1)
Oops
In #26217 I re-organized the logic for the calculation. Part of that was moving the logic for GetFeltLowPressure and GetFeltHighPressure to be done before we actually check the hazard thresholds. What I didn't realize is that, with how our pressure protection is set up, these functions can return values so extreme they rebound into the other category.
For example, according to the math, when you're wearing a hardsuit in a low-pressure environment you have "felt" pressure of 1000 kPa. Yeah that's not right.
Now these functions clamp their result to OneAtmosphere, in the appropriate direction (101.3 kPa).
Fixes#26234
(cherry picked from commit db81438d30f83a542abe6c81c2ce4a5040aa3ddb)
* move faction prototype to shared
* move faction exception and member stuff to shared
* fix breaking changes for random stuff
* move pettable friend stuff to shared
* mostly fix
* final fixy
* dragonops
* final fixy II
* use querys and fix warpspeed fish (probably)
* fixer
* Rrrr!
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 7561bef6a7aee65149381e155da53abc65a6a4e7)
The math for our pressure damage (barotrauma) system is directly taken from TG. The constants are the same and the math is almost the same. However there are two errors.
1. Pressure damage started being applied within the WARNING bounds, rather than the HAZARD bounds. This means you started taking low pressure damage at 50 kPa instead of the intended 20 kPa, and also the HUD icon didn't show "danger" like it should even if you were already taking damage.
2. The calculations for high pressure damage were wrong. These are supposed to be linearly scaled, but the function was wrong so the scaling didn't actually work properly (especially when considering the fixed bounds above). This appears to be the case because the function was taken from an incorrect comment in the original source, rather than the real math.
Both of these issues are now fixed to match the TG behavior. Note that this somewhat nerfs pressure damage in non-extreme circumstances. e.g. a room at 40 kPa now gives NO pressure damage, whereas previously it would do full space damage.
The description of the pressure alerts is wrong for "low" severity, but I can't be arsed to fix that right now. Alerts don't have a way to change the description depending on severity...
(cherry picked from commit b5138b245e1782cc062b9bdf165600b7974e9ed7)
Use Log with generated sawmill name rather than explicitly named one for all non rule-based Content EntitySystems.
(cherry picked from commit eeaea6c25b496106eb741e93738f2ab8503949ba)
* Added 18 new bounties + tags, couple of balance tweaks
* Oops, 2 corn tags.
* Fixed another duplicate from merge conflict
* Fixed all arbitrage issues
* Removed metamorphic glass/manly dorf bounty
* Removed manly dorf bounty
* Removed manly dorf bounty
* Removed manly dorf bounty
* Changed hiviz tag, removed commented out bounty
* Removed extra line
* Change HiViz tag
* Removed unused tag
* Removed LaceupShoes, changed HiViz
* Changed flavor text for fruit bounty
* Removed live mouse bounty
(cherry picked from commit 4357b9ef08fee0e08c4fdf4eeef714fa8eb38112)
* Kill the static InRangeUnOccluded
* Adjusted 4 more EntitySystems that were missed.
(cherry picked from commit 7d275a4b5e4188db424cc417c609dced3f9aca89)
* Fixes target hand check when no hands were needed.
* Adds missing CanStripX checks.
* Whitespace.
* Fixed bad math causing instant strips.
(cherry picked from commit 8ecb78ee5ac879ef0c79e9c35f3d05e72faf72fd)
* Initial commit
* Fixed short circuiting
* Use DebugTools
* Use Entity<TComp> more, and make them nullable
* Bring these two together
(cherry picked from commit 41ca8f3dfcb986432e1e509247bf239cac137836)
* Make radio jammer block suit sensors
* Fix stupid
Use CancellableEventArgs instead of doing what the hell I was doing before.
* Address Reviews.
Change the event from a CancellableEntityEventArgs to a ByRefEvent.
(cherry picked from commit dce24dfd03b3ddfe1044297edf9d35bc9f75c523)
* Throttle people trying to connect to a full server.
To reduce spam/load on the server and connection logs table.
Players are forced to wait 30 seconds after getting denied for "server full", before they can try connecting again.
This code is an absolute nightmare mess. I tried to re-use the existing code for the redial timer but god everything here sucks so much.
Requires https://github.com/space-wizards/RobustToolbox/pull/4487
* Use new NetDisconnectMessage API instead.
* Add admin.bypass_max_players CVar.
Just something to help with debugging the player cap on dev, I don't expect this to ever be disabled on real servers.
(cherry picked from commit 0ecc5e8c96c235af265ab747d7345b363f94b1e4)
* Added new Buy & Sell specific cargo pallets
* Remapped trading outpost with new pallets, tweaked texture
* Removed debug message
* Fixed/Compacted conditional checking to let old pallets still work for backwards compatability
* Update Content.Server/Cargo/Components/CargoPalletComponent.cs
Alright, updating all the references to it.
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Changed textures, changed to enum instead of string for pallet type check
* Few minor code tweaks/formatting fixes
* Missed the prototype change
* Update Content.Server/Cargo/Components/CargoPalletComponent.cs
* Update Content.Server/Cargo/Systems/CargoSystem.Shuttle.cs
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit c0bbbc33c19eafcc8defaa7f1ec2df42e485b435)
* Fix butcherable handling
* ItemSlots for clown shoes
* Return if handled
* Handle if popup
* Whitespace, spoons are metal
* Zero damage plastic utensils, blacklist by metal+melee
* Hmmm truthy
* Plastic knives are knives too, just use that
* Delete unused tag
* Always true if doAfter
* Raw rat meat should be sliceable too
(cherry picked from commit 674b42b3a0ab9fa607887c1401f38ca1f8bb3911)
Syringe delay based on amount in syringe
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 37cd12524e85b6a3b31827e4751a94ca51268694)
* Fix rounds restarting in the next round
Doesn't fix them restarting in lobby I think but should fix most of it.
* delta india sierra charlie oscar romeo delta
(cherry picked from commit 02cc9c05ddf853b613361690b88ba893ce57bab3)
The exact time when the Nuke Music starts is now derived from the music's duration
(cherry picked from commit 680cf5fec13b92f09355acec9892f2db51f3e80e)
Fix arrivals not working on spinning stations
Increases the tolerance to .15 instead of .1
(cherry picked from commit 9e2e51431938b2df9391939fe499f8963b297292)
* More solution edit windows
* Fix error when closing euis after round restart
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit 0da09db99ac556e0efdce40268e60eb5a06a0694)
* Add logs to things
* Make the message log be saved as msg because I forgor before.
* Log fails when getting an entity that doesn't exist
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit 2b8415b378c181fd0222cdf7f4d005a70ebe8044)
* Security hud shows icon based on criminal record status
* Criminal status now linked to name instead of identity
* parole loc
* Test fix
* review changes
* Check station records instead of storing names on criminal record consoles.
* cleanup
* more cleanup
* review changes
* change outdated comments
* rename
* review changes
* remove event subscription
* replaced event with trycomp
* default value
(cherry picked from commit 60b9d89e4dbdd8aaad4992a105628297d9480617)
* Small obsolete Logger cleanup
* Fixed three EntitySystem logs that weren't doing it right.
(cherry picked from commit aafe81512258b5a80776ada1f471b58e7507ca2d)
Syringe requires hands and breaks on change
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 17b80ba96b3f4ef80d8009af6f081524092fc01f)
* Fix FTLToDock
- Removed Enabled coz unneeded really.
- Fixed SetCoordinates call that got dumped at some point oop.
* Fix this docking check
(cherry picked from commit 92872e546ad5c281980ab8f56fea970c1921f8e4)
* please tell me this is empty
* it wasn't empty, fixing that
* This should fix it
* fix for the fix
* address changes
* fix
* Added some comments, hoping that failed test was a fluke.
(cherry picked from commit aa4e7c061939fbe314be97a2e7f559477b941c07)
* updates map, lowers server volume
* Delete PLEASEWORKTHISTIMEIBEGYOUS14.yml
* Update DV-pirateradio.yml
* changes fax machine to *not* alert admins; and start with emagged by default instead of using VV
* Revert "changes fax machine to *not* alert admins; and start with emagged by default instead of using VV"
This reverts commit 05bb5f402d.
* Revert "Update DV-pirateradio.yml"
This reverts commit e77fb34e86.
* Revert "Delete PLEASEWORKTHISTIMEIBEGYOUS14.yml"
This reverts commit 2000e2c147.
* Revert "updates map, lowers server volume"
This reverts commit d99cab6f36.
* adds new syndicate fax, maps it in as well as other QOL changes
* adds cybersun pen to Syndicate PDA's
* Update DV-pirateradio.yml
* adds blacklist to CC Fax + quieter server
* Update PirateRadioSpawnRule.cs
* unfinished scuttling system
* Adding colorblind quality of life.
* Tweaks to map and guards, no more self destruct system
* added guard flavor text
* The reasons for these are now gone
* DONE
* Update events.yml
* Update PirateRadioSpawnRule.cs
* Update DV-pirateradio.yml
* fixes crew monitor server not working at *extreme* ranges
* adds delta-v comment where needed
* Small code optimization and tons of documentation
* Update outpost visuals! Guards have a PDA now
* Update DV-pirateradio.yml
* Update DV-pirateradio.yml
* Goodbye crab. Hello Content.Shared migration
* Cleaning up pirateradio spawn
* Update DV-pirateradio.yml
* reverts pen changes to upstream PDA's
* adds new PDA
* adds new PDA to loadouts.
* Update Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/salvage.yml
Co-authored-by: Debug <49997488+DebugOk@users.noreply.github.com>
Signed-off-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
* Maintainer requested changes
* Update salvage.yml
* Update syndicateNPCs.yml
* Cleaning up unneeded stuff
* more code cleanup
* Update PirateRadioSpawnRule.cs
* Update computers.yml
* Revert "Update computers.yml"
This reverts commit cbd0c583d4.
* Last fixes to the math
* Update PirateRadioSpawnRule.cs
* update license.
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Signed-off-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: DangerRevoltion <142105406+DangerRevoltion@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Debug <49997488+DebugOk@users.noreply.github.com>
* refactor ops
* inherit dna and fiber when fish hydrated
* :trollface:
* kid named finger
* :trollface:
* move rehydrating to shared :trollface:
* nobody noticed the popup being missing all this time
* method ops
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 550612a37f4fd61088c994b289c833ed3d564855)
* Make itemslots more verbose with AME proof of concept.
* Remove unnecessary [DataField] strings and use null coalescing in whitelist checks.
* Change optional popup fields into LocId.
(cherry picked from commit 06d755a860fa60dd393bfece6495109af8b60c21)
* fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore)
* refactor: now lobby music is part of ContentAudioSystem. Lobby playlist is used instead of single track. Client now selects next lobby soundtrack after previous finished.
* refactor: incapsulated info on current lobby track in simple record
* refactor: fixed inconsistent naming between song and soundtrack for lobbymusic
* refactor: xml-doc for LobbyPlaylistChangedEvent
* fix: inverted invalid _audio.PlayGlobal check to return only if lobby soundtrack play call failed
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
(cherry picked from commit 4c87dcd3cb92855df1fa01dea52d2ddd09f2adce)
* add SubGamemodes comp/sys
* remove RuleChance from thief rule
* use SubGamemodes for adding thief rule instead of adding ThiefRule component to random gamemodes
* clean up thief rule prototype
* add better logging + end rule if it fails to start
* march 1st incident
* preset ops
* the dreaded
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 7f060eb129f100754647e5221e9ebab2b00e6925)
* Alert autoremove v0
* Code cleanup and timing
* comment
* Tritium, code compression
* not resolving manually
* reduced lookups, new comp
* fix-fix yes
* use RemCompDeferred, handle OnUnpaused
* missed a todo
* entitysystem resolve
* remove unnecessary component updates
* remove AlertState from comp, move EntityUnpausedEvent actions to AlertStateComponent's Timespan
* Code cleanup
* comments
* combines AutoRemove input into Clear
* minor logic adjustment that does not really change anything but is less ambiguous
(cherry picked from commit ecd2d5a644540c6ad28903ee4fb2af87876e3030)
* fix(research): Fix `ResearchSystem.Client` `UpdateClientInterface` preconditions.
Fixes a paradox where selecting a research server requires a research server to already be selected.
This would softlock the research client until it is reconstructed.
* style: Discards the discard operator
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit aaf5d0d30254d27d319b2b5f5874ebe787537f0a)
* Using wrench on AME doesn't first try to put it in.
* Refactor AME to use ItemSlot for fuel.
* Apparently these names want to match.
(cherry picked from commit c47391011d0f7f56dfcba8e4db348f0dc0d58c09)
* fix cryo removed minds of players who entered ghost role
Signed-off-by: c4llv07e <kseandi@gmail.com>
* better way to handle cryo with mind in it
Signed-off-by: c4llv07e <kseandi@gmail.com>
---------
Signed-off-by: c4llv07e <kseandi@gmail.com>
(cherry picked from commit ee614dec5c412cf5d155303db5ade1cd33fc0c12)
* NPC steering blending
Significantly more stable than using LastSteerDirection and also AntiStuck never got tripped locally when I was running around. I also left future notes for me to cleanup the pathfinder in future.
* Remove index
(cherry picked from commit f819404f6d1757ae4c541f5e856dfc1fc5d9895b)
* Whisper bleed update v3
* missed a few
* Add bleeding message to health analyzer.
* Fix bleed notification not updating.
* Apparently this either doesnt exist
(cherry picked from commit ff65cb7b0caaeb9edd9461eff942bdc6f5eb7f50)
* handheld
* Update meta.json
* Update meta.json
* Update cargo.yml
* research
* add to borg
* bruh
* borg to T2
* fix
(cherry picked from commit 7a5f81ddb46e47078b983bfc9ba015ee67752ee3)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.
(cherry picked from commit e00f74505c62310bd15aeaba8d6530f648397074)
Validate that job and antag prototypes can actually be set in character profiles, rather than just checking if the prototype exists.
Make preferences system just call existing validation code when loading prototype from database, instead of some hacked-together stuff.
Also I made the character profile validation logic take dependencies in via parameter because fuck resolves.
(cherry picked from commit 8d244f7b76ba881253eb94611acaab31865c3920)
* Implemented contents display for dispenser UI
* Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Resolve the netent into a euid first
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 100ece2e2078ab2fe99f4ce1ab36b2cd05319772)
Turns out this is not what serverid was for... i guess you can find server familys with this so im not gonna remove it. Best we get for server name is the admin logs server name.
(cherry picked from commit 3ef4e835583b99b020c0bb317be99cb06ade2ec9)
* Added logic for ContainerSpawnPoint checks
* Improved with template function
* fixed nullable
* hehe
* hehe T?
* added type check before cast
* another nullable fix
* and another one
* return to old code (found typo)
* Code cleanup
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 87def406bc2cb3121888d162c8fe707ff937dd6f)
ChunkSize is still 32 so doesn't cut down on heaps of decals atm though we avoid passing many decals to drawing with the coordinates bounds check now.
(cherry picked from commit d8e5f5c24b88bf8096ddaec11e80f1af2953637b)
* Make department / job list sorting consistent.
This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments.
We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest).
Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways.
* Fix jittery job icons in lists.
They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset.
Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.)
Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE.
Also gave a margin next to the icon on the crew manifest. Margins people!
(cherry picked from commit 715794dd414c5d4b794cd6f2201983ecbc5d4f17)
* Fix formatting problem with FullOpened
* Moved to Shared and networked
* Revert "Fix formatting problem with FullOpened"
This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.
(cherry picked from commit 381bb9020aeba82e9cad111c77c34bee29d52c68)
* deleted int cast on solution amount
* deleted int cast on solution amount for real
(cherry picked from commit 1360d57eea3938ee61899e03f0b5e2aefd425ea9)
* Fix bwoink sounds
Didn't get a chance to test with 2 clients as I'm about to sleep but otherwise I'll check tomorrow.
* a
(cherry picked from commit 79c6385ca7d1b42263e154dc1dad4fe912ac0bbf)
* fix: cryo pod now uses health-analyzer system to update body state in UI
* refactor: use EntityEventRefHandler instead ComponentEventRefHandler in CryoPodComponent subscribe on EntRemovedFromContainerMessage
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
(cherry picked from commit ef849a0156e52d93c3a3c3b03f30858b33400292)
* Add option for admins to disable bwoink
In a vain attempt to get people to ahelp more, provide the possibility
for admins to not play the bwoink sound if they don't want to scare the
player.
* Add silent indicator to discord relay
* Use string interpolation
(cherry picked from commit a3c93b0bd7478c0f75daaa2f7d0bd8b88565b27e)
* kill shitcode
* give each midround antag its own spawn rule
* using
* break test real
* typographical error
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
God bloody christ. There's like three layers of shit here.
So firstly, apparently we were still using Npgsql.EnableLegacyTimestampBehavior. This means that time values (which are stored UTC in the database) were converted to local time when read out. This meant they were passed around as kind Local to clients (instead of UTC in the case of SQLite). That's easy enough to fix just turn off the flag and fix the couple spots we're passing a local DateTime ez.
Oh but it turns out there's a DIFFERENT problem with SQLite: See SQLite we definitely store the DateTimes as UTC, but when Microsoft.Data.Sqlite reads them it reads them as Kind Unspecified instead of Utc.
Why are these so bad? Because the admin notes system passes DateTime instances from EF Core straight to the rest of the game code. And that means it's a PAIN IN THE ASS to run the necessary conversions to fix the DateTime instances. GOD DAMNIT now I have to make a whole new set of "Record" entities so we avoid leaking the EF Core model entities. WAAAAAAA.
Fixes#19897
(cherry picked from commit 2e6eaa45c57c7f5ba561d1fb1ef6712d2432a8fa)
This is a visualizer somewhat similar to the Generic. It allows configuring appearance info based on specific CVars the user has set. This allows YAML to easily configure alternatives for accessibility CVars like reduced motion.
(cherry picked from commit 1ce21553152199e3d97a8d02c11922fb8db5fd52)
* Save round information into the replay
* Add round end text too
* This is way better
* Get actual job
* oop
* OK THERE
* Fake line endings to make life easier
* I was told this yaml is legal
* I just realised this will make my life easier
* REVIEWS BABY IM A PROGRAMMER MOMMY
* Live pjb reaction
* Live pjb reaction 2
* Reviews 2
* Dont need this
* Please no more have mercy on my soul
* Oh frick
(cherry picked from commit cb999d23f4b15e1c182e1ae4bf2e414306822f89)
* nymphs now don't get deleted together with the body of the diona
* moved nymph system to server
(cherry picked from commit 9969bd25841b5162d80125c9a2fc000a94c3b558)
Make seeds from clipped plants inherit the decreased health from parents.
Also require one growth stage before clipping.
(cherry picked from commit dab2c4884928eae42e5dbd16237d7b0624b86c68)
* Porting & implementation
* Fix two stupid errors
* Human not humans
* fix audio path
* Fix test fails & update cooldown
* Work on reviews & test fail
* Rework nymph organ system.
* Make the nymph organs nospawn.
* IsDeadIC
(cherry picked from commit 407d4aed586a5143dc1dd0d31e7898f6df07a411)
* LockVisualizer
* Fix state
* Clean some code
* Make it component, fix tests fail
* Fix for StateUnlocked
Now it is possible to manually set the unlocked state and it will work!
* Optimize LockVisualizer, add check for unlocked state
* No todo I guess
(cherry picked from commit c7870882f6f956eea07cbb4738ae45c8805c8ce6)
* Initial commit
* Moved params to sound
* Removed type tag
* Removed null check
* Forced default
(cherry picked from commit 1de3f24f16733521d22543708a59e72a6b396c71)
* fix: SpawnEntitiesBehavior now works with stacks
Fixed the issue of SpawnEntitiesBehavior not executing multiple times on
entities with stack conponent.
Fixes#25287
* fix: reduced dictionary iterations
(cherry picked from commit 53270be66c9aca763b4bfc68e119d0692cd03fd7)
Actually use more icon states for deployed/armed/about to explode
Also unlit layer.
Also examine text
(cherry picked from commit 3a45d519dcc3679375b5239b6f1881cdd1a07344)
Fix disposals bins not automatically flushing after an object is inserted.
Because of Spaghetti Code™️, AfterInsert() in DisposalUnitSystem still handles insertion itself. Except in all cases except drag/drop insert, the object is already inserted so this check fails and the remaining logic doesn't happen anymore. Fixed now.
(cherry picked from commit 571d4f735888343ca3ba90eaea0908257095cdb9)
* Indicate whether pickpocketing is stealthy in logs, change :user to :actor, and clean up messages.
* Remove ugly whitespace
* Do the thing I should have done but didn't because I didn't want to think
* Fix spacing
(cherry picked from commit 82f5bf8121f6f018d8af6442a031b21f9d95cba7)
* Holosigns can be stored again
* TryComp to HasComp
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit d6139429ad59a4137c383044613364137a8a338b)
Add purely atmospheric heat exchange to the gas thermomachine component (in preparation for space heaters).
(cherry picked from commit ce4bd8568cba4d64fb19e80d3182e21f010a86c1)
At least the mode/transfer amount logic. Actual transfer logic needs Bloodstream which I didn't wanna move into shared.
(cherry picked from commit 6d8be538c90cf4c3a6636e2f8b84631af457cd42)
* Changed holo signs to be ranged and used on click rather than Z.
* Updated comments
* Failed attempt at ignoring walls
* Getting rid of unused libraries
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit e6c21d66fae707bb3e31663e57ca0901fc200130)
* Facelift Microwave UI
Includes new background light in UI, Uses predictive input, UI now properly disables buttons when microwave is active
* Microwave now shows Elapsed time
* Fixed bad formatting
* Added new term for "BottomMargin"
* Change yellow color
* Update StyleNano.cs
just spacing fixed
* Cook time countdown now detached from server
Instead of the server constantly sending out messages for the cook countdown, it is now predicted client side using TimeSpan
* Update MicrowaveMenu.xaml
forgot to re-add item space
(cherry picked from commit 25f73f64065f370d8560ff4695579c259e4b7667)
* Implement closing; add open/close verbs
* Add breakable seals
* Allow custom verb names; make condiment bottles closeable
* Remove pointless VV annotations and false defaults
* Split Sealable off into a new component
* Should have a Closed event too
* Oh hey, there are icons I could use
* Ternary operator
* Add support for seal visualizers
* Moved Sealable to Shared, added networking
* Replaced bottle_close1.ogg
(cherry picked from commit 75e47fff9e5150a4de37e4d3c8a8b278f0a1a2cd)
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
* make door status use SendSignal
* LastSignals and logic, add ClearSignal api too
* make everything outputting a logic signal default to false
* refactor ops
* :trollface:
* :trollface:
* protoid for LastSignals
* oop
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit f41ece37c3bc04d77b2d0ef791d190c5c0d11f36)
Added display for amount of hits left in stun batons/stunprods.
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 5f2cc18be77010962b94bbeb969ee06ba43f655d)
* Adds option to disable character names in chat/speechbubbles
* Moved the coloring of names to clientside
* Move string functions to SharedChatSystem to avoid duplicate code in SpeechBubble.cs
* Changed to be put under Accessibility section
* Cache CVar
(cherry picked from commit 247be5b5c770261544f4e468ea09422efb0f7028)
* Predict two-way levers
Annoys me the rare occasions I touch cargo. Doesn't predict the signal but at least the lever responds immediately.
* space
* a
(cherry picked from commit 05a2ddff1cc415c3bdf1e15ef3a2c953bcb5384b)
* Moving Gibbing rework out from medrefactor into it's own PR
* Re-enabled warning for missing gibbable on TryGibEntity
* Implemented better logic for gibbing failover and better logging
* Allowing audio params and drop scattering customization per component. Created UnGibbable organ base types and made brains ungibbable.
Removed delete brain from gibBody function. Artifact crusher does not destroy brains anymore. It only destroyed brains before not other organs which was wierd.
* Update Content.Shared/Body/Systems/SharedBodySystem.Body.cs
Fixing space for multiplication
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Added event raised when attempting to gib contained entities to allow modification of allowed and excluded container ids
* removing audioParams var from component (sound specifier includes it)
* Fixing signature
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 541d8f8715e4e74a77501863c2573aaa1eb33add)
Changed door remote to trigger based on vision occlusion rather than opaque collision targeting check. Ian's butt will no longer absorb your 5G signals.
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 7a04acc8511f477dbb0fdb8852dcc72ab4b0677f)
Fix comparison
Hybrids (different plants being crossed) are supposed to have a high
chance of becoming seedless to balance overpowered plants.
However, a logic error in the comparison gave seedless to plants when
they were from the same seed (not hybrids) rather than the other way
around.
Reported by: @genderGeometries
(cherry picked from commit 28755f5405cb4415da1256ac75e1d5496c497231)
* Fix brig timer labels to displaying correctly.
The TextScreenSystem was expecting a string, but the value inputted for
the label was an array of strings.
* Address nitpick
This should do the exact same thing but it is semantically clearer I guess.
(cherry picked from commit 1a3ce6cf2c50d59e91f682011f58e3345f48e86e)
* move stuff to server and some refactoring
* update spikables to not use triggering
* add Delete bool just incase
* a new egg
* mom can we have webedit. no, we have webedit at home
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 55dbe26019ed22e11f017393c028c6760699343d)
* Fix scram teleportation out of containers
* re-run ci
* Use AttachToGridOrMap method
(cherry picked from commit d4434dbb5e586544a5dbd067a3fee4a6bd4e9e89)
* Fix quantum disposable issue
* remove force
* Iterate over all the disposal holder children instead of contained ones
(cherry picked from commit 50e38cbd21950cc3bf31113c6a222d7ef8a3625b)
Relay wasn't really networked properly and this annoys me.
EntityStorage is still pretty skrunkly but this fixes the main issue I think.
(cherry picked from commit 042feae2e91f41f7d39e55340405e3c448903d61)
* EMP disables suit sensors
* update to supersede and not disable
* Revert "update to supersede and not disable"
This reverts commit 337028c31af1c0fa2b1838bcf5d6759bfd7ed97c.
* separate logic out into just emp events
(cherry picked from commit 09dd92ce61b90f0ec64de77e0d5ae35090b931c8)
* adds refunds to stores
* Adds method to check for starting map
* comments, datafields, some requested changes
* turns event into ref event
* Adds datafields
* Switches to entity terminating event
* Changes store entity to be nullable and checks if store is terminating to remove reference.
* Tryadd instead of containskey
* Adds a refund disable method, disables refund on bought ent container changes if not an action
* Removes datafield specification
* Readds missing using statement
* Removes unused using statements
* What the heck is listing data
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 257909fd97c05bfde837a76afe5c5c612afc9f28)
* Decoupled from gravity, constant animation time, manual networking, cubic interpolation
* Reduced overshoot
* Implemented PointAttemptEvent, reacts with mobstate & sleeping
* Brains can no longer point, PBs must be inside a chassis
* Removed chassis check, made callback more obvious
(cherry picked from commit d01d75073cc4179ca5e34cacccd2ca6387e2bf99)
* Pulling rework
Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.
* More pulling cleanup
* stats
* More cleanup
* First draft
* More pulling
* weh
* Fix puller
* Pulling working
* Fix merge
* Dunked
* Self-merge time
(cherry picked from commit 0d8254b2a2891f8d5623c9878bd0e567d0c7fe3c)
In which I'm a goober and don't clean up after
myself and accientally don't fix the issue I tried
to fix in my last round restart PR.
The audio is now maintained just like music during
restarts (yippee to ContentAudioSystem::OnRoundRestart)
This needs a refactor but at least the defect is fixed now.
(cherry picked from commit 2e7d23674ed315aa3cd36e5a744008900474c3fd)
This standardises it with audio and whatever. Me when I sprinkle nullchecks everywhere.
Was 50/50 on making new non-nullable methods but figured it would bloat too hard and you can't access strings by .Value anyway.
(cherry picked from commit 606c5a8c8b1005de62c33d5de888f67a8eae0ccc)
* refactor and add Department to PaintableAirlock, move it to server dir since its in namespace
* add departments to doors, cleanup
* add style -> departments mapping
* AirlockDepartmentsPrototype
* update shared spray stuff to have department
* name file the same as the class name
* department optional
* refactor spray painter system + send department
* fixy
* client
* no need to rewrite ActivateableUi
* pro ops
* the reckoning
* hiss
* .
* :trollface:
* add standard atmos colors to palette
* Update Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit c49c78bafaddc3ed69714eaf41920e1565dbd292)
* Remove obsolete transform call
Shrimple PR also fixed bad flatpack call that would break on non-standard tilesizes.
* Update calls
* weh
(cherry picked from commit 52808694e0a479c162930a0aae20e91b68bc67a4)
* Fix outdated component name in assaultbelt whitelist
RangedMagazine was replaced with BallisticAmmoProvider in the Gun
refactor (#8301)
* Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared
* Move LightReplacerComponent to Shared
* Move Utensil, Mousetrap components to Shared
* Move SprayPainterComponent to Shared
The PaintableAirlock tag has also been removed, as it was unused &
unnecessary, likely a vestige of spray painter development when the
PaintableAirlock component wasn't in Content.Shared.
* Add trivial Produce and Seed components to Client
This allows the plant bag and botanical belt whitelists to correctly
match produce and seeds on the client, fixing the extraneous "Can't
insert" message that previously appeared.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
* Moves FlashComponent.cs, FlashOnTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared
* Moves ExplodeOnTriggerComponent.cs, OnUseTimerTriggerComponent.cs, ActiveTimerTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared
* Delete .run/Content Server+Client.run.xml
HOW DID THIS GET IN HERE ITS NOT AHHHH
* Update Content.Client/Explosion/SmokeOnTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update ExplodeOnTriggerComponent.cs
* Revert "Delete .run/Content Server+Client.run.xml"
This reverts commit 29ee05f57de60eab5c92158d8eba5e3acba483c2.
* Fix?
* cannot figure out how to get this to go back please forgive
* Fixes a network issue
* leftovers
* Fixes
---------
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 467e983ba972a7ae749c95448febd19c7c285514)
* Add AFK detection for aHelp relay and admin specific afk time.
* Correct query to new refactor
* Change AFK timeout to 10min or else Pancake closes my PR 😭
* It wasnt a bug it was a feature, way less aHelps that way.
* aHelp Colors arn't real!
* Update Content.Shared/CCVar/CCVars.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 00841217062ba60d38320dfd2b93288548bb4201)
* Cleanups PolymorphSystem
* forgot this
* Nah
* Fix test
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit b8f0ed3975a4b887ca8dd75dcc07e0ac5ee11646)
-Electrocutions now happen using how much power there is rather than how much is being used.
(cherry picked from commit cdfff3c4bd49f77d9711d590eb649e365c3bca91)
All the engineering numbers are complete unusable garbage and it's apparently completely impossible to properly set up power on some maps.
This is a band-aid fix (and apology to all engineering players) until somebody fixes this shit properly.
(cherry picked from commit 879b4d171efd9ae9907369d6dd856afafb381b06)
* Space lube now makes you slide
* review
* oh lord he slippin
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 4f3b8d740cecfb736b018fd78a2be71f5397644d)
* Change emagged laws to append modifiers instead of completely changing them.
* Maybe fix everything not working
* bugfix
* Fix missing secrecy law and allow basic borgs to be emagged correctly
* Localization
* Actual localization
* test
* Test
* Remove dummy debug value
* Fix bad law ordering
* Tweak the secrecy law
* Minor law tweaks
* Remove obsolete argument
* Fix YAML
(cherry picked from commit 27592ba898201d0b09c95f6b0958503407d01bb5)
* Remove wheelchairs
Vehicle code is dogwater and wheelchairs just keeps exposing edgecases. If someone wants it brought it back they can do vehicle refactor.
* Also this one
* Remove vehicles
* goodbye vehicles
* Remove this check
* sasd
* Cronch
* Add sprites back
* jani
(cherry picked from commit d2f20d8955a25a32aa5fb9b3631a41921b464cd4)
* Firestarter fixes
- Actually networks the action.
- Namespace fixes.
* No networky for you
(cherry picked from commit a6ea8b210db079d30823e7b4d8faa32aefa17582)
* Raise `StationPostInitEvent` broadcast
* Basic variation pass handling
* standardize names + rule entities
* why does it work like that?
* add to defaults
* light break variation pass
* ent spawn entry
* move some stationevent utility functions to gamerule + add one for finding random tile on specified station
* forgot how statistics works
* powered light variation pass is good now
* station tile count function
* public method to ensure all solutions (for procedural use before mapinit)
* move gamerulesystem utility funcs to partial
* ensure all solutions before spilling in puddlesystem. for use when spilling before mapinit
* trash & puddle variation passes!
* oh yeah
* ehh lets live a little
* std
* utility for game rule check based on comp
* entprotoid the trash spawner oops
* generalize trash variation
* use added instead of started for secret rule
* random cleanup
* generic replacement variation system
* Wall rusting variation rule
* account for modifying while enumerating
* use localaabb
* fix test
* minor tweaks
* reinforced wall replacer + puddletweaker
(cherry picked from commit cc24ba6a317c4bee84ffa1eda8397c255ca92be9)
Fix improper prediction on unpryable doors.
Entities that had CanPry to false on their components would get
improperly predicted as pryable on the client because the check was only
preformed on the server. Same problem existed for welded doors. Moved
the check from server to shared.
(cherry picked from commit 9bebdf57069f8c2e2b045009a98bcf46caa68732)
* added signal control to portable generators
* added documentation
* Discard changes to Content.Server/Radio/EntitySystems/HeadsetSystem.cs
* added DeviceNetworkComponent and WirelessNetworkConnectionComponent to generator prototype
* made GeneratorSignalControlComponent nicer
* implemented auto-revving
* added back necessary dependency
* can't send do-after event manually
* repeat now works with auto revving
* fixed
* removed vv
* stopping generating when it is revving now makes it stop revving
* Update Content.Shared/Power/Generator/ActiveGeneratorRevvingComponent.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* used resolve instead of TryComp
---------
Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit 5d2ddc0d8b313d80fbcecd6719c5048ec2aea3e7)
* move spider charge target from role
* shorter field names
* remove ninja role comment
* remove unused systems in SpaceNinjaSystem
* GenericAntagObjectivesAddedEvent
* check if warp point is on same map
* remove unnecessary import
* add missing loc when spider charge has no target
* a
* remove spider charge target requirement comp
* inline SpiderChargeTitle
* allow planting charge without objective
* remove map check
* fix role check when planting
* obj.Target
* Fix merge
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 7311ce671fe29d81c662b2313e28c275c4f868cb)
- Remove unnecessary mapcoordinates get.
- Remove mapping markers as everything should be ingame entities and this is functioning as an area.
(cherry picked from commit 11c69bca3f370e3a3fde1bc24976fd1188aebb30)
* Revert "Make flare gun explode, damage and stun the player when used with the wrong ammo (#22349)"
This reverts commit e301378114b245fa6927372f83c19868cb90b13c.
# Conflicts:
# Content.Shared/Weapons/Ranged/Components/GunComponent.cs
# Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml
# Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml
* Fix revert conflicts
* Update Content.Shared/Weapons/Ranged/Components/GunComponent.cs
(cherry picked from commit e1901aa6b602516f0f7cc3f29844c77e90c77977)
* BatteryWeaponFireModes refactor
Made the code a bit better but still needs integrating into attachments.
* murder
* Fix serialization
* weh
* weh
(cherry picked from commit 58b55ba06c5de031079915a607ccf3adad781f93)
- poison chemicals (HealthChange effect)
- being on fire
- guardians transferring damage to owner
(cherry picked from commit 3e3cb10a96993b711ea8aeb696f157f40c728e49)
* little glimmer guy
* oops I forgot to add a mob description
HA HA HA
* attempting to fix code issues
* more code fixes
* more code fixes
* cod efix
* coed fics
* every day i scream at least twice
* fixed attribution
* Update attributions.yml
tehe
* made the sound effect public domain
* dies
* bug fix (HA HA)
* wow fuck someone already added ectoplasm wow i thought i added it first wow
wow
* PACMAN generators show network load/supply.
This gives more feedback to players that their PACMAN is properly connected and what the network status is (i.e. you don't have enough generators).
* Buff JRPACMAN to 8 kW.
Shifted all power values up by +3 kW.
They're frequently too weak to power even single rooms so they deserve a buff.
* Change unit format helpers number format.
Always displays one digit of precision. This avoids jumping around when a value is changing live.
(cherry picked from commit f855cb2b0065083447128778c31c2a93bcd70a6a)
* Made EscapeInventorySystem respect Unremovable
* Oh look, there's a helper method
* Let's fix this too
(cherry picked from commit 060fbcfbc890d57ee95917655f11e4b65e1226e6)
* Ports colored chat names
* Update name color on every message
---------
Co-authored-by: ike709 <ike709@github.com>
(cherry picked from commit 6cbe4a8fb6d39745141e71233d386206c36a1e19)
* Implemented electricity speech verb masking
* Handle speech verb override elsewhere in the system, even though we're not using it
* Fix that protoId business
* No nullable component fields
* Use ProtoId, and try going back to a nullable.
Specifiy DataFields on VoiceMaskComponent.
(cherry picked from commit b4046bc2bb498bd525b8a40c7839a543c92ca18c)
* DamageSpecifier [Obsolete] Total => GetTotal()
* Remove obsolete Total member from DamageSpecifier.
(cherry picked from commit c77eb8691dc08d384a88ddaf3b734f7777d741b5)
* * Fixed rounding errors when the PA control box was checking for parts, sometimes leading to the obscure "port/starboard emitters are not detected".
* Auto-rotated the PA control box toward the fuel box when checking for parts
* Swapped the wired/completed state sprites for the PA control box as it appears they were inverted
* Update Content.Server/ParticleAccelerator/EntitySystems/ParticleAcceleratorSystem.Parts.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit eb0a54fef295d4b05f864a0f4af404e8870d505f)
* Add announce message length to UI and make a cvar for it
* Update comm console server-side trim to use the cvar
* Rely on the new OnTextChanged event
Because OnKeyBindUp only works for keys that have binds
* Add a similar indicator to nukies' war declaration UI
* Remove message length indicators for now cuz it requires the engine update
* Rename cvar slightly
* Refactor duplicated code to a helper method
* Remove message trimming from *Window class as it's better to live in the BoundUserInterface where the other message handling happens
* Rename to chat.max_announcement_length
(cherry picked from commit 8c5898b0065cd2cf196c0383bc99c57c0f11795b)
* sans
* Papyrus
* add to game
* tweak stick
* fixes
* Update Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Update Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml
Co-authored-by: Kara <lunarautomaton6@gmail.com>
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit b3b64e6cf29f313a9782fb95ae8727f907b1836a)
* Add admin log messages for gamerule addition and end
* Use EventRan end EventStopped LogTypes instead of new GameRule logtype
* Apply suggestions from code review
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
(cherry picked from commit 25cde97d35bb0b00769d2447b90e52e84d2e34a4)
* localize beacons
* No not like that
* Tesla beacons were already depreciated, time to give the reaper their due
* Entity name fallback
* The real treasure was the far easier solution we missed along the way
* weh
* Shared mapinit
* fix RT version
* a single line break
(cherry picked from commit efdc6f8d4c5dc8c593b6403c6592f0ddc6212266)
* Check and restrict players from fultoning their equipped items
* Changed fulton whitelist to items and anchorables
* Stop from anchored items being fultoned
* Moved containermanager check to CanFulton function
* review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1ff31f8b7a450bc7aa5a638a8a63b318a5cf5363)
* initial commit
* made it emaggable
* removed OnAttemptEmagEvent
* moved emagging to shared
* added local file to git
(cherry picked from commit fd673cf6e30599f5895d58c3281eba2901301401)
* Various sounds ported
* Replace wall_bonk.ogg
* Metal/metalglass break sound pass
* Replace metalbreak.ogg
* Replace woodhit
* Replcae tap.ogg n some smack uses
* Fix lint
* Replace bang.ogg and some instances of hit_kick.ogg
* couple more
* fix wood sound
* i may be stupid
* le attributing
* bro what
* standardize more destruction sounds
* fix melee hit sound cutting off
* window threshold sounds and remove `destroySound` it literally doesnt exist
(cherry picked from commit 818b07ecf82bdd72dc5524f6bc093067b2ef6472)
* Restarts have max player count
* Now counts ingame ghosts to determine if restart can be called
* consistant cvar name
* Added a player count with state conditional
(cherry picked from commit 7bf62f1d1904b591580b17b2b5079f0dfe769e4b)
* Rework wheelchairbound
Fixes the save/load bug and fixes it being a singleton.
* weh
(cherry picked from commit 243491dd596ffad3698d1d00a645195f2224386f)
Change the slot ID back to what it was to keep old map saves with an item in the slot loading correctly.
This also fixes the "You can't put this in the dispenser!" message not appearing when inserting an item without FitsInDispenserComponent because the whitelisted slot name wasn't changed.
(cherry picked from commit 7a7d0017b504dec4b1d390b941af9791d9677287)
* Add limited-reagent dispensers
* Add empty versions for all dispensers
* Fix lint
* Set initial window size so all buttons are visible
* Simplify logic, add parenthesis
* Use localized name for initial labels
* Adjust button style
* Avoid touching items before MapInit
* Remove pre-labeling
* Reduce diff
* Clean up YAML
* Fix test
* Really fix test
* Document
* Adjust based on review
* Add labels for obnoxiously long bottles
---------
Co-authored-by: AWF <you@example.com>
(cherry picked from commit 9394a262458df76d9c4156f147bed902e3feac75)