* 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
* 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>
* 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
* 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
* 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
* 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>
* 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>
* admin Object tab sorting and searchable
* Fix for showing disconnected players on player admin tab
* Fix namespace and search bar location.
* Change linq to loop.
* No more Linq to sort
* Fix item click vv menu
* Added refresh button and refresh on opening tab.
* Clear spaces.
* Move tab magic numbers to enums
* Get rid of old unused xaml
* Fix code style issues and button event type.
* Merge in baby jail
* More style cleanup and move cast around.
* Make the localization a little more easy to read, same loc var names.
* Missed Loc for label
* Fix class field order
* Over zelous delete.
* Small updates.
* Min syntax issues fix
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.
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.
* Split mice from rats and made rats eye glow
+ added red eyes to regal rats (Both king and buff) + normal rats
- removed mouse-3 sprites from mice and moved it into a dedicated rat rsi
+fixed admin smite wording (you turn players into mice, not rats)
* minor formatting fix
* removed version numbers float.
* Typo fix + removed unneeded layer name
* 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
* terminator locale
* terminate objective
* terminator components and shared system
* terminator roles rules and system
* terminator events
* skeleton recolour
* terminator and endoskeleton
* ghost role spawn
* damage modifier sets
* :trollface:
* :trollface:
* add antag prototype
* ghost role locale
* skynet
* :trollface:
* :trollface:
* :trollface:
* add endoskeleton body prototype
* :trollface:
* :trollface:
* smite locale
* implement terminate smite
* :trollface:
* :trollface:
* implement PopupBehavior
* endoskeleton transform popup
* move stuff from shared to server since nothing actually used it
* recolour everything
* update parts
* :trollface:
* :trollface:
* ok fire was using the damage set, back to 1.0
* tweak
* :trollface:
* :trollface:
* simplemob ops
* 1 rule per pro
* :trollface:
* :trollface:
* update some sprites
* structural damage
* :trollface:
* :trollface:
* Revert "update some sprites"
This reverts commit 459196c6a8942c5412885d5fe2f1a83a48408ddc.
* offbrand, add die objective to maybe remove fear of murderbone
* add shut down objective to the list
* fix ghost role
* fix control mob
* :trollface:
* :trollface:
* please
* naming
* code changes for GenericAntag terminator
* yml changes for GenericAntag terminator
* :trollface:
* moved kill objective override to an objective component
* use kill objective override
* fix
* oh
* locale changes
* change burn to heat for skin melting gib
* change some endoskeleton stuff
* pro
* i already did this dementia ops
* objective
* fix
* pro
* swap out full sprite
* update parts
* forgor
* fix mind transfer
* type
* endoskeleton has 500 mass
* evil
* fishops
* warops
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Added the Super Bonk smite. It teleports the player from table to table
in the game and bonk their head into them. Also smashes them into glass
tables.
* Stopped using a timer and now instead use Comp + System. Also added proper logging impact.
* Fixed name inconsistency
* Admin CL which I forgot
* Made it funnier
* Moved basically all logic to the system and added a light version that stops when you die
* Hopefully made YAML Linter stop bullying me
* Removed fun(Glass tables no longer get smashed when the target is bonked over them)
General opinion seems that it would cause too much collateral damage. I kinda agree.
* Adressed reviews
* Add verb to spawn players on the spot
Apparently ss13 had it. Respawn for us will most of the time kick them to lobby to setup again but this just puts them in place so an admin can then SetOutfit or whatever.
* Add player cloning