* named apcs, doors, air alarms, cameras, fire alarms, substations, SMESs
* updated PostMapInitTest.cs to include Cell
* added psychologist spawn
* fixed scanner console link, fixed disposals conveyors, and more
* added janitor service lights, maints firelocks, and more
* added more fun maint rooms
* improved head offices, kitchen, psych. added maints between science and arrivals
* fixed spawners placed over solid objects
* added unique evac shuttle, the Cilium
* evac shuttle is now orientated correctly
* added unique cargo shuttle
* updated kitchen area
* renamed Cell Station to Elkridge Depot, removed most main hall airlocks for smoother travel
* general last-minute touch-ups around the bridge and sec
* changed station name in PostMapInitTest.cs
* Add a test to check that all lathes accept the materials for all their recipesy
* Add check for storage limit
* Track total recipe material volume
* Check dynamic and emag recipes too
* Move AllLatheRecipesValidTest from ResearchTest to LatheTest
* Extremely minor modernization
* Initial Commit with two departments done
* Checkpointing work
* Added most of service and science
* Started work on medbay
* Modified TEG setup and set up atmos pipes for engineering
* Re-added medbay, added chapel and janitorial, started routing disposals and generally the final layout of the map is coming together
* Plenty of additions, too many to list in a commit message
* Major update
* Nearly done with the map, just have to do decals and emergency lights
* Added all decals, only thing missing is department signs
* Toned back the dirt decals a bunch, added hallway signs and other decorations
* Finishing touches on the map before testing.
* Fixed invalids
* Renamed the station to Amber, and made a couple adjustments
* Completely redid cargo, added maints around sec
* Added Amber to the map post init integration test
* Many small updates addressing issues.
* Ran a script to update all the camera names, also ran fixgridatmos, fixrotations, tilewalls, and variantize
* Started addressing some of the issues brough up by Emisse and others
* Addressed all issues mentioned by reviewers. Added mail system.
* Wrapped up meeting all the issues raised by reviewers, also did a bunch of testing and resolved issues found during those tests
* Addressed additional requested changes, and nabbed some ship designs from Frontier. Redesigned south east maints and surrounding meteor nets based off of those designs
* Making a couple more requested changes
* Reduced the amount of Nitrogen Closets, made several small adjustments. Ready for review again!
* Removed invalids!
* web edit lmao
---------
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.
HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns.
This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such.
New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs.
Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans.
There's also some code cleanup to reduce copy pasting around the place from my changes.
Requires latest engine to support ImmutableArray<byte> in NetSerializer.
* Mind Role Entities wip
* headrev count fix
* silicon stuff, cleanup
* exclusive antag config, cleanup
* jobroleadd overwerite
* logging stuff
* MindHasRole cleanup, admin log stuff
* last second cleanup
* ocd
* minor cleanup
* remove createdTime datafield
* now actually using the event replacement I made for role time tracking
* weh
* Add failing unbuckle InteractHand test
* Skip trybuckle if strap doesn't have space
* Unbuckle others not just user
* Fix test failing due to delay
* Change to raise event instead of calling OnInteractHand
* Add test for buckle and unbuckle on InteractHand
* Add tick delay
* Remove unneeded tick delay and clean up
* Comment code
* Cleanup
* Swap to fastest checks first
* Fix reading empty sequence when there are no buckled entities
* 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>
* 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>
* 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>
* 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
* Added new map Cog and its own evac shuttle
* removed cog from default.yml so all checks will pass
I added cog here because i thought it might need to be here for map choosing??????????? ill add it back if needed
* updated cog and fixed a bunch of stuff that was not visable in the image, also nerfed the singo so it no longer solos
* added renault spawner that was missing and changed some minor stuff
* moved a escape pod from med/sci hallway to northern maints
* added shutters to the brig and added vents and scrubbers where they were missing in the halls
* extended salv's docking port so they can dock
* Fixed according to cog review thread
* fix pools
* fix PostMapInitTest
* Update MapLoadBenchmark.cs
* added cap and hop spawn that i just forgot to add???????????????????
* fixed again
---------
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
* 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 vox roundstart
I believe all the issues are fixed.
* Click detection bandaid
* Make clickable 1% nicer
Still bad. Still doesn't handle multi-viewports well.
* 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
* 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>
* 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
* The death of try20
* Add integration test for traitor gamerule
* Fix max difficulty being overshot
* Check at least one objective is assigned
* EntProtoId
* Items droped in containers will end up in containers
* Adds integration test for dropping entity while inside container
* comment
* comment
* trim the diff
---------
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>