]> git.smokeofanarchy.ru Git - space-station-14.git/commit
Refactor antag rule code (#23445)
authorRainfey <rainfey0+github@gmail.com>
Thu, 29 Feb 2024 06:25:10 +0000 (06:25 +0000)
committerGitHub <noreply@github.com>
Thu, 29 Feb 2024 06:25:10 +0000 (17:25 +1100)
commit4e6c59cfe51211064d79a727cc2d37c2a2f55a2c
tree2a1359231cec3415ac11180fee420d847489277c
parent3966a65c659d3881d58c1fb2beadaf6c4e53f827
Refactor antag rule code (#23445)

* Initial Pass, Rev, Thief

* Zombie initial pass

* Rebase, Traitor

* Nukeops, More overloads

* Revert RevolutionaryRuleComponent

* Use TryRoundStartAttempt, Rewrite nukie spawning

* Comments, Add task scheduler to GameRuleSystem

* Zombie initial testing done

* Sort methods, rework GameRuleTask

* Add CCVar, Initial testing continues

* Might as well get rid of the obsolete logging

* Oops, i dont know how to log apparently

* Suggested formatting fixes

* Suggested changes

* Fix merge issues

* Minor optimisation

* Allowed thief to choose other antags

* Review changes

* Spawn items on floor first, then inserting

* minor tweaks

* Shift as much as possible to ProtoId<>

* Remove unneeded

* Add exclusive antag attribute

* Fix merge issues

* Minor formatting fix

* Convert to struct

* Cleanup

* Review cleanup (need to test a lot)

* Some fixes, (mostly) tested

* oop

* Pass tests (for real)

---------

Co-authored-by: Rainfall <rainfey0+git@gmail.com>
Co-authored-by: AJCM <AJCM@tutanota.com>
53 files changed:
Content.Client/NukeOps/WarDeclaratorBoundUserInterface.cs
Content.Client/NukeOps/WarDeclaratorWindow.xaml
Content.Client/NukeOps/WarDeclaratorWindow.xaml.cs
Content.IntegrationTests/Tests/PostMapInitTest.cs
Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs
Content.Server/Antag/AntagSelectionSystem.cs
Content.Server/GameTicking/Rules/Components/GameRuleComponent.cs
Content.Server/GameTicking/Rules/Components/NukeOperativeSpawnerComponent.cs
Content.Server/GameTicking/Rules/Components/NukeopsRuleComponent.cs
Content.Server/GameTicking/Rules/Components/RevolutionaryRuleComponent.cs
Content.Server/GameTicking/Rules/Components/ThiefRuleComponent.cs
Content.Server/GameTicking/Rules/Components/TraitorRuleComponent.cs
Content.Server/GameTicking/Rules/Components/ZombieRuleComponent.cs
Content.Server/GameTicking/Rules/GameRuleSystem.Utility.cs
Content.Server/GameTicking/Rules/GameRuleSystem.cs
Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs
Content.Server/GameTicking/Rules/PiratesRuleSystem.cs
Content.Server/GameTicking/Rules/RevolutionaryRuleSystem.cs
Content.Server/GameTicking/Rules/ThiefRuleSystem.cs
Content.Server/GameTicking/Rules/TraitorRuleSystem.cs
Content.Server/GameTicking/Rules/ZombieRuleSystem.cs
Content.Server/NukeOps/WarDeclaratorComponent.cs
Content.Server/NukeOps/WarDeclaratorSystem.cs
Content.Server/Roles/DragonRoleComponent.cs
Content.Server/Roles/InitialInfectedRoleComponent.cs
Content.Server/Roles/NinjaRoleComponent.cs
Content.Server/Roles/NukeopsRoleComponent.cs
Content.Server/Roles/RevolutionaryRoleComponent.cs
Content.Server/Roles/TerminatorRoleComponent.cs
Content.Server/Roles/TraitorRoleComponent.cs
Content.Server/Roles/ZombieRoleComponent.cs
Content.Server/Shuttles/Components/GridFillComponent.cs
Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs
Content.Server/StationEvents/Events/LoneOpsSpawnRule.cs
Content.Server/StationEvents/Events/StationEventSystem.cs
Content.Server/Traitor/Systems/AutoTraitorSystem.cs
Content.Shared/Antag/AntagAcceptability.cs [new file with mode: 0644]
Content.Shared/CCVar/CCVars.cs
Content.Shared/Inventory/InventorySystem.Helpers.cs
Content.Shared/NukeOps/WarDeclaratorEvents.cs
Content.Shared/Revolutionary/Components/RevolutionaryComponent.cs
Content.Shared/Roles/AntagonistRoleComponent.cs
Content.Shared/Roles/MindIsAntagonistEvent.cs
Content.Shared/Roles/SharedRoleSystem.cs
Resources/Locale/en-US/game-ticking/game-ticker.ftl
Resources/Locale/en-US/nukeops/war-declarator.ftl
Resources/Locale/en-US/nukeops/war-ops.ftl
Resources/Maps/Nonstations/nukieplanet.yml [moved from Resources/Maps/nukieplanet.yml with 86% similarity]
Resources/Maps/Shuttles/infiltrator.yml [moved from Resources/Maps/infiltrator.yml with 95% similarity]
Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/war_declarator.yml
Resources/Prototypes/Entities/Stations/syndicate.yml [new file with mode: 0644]
Resources/Prototypes/GameRules/roundstart.yml
Resources/Prototypes/Maps/syndicate.yml [new file with mode: 0644]