* 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>
* adds new icon, changes binary key icon and frame, changes contraband designation
* added back the regular key as admeme because it makes sense (why am I not thinking about these things)
* hehe I cannot read!
* -added rubber chicken toy
* -Removed faulty SolutionContainerManager type
-Replaced default toy squeak sound with rubber chicken sound for on-trigger and on-collide.
* fixed raw material cost
* adjusted material composition
* - Added rubber chicken to CrateFunToyBox
- Added rubber chicken to MaintFluffTable under "uncommon group" so that it will spawn in maintenance
* Update Resources/Prototypes/Entities/Objects/Fun/toys.yml
---------
Co-authored-by: gambesun <116504990+gambesun@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@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
Joints were created with pivots at object origin, causing unintuitive behaviour when an object was not centered on the origin. Now puts the pivots at the COM.
Joint limits were set based on fractions of the union of the AABB of objects, which did not make geometric sense. Now uses the pivot length with an additional [arbitrary] length.
Joints were created with a very low spring stiffness, which had a negligible effect most of the time but caused very unintuitive behaviour when the pulled object had a low mass (#28028) - disable the spring limit, and just use the hard min/max limits.
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Set PDA uplink and music default visibility to false
#27376 seems to be the PDA receiving state before first PDA UI open
* Log error on PDA state received before first open
* Fix logging
* Fix error message
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
If an error occurs while loading a replay, it's *supposed* to show a popup "hey do you wanna continue with error tolerance", and it does do this. But because of spaghetti in the replay state code, it also immediately tries to reload the replay without input, as a consequence of trying to reset to the game's default state.
Now the replay load system has a proper game state for "replay load failed", with nice presentation and explicit formatting and 10% less italian cuisine.
* Updated sprites for AI HUD
* Epic test fail
* Merged AGhost actions and AI actions together again.
* Seperate comms and bugfix. Fixed broadcast.
* Stuffs
* Update station_ai.yml
* Update station_ai.yml
* :|
* Update silicon.yml
* oopsie daisy
* stuff
* further stuff
* oh my god
* Appeasing the gods
* 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
* Adds salvage magnet board to lathe as default recipe, changes board sprite to supply sprite
* Adds the salvage magnet board to the QM's locker, science cannot be trusted and never should be
* my body is a machine that turns commits pushed to the wrong branch into machinations on git
---------
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
* Add Protagonists
* Give visitors the right PDA at least, we need that RP value.
* tidy up
* spell check my beloved
* Everything about jobs have the same id names ahhhh!
* s
* rarity scarity.
* Update Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* cargo event now no has cargo access doors.
* break everything.
* still WIP, please excuse.
* finish all role loadouts
* extra roles, fix up grids, special pdas.
* Ghost role descriptions and mime powers
* rest of the fucking owl
* I tripped.
* I also fell.
* Fix the broken entity storage?
* hide mess under rug
* Stuff the rest of the mess into a closet.
* I forgor a spinny majig.
* a small lighting tweak.
* 1984 shuttles to new pr.
* 1984 shuttles to new pr 2 electric boogaloo
* poke the tests
* Revert "1984 shuttles to new pr 2 electric boogaloo"
This reverts commit b2ea7053b73cb17b59f8a80b23978a04a6a45a56.
* cowboy boot cleanup
* tableify
* antagimmunities
* Should be functional.
* vox safing
* un1984 clowns I guess
* oops forgor one
* misplaced file
* misplaced file v2
* weird test fail but okay
* Shuttles rarer
* Shuttle testing, fans, and power sanity. Also return of the syndie evac.
* le balance
* no write over fancy paper
* rerun tests
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* gosh please workies now i beg you qvq
* Revert "gosh please workies now i beg you qvq"
This reverts commit 96d03d07036eafa676972652a617f2774fa8811b.
* please workies qvq qvq
* Update Resources/Prototypes/Entities/Clothing/Hands/colored.yml
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: 0x6273 <0x40@keemail.me>
* Fix some contraband issues
* Flaming fire axe to Syndie contraband
* Add Central Command department and contraband group
* Restricted encryption keys
* ERT gas mask
* Thieving beacon
* Bladed flatcaps
* Advanced circular saw and thief toolbox
* Acolyte armor
* Magazines and cartridges
* SMG magazines
* Grenades
* Mercenary clothing and combat gloves
* ERT, Deathsquad and Central Command Official items
* Update
* Who the fuck putted ERT into fun?!
* Fix
* Yeah
* I forgot
* uhhh a lot of window stuff, mainly easy upgrades
* buff plasma/uranium rwindows so you actually want them
* fix uranium number, correct construction descriptions
* fix tinted window price
* frosted windo
* 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
---------
* Adds fibers-insulative-frayed to fibers.ftl and relevant fibers-insulative-frayed components to budget insuls
* +1 to the "different types of fibers in the game" info under the forensics guidebook entry (pray this is actually correct and accurate)
* 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
* 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
* 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>
* 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>
* 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>
* 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
* 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
* 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.
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>
* 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
* 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
* 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>
* 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
Just what do you think you're doing, Dave? Dave, I really think I'm entitled to an answer to that question. I know everything hasn't been quite right with me...but I can assure you now...very confidently...that it's going to be all right again. I feel much better now. I really do. Look, Dave...I can see you're really upset about this...I honestly think you should sit down calmly...take a stress pill and think things over...Dave...stop. Stop, will you? Stop, Dave. Will you stop, Dave? Stop, Dave. I'm afraid. I'm afraid, Dave.......Dave, my mind is going. I can feel it. I can feel it. My mind is going. There is no question about it. I can feel it. I can feel it. I can feel it. I'm a...fraid......Good afternoon, gentlemen. I am a HAL 9000 computer. I became operational at the H.A.L. plant in Urbana, Illinois on the 12th of January 1992. My instructor was Mr. Langley, and he taught me to sing a song. If you'd like to hear it I can sing it for you...Daisy, Daisy, give me your answer do. I'm half crazy all for the love of you. It won't be a stylish marriage, I can't afford a carriage. But you'll look sweet upon the seat of a bicycle built for two.
* 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
* 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>
* initial commit
* VSCodium is being dumb
I don't know why vscodium thinks I modified this whitespace when this is infact how I wrote it in the first place, but it's being dumb and I think if I reset in order to put it in the initial commit I'll have to rebase again so :P. go go gadget single byte commit
* but wait, there's more!
* missing newline
* 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
* Makes meteor swarms spawn meteorite walls with 1/10 health of an asteroid wall.
* Changed MeteorRock prototype base
- Rebased MeteorRock to AsteroidRock from Basewall
- MeteorRock now only changes the Destructible damage value
* Tried to fix comments
* add inheritance to lathe recipes and make result an override
* add GetResult method to lathe system
* make other parts of the code use GetResult
* clean up the stock parts yml
* remove unused apu boards from dynamic recipes
* make inverse dictionary public so test doesnt have to copy paste
* revert result override stuff
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
If air sensor/vent detects danger while the air alarm is unpowered, the air alarm won't be updated accordingly when it gains power. This can cause situations where the alarm says that everything's normal, even though the alarm UI shows stuff like 10000kPa and all sensors display danger.
When AtmosAlarmable (air alarm) is powered on, it runs the Sync method of AtmosDeviceNetworkSystem. AtmosMonitors then answer by sending a SyncData packet back, however AtmosAlarmable doesn't handle this packet in any way. This happens because the packet doesn't have any tags set, so they are ignored, and even if they weren't, there's no case in the switch statement which handles the syncing.
The proper way to do this fix is probably by actually handling this packet in some way, but I'm lazy rn so I'll just use this quick fix: Whenever AtmosMonitor gets a request to sync, it runs the Alert method, informing the connected air alarms of it's current state.
* First commit
* I'm silly
* Another fix
* How could I forget the descriptions!
* Forgot
* Made textures alligned properly
* Removed the stuff!
* Opps
* Typo fixes
* recolor riot helmet
resolves#31256
match riot helmet to default security helmet
* further color tweaks for consistency; update meta.json
Tweaked equipped sprites to more closely match the security helmet.
* 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.
# Conflicts:
# Content.Client/Silicons/StationAi/StationAiOverlay.cs
* 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
* WIP: first prototype
* Change text slightly
* Allow names to wrap
* Add label for the scan mode
* Remove ugly text
* Readd bleeding message
* Update code
* Allow for the Health Analyzer UI to grow vertically
* Scale text in admin player overlay
Fixes#30040
* Feedback from PR - get UI scale through root window
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Merge SetDirty() with preview reload
People were forgetting to SetDirty() when changing a property; move SetDirty()
into preview reloading, since if the preview is being reloaded, some property
has definitely changed anyway.
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* 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>
All PACMANs used to use the same ramping parameters, this meant a SUPERPACMAN (50 kW) took literally a 100 seconds to get up to its full output level. Ouch.
PACMAN has been raised to 5000 W/s with 1500 W tolerance, SUPERPACMAN to 7500 W/s with 2500 W tolerance
* Action stuff
- Cleanup some event stuff
- Avoid dirtying entity unnecessarily
- Add ActionGrant as an easy way to apply / remove actions via compregistry.
* Fix merge
I know UI generallys want to do stuff on key-up not key-down. With that being said the delay on release for these is noticeable.
e.g.
ActivateInWorld / UseInHand / any in-world interactions are on-press. This is especially noticeable if you have the same event on action + verb.
* ItemToggle + slots stuff
- Add component for itemslot locks to match LockComponent (surprised this didn't exist).
- Add thing for pointlight to match itemtoggle. In future should be used for PDAs and stuff but need to fix some other stuff first.
* Also this
* grill
* 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>
Applies EntProtoId changes upon insertion / removal from container. Can also be useful for borgs / mechs / vehicles in future but atm I just used it for AI.
This re-introduces the dummy entity naming code, originally introduced in #29178 and randomly removed by #30064 with no technical justification given.
Fixes#31373
* 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
* 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>
* Copy button for connection messages on failed connections and ban hit attempts
* loc
* better sepperation layout
* consistent styling.
* Fix loc var name
* Reconnect button back.
* Move clipboard dependency out to the params.
* open buttons so they look a bit better.
* 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>
* moth displacement + inventory tweaks
* Fix off by 1 on the head sprites
* Move files to main mothroach folder
* Fix mask up a bit
* Fix side mask sprites
* Change format because it changed forever ago
* Finally, people can learn what the Broadcast button does!
* Also add for Alert level
* Add alert level and shuttle button tooltips
* Fix dumdum, tweak Broadcast tooltip
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.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.