Mind ECS (#16826)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using Content.Server.Mind;
|
||||
using Content.Server.Objectives.Interfaces;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Shared.Utility;
|
||||
@@ -21,7 +22,15 @@ namespace Content.Server.Objectives.Conditions
|
||||
|
||||
public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ("Mobs/Ghosts/ghost_human.rsi"), "icon");
|
||||
|
||||
public float Progress => (_mind?.CharacterDeadIC ?? true) ? 1f : 0f;
|
||||
public float Progress
|
||||
{
|
||||
get
|
||||
{
|
||||
var entityManager = IoCManager.Resolve<EntityManager>();
|
||||
var mindSystem = entityManager.System<MindSystem>();
|
||||
return _mind == null || mindSystem.IsCharacterDeadIc(_mind) ? 1f : 0f;
|
||||
}
|
||||
}
|
||||
|
||||
public float Difficulty => 0.5f;
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using Content.Server.Mind;
|
||||
using Content.Server.Objectives.Interfaces;
|
||||
using Content.Server.Shuttles.Components;
|
||||
using Content.Server.Station.Components;
|
||||
@@ -47,13 +48,14 @@ namespace Content.Server.Objectives.Conditions
|
||||
{
|
||||
get {
|
||||
var entMan = IoCManager.Resolve<IEntityManager>();
|
||||
var mindSystem = entMan.System<MindSystem>();
|
||||
|
||||
if (_mind?.OwnedEntity == null
|
||||
|| !entMan.TryGetComponent<TransformComponent>(_mind.OwnedEntity, out var xform))
|
||||
return 0f;
|
||||
|
||||
var shuttleContainsAgent = false;
|
||||
var agentIsAlive = !_mind.CharacterDeadIC;
|
||||
var agentIsAlive = !mindSystem.IsCharacterDeadIc(_mind);
|
||||
var agentIsEscaping = true;
|
||||
|
||||
if (entMan.TryGetComponent<CuffableComponent>(_mind.OwnedEntity, out var cuffed)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using Content.Server.Mind;
|
||||
using Content.Server.Objectives.Interfaces;
|
||||
using Content.Shared.Mobs.Systems;
|
||||
using Robust.Shared.Utility;
|
||||
@@ -32,7 +33,15 @@ namespace Content.Server.Objectives.Conditions
|
||||
|
||||
public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ("Objects/Weapons/Guns/Pistols/viper.rsi"), "icon");
|
||||
|
||||
public float Progress => (Target?.CharacterDeadIC ?? true) ? 1f : 0f;
|
||||
public float Progress
|
||||
{
|
||||
get
|
||||
{
|
||||
var entityManager = IoCManager.Resolve<EntityManager>();
|
||||
var mindSystem = entityManager.System<MindSystem>();
|
||||
return Target == null || mindSystem.IsCharacterDeadIc(Target) ? 1f : 0f;
|
||||
}
|
||||
}
|
||||
|
||||
public float Difficulty => 2f;
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Content.Server.Objectives.Conditions
|
||||
{
|
||||
public override IObjectiveCondition GetAssigned(Mind.Mind mind)
|
||||
{
|
||||
var allHumans = EntityManager.EntityQuery<MindComponent>(true).Where(mc =>
|
||||
var allHumans = EntityManager.EntityQuery<MindContainerComponent>(true).Where(mc =>
|
||||
{
|
||||
var entity = mc.Mind?.OwnedEntity;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ using Content.Server.Objectives.Interfaces;
|
||||
using Robust.Shared.Random;
|
||||
using Robust.Shared.Utility;
|
||||
using Content.Server.GameTicking.Rules;
|
||||
using Content.Server.Mind;
|
||||
|
||||
namespace Content.Server.Objectives.Conditions
|
||||
{
|
||||
@@ -42,7 +43,15 @@ namespace Content.Server.Objectives.Conditions
|
||||
|
||||
public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ("Objects/Misc/bureaucracy.rsi"), "folder-white");
|
||||
|
||||
public float Progress => (!_target?.CharacterDeadIC ?? true) ? 1f : 0f;
|
||||
public float Progress
|
||||
{
|
||||
get
|
||||
{
|
||||
var entityManager = IoCManager.Resolve<EntityManager>();
|
||||
var mindSystem = entityManager.System<MindSystem>();
|
||||
return _target == null || mindSystem.IsCharacterDeadIc(_target) ? 1f : 0f;
|
||||
}
|
||||
}
|
||||
|
||||
public float Difficulty => 1.75f;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user