diff --git a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj index ebc392bc49b8..067b709c02be 100644 --- a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj +++ b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj @@ -1,4 +1,4 @@ - + Debug @@ -76,7 +76,6 @@ - diff --git a/OpenRA.Mods.Cnc/DeadBuildingState.cs b/OpenRA.Mods.RA/Buildings/DeadBuildingState.cs similarity index 90% rename from OpenRA.Mods.Cnc/DeadBuildingState.cs rename to OpenRA.Mods.RA/Buildings/DeadBuildingState.cs index d4aa5c8fb732..8c3792ae4cff 100644 --- a/OpenRA.Mods.Cnc/DeadBuildingState.cs +++ b/OpenRA.Mods.RA/Buildings/DeadBuildingState.cs @@ -35,7 +35,12 @@ public DeadBuildingState(Actor self, DeadBuildingStateInfo info) public void Killed(Actor self, AttackInfo e) { if (!rs.anim.HasSequence("dead")) return; - rs.anim.PlayRepeating("dead"); + + if (rs.anim.GetSequence("dead").Length > 1) + rs.anim.Play("dead"); + else + rs.anim.PlayRepeating("dead"); + self.World.AddFrameEndTask( w => w.Add( new DelayedAction(info.LingerTime, diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index b1488ea794b1..bd437e02faee 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -1,4 +1,4 @@ - + Debug @@ -155,6 +155,7 @@ + @@ -464,4 +465,4 @@ cd "$(SolutionDir)thirdparty/" copy "FuzzyLogicLibrary.dll" "$(SolutionDir)" cd "$(SolutionDir)" - \ No newline at end of file + diff --git a/mods/cnc/rules/defaults.yaml b/mods/cnc/rules/defaults.yaml index af1319b40129..0156098506ed 100644 --- a/mods/cnc/rules/defaults.yaml +++ b/mods/cnc/rules/defaults.yaml @@ -355,7 +355,15 @@ Terrain: Tree EditorAppearance: RelativeToTopLeft: yes - + Health: + HP: 500 + DeadBuildingState: + Armor: + Type: Wood + TargetableBuilding: + TargetTypes: Ground + AutoTargetIgnore: + ^Rock: Tooltip: Name: Rock diff --git a/mods/cnc/sequences/map.yaml b/mods/cnc/sequences/map.yaml index 41d458683e38..beadcc6c6a17 100644 --- a/mods/cnc/sequences/map.yaml +++ b/mods/cnc/sequences/map.yaml @@ -59,163 +59,232 @@ rock7: tc04: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 tc05: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 tc03: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 tc02: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 tc01: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t18: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t17: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t16: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t15: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t14: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t13: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t12: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t11: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t10: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t09: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t08: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t07: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t06: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t05: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t04: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t03: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t02: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t01: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 v01: idle: diff --git a/mods/ra/rules/defaults.yaml b/mods/ra/rules/defaults.yaml index 93692a68b95e..d66c197552e3 100644 --- a/mods/ra/rules/defaults.yaml +++ b/mods/ra/rules/defaults.yaml @@ -329,6 +329,14 @@ UseTerrainPalette: true ProximityCaptor: Types:Tree + Health: + HP: 500 + DeadBuildingState: + Armor: + Type: Wood + TargetableBuilding: + TargetTypes: Ground + AutoTargetIgnore: ^Husk: Husk: diff --git a/mods/ra/sequences.yaml b/mods/ra/sequences.yaml index 5d9d77f077c3..da3137462a6e 100644 --- a/mods/ra/sequences.yaml +++ b/mods/ra/sequences.yaml @@ -1131,128 +1131,182 @@ smoke_m: tc04: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 tc05: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 tc03: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 tc02: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 tc01: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t17: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t16: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t15: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t14: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t13: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t12: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t11: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t10: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t08: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t07: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t06: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t05: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t03: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 ice01: idle: @@ -1282,16 +1336,22 @@ ice05: t02: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 t01: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 mine: idle: @@ -2605,9 +2665,12 @@ rock7: t04: idle: Start: 0 - burn: + damaged-idle: Start: 1 - Length: 9 + dead: + Start: 2 + Length: 8 + Tick: 80 v20: idle: