Merge pull request #8742 from abcdefg30/withpalettedeath
Support multiple WithDeathAnimation traits
This commit is contained in:
@@ -49,7 +49,8 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public void OnCrush(Actor crusher)
|
public void OnCrush(Actor crusher)
|
||||||
{
|
{
|
||||||
Sound.Play(info.CrushSound, crusher.CenterPosition);
|
Sound.Play(info.CrushSound, crusher.CenterPosition);
|
||||||
var wda = self.TraitOrDefault<WithDeathAnimation>();
|
var wda = self.TraitsImplementing<WithDeathAnimation>()
|
||||||
|
.FirstOrDefault(s => s.Info.CrushedSequence != null);
|
||||||
if (wda != null)
|
if (wda != null)
|
||||||
{
|
{
|
||||||
var palette = wda.Info.CrushedSequencePalette;
|
var palette = wda.Info.CrushedSequencePalette;
|
||||||
|
|||||||
@@ -82,8 +82,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
var warhead = e.Warhead as DamageWarhead;
|
var warhead = e.Warhead as DamageWarhead;
|
||||||
var damageType = warhead.DamageTypes.Intersect(Info.DeathTypes.Keys).FirstOrDefault();
|
var damageType = warhead.DamageTypes.Intersect(Info.DeathTypes.Keys).FirstOrDefault();
|
||||||
if (damageType == null)
|
if (damageType == null)
|
||||||
throw new Exception("Actor type `{0}` does not define a death animation for weapon with damage types `{1}`!"
|
return;
|
||||||
.F(self.Info.Name, string.Join(", ", warhead.DamageTypes)));
|
|
||||||
|
|
||||||
sequence += Info.DeathTypes[damageType];
|
sequence += Info.DeathTypes[damageType];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -227,13 +227,21 @@
|
|||||||
TargetTypes: Ground, Infantry
|
TargetTypes: Ground, Infantry
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
WithDeathAnimation:
|
WithDeathAnimation@normal:
|
||||||
DeathTypes:
|
DeathTypes:
|
||||||
BulletDeath: 1
|
BulletDeath: 1
|
||||||
SmallExplosionDeath: 2
|
SmallExplosionDeath: 2
|
||||||
ExplosionDeath: 3
|
HeadshotDeath: 3 #not used by any warhead; TODO: check what should use this type and add it!
|
||||||
InfantryExplodeDeath: 4 #not used by any warhead; TODO: check what should use this type and add it!
|
|
||||||
FireDeath: 5
|
FireDeath: 5
|
||||||
|
WithDeathAnimation@explosion:
|
||||||
|
DeathSequencePalette: effect
|
||||||
|
DeathPaletteIsPlayerPalette: False
|
||||||
|
DeathTypes:
|
||||||
|
ExplosionDeath: 4
|
||||||
|
WithDeathAnimation@energy:
|
||||||
|
DeathSequencePalette: ra
|
||||||
|
DeathPaletteIsPlayerPalette: False
|
||||||
|
DeathTypes:
|
||||||
EnergyDeath: 6
|
EnergyDeath: 6
|
||||||
AutoTarget:
|
AutoTarget:
|
||||||
AttackMove:
|
AttackMove:
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ e1:
|
|||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
die3: infdie
|
die3: infdie
|
||||||
Length: *
|
Length: *
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -105,6 +107,8 @@ e2:
|
|||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
die3: infdie
|
die3: infdie
|
||||||
Length: *
|
Length: *
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -175,6 +179,9 @@ e3:
|
|||||||
die3: infdie
|
die3: infdie
|
||||||
Length: *
|
Length: *
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
|
Tick: 80
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -315,6 +322,8 @@ medic:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 455
|
ShadowStart: 455
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -379,6 +388,8 @@ engineer:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -439,6 +450,8 @@ umagon:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -509,6 +522,8 @@ ghost:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -577,6 +592,8 @@ jumpjet:
|
|||||||
Start: 445
|
Start: 445
|
||||||
Length: 6
|
Length: 6
|
||||||
ShadowStart: 896
|
ShadowStart: 896
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 450
|
Start: 450
|
||||||
ShadowStart: 901
|
ShadowStart: 901
|
||||||
@@ -646,6 +663,8 @@ mhijack:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -716,6 +735,8 @@ chamspy:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -782,6 +803,8 @@ cyc2:
|
|||||||
ShadowStart: 505
|
ShadowStart: 505
|
||||||
die3: infexpl
|
die3: infexpl
|
||||||
Length: *
|
Length: *
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
shoot:
|
shoot:
|
||||||
Start: 212
|
Start: 212
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -837,6 +860,12 @@ cyborg:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 519
|
ShadowStart: 519
|
||||||
|
die3:
|
||||||
|
Start: 307
|
||||||
|
Length: 14
|
||||||
|
ShadowStart: 677
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -851,10 +880,6 @@ cyborg:
|
|||||||
Start: 292
|
Start: 292
|
||||||
Length: 14
|
Length: 14
|
||||||
ShadowStart: 662
|
ShadowStart: 662
|
||||||
die3:
|
|
||||||
Start: 307
|
|
||||||
Length: 14
|
|
||||||
ShadowStart: 677
|
|
||||||
die6: electro
|
die6: electro
|
||||||
Length: *
|
Length: *
|
||||||
icon: cybiicon
|
icon: cybiicon
|
||||||
@@ -896,11 +921,12 @@ mutant:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
|
||||||
die3: # TODO: copy-paste of die2
|
die3: # TODO: copy-paste of die2
|
||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -972,6 +998,8 @@ mwmn:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -1043,6 +1071,8 @@ mutant3:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -1114,6 +1144,8 @@ tratos:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -1185,6 +1217,8 @@ oxanna:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -1255,6 +1289,8 @@ slav:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -1322,6 +1358,8 @@ doggie:
|
|||||||
Start: 99
|
Start: 99
|
||||||
Length: 10
|
Length: 10
|
||||||
ShadowStart: 218
|
ShadowStart: 218
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 105
|
Start: 105
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -1396,6 +1434,8 @@ civ1:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -1456,6 +1496,8 @@ civ2:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
@@ -1511,6 +1553,8 @@ civ3:
|
|||||||
Start: 149
|
Start: 149
|
||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
|
die4: s_bang34
|
||||||
|
Length: *
|
||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 159
|
Start: 159
|
||||||
Length: 5
|
Length: 5
|
||||||
|
|||||||
Reference in New Issue
Block a user