* - fix: Fix jobreq probably.

* - fix: Felinid ling transform in containers.
This commit is contained in:
Aviu00
2024-08-09 11:24:40 +00:00
committed by GitHub
parent 143c010a89
commit 943c77031c
7 changed files with 32 additions and 19 deletions

View File

@@ -11,6 +11,8 @@ namespace Content.Shared.Roles;
[Serializable, NetSerializable]
public sealed partial class DepartmentTimeRequirement : JobRequirement
{
public override bool IgnoreIfAdmin => true; // WD
/// <summary>
/// Which department needs the required amount of time.
/// </summary>

View File

@@ -12,6 +12,8 @@ namespace Content.Shared.Roles;
[Serializable, NetSerializable]
public sealed partial class OverallPlaytimeRequirement : JobRequirement
{
public override bool IgnoreIfAdmin => true; // WD
/// <inheritdoc cref="DepartmentTimeRequirement.Time"/>
[DataField(required: true)]
public TimeSpan Time;

View File

@@ -13,6 +13,8 @@ namespace Content.Shared.Roles;
[Serializable, NetSerializable]
public sealed partial class RoleTimeRequirement : JobRequirement
{
public override bool IgnoreIfAdmin => true; // WD
/// <summary>
/// What particular role they need the time requirement with.
/// </summary>

View File

@@ -14,7 +14,8 @@ public static class JobRequirements
[NotNullWhen(false)] out FormattedMessage? reason,
IEntityManager entManager,
IPrototypeManager protoManager,
HumanoidCharacterProfile? profile)
HumanoidCharacterProfile? profile,
bool isAdmin)
{
var sys = entManager.System<SharedRoleSystem>();
var requirements = sys.GetJobRequirement(job);
@@ -24,6 +25,9 @@ public static class JobRequirements
foreach (var requirement in requirements)
{
if (isAdmin && requirement.IgnoreIfAdmin)
continue;
if (!requirement.Check(entManager, protoManager, profile, playTimes, out reason))
return false;
}
@@ -42,6 +46,8 @@ public abstract partial class JobRequirement
[DataField]
public bool Inverted;
public virtual bool IgnoreIfAdmin => false; // WD
public abstract bool Check(
IEntityManager entManager,
IPrototypeManager protoManager,