Files
Delta-v/Content.Server/Traits/TraitSystem.cs
T
4364eaa388 real traits system (#5208)
* holy shit?

* final touches

* this is dumb

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* whatever go my integration tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* whoopsie forgot blacklists

* load bearing loc

* minor stuff

* whoopsie

* cool

* I LOVE REFLECTION

* got a call from the stink department

* i love fluent yes

* direction changes

* waiter more migrations please

* typo ops

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
2026-01-20 12:49:59 +01:00

71 lines
2.7 KiB
C#

// using Content.Shared.GameTicking; // DeltaV - Traits rework
// using Content.Shared.Hands.Components;
// using Content.Shared.Hands.EntitySystems;
// using Content.Shared.Roles;
// using Content.Shared.Traits;
// using Content.Shared.Whitelist;
// using Robust.Shared.Prototypes;
//
// namespace Content.Server.Traits;
//
// public sealed class TraitSystem : EntitySystem
// {
// [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
// [Dependency] private readonly SharedHandsSystem _sharedHandsSystem = default!;
// [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!;
//
// public override void Initialize()
// {
// base.Initialize();
//
// SubscribeLocalEvent<PlayerSpawnCompleteEvent>(OnPlayerSpawnComplete);
// }
//
// // When the player is spawned in, add all trait components selected during character creation
// private void OnPlayerSpawnComplete(PlayerSpawnCompleteEvent args)
// {
// // Check if player's job allows to apply traits
// if (args.JobId == null ||
// !_prototypeManager.Resolve<JobPrototype>(args.JobId, out var protoJob) ||
// !protoJob.ApplyTraits)
// {
// return;
// }
//
// foreach (var traitId in args.Profile.TraitPreferences)
// {
// if (!_prototypeManager.TryIndex<TraitPrototype>(traitId, out var traitPrototype))
// {
// Log.Error($"No trait found with ID {traitId}!");
// return;
// }
//
// if (_whitelistSystem.IsWhitelistFail(traitPrototype.Whitelist, args.Mob) ||
// _whitelistSystem.IsBlacklistPass(traitPrototype.Blacklist, args.Mob))
// continue;
//
// // Add all components required by the prototype
// EntityManager.AddComponents(args.Mob, traitPrototype.Components, false);
//
// // Begin DeltaV - Add overridden components
// if(traitPrototype.OverriddenComponents != null)
// EntityManager.AddComponents(args.Mob, traitPrototype.OverriddenComponents, true);
// // End DeltaV
//
// // Add item required by the trait
// if (traitPrototype.TraitGear == null)
// continue;
//
// if (!TryComp(args.Mob, out HandsComponent? handsComponent))
// continue;
//
// var coords = Transform(args.Mob).Coordinates;
// var inhandEntity = Spawn(traitPrototype.TraitGear, coords);
// _sharedHandsSystem.TryPickup(args.Mob,
// inhandEntity,
// checkActionBlocker: false,
// handsComp: handsComponent);
// }
// }
// }