Remove DeadBuildingState from TD.
This commit is contained in:
@@ -8,6 +8,8 @@
|
|||||||
*/
|
*/
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using OpenRA.Effects;
|
||||||
using OpenRA.Mods.Common.Effects;
|
using OpenRA.Mods.Common.Effects;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
|
|
||||||
@@ -19,6 +21,9 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Explosion sequence name to use")]
|
[Desc("Explosion sequence name to use")]
|
||||||
public readonly string Sequence = "building";
|
public readonly string Sequence = "building";
|
||||||
|
|
||||||
|
[Desc("Delay the explosions by this many ticks.")]
|
||||||
|
public readonly int Delay = 0;
|
||||||
|
|
||||||
[Desc("Custom palette name")]
|
[Desc("Custom palette name")]
|
||||||
public readonly string Palette = "effect";
|
public readonly string Palette = "effect";
|
||||||
|
|
||||||
@@ -37,8 +42,18 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public void Killed(Actor self, AttackInfo e)
|
public void Killed(Actor self, AttackInfo e)
|
||||||
{
|
{
|
||||||
var buildingInfo = self.Info.Traits.Get<BuildingInfo>();
|
var buildingInfo = self.Info.Traits.Get<BuildingInfo>();
|
||||||
FootprintUtils.UnpathableTiles(self.Info.Name, buildingInfo, self.Location).Do(
|
var cells = FootprintUtils.UnpathableTiles(self.Info.Name, buildingInfo, self.Location);
|
||||||
t => self.World.AddFrameEndTask(w => w.Add(new Explosion(w, w.Map.CenterOfCell(t), info.Sequence, info.Palette))));
|
|
||||||
|
if (info.Delay > 0)
|
||||||
|
self.World.AddFrameEndTask(w => w.Add(new DelayedAction(info.Delay, () => SpawnExplosions(self.World, cells))));
|
||||||
|
else
|
||||||
|
SpawnExplosions(self.World, cells);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpawnExplosions(World world, IEnumerable<CPos> cells)
|
||||||
|
{
|
||||||
|
foreach (var c in cells)
|
||||||
|
world.AddFrameEndTask(w => w.Add(new Explosion(w, w.Map.CenterOfCell(c), info.Sequence, info.Palette)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -401,6 +401,7 @@
|
|||||||
DestroyedSound: crumble.aud
|
DestroyedSound: crumble.aud
|
||||||
RenderBuilding:
|
RenderBuilding:
|
||||||
WithBuildingExplosion:
|
WithBuildingExplosion:
|
||||||
|
Delay: 1
|
||||||
EmitInfantryOnSell:
|
EmitInfantryOnSell:
|
||||||
ActorTypes: e6,e1
|
ActorTypes: e6,e1
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
@@ -432,7 +433,9 @@
|
|||||||
RepairableBuilding:
|
RepairableBuilding:
|
||||||
RepairPercent: 40
|
RepairPercent: 40
|
||||||
RepairStep: 14
|
RepairStep: 14
|
||||||
DeadBuildingState:
|
WithDeathAnimation:
|
||||||
|
DeathSequence: dead
|
||||||
|
UseDeathTypeSuffix: false
|
||||||
GivesBuildableArea:
|
GivesBuildableArea:
|
||||||
EngineerRepairable:
|
EngineerRepairable:
|
||||||
Sellable:
|
Sellable:
|
||||||
@@ -560,7 +563,6 @@
|
|||||||
RelativeToTopLeft: yes
|
RelativeToTopLeft: yes
|
||||||
Health:
|
Health:
|
||||||
HP: 500
|
HP: 500
|
||||||
DeadBuildingState:
|
|
||||||
Armor:
|
Armor:
|
||||||
Type: Wood
|
Type: Wood
|
||||||
AutoTargetIgnore:
|
AutoTargetIgnore:
|
||||||
|
|||||||
@@ -616,7 +616,7 @@ GUN:
|
|||||||
WithMuzzleFlash:
|
WithMuzzleFlash:
|
||||||
AutoTarget:
|
AutoTarget:
|
||||||
-RenderBuilding:
|
-RenderBuilding:
|
||||||
-DeadBuildingState:
|
-WithDeathAnimation:
|
||||||
RenderRangeCircle:
|
RenderRangeCircle:
|
||||||
RenderDetectionCircle:
|
RenderDetectionCircle:
|
||||||
DetectCloaked:
|
DetectCloaked:
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ fact:
|
|||||||
Tick: 100
|
Tick: 100
|
||||||
dead:
|
dead:
|
||||||
Start: 48
|
Start: 48
|
||||||
|
Tick: 800
|
||||||
make: factmake
|
make: factmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -38,7 +39,7 @@ nuke:
|
|||||||
Tick: 1000
|
Tick: 1000
|
||||||
dead:
|
dead:
|
||||||
Start: 8
|
Start: 8
|
||||||
Tick: 1000
|
Tick: 800
|
||||||
make: nukemake
|
make: nukemake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -60,6 +61,7 @@ proc:
|
|||||||
Tick: 120
|
Tick: 120
|
||||||
dead:
|
dead:
|
||||||
Start: 60
|
Start: 60
|
||||||
|
Tick: 800
|
||||||
make: procmake
|
make: procmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -90,6 +92,7 @@ silo:
|
|||||||
dead:
|
dead:
|
||||||
Start: 10
|
Start: 10
|
||||||
Offset: 0,-1
|
Offset: 0,-1
|
||||||
|
Tick: 800
|
||||||
make: silomake
|
make: silomake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -109,6 +112,7 @@ hand:
|
|||||||
Start: 1
|
Start: 1
|
||||||
dead:
|
dead:
|
||||||
Start: 2
|
Start: 2
|
||||||
|
Tick: 800
|
||||||
make: handmake
|
make: handmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -130,7 +134,7 @@ pyle:
|
|||||||
Tick: 100
|
Tick: 100
|
||||||
dead:
|
dead:
|
||||||
Start: 20
|
Start: 20
|
||||||
Tick: 100
|
Tick: 800
|
||||||
make: pylemake
|
make: pylemake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -148,6 +152,7 @@ weap:
|
|||||||
Start: 1
|
Start: 1
|
||||||
dead:
|
dead:
|
||||||
Start: 2
|
Start: 2
|
||||||
|
Tick: 800
|
||||||
build-top: weap2
|
build-top: weap2
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: 10
|
Length: 10
|
||||||
@@ -190,6 +195,7 @@ afld:
|
|||||||
dead:
|
dead:
|
||||||
Start: 32
|
Start: 32
|
||||||
ZOffset: -1023
|
ZOffset: -1023
|
||||||
|
Tick: 800
|
||||||
make: afldmake
|
make: afldmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -211,6 +217,7 @@ hq:
|
|||||||
Tick: 100
|
Tick: 100
|
||||||
dead:
|
dead:
|
||||||
Start: 32
|
Start: 32
|
||||||
|
Tick: 800
|
||||||
make: hqmake
|
make: hqmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -232,6 +239,7 @@ nuk2:
|
|||||||
Tick: 1000
|
Tick: 1000
|
||||||
dead:
|
dead:
|
||||||
Start: 8
|
Start: 8
|
||||||
|
Tick: 800
|
||||||
make: nuk2make
|
make: nuk2make
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -262,6 +270,7 @@ hpad:
|
|||||||
dead:
|
dead:
|
||||||
Start: 14
|
Start: 14
|
||||||
ZOffset: -1023
|
ZOffset: -1023
|
||||||
|
Tick: 800
|
||||||
make: hpadmake
|
make: hpadmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -287,6 +296,7 @@ fix:
|
|||||||
dead:
|
dead:
|
||||||
Start: 14
|
Start: 14
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
|
Tick: 800
|
||||||
make: fixmake
|
make: fixmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: 14
|
Length: 14
|
||||||
@@ -309,6 +319,7 @@ eye:
|
|||||||
Tick: 100
|
Tick: 100
|
||||||
dead:
|
dead:
|
||||||
Start: 32
|
Start: 32
|
||||||
|
Tick: 800
|
||||||
make: eyemake
|
make: eyemake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -332,6 +343,7 @@ tmpl:
|
|||||||
Length: 5
|
Length: 5
|
||||||
dead:
|
dead:
|
||||||
Start: 10
|
Start: 10
|
||||||
|
Tick: 800
|
||||||
make: tmplmake
|
make: tmplmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -357,6 +369,7 @@ obli:
|
|||||||
Tick: 680
|
Tick: 680
|
||||||
dead:
|
dead:
|
||||||
Start: 8
|
Start: 8
|
||||||
|
Tick: 800
|
||||||
make: oblimake
|
make: oblimake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: 13
|
Length: 13
|
||||||
@@ -470,6 +483,7 @@ sam:
|
|||||||
Tick: 30
|
Tick: 30
|
||||||
dead:
|
dead:
|
||||||
Start: 128
|
Start: 128
|
||||||
|
Tick: 800
|
||||||
make: sammake
|
make: sammake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: 20
|
Length: 20
|
||||||
@@ -488,6 +502,7 @@ gtwr:
|
|||||||
Start: 1
|
Start: 1
|
||||||
dead:
|
dead:
|
||||||
Start: 2
|
Start: 2
|
||||||
|
Tick: 800
|
||||||
make: gtwrmake
|
make: gtwrmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -513,6 +528,7 @@ atwr:
|
|||||||
dead:
|
dead:
|
||||||
Start: 2
|
Start: 2
|
||||||
Offset: 0,-1
|
Offset: 0,-1
|
||||||
|
Tick: 800
|
||||||
make: atwrmake
|
make: atwrmake
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
|
|||||||
Reference in New Issue
Block a user