diff --git a/OpenRA.Mods.RA/Render/RenderBuildingSilo.cs b/OpenRA.Mods.RA/Render/RenderBuildingSilo.cs index e586242ecb..7281e53024 100755 --- a/OpenRA.Mods.RA/Render/RenderBuildingSilo.cs +++ b/OpenRA.Mods.RA/Render/RenderBuildingSilo.cs @@ -30,9 +30,10 @@ namespace OpenRA.Mods.RA.Render Info = info; } - public void BuildingComplete( Actor self ) + public void BuildingComplete(Actor self) { - anim.PlayFetchIndex("idle", + var animation = (self.GetDamageState() >= DamageState.Heavy) ? "damaged-idle" : "idle"; + anim.PlayFetchIndex(animation, () => playerResources.OreCapacity != 0 ? (Info.FillSteps * playerResources.Ore) / (10 * playerResources.OreCapacity) : 0); diff --git a/mods/ra/bits/apwrdead.shp b/mods/ra/bits/apwrdead.shp new file mode 100644 index 0000000000..9792812b3e Binary files /dev/null and b/mods/ra/bits/apwrdead.shp differ diff --git a/mods/ra/bits/factdead.shp b/mods/ra/bits/factdead.shp new file mode 100644 index 0000000000..fcd1758b12 Binary files /dev/null and b/mods/ra/bits/factdead.shp differ diff --git a/mods/ra/bits/kenn.shp b/mods/ra/bits/kenn.shp deleted file mode 100644 index 60f69fbdb0..0000000000 Binary files a/mods/ra/bits/kenn.shp and /dev/null differ diff --git a/mods/ra/bits/powrdead.shp b/mods/ra/bits/powrdead.shp new file mode 100644 index 0000000000..2ebc9bf541 Binary files /dev/null and b/mods/ra/bits/powrdead.shp differ diff --git a/mods/ra/bits/procdead.shp b/mods/ra/bits/procdead.shp new file mode 100644 index 0000000000..f141aee7c4 Binary files /dev/null and b/mods/ra/bits/procdead.shp differ diff --git a/mods/ra/bits/silo2.shp b/mods/ra/bits/silo2.shp new file mode 100644 index 0000000000..97a7a78fac Binary files /dev/null and b/mods/ra/bits/silo2.shp differ diff --git a/mods/ra/bits/weap3.shp b/mods/ra/bits/weap3.shp new file mode 100644 index 0000000000..a96b926f22 Binary files /dev/null and b/mods/ra/bits/weap3.shp differ diff --git a/mods/ra/rules/structures.yaml b/mods/ra/rules/structures.yaml index 05075b2745..1d6c0c22e7 100644 --- a/mods/ra/rules/structures.yaml +++ b/mods/ra/rules/structures.yaml @@ -948,7 +948,8 @@ FACT: Facing: 96 ProductionBar: -Sellable: - + DeadBuildingState: + PROC: Inherits: ^Building Buildable: @@ -990,6 +991,7 @@ PROC: Percentage: 50 Minimum: 500 SoundToVictim: credit1.aud + DeadBuildingState: SILO: Inherits: ^Building @@ -1014,6 +1016,7 @@ SILO: RevealsShroud: Range: 4 RenderBuildingSilo: + FillSteps: 89 StoresOre: PipCount: 5 Capacity: 1500 @@ -1133,6 +1136,7 @@ POWR: Range: 4 Bib: IronCurtainable: + DeadBuildingState: APWR: Inherits: ^Building @@ -1161,6 +1165,7 @@ APWR: Range: 4 Bib: IronCurtainable: + DeadBuildingState: STEK: Inherits: ^Building diff --git a/mods/ra/sequences.yaml b/mods/ra/sequences.yaml index 7ba50983f4..86db4d4f2d 100644 --- a/mods/ra/sequences.yaml +++ b/mods/ra/sequences.yaml @@ -50,6 +50,8 @@ fact: damaged-build: Start: 27 Length: 25 + dead: factdead + Start: 0 proc: idle: @@ -59,14 +61,16 @@ proc: make: procmake Start: 0 Length: * + dead: procdead + Start: 0 silo: - idle: + idle: silo2 Start: 0 - Length: 5 - damaged-idle: - Start: 5 - Length: 5 + Length: 9 + damaged-idle: silo2 + Start: 9 + Length: 9 make: silomake Start: 0 Length: * @@ -79,6 +83,8 @@ powr: make: powrmake Start: 0 Length: * + dead: powrdead + Start: 0 apwr: idle: @@ -88,6 +94,8 @@ apwr: make: apwrmake Start: 0 Length: * + dead: apwrdead + Start: 0 barr: idle: @@ -158,9 +166,9 @@ weap: make: weapmake Start: 0 Length: * - build-top: weap2 + build-top: weap3 Start: 0 - Length: 4 + Length: 10 damaged-build-top: weap2 Start: 4 Length: 4