[Feat] Респект и уважуха (#476)

* db

* wd comment

* manager & commands

* system & round end results

* raise ban event

* client manager & cached values

* role pick tweak

* tweak last commit

* more fixes

* weights fix

* Fix for short rounds

* tweak in cached dictionary

* reva pick system

* fix last commit

* cult role pick

* nukeops role picking

* fix cache in async & show command

* ooc msg show value

* move pick method to manager & traitor pick fix
This commit is contained in:
HitPanda
2023-10-08 15:53:28 +03:00
committed by Aviu00
parent a29e004eba
commit 7c9bd1d934
37 changed files with 3752 additions and 25 deletions

View File

@@ -27,6 +27,7 @@ using Robust.Server.Containers;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Content.Server.Shuttles.Components;
using Content.Server.White.Reputation;
using Content.Shared.Players;
namespace Content.Server.Antag;
@@ -47,6 +48,7 @@ public sealed class AntagSelectionSystem : GameRuleSystem<GameRuleComponent>
[Dependency] private readonly EmergencyShuttleSystem _emergencyShuttle = default!;
[Dependency] private readonly RoleSystem _roles = default!; // WD
[Dependency] private readonly SharedPlayerSystem _sharedPlayerSystem = default!; // WD
[Dependency] private readonly ReputationManager _reputationManager = default!; // WD
/// <summary>
/// Attempts to start the game rule by checking if there are enough players in lobby and readied.
@@ -217,7 +219,12 @@ public sealed class AntagSelectionSystem : GameRuleSystem<GameRuleComponent>
for (var i = 0; i < antagCount; i++)
{
results.Add(_random.PickAndTake(prefList));
//results.Add(_random.PickAndTake(prefList));
// WD EDIT START
var pref = _reputationManager.PickPlayerBasedOnReputation(prefList);
prefList.Remove(pref);
results.Add(pref);
// WD EDIT END
Log.Info("Selected a preferred antag.");
}
return results;