Fix more errors, client and server now build

This commit is contained in:
DrSmugleaf
2021-12-06 14:00:39 +01:00
parent 525297c5fe
commit af4eb3c7cd
32 changed files with 94 additions and 97 deletions

View File

@@ -56,17 +56,17 @@ namespace Content.Server.Chat.Commands
return;
}
if (mindComponent.OwnedEntity == default)
if (mindComponent.OwnedEntity is not {Valid: true} owned)
{
shell.WriteError("You don't have an entity!");
return;
}
var emote = chatSanitizer.TrySanitizeOutSmilies(message, mindComponent.OwnedEntity.Value, out var sanitized, out var emoteStr);
var emote = chatSanitizer.TrySanitizeOutSmilies(message, owned, out var sanitized, out var emoteStr);
if (sanitized.Length != 0)
chat.EntitySay(mindComponent.OwnedEntity.Value, sanitized);
chat.EntitySay(owned, sanitized);
if (emote)
chat.EntityMe(mindComponent.OwnedEntity.Value, emoteStr!);
chat.EntityMe(owned, emoteStr!);
}
}

View File

@@ -1,3 +1,4 @@
using System.Diagnostics.CodeAnalysis;
using Content.Server.Chemistry.Components.SolutionManager;
using Content.Server.Chemistry.EntitySystems;
using Content.Server.Interaction.Components;
@@ -42,7 +43,7 @@ namespace Content.Server.Chemistry.Components
public bool TryDoInject(EntityUid? target, EntityUid user)
{
if (target == default || !EligibleEntity(target.Value))
if (!EligibleEntity(target))
return false;
string? msgFormat = null;
@@ -110,7 +111,7 @@ namespace Content.Server.Chemistry.Components
EntitySystem.Get<SolutionContainerSystem>().TryAddSolution(target.Value, targetSolution, removedSolution);
static bool EligibleEntity(EntityUid entity)
static bool EligibleEntity([NotNullWhen(true)] EntityUid? entity)
{
// TODO: Does checking for BodyComponent make sense as a "can be hypospray'd" tag?
// In SS13 the hypospray ONLY works on mobs, NOT beakers or anything else.

View File

@@ -41,7 +41,8 @@ namespace Content.Server.GameTicking.Presets
{
var playerEntity = mind.OwnedEntity;
if (playerEntity != default && IoCManager.Resolve<IEntityManager>().HasComponent<GhostComponent>(playerEntity.Value))
var entities = IoCManager.Resolve<IEntityManager>();
if (entities.HasComponent<GhostComponent>(playerEntity))
return false;
if (mind.VisitingEntity != default)
@@ -62,7 +63,7 @@ namespace Content.Server.GameTicking.Presets
// (If the mob survives, that's a bug. Ghosting is kept regardless.)
var canReturn = canReturnGlobal && mind.CharacterDeadPhysically;
if (playerEntity != default && canReturnGlobal && IoCManager.Resolve<IEntityManager>().TryGetComponent(playerEntity.Value, out MobStateComponent? mobState))
if (canReturnGlobal && entities.TryGetComponent(playerEntity, out MobStateComponent? mobState))
{
if (mobState.IsCritical())
{
@@ -71,7 +72,7 @@ namespace Content.Server.GameTicking.Presets
//todo: what if they dont breathe lol
//cry deeply
DamageSpecifier damage = new(IoCManager.Resolve<IPrototypeManager>().Index<DamageTypePrototype>("Asphyxiation"), 200);
EntitySystem.Get<DamageableSystem>().TryChangeDamage(playerEntity.Value, damage, true);
EntitySystem.Get<DamageableSystem>().TryChangeDamage(playerEntity, damage, true);
}
}
@@ -82,9 +83,9 @@ namespace Content.Server.GameTicking.Presets
// If all else fails, it'll default to the default entity prototype name, "observer".
// However, that should rarely happen.
if(!string.IsNullOrWhiteSpace(mind.CharacterName))
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(ghost).EntityName = mind.CharacterName;
entities.GetComponent<MetaDataComponent>(ghost).EntityName = mind.CharacterName;
else if (!string.IsNullOrWhiteSpace(mind.Session?.Name))
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(ghost).EntityName = mind.Session.Name;
entities.GetComponent<MetaDataComponent>(ghost).EntityName = mind.Session.Name;
var ghostComponent = IoCManager.Resolve<IEntityManager>().GetComponent<GhostComponent>(ghost);

View File

@@ -121,7 +121,7 @@ namespace Content.Server.GameTicking.Presets
}
// Finally, it would be preferrable if they spawned as far away from other players as reasonably possible.
if (mind.OwnedEntity != default && FindAnyIsolatedSpawnLocation(mind, out var bestTarget))
if (mind.OwnedEntity != null && FindAnyIsolatedSpawnLocation(mind, out var bestTarget))
{
_entityManager.GetComponent<TransformComponent>(mind.OwnedEntity.Value).Coordinates = bestTarget;
}

View File

@@ -153,9 +153,7 @@ namespace Content.Server.Mind
// (If being a borg or AI counts as dead, then this is highly likely, as it's still the same Mind for practical purposes.)
// This can be null if they're deleted (spike / brain nom)
if (OwnedEntity == default)
return true;
var targetMobState = IoCManager.Resolve<IEntityManager>().GetComponentOrNull<MobStateComponent>(OwnedEntity.Value);
var targetMobState = IoCManager.Resolve<IEntityManager>().GetComponentOrNull<MobStateComponent>(OwnedEntity);
// This can be null if it's a brain (this happens very often)
// Brains are the result of gibbing so should definitely count as dead
if (targetMobState == null)
@@ -184,7 +182,7 @@ namespace Content.Server.Mind
role.Greet();
var message = new RoleAddedEvent(role);
if (OwnedEntity != default)
if (OwnedEntity != null)
{
IoCManager.Resolve<IEntityManager>().EventBus.RaiseLocalEvent(OwnedEntity.Value, message);
}
@@ -210,7 +208,7 @@ namespace Content.Server.Mind
var message = new RoleRemovedEvent(role);
if (OwnedEntity != default)
if (OwnedEntity != null)
{
IoCManager.Resolve<IEntityManager>().EventBus.RaiseLocalEvent(OwnedEntity.Value, message);
}

View File

@@ -113,7 +113,7 @@ namespace Content.Server.Nutrition.EntitySystems
private void AfterInteract(EntityUid uid, DrinkComponent component, AfterInteractEvent args)
{
if (args.Handled || args.Target == default)
if (args.Handled || args.Target == null)
return;
if (!_actionBlockerSystem.CanInteract(args.User) || !_actionBlockerSystem.CanUse(args.User))

View File

@@ -81,7 +81,7 @@ namespace Content.Server.Nutrition.EntitySystems
/// </summary>
private void OnFeedFood(EntityUid uid, FoodComponent foodComponent, AfterInteractEvent args)
{
if (args.Handled || args.Target == default)
if (args.Handled || args.Target == null)
return;
if (!_actionBlockerSystem.CanInteract(args.User) || !_actionBlockerSystem.CanUse(args.User))

View File

@@ -32,7 +32,7 @@ namespace Content.Server.Nutrition.EntitySystems
/// </summary>
private void OnAfterInteract(EntityUid uid, UtensilComponent component, AfterInteractEvent ev)
{
if (ev.Target == default)
if (ev.Target == null)
return;
if (TryUseUtensil(ev.User, ev.Target.Value, component))

View File

@@ -24,7 +24,9 @@ namespace Content.Server.Objectives.Conditions
if (entity == default)
return false;
return (IoCManager.Resolve<IEntityManager>().GetComponentOrNull<MobStateComponent>(entity.Value)?.IsAlive() ?? false) && mc.Mind != mind;
return entityMgr.TryGetComponent(entity, out MobStateComponent mobState) &&
mobState.IsAlive() &&
mc.Mind != mind;
}).Select(mc => mc.Mind).ToList();
return new KillRandomPersonCondition {Target = IoCManager.Resolve<IRobustRandom>().Pick(allHumans)};
}

View File

@@ -32,7 +32,7 @@ namespace Content.Server.Verbs.Commands
EntityUid playerEntity = default;
if (!int.TryParse(args[0], out var intPlayerUid))
{
if (args[0] == "self" && shell.Player?.AttachedEntity != default)
if (args[0] == "self" && shell.Player?.AttachedEntity != null)
{
playerEntity = shell.Player.AttachedEntity;
}

View File

@@ -140,9 +140,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
{
for (var i = 0; i < Math.Max(10, rangedMagazine.ShotsLeft); i++)
{
var ammo = rangedMagazine.TakeAmmo();
if (!ammo.Valid)
if (rangedMagazine.TakeAmmo() is not {Valid: true} ammo)
{
continue;
}

View File

@@ -22,6 +22,8 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
public class RangedMagazineComponent : Component, IMapInit, IInteractUsing, IUse, IExamine
#pragma warning restore 618
{
[Dependency] private readonly IEntityManager _entities = default!;
public override string Name => "RangedMagazine";
private readonly Stack<EntityUid> _spawnedAmmo = new();
@@ -77,7 +79,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
}
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AppearanceComponent? appearanceComponent))
if (_entities.TryGetComponent(Owner, out AppearanceComponent? appearanceComponent))
{
_appearanceComponent = appearanceComponent;
}
@@ -93,7 +95,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
public bool TryInsertAmmo(EntityUid user, EntityUid ammo)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(ammo, out AmmoComponent? ammoComponent))
if (!_entities.TryGetComponent(ammo, out AmmoComponent? ammoComponent))
{
return false;
}
@@ -116,7 +118,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
return true;
}
public EntityUid TakeAmmo()
public EntityUid? TakeAmmo()
{
EntityUid ammo = default;
// If anything's spawned use that first, otherwise use the fill prototype as a fallback (if we have spawn count left)
@@ -128,7 +130,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
else if (_unspawnedCount > 0)
{
_unspawnedCount--;
ammo = IoCManager.Resolve<IEntityManager>().SpawnEntity(_fillPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
ammo = _entities.SpawnEntity(_fillPrototype, _entities.GetComponent<TransformComponent>(Owner).Coordinates);
}
UpdateAppearance();
@@ -142,21 +144,20 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
bool IUse.UseEntity(UseEntityEventArgs eventArgs)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.User, out HandsComponent? handsComponent))
if (!_entities.TryGetComponent(eventArgs.User, out HandsComponent? handsComponent))
{
return false;
}
var ammo = TakeAmmo();
if (ammo == null)
if (TakeAmmo() is not {Valid: true} ammo)
{
return false;
}
var itemComponent = IoCManager.Resolve<IEntityManager>().GetComponent<ItemComponent>(ammo);
var itemComponent = _entities.GetComponent<ItemComponent>(ammo);
if (!handsComponent.CanPutInHand(itemComponent))
{
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(ammo).Coordinates = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(eventArgs.User).Coordinates;
_entities.GetComponent<TransformComponent>(ammo).Coordinates = _entities.GetComponent<TransformComponent>(eventArgs.User).Coordinates;
ServerRangedBarrelComponent.EjectCasing(ammo);
}
else

View File

@@ -58,7 +58,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (MagazineContainer.ContainedEntity is {Valid: true} magazine)
{
count += IoCManager.Resolve<IEntityManager>().GetComponent<RangedMagazineComponent>(magazine).ShotsLeft;
count += _entities.GetComponent<RangedMagazineComponent>(magazine).ShotsLeft;
}
return count;
@@ -73,7 +73,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
var count = 1;
if (MagazineContainer.ContainedEntity is {Valid: true} magazine)
{
count += IoCManager.Resolve<IEntityManager>().GetComponent<RangedMagazineComponent>(magazine).Capacity;
count += _entities.GetComponent<RangedMagazineComponent>(magazine).Capacity;
}
return count;
@@ -153,7 +153,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
{
(int, int)? count = null;
if (MagazineContainer.ContainedEntity is {Valid: true} magazine &&
IoCManager.Resolve<IEntityManager>().TryGetComponent(magazine, out RangedMagazineComponent? rangedMagazineComponent))
_entities.TryGetComponent(magazine, out RangedMagazineComponent? rangedMagazineComponent))
{
count = (rangedMagazineComponent.ShotsLeft, rangedMagazineComponent.Capacity);
}
@@ -179,7 +179,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (!existing && _magFillPrototype != null)
{
var magEntity = IoCManager.Resolve<IEntityManager>().SpawnEntity(_magFillPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
var magEntity = _entities.SpawnEntity(_magFillPrototype, _entities.GetComponent<TransformComponent>(Owner).Coordinates);
MagazineContainer.Insert(magEntity);
}
Dirty();
@@ -205,7 +205,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
var entity = _chamberContainer.ContainedEntity ?? default;
Cycle();
return entity != default ? IoCManager.Resolve<IEntityManager>().GetComponent<AmmoComponent>(entity).TakeBullet(spawnAt) : null;
return entity != default ? _entities.GetComponent<AmmoComponent>(entity).TakeBullet(spawnAt) : null;
}
private void Cycle(bool manual = false)
@@ -272,17 +272,16 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
public bool TryEjectChamber()
{
var chamberEntity = _chamberContainer.ContainedEntity;
if (chamberEntity != null)
if (_chamberContainer.ContainedEntity is {Valid: true} chamberEntity)
{
if (!_chamberContainer.Remove(chamberEntity.Value))
if (!_chamberContainer.Remove(chamberEntity))
{
return false;
}
var ammoComponent = IoCManager.Resolve<IEntityManager>().GetComponent<AmmoComponent>(chamberEntity.Value);
var ammoComponent = _entities.GetComponent<AmmoComponent>(chamberEntity);
if (!ammoComponent.Caseless)
{
EjectCasing(chamberEntity.Value);
EjectCasing(chamberEntity);
}
return true;
}
@@ -298,16 +297,15 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
// Try and pull a round from the magazine to replace the chamber if possible
var magazine = MagazineContainer.ContainedEntity ?? default;
var nextRound = magazine != default ? IoCManager.Resolve<IEntityManager>().GetComponent<RangedMagazineComponent>(magazine).TakeAmmo() : default;
if (nextRound == default)
if (_entities.GetComponentOrNull<RangedMagazineComponent>(magazine)?.TakeAmmo() is not {Valid: true} nextRound)
{
return false;
}
_chamberContainer.Insert(nextRound);
if (_autoEjectMag && magazine != null && IoCManager.Resolve<IEntityManager>().GetComponent<RangedMagazineComponent>(magazine).ShotsLeft == 0)
if (_autoEjectMag && magazine != null && _entities.GetComponent<RangedMagazineComponent>(magazine).ShotsLeft == 0)
{
SoundSystem.Play(Filter.Pvs(Owner), _soundAutoEject.GetSound(), Owner, AudioParams.Default.WithVolume(-2));
@@ -337,9 +335,9 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
MagazineContainer.Remove(mag.Value);
SoundSystem.Play(Filter.Pvs(Owner), _soundMagEject.GetSound(), Owner, AudioParams.Default.WithVolume(-2));
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(user, out HandsComponent? handsComponent))
if (_entities.TryGetComponent(user, out HandsComponent? handsComponent))
{
handsComponent.PutInHandOrDrop(IoCManager.Resolve<IEntityManager>().GetComponent<ItemComponent>(mag.Value));
handsComponent.PutInHandOrDrop(_entities.GetComponent<ItemComponent>(mag.Value));
}
Dirty();
@@ -348,7 +346,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
public bool CanInsertMagazine(EntityUid user, EntityUid magazine, bool quiet = true)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(magazine, out RangedMagazineComponent? magazineComponent))
if (!_entities.TryGetComponent(magazine, out RangedMagazineComponent? magazineComponent))
{
return false;
}
@@ -402,7 +400,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
}
// Insert 1 ammo
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.Using, out AmmoComponent? ammoComponent))
if (_entities.TryGetComponent(eventArgs.Using, out AmmoComponent? ammoComponent))
{
if (!BoltOpen)
{

View File

@@ -223,8 +223,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
FireHitscan(shooter, hitscan, angle);
}
else if (_entities.HasComponent<ProjectileComponent>(projectile) &&
ammo != default &&
_entities.TryGetComponent(ammo.Value, out AmmoComponent? ammoComponent))
_entities.TryGetComponent(ammo, out AmmoComponent? ammoComponent))
{
FireProjectiles(shooter, projectile, ammoComponent.ProjectilesFired, ammoComponent.EvenSpreadAngle, angle, ammoComponent.Velocity, ammo.Value);