* 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>
* 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
* Moves HumanoidCharacterAppearance to ECS
* Makes HumanoidAppearanceSystem work over networks
* Makes HumanoidAppearanceSystem more efficient
* Cleans up the files
* Updates privacy on a couple of functions
* Fixes a few using references, renames a file
* Makes HumanoidAppearanceSystem more cleaner
* Fixes Magic Mirror
* Cleanup
* HumanoidAppearanceComponent now has a friend
SharedHumanoidAppearanceSystem is only allowed to act on this, now
* Fixes the Body-HumanoidAppearance ECS scaffolding
* a little cleanup never hurt anybody
* quick fix for magic mirror appearance access
* Replaces a networked event with a local one
This one was... causing bugs
From what I could tell whenever LobbyState is entered it makes a new Lobby + CharacterSetup GUI via Startup. These events are never disposed of under Shutdown + the lobby should be null whenever we're not in LobbyState (as the control ends up disposed).
The lobby == null checks could probably also be null asserts as they shouldn't be null when those methods are being called.
* UI is an abbreviation, in XAML.
* Chat improvements.
Changing the "selected" channel on the chat box is now only done via the tab cycle or clicking the button.
Prefix chars like [ will temporarily replace the active chat channel. This is based 100% on message box contents so there's no input eating garbage or anything.
Pressing specific channel focusing keys inserts the correct prefix character, potentially replacing an existing one. Existing chat contents are left in place just fine and selected so you can easily delete them (but are not forced to).
Channel focusing keys now match the QWERTY key codes.
Deadchat works now.
Console can no longer be selected as a chat channel, but you can still use it with the / prefix.
Refactored the connection between chat manager and chat box so that it's event based, reducing tons of spaghetti everywhere.
Main chat box control uses XAML now.
General cleanup.
Added focus hotkeys for deadchat/console. Also added prefix for deadchat.
Local chat is mapped to deadchat when a ghost.
Probably more stuff I can't think of right now.
* Add preferred channel system to chat box to automatically select local.
I can't actually test this works because the non-lobby chat box code is complete disastrous spaghetti and i need to refactor it.
* Move chatbox resizing and all that to a subclass.
Refine preferred channel & deadchat mapping code further.
* Don't do prefixes for channels you don't have access to.
* Change format on channel select popup.
* Clean up code with console handling somewhat.
* GameTicker turned into an EntitySystem
* Turns ClientGameTicker into an EntitySystem, turn NetMessages into events
* Change event names to be more consistent with the rest.
* YAML linter uses the dummy gameticker CVar override.
* Fix game ticker initialization order
* Dummy ticker won't spawn players.
* Fix character creation test