* add mothership module
* option for mothership to open self UI
* fix mothership module
* remove mothership body
* swapp real hands for modules
* action sprite for mothership module
* removed hands from mothership core sprite
* xenoborgs now drop a pinpointer to the mothership core once destroyed
* add pinpointer to space movment module
* add base for XenoborgRule
* add xenoborg antag option
* something was needed
* something else was needed
* add ghost role spawn points
* change name in antag selection to Xenoborg Core
* add random spawnPoint markers that don't do anything
* add spawn points to mothership
* update spawn points
* add xenoborgs rule
* add xenoborgs rule to rotation
* add xenoborgs preset
* update preset with secret version
also added xenoborg mode description
* modify Antag Selection system to allow for custom entities via the AntagSelectionDefinition
* fix ghostroles spawners
* fix rule with new entityPrototype
* add spawnpoints to the mothership
* whitelist system to spawnpoints
* updated xenoborg components
* added xenoborg component to xenoborgs
* updated spawnpoints of xenoborgs in the mothership
* add new tags for xenoborg and mothership core
* add new tags for xenoborgs and mothership core
* update ghostrole spawners for xenoborgs
* message for when you get the xenoborg role
* explode all xenoborgs when mothership core dies
* for real now. explode all xenoborgs when mothership core is destroyed
* round end summary for xenoborgs
* temporary
* add guidebook entry for xenoborgs
* instructions on how to borg players
* removed lock from xenoborg control computer
* announcement when all xenoborgs die
* announcement when mothership core is destroyed
* typos
* fix error
* improve xenoborg mind role
* move sounds to xenoborg and mothership component
* play sounds when turned into xenoborg
* change sprites of mothership core actions
* minor fix
* add custom xenoborg start sound
* carps now attack xenoborgs
* added guide link to xenoborgs
* add guidebook link to xenoborgs
* added guidebook link to mothership core
* add link to source of the sound
* fixed minor issue
* has to be 1
* typo
* add light layer to mothership core sprite
* fixed antag selection system
* update guideboook
* update the guidebook again
* alphabet
* documentation
* simplify documentation
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
* make the briefing yml instead of code
* fix bug with sprites
* fix formating
* remove stuff from AntagSelection
* add stuff to AntagSpawner
* fix game rule
* removed secret xenoborg preset
* support for more than one entity for each antag role
* fix gamerule
* fixes
* no xeonborgs
* add xenoborgs to all at once
* engi xenoborg included
* more comments
* more recognizable
* more xenoborgs when more players
* removed unused stuff
* correct access
* removed unnecessary stuff
* use GetAliveHumans and make comments better
* Make the system more robust
* use a constant
* remove overload from the Destroy method
* has to be public to be used in the xenoborg system
* fix the mindrole methods
* not sure, but I was asked to do it
* use a constant for the color
* forgot to make it static
* removed param comments
* removed useless parameters
* fixed stuff
* added event listeneers to xenoborg mind change
* only 4
* unfuck the antagSpawner
* comment
* unfix stuff
* commentary
* removed xenoborg stuff from siliconLawSystem
* move some stuff to the component
* removed space
* removed uncessary stuff
* no need to crate a var
* move stuff from mothership comp to xenoborg comp
* removed XenoborgCoreRoleComponent
* comment on the AntagSelectLocationEvent
* added back empty line
* comment
* make the summary better
* make AntagRoleToPrototypes summary better
* adding useless stuff back cause it was there before
* hascomp instead of trycomp
* again
* LocId instead of string
* make a new logic for the whitelist of the spawnpoint
* added ghostrole tags back
* use hascomp instead of trycomp
* removed whitelist from SpawnPointComponent
* not needed anymore
* no longer subverted
* fixed names
* make it better
* add not
* i'm dumb
* briefing is now handled by the xenoborg system
* call evac if there is too many xenoborgs
* update submodule
* fix division
* Add AutoGenerateComponentPause and AutoPausedField to XenoborgsRuleComponent
* add lines between stuff
* Make the Blocking system more robust
* Make mothership inherit from BaseMob
* remove this stuff cause is bad
* Revert "Make the Blocking system more robust"
This reverts commit 099babfe1daef00e6073e04108920327416e4ca4.
* Mothership core snaps to grid
* stop mothership core from moving
* mothership core is static again
* make guidebook entry on how to xenoborg crew better
* Make mothership core damageable
* If xenoborgs need it, so do zombies i guess
* Start the NextRoundEndCheck
* follow private static readonly naming rule
* Samething
* Fix announcments
* Make it a datafield, no?
* Revert "Make it a datafield, no?"
This reverts commit 62f6255ccccdd583d7f833ae4dbcd09a670f721a.
* remove stuff
* doesn't need to move
* is kinda of a structure
* so it doesn't pry floors as soon as it spawns
* powercell hand to mothership core module
* label for new hand
* core_e -> core-e
* mothership core can pilot the shuttle again
* fix duplicated tag + description to xenoborg tags
* scout xenoborg can now move in space without the jetpack so it can better use the sword module
* improve basic xenoborg module
* remove changes from zombie rule comp
* swap AllEntityQuery for EntityQueryEnumerator
* new line at the end
* change to 15 seconds
* make MothershipCoreDeathAnnouncmentSent into a datafield
---------
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
* Fix usages of TryIndex()
Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)
This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)
This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.
Fixes#39115
Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.
* fix tests
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Add the chameleon controller implant
* address the issues (Git please dont kill me)
* Address the review and fix some merge conflicts!
* Cleanup
* Add use delay
* Silly mistakes
* Making a PR at 2 am: Gone wrong
* Predict use delay and disable the buttons until you can choose another
* First phase custom clothing
* Better system, now relays to agent id and mindshield. Chameleon loadouts are a lot better to work with as well
* Address the review! No more evil goto
* Slams way is better I should have read more closely xD
* Some of the jobs
* Add to Cargo, CentComm, Service, Passenger, Ninja, Cluwne, Wizard + Minor changes to existing; Add chameleon to bandanas, medals, jugsuits and HUDs
* Add everything else
* Fix test
* Job name
* This looks better
* Add department organization
* Minor cleanup
* Added some mindshields
* Remove redudent comment and change funcion name to be clearer
* Fix cluwne outfit
* fix merge conflicts
---------
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
* refactor(src): Minor refactor of Draw in "AdminNameOverlay. And new info about playtime player
* fix(src): Add configure classic admin owerlay
* fix
* antag status indication rework
* the cvars are free, you can just take them
* update playerlist on cvar change
* more overlay options
* tweak(src): Use _antagLabelClassic and tweak style
* tweak(src): Add config display overlay for startingJob and playTime
* tweak(src): Vector2 is replaced by var
* tweak(src): return to the end of the list
* add new option checkboxes
* passing ConfigurationManager through constructor, some format changes
* made sorting values more futureproof
* comments
* labels
* no point commenting this out when the overlay stack PR will uncomment it again anyway
* sorting prototype
* localize symbols because why not
* symmetry
* Revert "localize symbols because why not"
This reverts commit 922d4030300285a45777d62fcfd9c74b25fe7a60.
* layout and formatting stuff
* fix errant space
---------
Co-authored-by: Schrödinger <132720404+Schrodinger71@users.noreply.github.com>
* Give silicons proper lobby/character editor previews
No more naked dummies, properly show a borg/AI sprite now.
This means taking the JobEntity into account when spawning the dummy. For AIs I had to add a "JobPreviewEntity" field because they'd look like a posibrain otherwise. AI therefore uses a custom dummy entity I defined.
Also I had to add some margins to the UI, because otherwise the 32x32 sprite of the AI would look bad.
* Update Content.Shared/Roles/JobPrototype.cs
* Update Content.Client/Lobby/LobbyUIController.cs
* Update Resources/Prototypes/Entities/Mobs/Player/silicon.yml
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Format job requirements as hours and minutes
* Use TimeSpan.ToString for playtime instead of custom method
* wehflicts
---------
Co-authored-by: jmcb <joelsgp@protonmail.com>
* 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
* Added codeword highlighting
* Updated to support more codeword roles, color is set serverside
* Review feedback
* Change to a Component-based system using SessionSpecific
* Tidied up CanGetState, set Access restrictions on component
* Clean-up
* Makes the injection ignore brackets, restore some codewords, remove "Taste/Touch" from adjectives
* add tooltips to agentid job icons
* forgot to stage this
* make StatusIconPrototype abstract
* minor visual improvements
* cleanup
* use currentculture to sort job names
* review
* 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
* Mega Antag Refactor
* last minute delta save
* more workshopping
* more shit
* ok tested this for once
* okkkkk sure
* generic delays for starting rules
* well darn
* nukies partially
* ouagh
* ballin' faded and smonkin wed
* obliterated the diff
* Spread my arms and soak up congratulations
* I've got plenty of love, but nothing to show for it
* but there’s too much sunlight
Shining on my laptop monitor, so I
Can’t see anything with any amount of clarity
* ok this junk
* OOK!
* fubar
* most of sloth's review
* oh boy
* eek
* hell yea!
* ASDFJASDJFvsakcvjkzjnhhhyh
* Add NukeOps Test
* Update EvacShuttleTest to also check mapinit
* Update RuleMaxTimeRestartTest
* Fix cvar cleanup
* A
* Revert some changes
* comments
* Add MappingTests
* Finally fix the test
* A