* Step 1 of porting; grabbed most of the files via patches.
* Add species field to the DB
* Appearance patches for slimes.
* Fix the db test.
* Add slime's biocompat.
* slimby
* Fixes, allow specifying if a species is playable or not.
* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Address reviews.
* Address reviews.
* make an if-case.
* Fix a goof where species wouldn't get shown in the editor correctly (it'd always default to human)
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Enable lighting of Cigars with IsHotEvent
Subscribed to IsHotEvent in ThrusterSystem, added AfterInteractEvent to SmokingSystem.Cigar which will set SmokableState to Lit if IsHotEvent returns true
This should mean that cigs/Cigars should light on anything hot
* Revert "Enable lighting of Cigars with IsHotEvent"
This reverts commit db896e1f80940892a87d34aa7182b9c605fa53bc.
* Add the ability to kick your way out of welded or locked closets
Added a ResistLocker component/system that hooks into OnRelayMove to begin resisting out of lockers so that players aren't stuck in lockers forever
Also added check to EntityStorageComponent to not print out welded shut message if the entity attempting to open the locker is inside of it.
* Changes based on review
minor formatting changes
make components passed into AttemptResist nullable and resolve them inside of the function
Remove incorrectly named .ftl file
* Changes based on review
Ditched async DoAfter
Used PopupSystem over User.PopupMessage
Added Cancel token to ResistLockerComponent
Subscribed to EntRemovedFromContainer event to cancel DoAfter if the player is removed from a container
* I am in formatting hell, apparently
* Changes based on review
Added TryComp for the EntityStorageComponent instead of the event passed one
* Changes based on review
* Apply suggestions from code review
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Formatting changes based on review
* Shuffle functions around in LockSystem to properly trigger visualizer
Moved all the unlocking logic to a Lock method inside of LockSystem and TryUnlock calls this method if the user passes all of the access checks
* Formatting, replacing Resolve with TryComp and making AttemptResist arguments optional
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Check if the player is inside THE container not A container
me no read good
* ok ok I give my code is bad
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: Paul <ritter.paul1@googlemail.com>
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>
* XAML PlayerTab entries
* Move command execution to PlayerTab
* Move command logic to the AdminSystem
* Clean up
* Add examine and context menu keybind handling to PlayerTab
* Fix remote admin verbs
* Remove examine for now
* Add server verbs
* Fix requests of verb by non-admins
* Clean up AdminSystem.Menu
* 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>
* Rework AdminSystem to keep players in the PlayerTab until round end
* Prevent sending PlayerStatus to deadminned admins
* Change _playerList to non-nullable
* Clean up unused usings
* Consolidate duplicate foreach loop code
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@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.
* [ADD] changes to be able to identify living downed players
* [FIX] format of tryGetComponent, fixed string
* [CHANGE] PR mind component suggestions
* [CHANGE] trycomp based on qa feedback
* [CHANGE] Condensed mindcomponent as per feedback
Co-authored-by: fishfish458 <fishfish458>
* Adds Administration verb category and AHelp verb.
For more convenient adminin'.
* abbreviate verb category to Admin
* Add explosion verb to admin category
* lord save me
* UI/ChatBox: Use the new `defStyle` param for `RenderMarkup`
The previous iteration didn't work because `AddMessage` can't inherit
its color from the PushColor (since we're not doing actual tag stacks
anymore).
* rebase touchup
* Disable check
* vehicle test
* Make PAI stop instrument when turning off (player leaves/ejected)
* Give pAI an instrument component with a custom soundfont
* Add pAI synth program to custom ss14 soundfont
* Add new PAIMidi action that pAIs use to open their instruments
* Changed instrument component to allow its player to be the actor of its parent item
* Oops. Readds instrumentcomponent.
* ECS Changes
* Changed soundfont to ringtone
* Revert "Disable check"
This reverts commit 86001d8b5e94ee38d0c9504cb19826327b04fb16.
* Remove action parameters from ghost placeholder
* Revert "vehicle test"
This reverts commit 8a8ecf41083e0d5c8d4363ff02981bdab04bcd1c.
* Fixes to whitespace
* Even more fixes to whitespace
* Removed paiSynth sample from spacestation14.sf2
* Yet another indentation touchup
* Revert "Remove atmos archiving."
This reverts commit 7fa10bd17b.
* Explosive Depressurization now brings tiles down to TCMB.
* Tiles now specify heat capacity.
* Do not serialize archived gas mixture values.
* Remove bad idea
* dumb typo
* Space gas mixtures now have a harcoded heat capacity.
This is a bit of a hack, but rooms exposed to space now cool down properly when monstermos is disabled.
Huge thanks to @LemonInTheDark for helping me with this!
* Clean up heat capacity methods
* Better logging based on the original monstermos' logging
* Comment explosive depressurization hack better
* 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
* Sending a mob out of a disposals unit shouldn't push them into a wall anymore.
* Something something resolves vs. OnRemove fighting it out
* Disposals yeet reduction: Address reviews and other oddities
* Refactor slip dropping to use throwing
* Update Content.Server/Fluids/EntitySystems/SpillableSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Uncringe
* Update Content.Server/Fluids/EntitySystems/SpillableSystem.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Transfer most Instrument UI logic to a new component, ActivatableUIComponent
* Move more ActivatableUIComponent stuff to ECS
* ActivatableUI component ignore on client
* ActivatableUI: Get rid of component interfaces where possible
* Add in adminOnly attribute for activatable UIs
This is so that porting #4926 to this will be easier
* Transition Solar Control Computer to ActivatableUI
* Move communications console to ActivatableUI
* Move cargo console to ActivatableUI
* Move ID card console to ActivatableUI
* ActivatableUI: Make things more amiable to entity tests adding components weirdly
* ActivatableUI: Use handling or lack thereof of events properly
* ActivatableUI: component dependency issue resolution stuffs
* ActivatableUISystem: Fix#5258
* More fixes because master did stuffo
* Check for HandDeselectedEvent again because otherwise active-hand check doesn't work
* Move just a bit more code into the system, introduce a workaround for #5258
* Purge the player status detection stuff
* Oh and some obsolete stuff too
* Add a way to disable voting for maximum authoritarianism
* Allow disabling specific vote types via cvars
* Migrate standard-vote-to-cvar dictionary to being static
* add sprite and basic entity, no reagent or testing
* actually implement epinephrine and add it to the box
* allow creating it
* add it to nanomed
* fig
* 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
* Food and Utensil to ECS, Made utensil less restrictive, no more soup eating with a knife...
* AltVerb "can eat" check
* removed HasFlag calls
* AltActionVerb -> InteractionVerb
* "required utensil" filed
* pass 1
* a little more reagent effect for breakfast
* move lots of stuff around
* implements all medicines
* implement all cleaning & elements
* implement toxins/pyrotechnic
* p
* linter fixies
* fixes + narcotic balancing
* fix and standardize
* reviews
* things
* Makes map vote and roundstart smart about player count.
No more Saltern with 30 players, or Knight Ship with 50.
* a typo
* Address reviews.
* Localized.