From c77eb8691dc08d384a88ddaf3b734f7777d741b5 Mon Sep 17 00:00:00 2001 From: LordCarve <27449516+LordCarve@users.noreply.github.com> Date: Mon, 22 Jan 2024 02:59:14 +0100 Subject: [PATCH] DamageSpecifier Total => GetTotal (#24160) * DamageSpecifier [Obsolete] Total => GetTotal() * Remove obsolete Total member from DamageSpecifier. --- .../Tests/Construction/Interaction/WindowRepair.cs | 6 +++--- .../Tests/VendingMachineRestockTest.cs | 2 +- Content.Server/Bed/Sleep/SleepingSystem.cs | 4 ++-- Content.Server/Body/Systems/BloodstreamSystem.cs | 2 +- Content.Server/Damage/ForceSay/DamageForceSaySystem.cs | 4 ++-- Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs | 2 +- Content.Server/Damage/Systems/DamagePopupSystem.cs | 2 +- Content.Server/KillTracking/KillTrackingSystem.cs | 6 +++--- Content.Server/Light/EntitySystems/PoweredLightSystem.cs | 2 +- Content.Server/Medical/HealingSystem.cs | 2 +- Content.Server/NPC/Systems/NPCUtilitySystem.cs | 2 +- Content.Server/Projectiles/ProjectileSystem.cs | 2 +- Content.Server/Revenant/EntitySystems/RevenantSystem.cs | 2 +- Content.Server/UserInterface/StatValuesCommand.cs | 4 ++-- Content.Server/VendingMachines/VendingMachineSystem.cs | 2 +- Content.Server/Weapons/Ranged/Systems/GunSystem.cs | 6 +++--- Content.Shared/Damage/DamageSpecifier.cs | 4 ---- Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs | 8 ++++---- Content.Tests/Shared/DamageTest.cs | 6 +++--- 19 files changed, 32 insertions(+), 36 deletions(-) diff --git a/Content.IntegrationTests/Tests/Construction/Interaction/WindowRepair.cs b/Content.IntegrationTests/Tests/Construction/Interaction/WindowRepair.cs index 0bcc935fde..abd4bc265b 100644 --- a/Content.IntegrationTests/Tests/Construction/Interaction/WindowRepair.cs +++ b/Content.IntegrationTests/Tests/Construction/Interaction/WindowRepair.cs @@ -18,14 +18,14 @@ public sealed class WindowRepair : InteractionTest var comp = Comp(); var damageType = Server.ResolveDependency().Index("Blunt"); var damage = new DamageSpecifier(damageType, FixedPoint2.New(10)); - Assert.That(comp.Damage.Total, Is.EqualTo(FixedPoint2.Zero)); + Assert.That(comp.Damage.GetTotal(), Is.EqualTo(FixedPoint2.Zero)); await Server.WaitPost(() => sys.TryChangeDamage(SEntMan.GetEntity(Target), damage, ignoreResistances: true)); await RunTicks(5); - Assert.That(comp.Damage.Total, Is.GreaterThan(FixedPoint2.Zero)); + Assert.That(comp.Damage.GetTotal(), Is.GreaterThan(FixedPoint2.Zero)); // Repair the entity await Interact(Weld); - Assert.That(comp.Damage.Total, Is.EqualTo(FixedPoint2.Zero)); + Assert.That(comp.Damage.GetTotal(), Is.EqualTo(FixedPoint2.Zero)); // Validate that we can still deconstruct the entity (i.e., that welding deconstruction is not blocked). await Interact( diff --git a/Content.IntegrationTests/Tests/VendingMachineRestockTest.cs b/Content.IntegrationTests/Tests/VendingMachineRestockTest.cs index 49fee97631..99481db70e 100644 --- a/Content.IntegrationTests/Tests/VendingMachineRestockTest.cs +++ b/Content.IntegrationTests/Tests/VendingMachineRestockTest.cs @@ -298,7 +298,7 @@ namespace Content.IntegrationTests.Tests Assert.That(damageResult, Is.Not.Null, "Received null damageResult when attempting to damage restock box."); - Assert.That((int) damageResult!.Total, Is.GreaterThan(0), + Assert.That((int) damageResult!.GetTotal(), Is.GreaterThan(0), "Box damage result was not greater than 0."); #pragma warning restore NUnit2045 }); diff --git a/Content.Server/Bed/Sleep/SleepingSystem.cs b/Content.Server/Bed/Sleep/SleepingSystem.cs index 4a6874bccc..5d1def7cec 100644 --- a/Content.Server/Bed/Sleep/SleepingSystem.cs +++ b/Content.Server/Bed/Sleep/SleepingSystem.cs @@ -80,14 +80,14 @@ namespace Content.Server.Bed.Sleep } /// - /// Wake up if we take an instance of more than 2 damage. + /// Wake up on taking an instance of damage at least the value of WakeThreshold. /// private void OnDamageChanged(EntityUid uid, SleepingComponent component, DamageChangedEvent args) { if (!args.DamageIncreased || args.DamageDelta == null) return; - if (args.DamageDelta.Total >= component.WakeThreshold) + if (args.DamageDelta.GetTotal() >= component.WakeThreshold) TryWaking(uid, component); } diff --git a/Content.Server/Body/Systems/BloodstreamSystem.cs b/Content.Server/Body/Systems/BloodstreamSystem.cs index 21dc2f4526..f6fdcfedff 100644 --- a/Content.Server/Body/Systems/BloodstreamSystem.cs +++ b/Content.Server/Body/Systems/BloodstreamSystem.cs @@ -187,7 +187,7 @@ public sealed class BloodstreamSystem : EntitySystem // Does the calculation of how much bleed rate should be added/removed, then applies it var oldBleedAmount = component.BleedAmount; - var total = bloodloss.Total; + var total = bloodloss.GetTotal(); var totalFloat = total.Float(); TryModifyBleedAmount(uid, totalFloat, component); diff --git a/Content.Server/Damage/ForceSay/DamageForceSaySystem.cs b/Content.Server/Damage/ForceSay/DamageForceSaySystem.cs index 5bc30cce5d..186fc91c46 100644 --- a/Content.Server/Damage/ForceSay/DamageForceSaySystem.cs +++ b/Content.Server/Damage/ForceSay/DamageForceSaySystem.cs @@ -1,4 +1,4 @@ -using Content.Shared.Damage; +using Content.Shared.Damage; using Content.Shared.Damage.ForceSay; using Content.Shared.FixedPoint; using Content.Shared.Mobs; @@ -90,7 +90,7 @@ public sealed class DamageForceSaySystem : EntitySystem private void OnDamageChanged(EntityUid uid, DamageForceSayComponent component, DamageChangedEvent args) { - if (args.DamageDelta == null || !args.DamageIncreased || args.DamageDelta.Total < component.DamageThreshold) + if (args.DamageDelta == null || !args.DamageIncreased || args.DamageDelta.GetTotal() < component.DamageThreshold) return; if (component.ValidDamageGroups != null) diff --git a/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs b/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs index c7600ec221..0efa534981 100644 --- a/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs +++ b/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs @@ -36,7 +36,7 @@ namespace Content.Server.Damage.Systems // Log damage only for mobs. Useful for when people throw spears at each other, but also avoids log-spam when explosions send glass shards flying. if (dmg != null && HasComp(args.Target)) - _adminLogger.Add(LogType.ThrowHit, $"{ToPrettyString(args.Target):target} received {dmg.Total:damage} damage from collision"); + _adminLogger.Add(LogType.ThrowHit, $"{ToPrettyString(args.Target):target} received {dmg.GetTotal():damage} damage from collision"); if (dmg is { Empty: false }) { diff --git a/Content.Server/Damage/Systems/DamagePopupSystem.cs b/Content.Server/Damage/Systems/DamagePopupSystem.cs index 4cd8bf4626..12fd894ac6 100644 --- a/Content.Server/Damage/Systems/DamagePopupSystem.cs +++ b/Content.Server/Damage/Systems/DamagePopupSystem.cs @@ -20,7 +20,7 @@ public sealed class DamagePopupSystem : EntitySystem if (args.DamageDelta != null) { var damageTotal = args.Damageable.TotalDamage; - var damageDelta = args.DamageDelta.Total; + var damageDelta = args.DamageDelta.GetTotal(); var msg = component.Type switch { diff --git a/Content.Server/KillTracking/KillTrackingSystem.cs b/Content.Server/KillTracking/KillTrackingSystem.cs index afb4283e82..63627fd1b9 100644 --- a/Content.Server/KillTracking/KillTrackingSystem.cs +++ b/Content.Server/KillTracking/KillTrackingSystem.cs @@ -1,4 +1,4 @@ -using Content.Server.NPC.HTN; +using Content.Server.NPC.HTN; using Content.Shared.Damage; using Content.Shared.FixedPoint; using Content.Shared.Mobs; @@ -27,7 +27,7 @@ public sealed class KillTrackingSystem : EntitySystem { foreach (var key in component.LifetimeDamage.Keys) { - component.LifetimeDamage[key] -= args.DamageDelta.Total; + component.LifetimeDamage[key] -= args.DamageDelta.GetTotal(); } return; @@ -35,7 +35,7 @@ public sealed class KillTrackingSystem : EntitySystem var source = GetKillSource(args.Origin); var damage = component.LifetimeDamage.GetValueOrDefault(source); - component.LifetimeDamage[source] = damage + args.DamageDelta.Total; + component.LifetimeDamage[source] = damage + args.DamageDelta.GetTotal(); } private void OnMobStateChanged(EntityUid uid, KillTrackerComponent component, MobStateChangedEvent args) diff --git a/Content.Server/Light/EntitySystems/PoweredLightSystem.cs b/Content.Server/Light/EntitySystems/PoweredLightSystem.cs index 46b8506b3d..e6cde4495c 100644 --- a/Content.Server/Light/EntitySystems/PoweredLightSystem.cs +++ b/Content.Server/Light/EntitySystems/PoweredLightSystem.cs @@ -135,7 +135,7 @@ namespace Content.Server.Light.EntitySystems var burnMsg = Loc.GetString("powered-light-component-burn-hand"); _popupSystem.PopupEntity(burnMsg, uid, userUid); - _adminLogger.Add(LogType.Damaged, $"{ToPrettyString(args.User):user} burned their hand on {ToPrettyString(args.Target):target} and received {damage.Total:damage} damage"); + _adminLogger.Add(LogType.Damaged, $"{ToPrettyString(args.User):user} burned their hand on {ToPrettyString(args.Target):target} and received {damage.GetTotal():damage} damage"); _audio.PlayEntity(light.BurnHandSound, Filter.Pvs(uid), uid, true); args.Handled = true; diff --git a/Content.Server/Medical/HealingSystem.cs b/Content.Server/Medical/HealingSystem.cs index 69d3b04cc1..1b90d195c4 100644 --- a/Content.Server/Medical/HealingSystem.cs +++ b/Content.Server/Medical/HealingSystem.cs @@ -84,7 +84,7 @@ public sealed class HealingSystem : EntitySystem if (healed == null && healing.BloodlossModifier != 0) return; - var total = healed?.Total ?? FixedPoint2.Zero; + var total = healed?.GetTotal() ?? FixedPoint2.Zero; // Re-verify that we can heal the damage. diff --git a/Content.Server/NPC/Systems/NPCUtilitySystem.cs b/Content.Server/NPC/Systems/NPCUtilitySystem.cs index 76d0ebe83a..fc483f68c3 100644 --- a/Content.Server/NPC/Systems/NPCUtilitySystem.cs +++ b/Content.Server/NPC/Systems/NPCUtilitySystem.cs @@ -331,7 +331,7 @@ public sealed class NPCUtilitySystem : EntitySystem { if (TryComp(targetUid, out var melee)) { - return melee.Damage.Total.Float() * melee.AttackRate / 100f; + return melee.Damage.GetTotal().Float() * melee.AttackRate / 100f; } return 0f; diff --git a/Content.Server/Projectiles/ProjectileSystem.cs b/Content.Server/Projectiles/ProjectileSystem.cs index 85feaf2b83..15ea5936e1 100644 --- a/Content.Server/Projectiles/ProjectileSystem.cs +++ b/Content.Server/Projectiles/ProjectileSystem.cs @@ -58,7 +58,7 @@ public sealed class ProjectileSystem : SharedProjectileSystem _adminLogger.Add(LogType.BulletHit, HasComp(target) ? LogImpact.Extreme : LogImpact.High, - $"Projectile {ToPrettyString(uid):projectile} shot by {ToPrettyString(component.Shooter!.Value):user} hit {otherName:target} and dealt {modifiedDamage.Total:damage} damage"); + $"Projectile {ToPrettyString(uid):projectile} shot by {ToPrettyString(component.Shooter!.Value):user} hit {otherName:target} and dealt {modifiedDamage.GetTotal():damage} damage"); } if (!deleted) diff --git a/Content.Server/Revenant/EntitySystems/RevenantSystem.cs b/Content.Server/Revenant/EntitySystems/RevenantSystem.cs index d5e1ae1af8..b26cc4a320 100644 --- a/Content.Server/Revenant/EntitySystems/RevenantSystem.cs +++ b/Content.Server/Revenant/EntitySystems/RevenantSystem.cs @@ -120,7 +120,7 @@ public sealed partial class RevenantSystem : EntitySystem if (!HasComp(uid) || args.DamageDelta == null) return; - var essenceDamage = args.DamageDelta.Total.Float() * component.DamageToEssenceCoefficient * -1; + var essenceDamage = args.DamageDelta.GetTotal().Float() * component.DamageToEssenceCoefficient * -1; ChangeEssenceAmount(uid, essenceDamage, component); } diff --git a/Content.Server/UserInterface/StatValuesCommand.cs b/Content.Server/UserInterface/StatValuesCommand.cs index 9ec38753d4..f0c4f531d0 100644 --- a/Content.Server/UserInterface/StatValuesCommand.cs +++ b/Content.Server/UserInterface/StatValuesCommand.cs @@ -190,9 +190,9 @@ public sealed class StatValuesCommand : IConsoleCommand values.Add(new[] { proto.ID, - (comp.Damage.Total * comp.AttackRate).ToString(), + (comp.Damage.GetTotal() * comp.AttackRate).ToString(), comp.AttackRate.ToString(CultureInfo.CurrentCulture), - comp.Damage.Total.ToString(), + comp.Damage.GetTotal().ToString(), comp.Range.ToString(CultureInfo.CurrentCulture), }); } diff --git a/Content.Server/VendingMachines/VendingMachineSystem.cs b/Content.Server/VendingMachines/VendingMachineSystem.cs index da024888a5..f2c7e6dd19 100644 --- a/Content.Server/VendingMachines/VendingMachineSystem.cs +++ b/Content.Server/VendingMachines/VendingMachineSystem.cs @@ -167,7 +167,7 @@ namespace Content.Server.VendingMachines component.DispenseOnHitChance == null || args.DamageDelta == null) return; - if (args.DamageIncreased && args.DamageDelta.Total >= component.DispenseOnHitThreshold && + if (args.DamageIncreased && args.DamageDelta.GetTotal() >= component.DispenseOnHitThreshold && _random.Prob(component.DispenseOnHitChance.Value)) { if (component.DispenseOnHitCooldown > 0f) diff --git a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs index 4f236c0fa7..4e4bdf78b1 100644 --- a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs @@ -274,12 +274,12 @@ public sealed partial class GunSystem : SharedGunSystem if (user != null) { Logs.Add(LogType.HitScanHit, - $"{ToPrettyString(user.Value):user} hit {hitName:target} using hitscan and dealt {dmg.Total:damage} damage"); + $"{ToPrettyString(user.Value):user} hit {hitName:target} using hitscan and dealt {dmg.GetTotal():damage} damage"); } else { Logs.Add(LogType.HitScanHit, - $"{hitName:target} hit by hitscan dealing {dmg.Total:damage} damage"); + $"{hitName:target} hit by hitscan dealing {dmg.GetTotal():damage} damage"); } } } @@ -371,7 +371,7 @@ public sealed partial class GunSystem : SharedGunSystem // 3. Nothing var playedSound = false; - if (!forceWeaponSound && modifiedDamage != null && modifiedDamage.Total > 0 && TryComp(otherEntity, out var rangedSound)) + if (!forceWeaponSound && modifiedDamage != null && modifiedDamage.GetTotal() > 0 && TryComp(otherEntity, out var rangedSound)) { var type = SharedMeleeWeaponSystem.GetHighestDamageSound(modifiedDamage, ProtoManager); diff --git a/Content.Shared/Damage/DamageSpecifier.cs b/Content.Shared/Damage/DamageSpecifier.cs index 872bad0551..8ab9116a97 100644 --- a/Content.Shared/Damage/DamageSpecifier.cs +++ b/Content.Shared/Damage/DamageSpecifier.cs @@ -38,10 +38,6 @@ namespace Content.Shared.Damage [IncludeDataField(customTypeSerializer: typeof(DamageSpecifierDictionarySerializer), readOnly: true)] public Dictionary DamageDict { get; set; } = new(); - [JsonIgnore] - [Obsolete("Use GetTotal()")] - public FixedPoint2 Total => GetTotal(); - /// /// Returns a sum of the damage values. /// diff --git a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs index 11228bba9e..f7ac249f5f 100644 --- a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs +++ b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs @@ -516,12 +516,12 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem if (meleeUid == user) { AdminLogger.Add(LogType.MeleeHit, LogImpact.Medium, - $"{ToPrettyString(user):actor} melee attacked (light) {ToPrettyString(target.Value):subject} using their hands and dealt {damageResult.Total:damage} damage"); + $"{ToPrettyString(user):actor} melee attacked (light) {ToPrettyString(target.Value):subject} using their hands and dealt {damageResult.GetTotal():damage} damage"); } else { AdminLogger.Add(LogType.MeleeHit, LogImpact.Medium, - $"{ToPrettyString(user):actor} melee attacked (light) {ToPrettyString(target.Value):subject} using {ToPrettyString(meleeUid):tool} and dealt {damageResult.Total:damage} damage"); + $"{ToPrettyString(user):actor} melee attacked (light) {ToPrettyString(target.Value):subject} using {ToPrettyString(meleeUid):tool} and dealt {damageResult.GetTotal():damage} damage"); } PlayHitSound(target.Value, user, GetHighestDamageSound(modifiedDamage, _protoManager), hitEvent.HitSoundOverride, component.HitSound); @@ -542,7 +542,7 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem } } - if (damageResult?.Total > FixedPoint2.Zero) + if (damageResult?.GetTotal() > FixedPoint2.Zero) { DoDamageEffect(targets, user, targetXform); } @@ -670,7 +670,7 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem else { AdminLogger.Add(LogType.MeleeHit, LogImpact.Medium, - $"{ToPrettyString(user):actor} melee attacked (heavy) {ToPrettyString(entity):subject} using {ToPrettyString(meleeUid):tool} and dealt {damageResult.Total:damage} damage"); + $"{ToPrettyString(user):actor} melee attacked (heavy) {ToPrettyString(entity):subject} using {ToPrettyString(meleeUid):tool} and dealt {damageResult.GetTotal():damage} damage"); } } } diff --git a/Content.Tests/Shared/DamageTest.cs b/Content.Tests/Shared/DamageTest.cs index 66f85cf1cc..b06b8368a9 100644 --- a/Content.Tests/Shared/DamageTest.cs +++ b/Content.Tests/Shared/DamageTest.cs @@ -61,7 +61,7 @@ namespace Content.Tests.Shared // Check that it properly split up the groups into types FixedPoint2 damage; - Assert.That(damageSpec.Total, Is.EqualTo(FixedPoint2.New(8))); + Assert.That(damageSpec.GetTotal(), Is.EqualTo(FixedPoint2.New(8))); Assert.That(damageSpec.DamageDict.TryGetValue("Blunt", out damage)); Assert.That(damage, Is.EqualTo(FixedPoint2.New(2))); Assert.That(damageSpec.DamageDict.TryGetValue("Piercing", out damage)); @@ -73,7 +73,7 @@ namespace Content.Tests.Shared // check that integer multiplication works damageSpec = damageSpec * 2; - Assert.That(damageSpec.Total, Is.EqualTo(FixedPoint2.New(16))); + Assert.That(damageSpec.GetTotal(), Is.EqualTo(FixedPoint2.New(16))); Assert.That(damageSpec.DamageDict.TryGetValue("Blunt", out damage)); Assert.That(damage, Is.EqualTo(FixedPoint2.New(4))); Assert.That(damageSpec.DamageDict.TryGetValue("Piercing", out damage)); @@ -93,7 +93,7 @@ namespace Content.Tests.Shared Assert.That(damage, Is.EqualTo(FixedPoint2.New(4.4))); Assert.That(damageSpec.DamageDict.TryGetValue("Radiation", out damage)); Assert.That(damage, Is.EqualTo(FixedPoint2.New(13.2))); - Assert.That(damageSpec.Total, Is.EqualTo(FixedPoint2.New(8.8 + 8.8 + 4.4 + 13.2))); + Assert.That(damageSpec.GetTotal(), Is.EqualTo(FixedPoint2.New(8.8 + 8.8 + 4.4 + 13.2))); // check that integer division works damageSpec = damageSpec / 2;