From 9e421f83fd02dd8831d3cc745b3ba8e142744279 Mon Sep 17 00:00:00 2001 From: Aristeas <94058548+ari-steas@users.noreply.github.com> Date: Wed, 19 Mar 2025 22:33:54 -0500 Subject: [PATCH] REALFAKE ROTARY RADIATOR !!! it's awful and you should hate it --- .../Data/BlockCategories.sbc | 1 + .../Data/CubeBlocks/ActiveRadiator.sbc | 37 +++++++++++++++++++ .../ActiveRadiatorAnimation.cs | 9 ++++- 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/Utility Mods/MoA Fusion Systems/Data/BlockCategories.sbc b/Utility Mods/MoA Fusion Systems/Data/BlockCategories.sbc index 47d25cb99..caa2b293a 100644 --- a/Utility Mods/MoA Fusion Systems/Data/BlockCategories.sbc +++ b/Utility Mods/MoA Fusion Systems/Data/BlockCategories.sbc @@ -24,6 +24,7 @@ ExtendableRadiatorBase Heat_FlatRadiator ActiveRadiator + ActiveRadiatorFake diff --git a/Utility Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc b/Utility Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc index d915be8dc..b3dbadc28 100644 --- a/Utility Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc +++ b/Utility Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc @@ -36,6 +36,43 @@ X + + + + TerminalBlock + ActiveRadiatorFake + + RealFake Rotary Active Radiator + + Looks just like the Rotary Active Radiator, but doesn't actually reduce heat! + Animation tied to grid power draw. + + Textures\GUI\Icons\Cubes\ActiveRadiator.dds + Large + TriangleMesh + + + Models\ActiveRadiator.mwm + + + + + + + + + + 0.3 + ActiveRadiatorFake + + + + + + + + + X \ No newline at end of file diff --git a/Utility Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs b/Utility Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs index b21d9f7df..a9b2abf5b 100644 --- a/Utility Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs +++ b/Utility Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs @@ -9,12 +9,15 @@ namespace Epstein_Fusion_DS.HeatParts.ExtendableRadiators { - [MyEntityComponentDescriptor(typeof(MyObjectBuilder_TerminalBlock), false, "ActiveRadiator")] + [MyEntityComponentDescriptor(typeof(MyObjectBuilder_TerminalBlock), false, "ActiveRadiator", "ActiveRadiatorFake")] internal class ActiveRadiatorAnimation : MyGameLogicComponent { private IMyCubeBlock Block; private MyEntitySubpart FanPart; private MyParticleEffect Particle; + private readonly MyDefinitionId ElectricityId = MyDefinitionId.Parse("GasProperties/Electricity"); + + private float UsedPowerPct => Block.CubeGrid.ResourceDistributor.TotalRequiredInputByType(ElectricityId, Block.CubeGrid) / Block.CubeGrid.ResourceDistributor.MaxAvailableResourceByType(ElectricityId); public override void Init(MyObjectBuilder_EntityBase objectBuilder) { @@ -41,7 +44,9 @@ public override void UpdateOnceBeforeFrame() public override void UpdateAfterSimulation() { - float heatLevel = HeatManager.I.GetGridHeatLevel(Block.CubeGrid); + float heatLevel = Block.BlockDefinition.SubtypeName == "ActiveRadiatorFake" ? UsedPowerPct : HeatManager.I.GetGridHeatLevel(Block.CubeGrid); + if (!Block.IsWorking) + heatLevel = 0; Matrix refMatrix = MatrixD.CreateFromAxisAngle(Vector3D.Up, -0.1 * heatLevel) * FanPart.PositionComp.LocalMatrixRef; refMatrix.Translation = FanPart.PositionComp.LocalMatrixRef.Translation;