From 3f7bb1f5c6fd4cb8def108f25fdde3a7913babc9 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 8 Jul 2025 11:46:35 +0300 Subject: [PATCH] ADAPTATION --- .../EntitySystems/PuddleSystem.Evaporation.cs | 3 +- .../Medical/HealthAnalyzerSystem.cs | 1 + .../Systems/ShuttleSystem.FasterThanLight.cs | 17 ----- .../_CP14/Demiplane/CP14DemiplaneSystem.cs | 2 +- .../Rules/CP14VampireRuleSystem.cs | 2 +- .../_CP14/Temperature/CP14FireSpreadSystem.cs | 9 +-- .../CP14SharedFarmingSystem.Interactions.cs | 8 +-- .../CP14SharedMagicSystem.Checks.cs | 11 +--- .../CP14SharedMagicWeaknessSystem.cs | 23 +++---- .../Components/CP14MeleeParriableComponent.cs | 25 -------- .../Components/CP14MeleeParryComponent.cs | 14 ----- .../EntitySystems/CP14MeleeParrySystem.cs | 63 ------------------- .../TileEditTool/CP14EditTileToolSystem.cs | 8 +-- .../Actions/Spells/Water/ice_dagger.yml | 1 - .../Entities/Objects/ModularTools/grips.yml | 1 - .../Entities/Objects/Weapons/Melee/base.yml | 1 - .../Entities/Objects/Weapons/Melee/shield.yml | 1 - 17 files changed, 28 insertions(+), 162 deletions(-) delete mode 100644 Content.Shared/_CP14/MeleeWeapon/Components/CP14MeleeParriableComponent.cs delete mode 100644 Content.Shared/_CP14/MeleeWeapon/Components/CP14MeleeParryComponent.cs delete mode 100644 Content.Shared/_CP14/MeleeWeapon/EntitySystems/CP14MeleeParrySystem.cs diff --git a/Content.Server/Fluids/EntitySystems/PuddleSystem.Evaporation.cs b/Content.Server/Fluids/EntitySystems/PuddleSystem.Evaporation.cs index 7d4b749746..5ff3c61b9e 100644 --- a/Content.Server/Fluids/EntitySystems/PuddleSystem.Evaporation.cs +++ b/Content.Server/Fluids/EntitySystems/PuddleSystem.Evaporation.cs @@ -11,7 +11,6 @@ namespace Content.Server.Fluids.EntitySystems; public sealed partial class PuddleSystem { - [Dependency] private readonly SharedMapSystem _maps = default!; //CP14 [Dependency] private readonly WeatherSystem _weather = default!; //CP14 private static readonly TimeSpan EvaporationCooldown = TimeSpan.FromSeconds(1); @@ -24,7 +23,7 @@ public sealed partial class PuddleSystem var xform = Transform(entity); if (TryComp(xform.GridUid, out var mapGrid)) { - var tileRef = _maps.GetTileRef(xform.GridUid.Value, mapGrid, xform.Coordinates); + var tileRef = _map.GetTileRef(xform.GridUid.Value, mapGrid, xform.Coordinates); entity.Comp.CP14ForceEvaporation = _weather.CanWeatherAffect(xform.GridUid.Value, mapGrid, tileRef); } //CP14 End force evaporation under sky diff --git a/Content.Server/Medical/HealthAnalyzerSystem.cs b/Content.Server/Medical/HealthAnalyzerSystem.cs index fd570d5fb2..11e4ed4fcf 100644 --- a/Content.Server/Medical/HealthAnalyzerSystem.cs +++ b/Content.Server/Medical/HealthAnalyzerSystem.cs @@ -13,6 +13,7 @@ using Content.Shared.Item.ItemToggle.Components; using Content.Shared.MedicalScanner; using Content.Shared.Mobs.Components; using Content.Shared.Popups; +using Content.Shared.Traits.Assorted; using Robust.Server.GameObjects; using Robust.Shared.Audio.Systems; using Robust.Shared.Containers; diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs index 9a5d9d67b2..145cdd66e9 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs @@ -137,23 +137,6 @@ public sealed partial class ShuttleSystem var parallax = EnsureComp(mapUid); parallax.Parallax = ftlMap.Parallax; - //CP14 FTL map tweaks - var mapLight = EnsureComp(mapUid); - mapLight.AmbientLightColor = ftlMap.AmbientColor; - - var moles = new float[Atmospherics.AdjustedNumberOfGases]; - moles[(int) Gas.Oxygen] = 21.824779f; - moles[(int) Gas.Nitrogen] = 82.10312f; - - var mixture = new GasMixture(moles, Atmospherics.T20C); - - _atmos.SetMapAtmosphere(mapUid, false, mixture); - - var gravity = EnsureComp(mapUid); - gravity.Enabled = true; - gravity.Inherent = true; - //CP14 FTL map tweaks ends - return mapUid; } diff --git a/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs b/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs index 6da24aa80b..9961924fd2 100644 --- a/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs +++ b/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs @@ -117,7 +117,7 @@ public sealed partial class CP14DemiplaneSystem : CP14SharedDemiplaneSystem if (entity is null) return; - _flash.Flash(entity.Value, null, null, 3000f, 0.5f); + _flash.Flash(entity.Value, null, null, TimeSpan.FromSeconds(3f), 0.5f); _transform.SetCoordinates(entity.Value, coordinates); _audio.PlayGlobal(sound, entity.Value); } diff --git a/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs b/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs index e5c1c79f9c..db3d6bbf22 100644 --- a/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs +++ b/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs @@ -83,7 +83,7 @@ public sealed class CP14VampireRuleSystem : GameRuleSystem ent, ref MapInitEvent args) { - _bloodstream.ChangeBloodReagent(ent, ent.Comp.NewBloodReagent); + _bloodstream.ChangeBloodReagent(ent.Owner, ent.Comp.NewBloodReagent); foreach (var (organUid, _) in _body.GetBodyOrgans(ent)) { diff --git a/Content.Server/_CP14/Temperature/CP14FireSpreadSystem.cs b/Content.Server/_CP14/Temperature/CP14FireSpreadSystem.cs index 9143aa8d0d..a0c86f0043 100644 --- a/Content.Server/_CP14/Temperature/CP14FireSpreadSystem.cs +++ b/Content.Server/_CP14/Temperature/CP14FireSpreadSystem.cs @@ -24,10 +24,11 @@ public sealed partial class CP14FireSpreadSystem : CP14SharedFireSpreadSystem [Dependency] private readonly EntityLookupSystem _lookup = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly SharedMapSystem _mapSystem = default!; + [Dependency] private readonly SharedMapSystem _map = default!; [Dependency] private readonly TileSystem _tile = default!; [Dependency] private readonly ITileDefinitionManager _tileDef = default!; [Dependency] private readonly SmokingSystem _smoking = default!; + [Dependency] private readonly TurfSystem _turf = default!; private readonly EntProtoId _fireProto = "CP14Fire"; @@ -160,7 +161,7 @@ public sealed partial class CP14FireSpreadSystem : CP14SharedFireSpreadSystem return; var localPos = xform.Coordinates.Position; - var tileRefs = _mapSystem.GetLocalTilesIntersecting(xform.ParentUid, + var tileRefs = _map.GetLocalTilesIntersecting(xform.ParentUid, grid, new Box2( localPos + new Vector2(-spread.Comp.Radius, -spread.Comp.Radius), @@ -172,12 +173,12 @@ public sealed partial class CP14FireSpreadSystem : CP14SharedFireSpreadSystem if (!_random.Prob(spread.Comp.ProbTile)) continue; - var tile = tileRef.Tile.GetContentTileDefinition(); + var tile = _turf.GetContentTileDefinition(tileRef); if (tile.BurnedTile is null) continue; - Spawn(_fireProto, _mapSystem.ToCenterCoordinates(tileRef, grid)); + Spawn(_fireProto, _map.ToCenterCoordinates(tileRef, grid)); _tile.ReplaceTile(tileRef, (ContentTileDefinition)_tileDef[tile.BurnedTile]); } } diff --git a/Content.Shared/_CP14/Farming/CP14SharedFarmingSystem.Interactions.cs b/Content.Shared/_CP14/Farming/CP14SharedFarmingSystem.Interactions.cs index bbb5ee533c..02524f9323 100644 --- a/Content.Shared/_CP14/Farming/CP14SharedFarmingSystem.Interactions.cs +++ b/Content.Shared/_CP14/Farming/CP14SharedFarmingSystem.Interactions.cs @@ -18,6 +18,7 @@ public abstract partial class CP14SharedFarmingSystem [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly EntityTableSystem _entityTable = default!; + [Dependency] private readonly TurfSystem _turf = default!; private void InitializeInteractions() { @@ -186,12 +187,9 @@ public abstract partial class CP14SharedFarmingSystem if (!TryComp(map, out var gridComp)) return false; - var tileRef = position.GetTileRef(); + var tileRef = _map.GetTileRef(map.Value, gridComp, position); - if (tileRef is null) - return false; - - var tile = tileRef.Value.Tile.GetContentTileDefinition(); + var tile = _turf.GetContentTileDefinition(tileRef); if (!seed.Comp.SoilTile.Contains(tile)) { diff --git a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.Checks.cs b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.Checks.cs index c2b23ae87f..86471a7d4c 100644 --- a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.Checks.cs +++ b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.Checks.cs @@ -6,6 +6,7 @@ using Content.Shared._CP14.Religion.Systems; using Content.Shared.CombatMode.Pacification; using Content.Shared.Damage.Components; using Content.Shared.Hands.Components; +using Content.Shared.Hands.EntitySystems; using Content.Shared.Mobs.Components; using Content.Shared.Mobs.Systems; using Content.Shared.Popups; @@ -18,6 +19,7 @@ public abstract partial class CP14SharedMagicSystem { [Dependency] private readonly MobStateSystem _mobState = default!; [Dependency] private readonly CP14SharedReligionGodSystem _god = default!; + [Dependency] private readonly SharedHandsSystem _hand = default!; private void InitializeChecks() { @@ -89,14 +91,7 @@ public abstract partial class CP14SharedMagicSystem { if (TryComp(args.Performer, out var hands) || hands is not null) { - var freeHand = 0; - foreach (var hand in hands.Hands) - { - if (hand.Value.IsEmpty) - freeHand++; - } - - if (freeHand >= ent.Comp.FreeHandRequired) + if (_hand.CountFreeableHands((args.Performer, hands)) >= ent.Comp.FreeHandRequired) return; } diff --git a/Content.Shared/_CP14/MagicWeakness/CP14SharedMagicWeaknessSystem.cs b/Content.Shared/_CP14/MagicWeakness/CP14SharedMagicWeaknessSystem.cs index dc02376a1e..c22d051407 100644 --- a/Content.Shared/_CP14/MagicWeakness/CP14SharedMagicWeaknessSystem.cs +++ b/Content.Shared/_CP14/MagicWeakness/CP14SharedMagicWeaknessSystem.cs @@ -3,16 +3,13 @@ using Content.Shared.Bed.Sleep; using Content.Shared.Damage; using Content.Shared.IdentityManagement; using Content.Shared.Popups; -using Content.Shared.StatusEffect; +using Content.Shared.StatusEffectNew; namespace Content.Shared._CP14.MagicWeakness; public abstract class CP14SharedMagicWeaknessSystem : EntitySystem { - [ValidatePrototypeId] - private const string StatusEffectKey = "ForcedSleep"; - - [Dependency] private readonly StatusEffectsSystem _statusEffects = default!; + [Dependency] private readonly SharedStatusEffectsSystem _statusEffects = default!; [Dependency] private readonly DamageableSystem _damageable = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; @@ -36,10 +33,10 @@ public abstract class CP14SharedMagicWeaknessSystem : EntitySystem ent, ent, PopupType.LargeCaution); - _statusEffects.TryAddStatusEffect(ent, - StatusEffectKey, - TimeSpan.FromSeconds(ent.Comp.SleepPerEnergy * (float)args.BurnOutEnergy), - false); + _statusEffects.TryAddStatusEffectDuration( + ent, + SleepingSystem.StatusEffectForcedSleeping, + TimeSpan.FromSeconds(ent.Comp.SleepPerEnergy * (float)args.BurnOutEnergy)); } } @@ -52,10 +49,10 @@ public abstract class CP14SharedMagicWeaknessSystem : EntitySystem ent, ent, PopupType.LargeCaution); - _statusEffects.TryAddStatusEffect(ent, - StatusEffectKey, - TimeSpan.FromSeconds(ent.Comp.SleepPerEnergy * (float)args.OverloadEnergy), - false); + _statusEffects.TryAddStatusEffectDuration( + ent, + SleepingSystem.StatusEffectForcedSleeping, + TimeSpan.FromSeconds(ent.Comp.SleepPerEnergy * (float)args.OverloadEnergy)); } } diff --git a/Content.Shared/_CP14/MeleeWeapon/Components/CP14MeleeParriableComponent.cs b/Content.Shared/_CP14/MeleeWeapon/Components/CP14MeleeParriableComponent.cs deleted file mode 100644 index 8028815da2..0000000000 --- a/Content.Shared/_CP14/MeleeWeapon/Components/CP14MeleeParriableComponent.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Robust.Shared.Audio; - -namespace Content.Shared._CP14.MeleeWeapon.Components; - -/// -/// allows this item to be knocked out of your hands by a successful parry -/// -[RegisterComponent] -public sealed partial class CP14MeleeParriableComponent : Component -{ - /// - /// - /// - [DataField] - public TimeSpan LastMeleeHit = TimeSpan.Zero; - - /// - /// - /// - [DataField] - public float NeedParryPower = 1f; - - [DataField] - public SoundSpecifier ParrySound = new SoundCollectionSpecifier("CP14Parry", AudioParams.Default.WithVariation(0.05f)); -} diff --git a/Content.Shared/_CP14/MeleeWeapon/Components/CP14MeleeParryComponent.cs b/Content.Shared/_CP14/MeleeWeapon/Components/CP14MeleeParryComponent.cs deleted file mode 100644 index f041c7b245..0000000000 --- a/Content.Shared/_CP14/MeleeWeapon/Components/CP14MeleeParryComponent.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace Content.Shared._CP14.MeleeWeapon.Components; - -/// -/// attacks with this item may knock CP14ParriableComponent items out of your hand on a hit -/// -[RegisterComponent] -public sealed partial class CP14MeleeParryComponent : Component -{ - [DataField] - public TimeSpan ParryWindow = TimeSpan.FromSeconds(1f); - - [DataField] - public float ParryPower = 1f; -} diff --git a/Content.Shared/_CP14/MeleeWeapon/EntitySystems/CP14MeleeParrySystem.cs b/Content.Shared/_CP14/MeleeWeapon/EntitySystems/CP14MeleeParrySystem.cs deleted file mode 100644 index 1c10810d8e..0000000000 --- a/Content.Shared/_CP14/MeleeWeapon/EntitySystems/CP14MeleeParrySystem.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Content.Shared._CP14.MeleeWeapon.Components; -using Content.Shared.Hands.EntitySystems; -using Content.Shared.Popups; -using Content.Shared.Throwing; -using Content.Shared.Weapons.Melee.Events; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Random; -using Robust.Shared.Timing; - -namespace Content.Shared._CP14.MeleeWeapon.EntitySystems; - -public sealed class CP14MeleeParrySystem : EntitySystem -{ - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly ThrowingSystem _throwing = default!; - [Dependency] private readonly SharedHandsSystem _hands = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly IGameTiming _timing = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnMeleeHit); - SubscribeLocalEvent(OnMeleeParriableHitAttempt); - } - - private void OnMeleeParriableHitAttempt(Entity ent, ref AttemptMeleeEvent args) - { - ent.Comp.LastMeleeHit = _timing.CurTime; - } - - private void OnMeleeHit(Entity ent, ref MeleeHitEvent args) - { - if (args.HitEntities.Count != 1) - return; - - var target = args.HitEntities[0]; - - var activeTargetHand = _hands.GetActiveHand(target); - - if (activeTargetHand?.HeldEntity is null) - return; - - var parriedWeapon = activeTargetHand.HeldEntity.Value; - - if (!TryComp(parriedWeapon, out var meleeParriable)) - return; - - if (ent.Comp.ParryPower < meleeParriable.NeedParryPower) - return; - - if (_timing.CurTime > meleeParriable.LastMeleeHit + ent.Comp.ParryWindow) - return; - - _hands.TryDrop(target, parriedWeapon); - _throwing.TryThrow(parriedWeapon, _random.NextAngle().ToWorldVec(), ent.Comp.ParryPower, target); - _popup.PopupEntity( Loc.GetString("cp14-successful-parry"), args.User, args.User); - _popup.PopupEntity( Loc.GetString("cp14-successful-parry"), args.HitEntities[0], args.HitEntities[0]); - _audio.PlayPvs(meleeParriable.ParrySound, parriedWeapon); - } -} diff --git a/Content.Shared/_CP14/TileEditTool/CP14EditTileToolSystem.cs b/Content.Shared/_CP14/TileEditTool/CP14EditTileToolSystem.cs index efb0fa282c..a464b76a67 100644 --- a/Content.Shared/_CP14/TileEditTool/CP14EditTileToolSystem.cs +++ b/Content.Shared/_CP14/TileEditTool/CP14EditTileToolSystem.cs @@ -15,6 +15,7 @@ public sealed class CP14EditTileToolSystem : EntitySystem [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly TurfSystem _turf = default!; public override void Initialize() { @@ -55,12 +56,9 @@ public sealed class CP14EditTileToolSystem : EntitySystem if (!TryComp(map, out var gridComp)) return; - var tileRef = location.GetTileRef(); + var tileRef = _map.GetTileRef(map.Value, gridComp, location); - if (tileRef is null) - return; - - var tile = tileRef.Value.Tile.GetContentTileDefinition(); + var tile = _turf.GetContentTileDefinition(tileRef); if (!ent.Comp.TileReplace.TryGetValue(tile, out var replaceTile)) return; diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/ice_dagger.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/ice_dagger.yml index f9ac007568..8cb719e13b 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/ice_dagger.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/ice_dagger.yml @@ -67,7 +67,6 @@ breakOnMove: false slots: - belt - - type: CP14MeleeParriable - type: Item shape: - 0,0,0,1 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml index b1bc4134a6..b34cfbe153 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml @@ -30,7 +30,6 @@ unequipDelay: 0.25 quickEquip: false breakOnMove: false - - type: CP14MeleeParriable - type: CP14LabeledRenaming - type: entity diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml index 5b64386c23..27cc852a7d 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml @@ -105,7 +105,6 @@ collection: MetalBreak - !type:DoActsBehavior acts: ["Destruction"] - - type: CP14MeleeParriable - type: entity abstract: true diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/shield.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/shield.yml index 8507d172df..68b45e46c7 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/shield.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/shield.yml @@ -86,5 +86,4 @@ CP14WoodenPlanks1: min: 1 max: 2 - - type: CP14MeleeParry