* Stores owned by mind instead of body
* Requested changes, traitor uplink fixed
* Store, listings fixed and now use Entity<MindComponent>
* Removed duplicate code
* test change
* test change 2
* back to mind entityuid
* MilonPL requested minor changes
* ScarKy0 requested changes
* 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>
* uplink ringtone code + minor cleanup
* show uplink code in character menu
* no log
* rgbee
* no red
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* some work
* equip: done
unequip: todo
* unequipping done & refactored events
* workin
* movin
* reee namespaces
* stun
* mobstate
* fixes
* some work on events
* removes serverside itemcomp & misc fixes
* work
* smol merge fix
* ports template to prototype & finishes ui
* moves relay & adds containerenumerator
* actions & cuffs
* my god what is actioncode
* more fixes
* im loosing my grasp on reality
* more fixes
* more work
* explosions
* yes
* more work
* more fixes
* merge master & misc fixed because i forgot to commit before merging master
* more fixes
* fixes
* moar
* more work
* moar fixes
* suffixmap
* more work on client
* motivation low
* no. no containers
* mirroring client to server
* fixes
* move serverinvcomp
* serverinventorycomponent is dead
* gaming
* only strippable & ai left...
* only ai and richtext left
* fixes ai
* fixes
* fixes sprite layers
* more fixes
* resolves optional
* yes
* stable™️
* fixes
* moar fixes
* moar
* fix some tests
* lmao
* no comment
* good to merge™️
* fixes build but for real
* adresses some reviews
* adresses some more reviews
* nullables, yo
* fixes lobbyscreen
* timid refactor to differentiate actor & target
* adresses more reviews
* more
* my god what a mess
* removed the rest of duplicates
* removed duplicate slotflags and renamed shoes to feet
* removes another unused one
* yes
* fixes lobby & makes tryunequip return unequipped item
* fixes
* some funny renames
* fixes
* misc improvements to attemptevents
* fixes
* merge fixes
Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
* Remove IHandsComponent and ISharedHandsComponent
* Copy the documentation from the interfaces
* Revert "Copy the documentation from the interfaces"
This reverts commit 7638a2d4817743d487c7b255ba3e56add77dca86.
* Perform a minute amount of cleanup
* Uplink menu has icons now
* Add item icons
* Add few descriptions
* Better withdraw window
* Finished with withdraw window
* Refactored withdraw ui and fix some bugs
* Basic withdraw
* Quick fixes
* Removed uplink listing for TCs
* Move slider to separate control
* Final touches
* A bit more
* Not again...
* Fixed names
* Address review
* Fixed robust
* Non necessary check
* testing decription textlabel
* Move uplink listing to a new menu
* Add search bar
* Added description
* Added radio uplink
* Added preset uplinks
* Minor fix
* Fixed comma
* Moved pen slot to separate component
* Moved it all to more generic item slot class
* Add sounds
* Item slots now supports many slots
* Some clean-up
* Refactored slots a bit
* Moving ID card out
* Moving pda to system
* Moving PDA owner to ECS
* Moved PDA flashlight to separate component
* Toggle lights work through events
* Fixing UI
* Moving uplink to separate component
* Continue moving uplink to separate component
* More cleaning
* Removing pda shared
* Nuked shared pda component
* Fixed flashlight
* Pen slot now showed in UI
* Light toggle now shows correctly in UI
* Small refactoring of item slots
* Added contained entity
* Fixed tests
* Finished with PDA
* Moving PDA uplink to separate window
* Adding-removing uplink should show new button
* Working on a better debug
* Debug command to add uplink
* Uplink send state to UI
* Almost working UI
* Uplink correcty updates when you buy-sell items
* Ups
* Moved localization to separate file
* Minor fixes
* Removed item slots methods events
* Removed PDA owner name
* Removed one uplink event
* Deleted all uplink events
* Removed flashlight events
* Update Content.Shared/Traitor/Uplink/UplinkVisuals.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/GameTicking/Presets/PresetTraitorDeathMatch.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Item slots system review
* Flashlight review
* PDA to XAML
* Move UplinkMenu to seperate class, fix WeightedColors methods
* Move UI to XAML
* Moved events to entity id
* Address review
* Removed uplink extensions
* Minor fix
* Moved item slots to shared
* My bad Robust...
* Fixed pda sound
* Fixed pda tests
* Fixed pda test again
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Visne <vincefvanwijk@gmail.com>