* Roundstart Variation for Solar Panels (#86)
* Added roundstart variation for solar panels
* Removed HV cable spawner since i don't want to bother with mapping them
* Solar Panel Variation Pass Fix (#96)
Added a second variation pass for regular solar assemblies, since otherwise they would spawn both it and the broken variety
* Reorganized everything to no longer be in the _Moffstation subdirectory
* Removed a forgotten tag for Moffstation
* Removed the moffstation namespace settings
* Update Content.Server/GameTicking/Rules/VariationPass/Components/SolarPanelReplaceVariationPassComponent.cs
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Update Content.Server/GameTicking/Rules/VariationPass/Components/ReplacementMarkers/SolarPanelReplacementMarkerComponent.cs
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Extracts magic strings from Tag calls
When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!
* Adds missing libraries
* Remove not yet implemented TagSystem changes
* Fix tag spelling error
Genuinely surprised there was only 1!
* Styling and proper type changes
* Styling
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Initial commit
* Update the selection to only count for people who have one of the preferences assigned; latejoin on delay no longer applies pre-selection.
* 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>
This code was a mess. Now it's less of a mess and user UserDbDataManager now.
Fixes the following bugs:
* If you connect to a server, restart your client, connect again in the same round, you role bans would not be visible in the client.
* If you role ban somebody who is not connected to the server, then they connect within the round, they will only have the recently-applied ban.
Likely fixes#24781, #27282
* 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.
* 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