* Adds Survivor Antag
* Adds Survivor Role
* Adds Survivor Rule ECS, adds a survivor role event, adds make antagonist to random global spawn spell
* Moves Survivor Ensurecomp to event handler. Makes Add Survivor Role a broadcast. Adds Survivor Component. Removes redundant briefing.
* Adds Survivor Antagonist role type for admins to keep track of this easier, adds it to Survivor.
* Adds access to survivor game rule system
* Adds Survivor Rule
* Adds end of round survivor text
* Adds end of round reporting logic. Adds logic to start the survivor rule.
* Changes desc from centcomm to shuttle
* survivor (S)
* Checks if they're alive on the shuttle instead of centcomm.
* ftl text selection based on number of survivors.
* Removed Survivor Antagonist, replaced it with Free Agent.
* Adds InvalidForGlobalSpawnSpell tag, checks for it on spawnspell, and adds it to a zombified person.
* Changes logic so we launch the game rule if it hasnt launched yet. Moves rule logic starting to server. Moved survivor rule logic out of event and into Start method.
* Fixes invalid entity issue
* Descs for Survivor Rule and Survivor comps
* Moves Survivor Rule to its own yml
* Checks for dead survivors, changes survivor checks for mind. Adds survivor comp to mind to fix any mindswap issues. Same for invalid survivor tag
* Changes shuttle xform call to just mapid
* Protoid fix
* THE WIZARD
* Wizard spawner
* adds the correct state
* Wizard preset and weight
* Fixes wizard rule
* Weight back to 100%
* Adds Random Metadata
* Wizard locs
* Puts requirements in the right place
* Adds wiz ghost spawner and mob
* wizard spawnpoint fix + shuttle mapping
* wizard loadout + fix wizard spawning + wizard random name
* comment
* Adds Wizard testing
* FIXES SHUTTLE ISSUE BASED REI
* THE WIZARD LOBBY SONG. Special thanks to song creator Chris Remo for allowing us to use this.
* Free Objective ECS + Base Free Objective
* Space Wizard Federation for Wiz Obj issuer.
* Wizard Objectives
* Moves wizard shuttle to base wizard rule. Gives Wizard their objectives. Removes WizardRule
* Renames midround to subgamemodes. Adds wizard sub game mode.
* Adds SubWizard to SubGameModesRule. Adds a SubGameMode with no wizard. Adds No SubGamemodeRule for Wizard preset
* Wizard midround event
* Fixes wizard midround
* Wizard Guidebook
* Removes todo
* Fixes text
* Removes wizard rule ECS, not needed
* Wizard jetpack
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
* Added AP version of mateba, and put it in the deathsquad starting equipment.
* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@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>
* fix ghost role rules for some syndicate familiars
* change from monkey rules to Team Antag rules.
* Resolve reviews + Fix rules for LoneOp and Xenos
* ghostrole rules
---------
Co-authored-by: JIPDawg <JIPDawg93@gmail.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
* 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
* fixed warden being and qm being not considered head for traitor kill head objective
* fixed hypothetical warden traitor not getting disk objective
* change suggested by deltanedas
* cleanup
* cleanup
* fix
* changed as suggested
* removed a dot in the comment
* removed an empty line
* reformulation
* Fix some rounds failing to end due to mind roles
Fixes#32791
This is caused by ShowRoundEndScoreboard running into a bug trying to display antags: some player is showing up as antag with MindIsAntagonist(), but has no antag roles listed in MindGetAllRoleInfo().
This was caused by one of the roles of the player having the Antag boolean set, but having no AntagPrototype set.
The responsible mind role appeared to be MindRoleSubvertedSilicon which is missing a set for the SubvertedSilicon antag prototype.
I also added resilience to the round-end code to make it so that an exception showing the scoreboard (and sending the Discord message) would not cause the round end logic to completely abort from an exception.
I am planning to add an integration test to cover this bug (no prototype in mind roles), but I'll leave that for not-the-immediate-hotfix.
* At least one maintainer approved this tiny PR without reading it, not naming names.
* Increase AI Playtime Requirement
* Change silicon supervisor message
* Slightly lower AI time requirement and change borg supervisor to be just its laws for now.
* Leave the supervisor to another PR
* Comply with maintainer request
* Comply with another maintainer request because they forgor.
* 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
From what I can tell this was merged with this on accident.
Maintainers see the maint review thread on this.
The original pr also claimed this was as an example.
In my opinion wizden should not have an age requirement for command.
* added sprite and began implementation
* fixed sprite name, fixed meta files
* silly whitespace
* added paper-stamp file
* figured out where to add the componet, added 'credits'
* spelling is hard
* hmm
* GAHHHHH
* how did i do this again
* Add Protagonists
* Give visitors the right PDA at least, we need that RP value.
* tidy up
* spell check my beloved
* Everything about jobs have the same id names ahhhh!
* s
* rarity scarity.
* Update Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* cargo event now no has cargo access doors.
* break everything.
* still WIP, please excuse.
* finish all role loadouts
* extra roles, fix up grids, special pdas.
* Ghost role descriptions and mime powers
* rest of the fucking owl
* I tripped.
* I also fell.
* Fix the broken entity storage?
* hide mess under rug
* Stuff the rest of the mess into a closet.
* I forgor a spinny majig.
* a small lighting tweak.
* 1984 shuttles to new pr.
* 1984 shuttles to new pr 2 electric boogaloo
* poke the tests
* Revert "1984 shuttles to new pr 2 electric boogaloo"
This reverts commit b2ea7053b73cb17b59f8a80b23978a04a6a45a56.
* cowboy boot cleanup
* tableify
* antagimmunities
* Should be functional.
* vox safing
* un1984 clowns I guess
* oops forgor one
* misplaced file
* misplaced file v2
* weird test fail but okay
* Shuttles rarer
* Shuttle testing, fans, and power sanity. Also return of the syndie evac.
* le balance
* no write over fancy paper
* rerun tests
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Fix some contraband issues
* Flaming fire axe to Syndie contraband
* Add Central Command department and contraband group
* Restricted encryption keys
* ERT gas mask
* Thieving beacon
* Bladed flatcaps
* Advanced circular saw and thief toolbox
* Acolyte armor
* Magazines and cartridges
* SMG magazines
* Grenades
* Mercenary clothing and combat gloves
* ERT, Deathsquad and Central Command Official items
* Update
* Who the fuck putted ERT into fun?!
* Fix
* Yeah
* I forgot
* Station AI overlay
* implement
* Bunch of ports
* Fix a heap of bugs and basic scouting
* helldivers
* Shuffle interactions a bit
* navmap stuff
* Revert "navmap stuff"
This reverts commit d1f89dd4be83233e22cf5dd062b2581f3c6da062.
* AI wires implemented
* Fix examines
* Optimise the overlay significantly
* Back to old static
* BUI radial working
* lots of work
* Saving work
* thanks fork
* alright
* pc
* AI upload console
* AI upload
* stuff
* Fix copy-paste shitcode
* AI actions
* navmap work
* Fixes
* first impressions
* a
* reh
* Revert "navmap work"
This reverts commit 6f63fea6e9245e189f368f97be3e32e9b210580e.
# Conflicts:
# Content.Client/Silicons/StationAi/StationAiOverlay.cs
* OD
* radar
* weh
* Fix examines
* scoop mine eyes
* fixes
* reh
* Optimise
* Final round of optimisations
* Fixes
* fixes
* LoadoutSystem change, deathsquad species loadout
* survival gear loadouts for disaster victims
* skrek
* centcom
* syndicate agent
* cburn
* ERT
* syndicates
* Is it ever gonna be enough?
* Take what you can
* Move startingGearEquippedEvent after Loadouts are spawned
* skreee
* even more formatting
* Unbreak auto internals activation
* undo AddAllRoleLoadouts change
* syndicate reinforcement survival loadouts
* re-enable vox ghostroles
* Syndicate thief, spy, medic
* Fixes description for nukies
* update description for uplink
* Implement the radial menu
* forgot these were necessary to push lol
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Give NukeOps Reinforcements an ID Card (in a PDA)
* add warning comment
* create syndicateoperativegeatreinforcementnukeops in traitor.yml
* revert fun/misc_startinggear.yml