* Scope creep my ass
* why was this shit not pushed????
* gone...
* fix that
* review plus buildd
* asfsafsafsafsafas
* grug
* burber
* I'll fix this later
* shrimply die
* also this
* it's snerf or snuthin
* assaads
* round snend
* aaaa
* fix this shit for real
* actually, don't start GameRules until MapInit now that I think aboot it.
* forgot u
* don't actually need this part nullable
* Deffer comp removal
* one liner
* do that too
* chungus
* Honestly makes more sense here, plus WHY are we doing all that shit on "GameRuleAdded" rather than GameRuleStarted(?)
* deferred removal :V
* aaaaaaaaaaaaaaa
* whhop
* Whoop
* better
* landmine that I placed for myself then forgot about lmao
* cleanup
* FUCKING `!`
* gotovo
* amogus
* please don't check by metadata I beg
* waawsasfdfsasfa
* sfafsasfafsas
* fdsaasffsasfa
* code
* fix
* fasasffasfasfsad
* chungaas
* I may be stupid
* gra
* graaaaaaaaaaaaaaaaa
* comment
* gra
* clearing is not predicted and would require major refactors, so don't cache on client.
* lame shit :P
* last holes
* nukeopsfsafsasafsfafsa
* why was that shit public bruh
* bubrbgwahrghfaka
* dynamic
* revert change that did nothing lmao
* init
* targets
* attempt 1 at this
* init
* rename file
* dont roll unkillable antags for kill objectives
* refactor: do not allocate on MindGetAllAntagTags when fail to get MindComponent, remove unneeded linq
* refactor: cleanup and added test for new condition. might be oddly specific but...
* oversight
* refactor: test cleanup after review
* refactor: fix changelog (AGAIN GOD DAMMIT)
* refactor: revert changelog thing, make it separate PR
---------
Co-authored-by: Fildrance <fildrance@gmail.com>
* insanity
* changeling real pliz
* the wizard
* no conflict plz :3
* Update Content.Server/Objectives/Systems/ChangelingEscapeDepartmentConditionSystem.cs
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
* linq is hell
* Update Content.Server/Objectives/Systems/ChangelingEscapeDepartmentConditionSystem.cs
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
* comment & API
* wokism is real and is coming for you in this pride month
* i am stoopid and dont know how to code :3
* cleanup, self review, usual stuff
* oops
* comments and difficulty
* fuck everything
* add to rolls
* FFS
* self ontag
* filters? you should kill your mom, here's why women never fuck you here's how you could build a bomb.
* ncat
* Update Content.Shared/Roles/Jobs/SharedJobSystem.cs
eqweqwewqe
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
* address slam,s reviews idfk this will be squashed anyway
* from captain sprite (apparently removed on master) to atmosian sprite
* Minor cleanup changes
---------
Co-authored-by: nomdéraisonnablementlong <you@example.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
* Job weight rework
Instead of global job priorities we do:
- Fill up minimum job slots first by priority. Has same-department / anyone / never fallbacks.
- Players get their jobs by pref, filling up up to roundstart values on gamemapprototype (AKA maximums)
Default weights are used if the map doesn't specify.
* a
* I square to god
* icon group prototype
* prototype v2
* agent id uses groups
* working UI using groups
* UI work, new header
* formatting and misc work
* fix some texture scaling
* aesthetics
* tabs, scrollbar, MinSize
* commit
* commit
* commit
* commit
* Revert "commit"
This reverts commit 8f29ae30c69670c6dc8d5fba3dd6bd98f574830d.
* we're back
* well enough
* Final visuals for the Id (for now)
* code cleaning
* minor cleanup
* self review
* id card system changes
* try index -> resolve
* DisposeAllChildren -> RemoveAllChildren
* fix the id cards
* all pretty
* unneeded
* merge
* Review by Fildrance
* Review by Pok
* fix
* cleanup
* refactor: revert icon setsize changes back to good old '32', made container button be resizable for localization reasons
* jobIconGroup
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
* "fixes" it but the logic just needs to be rewritten.
* init commit
* almost there
* commit
* Scrounger
* actually spawn the ghost roles, and better assertion behavior!
* update the warning because I know someone is gonna touch it
* hhng
* fix Traitor assignment
* Prune the list and ignore dummy antags
* game test
* skip dummy antag
* crisaskjfshj
* It's time, it's fucking time
* fixing the secret gamemode bug once and for all.
* docs
* burger
* dssdgdsgds
* so hungry for test fails
* job whitelist
* review
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* 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
* doesn't apply traits for borg or ai
* add some comment and summaries
* weh
weh
* well ok
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
---------
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
* 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