* Borg type switching.
This allows borgs (new spawn or constructed) to select their chassis type on creation, like in SS13. This removes the need for the many different chassis types, and means round-start borgs can actually play the game immediately instead of waiting for science to unlock everything.
New borgs have an additional action that allows them to select their type. This opens a nice window with basic information about the borgs and a select button. Once a type has been selected it is permanent for that borg chassis.
These borg types also immediately start the borg with specific modules, so they do not need to be printed. Additional modules can still be inserted for upgrades, though this is now less critical. The built-in modules cannot be removed, but are shown in the UI.
The modules that each borg type starts with:
* Generic: tools
* Engineering: advanced tools, construction, RCD, cable
* Salvage: Grappling gun, appraisal, mining
* Janitor: cleaning, light replacer
* Medical: treatment
* Service: music, service, clowning
Specialized borgs have 3 additional module slots available on top of the ones listed above, generic borgs have 5.
Borg types are specified in a new BorgTypePrototype. These prototypes specify all information about the borg type. It is assigned to the borg entity through a mix of client side, server, and shared code. Some of the involved components were made networked, others are just ensured they're set on both sides of the wire.
The most gnarly change is the inventory template prototype, which needs to change purely to modify the borg hat offset. I managed to bodge this in with an API that *probably* won't explode for specifically for this use case, but it's still not the most clean of API designs.
Parts for specific borg chassis have been removed (so much deleted YAML) and specialized borg modules that are in the base set of a type have been removed from the exosuit fab as there's no point to printing those.
The ability to "downgrade" a borg so it can select a new chassis, like in SS13, is something that would be nice, but was not high enough priority for me to block the feature on. I did keep it in mind with some of the code, so it may be possible in the future.
There is no fancy animation when selecting borg types like in SS13, because I didn't think it was high priority, and it would add a lot of complex code.
* Fix sandbox failure due to collection expression.
* Module tweak
Fix salvage borg modules still having research/lathe recipes
Engie borg has regular tool module, not advanced.
* Fix inventory system breakage
* Fix migrations
Some things were missing
* Guidebook rewordings & review
* MinWidth on confirm selection button
* took a two month nap. accidentally pushed too many buttons. let's try this again. added thieves to antagonists.xml
* even after that nap, i don't feel well-rested at all.
* please don't kill me for using webedit
* capitalization, typo
* Apply suggestions from code review (more period moving)
Thanks Evan, very cool
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* guess you could say im not pro-proper noun
* typo
* Update Resources/ServerInfo/Guidebook/Antagonist/Nuclear Operatives.xml
* ok
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
* First clumsy implementation of guidebook protodata
* Support for Properties, format strings
* Better null
* Rename file
* Documentation and some cleanup
* Handle errors better
* Added note about client-side components
* A couple of examples
* DataFields
* Use attributes like a sane person
* Outdated doc
* string.Empty
* No IComponent?
* No casting
* Use EntityManager.ComponentFactory
* Use FrozenDictionary
* Cache tagged component fields
* Iterate components and check if they're tagged
* Adds fibers-insulative-frayed to fibers.ftl and relevant fibers-insulative-frayed components to budget insuls
* +1 to the "different types of fibers in the game" info under the forensics guidebook entry (pray this is actually correct and accurate)
* main antag page + minor antags
* nuuk operatives (greenland)
* "coup d'flop" = "flukies" but for revs
* manifest edgelord
* traitor tot (potato)
* they're coming to get you, barbara
* general changes. posters.
* tfw last minute commit
* traitoration rewritification
* created thieves.xml
* thieves, wow!!
* Created NewPlayer.xml
* Created NewPlayer.yml and added it to guides.ftl
* shifted some controls from Space Station 14 to New? Start here!, as well as made a character creation xml to be written later
* switched some stuff between the New? entry and the Space Station 14 entry
* Made everything so nice!!!!!!!!!!!!!!
* fixed formatting inconsistencies
* added a How to use this guidebook section
* build correction and guidebook clarification for other servers
* wrote character creation ig probs fo shizzle
* added new terms to the glossary and alphabetized it
* meh this seems important enough to add
* okay no more shitsec bad idea
* I HATED Roleplaying.xml ANYWAY!!!
* I REALLY REALLY HATED IT ACTUALLYLLL
* Moved Controls and Radio into newplayer.yml, making meta.yml and radio.yml obsolete
* Separated the character creation bits that are just cosmetic from the ones that matter
* also put all the related new player xml files in their own folder
* expanded Radio.xml, kinda fixed survival.xml
* removed the line that mighta maybe sorta possibly could encourage self antag
* thought about this randomly but ICK OCK
* talking is no longer a key part of this game
* moves stuff around, a lot of stuff. basically moves everything but the jobs themselves around
* ah probably should make sure this works first also me when i lie on the internet
* don't be such a grammar nukie
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* okay nevermind that's justified
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* prepare. it is coming. the great reorganization...
* yesyes that's all well and goo- THE REORG IS COMING. THE REORG IS COMING. WAKE UP.
* rename that real quick
* step one begins. first, consolidate existing service entries into their own yaml. this makes botany.yml obsolete.
* update shiftandcrew.yml to only have departments as children also fuck it alphabetization
* consolidated salvage into cargo
* made a new entry for command
* gave salvage a home and service an existence
* made some XML files to be filled out later
* quick rename...
* took some stuff from Intro.txt and i think Gameplay.txt and put it in NewPlayer.xml
* The Great Writing about Departments (25XX, black and white)
* added a bunch of links everywhere
* biochemical is no longer a thing
* service formatinaaaaaaa
* shiny...,,,,,,,,, colo(u)rz..,,,,,,,,,,,,,
* let's get that fixed
* second time i made a typo there as well
* we hate fun around here
* grammar?!???/
* various fixes and more linkings
* oops
* wewlad lol!!
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: AJCM <AJCM@tutanota.com>
* Update MinorAntagonists.xml
Flesh out the Rat King and Space Dragon sections of MinorAntagonists.xml in the guidebook.
* Rope the rest of the Guidebook Antag Entries into this (except Zombies they were fine) - Also fix two typos I discovered during research
* oops missed a hyphen
* Sydnicate :despair:
* AUTOTELL ON -> OPERATIVES
* General slime improvements
* Finish morphing
* oops 2x2 not 3x3
* actually lets ball - 2x3 inventory
* Last two things on the todo list
* .\RobustToolbox\
* JUST COMPILE
* fix tests 2.0
* fix tests 3.0
* Do reviews
* minor change
* guideboob
* more
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* RTG page update
* old commits from #22272
* Small fixes over most pages
* TEG tweaks
* Fixed a thing in airlock security
* fixed an italics tag
* singularity page now includes tesla
* Added a burn chamber to TEG page
* Prettyprinted TEG page, fixed some more issues with details
* Moved ONE singular comma
* Change Singularity page heading to include tesla
* Singularity page pretty printing + fixes
* TIL its [italic] NOT [italics]
* RTG Prettyprinting
* Access Config Prettyprinting + Netconfig tweak
* Atmospherics prettyprinting
* Construction keybind fix
* Apply suggestions from code review
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* SS14-26480 Roll Traversal Distorter into regular Artifact Analyzers
Bit of a grab-bag of cleanup of Xenoarchaeology prompted by #26480.
1. Traversal distortion biases are now "up" and "down" instead of "in" and "out".
2. Node generation has been tidied up to make it a little clearer how it works.
3. Traversal Distorters have been removed from the game along with their board.
4. Traversal distortion is now done by the artifact analyzers by default.
5. Some loc strings have been made clearer.
6. The Abnormal Artifact Manipulation tech has been made slightly cheaper.
7. The aformentioned tech is now localized as Artifact Recycling, given all it does is unlock the crusher.
8. The Xenoarchaeology guidebook entry has been given a bit of a rewrite, putting all information into
one page and making sure to cover the basics that otherwise would require someone typing "Liltenhead
artifact tutorial" into Youtube.
* Fix references to deleted guidebook entry
* Add fancy button to console because @EmoGarbage404 asked me to
* migration comprete
* Fixed a goober comment
* maint fails to resolve conflicts: more at 11
* Resolve PR comments
* Make UI nice
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* added ninja to Antagonists.xml
* give the space ninja some love
* by the way did you know there are now 25 fiber types? i demand this number get updated with every single PR