Removed BaseItem price as it was always a placeholder and easier to just change without it.
Ensure staticprice is never used if stackprice is present.
Added StackComponent to the test so the behavior matches expectation.
* Fix some bugs in stations and do a little cleanup.
* Begin backporting the guidebook.
* wow that's a lot of work.
* More work, gives the monkey some more interactions.
* disco monkye.
* monky
* jobs entry.
* more writing.
* disco
* im being harassed
* fix spacing.
* i hate writing.
* Update Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* builds again
* a
* pilfer changes from AL
* fix and remove unused code
* pilfer actual guide changes from AL
* localization
* more error logs & safety checks
* replace controls button with command
* add test
* todos
* pidgin parsing
* remove old parser
* Move files and change tree sorting
* add localization and public methods.
* Add help component/verb
* rename ITag to IDocumentTag
* Fix yml and tweak tooltips
* autoclose tooltip
* Split container
* Fancier-tree
* Hover color
* txt to xml
* oops
* Curse you hidden merge conflicts
* Rename parsing manager
* Stricter arg parsing
tag args must now be of the form key="value"
* Change default args
* Moar tests
* nullable enable
* Even fancier tree
* extremely fancy trees
* better indent icons
* stricter xml and subheadings
* tweak embed margin
* Fix parsing bugs
* quick fixes.
* spain.
* ogh
* hn bmvdsyc
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* everything for mixing aside from yaml changes
* add recipe and canmix to bottles and the holy mixer tag to the bible
* fixes as a result of testing
* remove unused usings
* remove emptylines that are not required
Co-authored-by: 0x6273 <0x40@keemail.me>
* more empty line removal!
Co-authored-by: 0x6273 <0x40@keemail.me>
* add single space between if statement and condition
Co-authored-by: 0x6273 <0x40@keemail.me>
* fixes indentation on TryGetMixableSolution
* raise new AfterMixingEvent after attempting to mix a solution
* before mixing event and attempt get mixable solution event
* update reaction tests to be a beaker that can be mixed, and then pass a mixer component in to simulate mixing
* make two more beaker types mixable, add attribute for mixing feedback
* bible mix message
* mixing feedback on success
* updates test to use SpawnEntity over new as per feedback
Co-authored-by: 0x6273 <0x40@keemail.me>
* multi-node xeno artifacts
* refactor existing artifact effects
* more tweaks to generation
* more shit plus fix tests
* more generation stuff plus threat levels
* doink
* now make it build
* defer the artifact activation to not cause errors
also pricing
* some changes
* all of the yaml + ui stuff for artifact analyzer
* machine linking and starting to make the ui functional
* artifact analyzer display
* a shit ton of artifact analyzer stuff
* more changes; making destroy work properly; progress bar tweaks
* getting shit going!
ALL RIGHT
* small tweaks that didn't help much
* Komm susser todd: the end of analysis
* recipes and hints and ui, oh my!
* add some in-game sources
gotta prepare for day 1 launch
* node data + ditch random seed in place of id
* bunch of triggers
* finish off the last few triggers
* implement machine examine verb
* knock, flicker, blink, throw
* shatter, foam, shuffle, heat
* fix all the shit i broke
* *some* of these have to be good, no?
25 effects
* callin' it there for effects
* comments + reword some trigger hints
* don't mind this little commit here
* byref event
* fix brokey node entry
* fix low pressure trigger
* mirror review plus fixing 0x40's bug
also the throw artifact threw incorrectly
* randomize the event message a teeny bit
* lathe and material storage refactor
* materialStorage ECS
it kinda sus tho
* beginning the lathe shitcode dive
* couple lathe visuals and lathe system
* lathe changes and such
* dynamic lathe databases
* rewrote internal logic
on to ui
* da newI
* material display clientside
* misc ui changes
* component state handling and various other things
* moar
* Update Content.Shared/Lathe/LatheComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* first volley of sloth review
* more fixes
* losin' my mind
* all da changes
* test fix and other review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fix a bunch of warnings
Also made ensnareable not broadcast as they're only used directed.
Mainly just Get<T> and AppearanceSystem
* buckle too
* fix tests
Co-authored-by: wrexbe <wrexbe@protonmail.com>
* Cleanup species prototypes a bit
Skeletons were very stale because they didn't inherit from mobhuman but now they should have similar components as every other species.
I also added a generic abstract base species to make custom species easier (where they may not want to have humans COUGH VILOUS).
* a
* drugs
* gonflicts
* no more conflicts I beg
* Per-map parallax support
* Comments for future sloth
* c
* bet
* Fix exception
* VV support
* Fix parallax
* mem
* weightless sounds
* Gravity stuff
* placeholder coz im too lazy to stash don't @ me son
* decent clouds
* sky
* Fast parallax
* Imagine spelling
* Loicense
* perish
* Fix weightless status
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
* Partial work on StationSystem refactor.
* WIP station jobs API.
* forgor to fire off grid events.
* Partial implementation of StationSpawningSystem
* whoops infinite loop.
* Spawners should work now.
* it compiles.
* tfw
* Vestigial code cleanup.
* fix station deletion.
* attempt to make tests go brr
* add latejoin spawnpoints to test maps.
* make sure the station still exists while destructing spawners.
* forgot an exists check.
* destruction order check.
* hopefully fix final test.
* fail-safe radstorm.
* Deep-clean job code further. This is bugged!!!!!
* Fix job bug. (init order moment)
* whooo cleanup
* New job selection algorithm that tries to distribute fairly across stations.
* small nitpicks
* Give the heads their weights to replace the head field.
* make overflow assign take a station list.
* moment
* Fixes and test #1 of many.
* please fix nullspace
* AssignJobs should no longer even consider showing up on a trace.
* add comment.
* Introduce station configs, praying i didn't miss something.
* in one small change stations are now fully serializable.
* Further doc comments.
* whoops.
* Solve bug where assignjobs didn't account for roundstart.
* Fix spawning, improve the API.
Caught an oversight in stationsystem that should've broke everything but didn't, whoops.
* Goodbye JobController.
* minor fix..
* fix test fail, remove debug logs.
* quick serialization fixes.
* fixes..
* sus
* partialing
* Update Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Use dirtying to avoid rebuilding the list 2,100 times.
* add a bajillion more lines of docs (mostly in AssignJobs so i don't ever forget how it works)
* Update Content.IntegrationTests/Tests/Station/StationJobsTest.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Add the Mysteriously Missing Captain Check.
* Put maprender back the way it belongs.
* I love addressing reviews.
* Update Content.Server/Station/Systems/StationJobsSystem.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* doc cleanup.
* Fix bureaucratic error, add job slot tests.
* zero cost abstractions when
* cri
* saner error.
* Fix spawning failing certain tests due to gameticker not handling falliability correctly.
Can't fix this until I refactor the rest of spawning code.
* submodule gaming
* Packedenger.
* Documentation consistency.
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Load Maps on Round Start, not Round Restart
* Fix admin log test.
It assumed maps/grids existed during pre-round, wihch is not a valid assumption anymore after this PR.
* Shutdown server if round fails to start 5 times.
* Fix bugs with round starting flag.
* Make StartRound not async, synchronously get new round ID from DB.
* Handle StationId.Invalid in PickBestAvailableJob
Instead of crashing, return null.
SpawnPlayer will handle this by making the player an observer or returning them to the lobby.
* Load Maps on Round Start, not Round Restart
* Fix admin log test.
It assumed maps/grids existed during pre-round, wihch is not a valid assumption anymore after this PR.
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)
* fix networking
* Allow action locking
* prevent telepathy
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* 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>
* git mv
* Move Access Component & system.
- Name space changes
- Rename AccessReader to AccessReaderComponent
- Also need an abstract TryGetSlot function for SharedInventoryComponent
* better TryGetSlot
* Ah yes, tests exist.
* Completely refactor how job spawning works
* Remove remains of old system.
* Squash the final bug, cleanup.
* Attempt to fix tests
* Adjusts packed's round-start crew roster, re-enables a bunch of old roles.
Also adds the Central Command Official as a proper role.
* pretty up ui
* refactor StationSystem into the correct folder & namespace.
* remove a log, make sure the lobby gets updated if a new map is spontaneously added.
* re-add accidentally removed log
* We do a little logging
* we do a little resolving
* we do a little documenting
* Renamed OverflowJob to FallbackOverflowJob
Allows stations to configure their own roundstart overflow job list.
* narrator: it did not compile
* oops
* support having no overflow jobs
* filescope for consistency
* small fixes
* Bumps a few role counts for Packed, namely engis
* log moment
* E
* Update Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Update Content.Server/Maps/GameMapPrototype.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* factored job logic, cleanup.
* e
* Address reviews
* Remove the concept of a "default" grid.
It has no future in our new multi-station world
* why was clickable using that in the first place
* fix bad evil bug that almost slipped through
also adds chemist
* rms obsolete things from chemist
* Adds a sanity fallback
* address reviews
* adds ability to set name
* fuck
* cleanup joingame
* Add admin logging, models, migrations
* Add logging damage changes
* Add Log admin flag, LogFilter, Logs admin menu tab, message
Refactor admin logging API
* Change admin log get method names
* Fix the name again
* Minute amount of reorganization
* Reset Postgres db snapshot
* Reset Sqlite db snapshot
* Make AdminLog have a composite primary key of round, id
* Minute cleanup
* Change admin system to do a type check instead of index check
* Make admin logs use C# 10 interpolated string handlers
* Implement UI on its own window
Custom controls
Searching
Add admin log converters
* Implement limits into the query
* Change logs to be put into an OutputPanel instead for text wrapping
* Add log <-> player m2m relationship back
* UI improvements, make text wrap, add separators
* Remove entity prefix from damaged log
* Add explicit m2m model, fix any players filter
* Add debug command to test bulk adding logs
* Admin logs now just kinda go
* Add histogram for database update time
* Make admin log system update run every 5 seconds
* Add a cap to the log queue and a metric for how many times it has been reached
* Add metric for logs sent in a round
* Make cvars out of admin logs queue send delay and cap
* Merge fixes
* Reset some changes
* Add test for adding and getting a single log
* Add tests for bulk adding logs
* Add test for querying logs
* Add CallerArgumentExpression to LogStringHandler methods and test
* Improve UI, fix SQLite, add searching by round
* Add entities to admin logs
* Move distinct after orderby
* Add migrations
* ef core eat my ass
* Add cvar for client logs batch size
* Sort logs from newest to oldest by default
* Merge fixes
* Reorganize tests and add one for date ordering
* Add note to log types to not change their numeric values
* Add impacts to logs, better UI filtering
* Make log add callable from shared for convenience
* Get current round id directly from game ticker
* Revert namespace change for DamageableSystem