don't apply traits for borg and ai (#31990)

* doesn't apply traits for borg or ai

* add some comment and summaries

* weh

weh

* well ok

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
This commit is contained in:
lzk
2024-09-12 12:36:41 +02:00
committed by GitHub
parent 320135347f
commit 8b2ea59515
3 changed files with 32 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
using Content.Server.GameTicking;
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;
@@ -24,6 +25,14 @@ public sealed class TraitSystem : EntitySystem
// 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.TryIndex<JobPrototype>(args.JobId ?? string.Empty, out var protoJob) ||
!protoJob.ApplyTraits)
{
return;
}
foreach (var traitId in args.Profile.TraitPreferences)
{
if (!_prototypeManager.TryIndex<TraitPrototype>(traitId, out var traitPrototype))