Rename CrushableInfantry to Crushable, adapt to WithDeathAnimation.
Make Crushable compatible with non-mobile actors. Change RA, TD and TS infantry die-crushed sequence ZOffsets in preparation for future engine changes. Add descriptions and CrushedByFriendlies to Crushable. Adapt code to factor in whether the palette is a player palette.
This commit is contained in:
74
OpenRA.Mods.RA/Crushable.cs
Normal file
74
OpenRA.Mods.RA/Crushable.cs
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
|
||||||
|
* This file is part of OpenRA, which is free software. It is made
|
||||||
|
* available to you under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation. For more information,
|
||||||
|
* see COPYING.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System.Linq;
|
||||||
|
using OpenRA.Mods.RA.Move;
|
||||||
|
using OpenRA.Mods.RA.Render;
|
||||||
|
using OpenRA.Traits;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.RA
|
||||||
|
{
|
||||||
|
[Desc("This actor is crushable.")]
|
||||||
|
class CrushableInfo : ITraitInfo
|
||||||
|
{
|
||||||
|
[Desc("Sound to play when being crushed.")]
|
||||||
|
public readonly string CrushSound = null;
|
||||||
|
[Desc("Which crush classes does this actor belong to.")]
|
||||||
|
public readonly string[] CrushClasses = { "infantry" };
|
||||||
|
[Desc("Probability of mobile actors noticing and evading a crush attempt.")]
|
||||||
|
public readonly int WarnProbability = 75;
|
||||||
|
[Desc("Will friendly units just crush me instead of pathing around.")]
|
||||||
|
public readonly bool CrushedByFriendlies = false;
|
||||||
|
|
||||||
|
public object Create(ActorInitializer init) { return new Crushable(init.self, this); }
|
||||||
|
}
|
||||||
|
|
||||||
|
class Crushable : ICrushable
|
||||||
|
{
|
||||||
|
readonly Actor self;
|
||||||
|
readonly CrushableInfo info;
|
||||||
|
|
||||||
|
public Crushable(Actor self, CrushableInfo info)
|
||||||
|
{
|
||||||
|
this.self = self;
|
||||||
|
this.info = info;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void WarnCrush(Actor crusher)
|
||||||
|
{
|
||||||
|
var mobile = self.TraitOrDefault<Mobile>();
|
||||||
|
if (mobile != null && self.World.SharedRandom.Next(100) <= info.WarnProbability)
|
||||||
|
mobile.Nudge(self, crusher, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnCrush(Actor crusher)
|
||||||
|
{
|
||||||
|
Sound.Play(info.CrushSound, crusher.CenterPosition);
|
||||||
|
var wda = self.TraitOrDefault<WithDeathAnimation>();
|
||||||
|
if (wda != null)
|
||||||
|
{
|
||||||
|
var palette = wda.Info.DeathSequencePalette;
|
||||||
|
if (wda.Info.DeathPaletteIsPlayerPalette)
|
||||||
|
palette += self.Owner.InternalName;
|
||||||
|
|
||||||
|
wda.SpawnDeathAnimation(self, wda.Info.CrushedSequence, palette);
|
||||||
|
}
|
||||||
|
self.Kill(crusher);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool CrushableBy(string[] crushClasses, Player crushOwner)
|
||||||
|
{
|
||||||
|
if (!info.CrushedByFriendlies && crushOwner.IsAlliedWith(self.Owner))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return info.CrushClasses.Intersect(crushClasses).Any();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
#region Copyright & License Information
|
|
||||||
/*
|
|
||||||
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
|
|
||||||
* This file is part of OpenRA, which is free software. It is made
|
|
||||||
* available to you under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation. For more information,
|
|
||||||
* see COPYING.
|
|
||||||
*/
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
using System.Linq;
|
|
||||||
using OpenRA.Mods.RA.Move;
|
|
||||||
using OpenRA.Mods.RA.Render;
|
|
||||||
using OpenRA.Traits;
|
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA
|
|
||||||
{
|
|
||||||
class CrushableInfantryInfo : ITraitInfo, Requires<MobileInfo>, Requires<RenderInfantryInfo>
|
|
||||||
{
|
|
||||||
public readonly string CrushSound = null;
|
|
||||||
public readonly string CorpseSequence = "die-crushed";
|
|
||||||
public readonly string[] CrushClasses = { "infantry" };
|
|
||||||
public readonly int WarnProbability = 75;
|
|
||||||
public object Create(ActorInitializer init) { return new CrushableInfantry(init.self, this); }
|
|
||||||
}
|
|
||||||
|
|
||||||
class CrushableInfantry : ICrushable
|
|
||||||
{
|
|
||||||
readonly Actor self;
|
|
||||||
readonly CrushableInfantryInfo Info;
|
|
||||||
readonly RenderInfantry ri;
|
|
||||||
|
|
||||||
public CrushableInfantry(Actor self, CrushableInfantryInfo info)
|
|
||||||
{
|
|
||||||
this.self = self;
|
|
||||||
this.Info = info;
|
|
||||||
ri = self.Trait<RenderInfantry>();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void WarnCrush(Actor crusher)
|
|
||||||
{
|
|
||||||
if (self.World.SharedRandom.Next(100) <= Info.WarnProbability)
|
|
||||||
self.Trait<Mobile>().Nudge(self, crusher, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnCrush(Actor crusher)
|
|
||||||
{
|
|
||||||
Sound.Play(Info.CrushSound, crusher.CenterPosition);
|
|
||||||
ri.SpawnCorpse(self, Info.CorpseSequence);
|
|
||||||
self.Kill(crusher);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool CrushableBy(string[] crushClasses, Player crushOwner)
|
|
||||||
{
|
|
||||||
if (crushOwner.Stances[self.Owner] == Stance.Ally)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return Info.CrushClasses.Intersect(crushClasses).Any();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -209,7 +209,7 @@
|
|||||||
<Compile Include="Crates\RevealMapCrateAction.cs" />
|
<Compile Include="Crates\RevealMapCrateAction.cs" />
|
||||||
<Compile Include="Crates\SupportPowerCrateAction.cs" />
|
<Compile Include="Crates\SupportPowerCrateAction.cs" />
|
||||||
<Compile Include="CreateMPPlayers.cs" />
|
<Compile Include="CreateMPPlayers.cs" />
|
||||||
<Compile Include="CrushableInfantry.cs" />
|
<Compile Include="Crushable.cs" />
|
||||||
<Compile Include="DeathSounds.cs" />
|
<Compile Include="DeathSounds.cs" />
|
||||||
<Compile Include="DemoTruck.cs" />
|
<Compile Include="DemoTruck.cs" />
|
||||||
<Compile Include="DetectCloaked.cs" />
|
<Compile Include="DetectCloaked.cs" />
|
||||||
|
|||||||
@@ -165,7 +165,7 @@
|
|||||||
ActorLostNotification:
|
ActorLostNotification:
|
||||||
SpawnViceroid:
|
SpawnViceroid:
|
||||||
Probability: 10
|
Probability: 10
|
||||||
CrushableInfantry:
|
Crushable:
|
||||||
WarnProbability: 67
|
WarnProbability: 67
|
||||||
CrushSound: squish2.aud
|
CrushSound: squish2.aud
|
||||||
CombatDebugOverlay:
|
CombatDebugOverlay:
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
Notification: CivilianKilled
|
Notification: CivilianKilled
|
||||||
NotifyAll: true
|
NotifyAll: true
|
||||||
ScaredyCat:
|
ScaredyCat:
|
||||||
CrushableInfantry:
|
Crushable:
|
||||||
CrushSound: squish2.aud
|
CrushSound: squish2.aud
|
||||||
|
|
||||||
^DINO:
|
^DINO:
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ e1:
|
|||||||
Start: 16
|
Start: 16
|
||||||
Length: 4
|
Length: 4
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
icon: e1icnh
|
icon: e1icnh
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
||||||
@@ -260,6 +261,7 @@ e2:
|
|||||||
Start: 16
|
Start: 16
|
||||||
Length: 4
|
Length: 4
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
icon: e2icnh
|
icon: e2icnh
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
||||||
@@ -349,6 +351,7 @@ e3:
|
|||||||
Start: 16
|
Start: 16
|
||||||
Length: 4
|
Length: 4
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
icon: e3icnh
|
icon: e3icnh
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
||||||
@@ -438,6 +441,7 @@ e4:
|
|||||||
Start: 16
|
Start: 16
|
||||||
Length: 4
|
Length: 4
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
muzzle0: flame-n
|
muzzle0: flame-n
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -559,6 +563,7 @@ e5:
|
|||||||
Start: 16
|
Start: 16
|
||||||
Length: 4
|
Length: 4
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
muzzle0: chem-n
|
muzzle0: chem-n
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
@@ -672,6 +677,7 @@ e6:
|
|||||||
Start: 16
|
Start: 16
|
||||||
Length: 4
|
Length: 4
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
icon: e6icnh
|
icon: e6icnh
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
||||||
@@ -765,5 +771,6 @@ rmbo:
|
|||||||
Start: 16
|
Start: 16
|
||||||
Length: 4
|
Length: 4
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
icon: rmboicnh
|
icon: rmboicnh
|
||||||
Start: 0
|
Start: 0
|
||||||
@@ -186,7 +186,7 @@
|
|||||||
ProximityCaptor:
|
ProximityCaptor:
|
||||||
Types: Infantry
|
Types: Infantry
|
||||||
GivesBounty:
|
GivesBounty:
|
||||||
CrushableInfantry:
|
Crushable:
|
||||||
CrushSound: CRUSH1.WAV
|
CrushSound: CRUSH1.WAV
|
||||||
RepairableNear:
|
RepairableNear:
|
||||||
Buildings: barra, barro
|
Buildings: barra, barro
|
||||||
|
|||||||
@@ -154,7 +154,7 @@
|
|||||||
GivesBounty:
|
GivesBounty:
|
||||||
GpsDot:
|
GpsDot:
|
||||||
String: Infantry
|
String: Infantry
|
||||||
CrushableInfantry:
|
Crushable:
|
||||||
CrushSound: squishy2.aud
|
CrushSound: squishy2.aud
|
||||||
UpdatesPlayerStatistics:
|
UpdatesPlayerStatistics:
|
||||||
CombatDebugOverlay:
|
CombatDebugOverlay:
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ e1:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
garrison-muzzle: minigun
|
garrison-muzzle: minigun
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -136,6 +137,7 @@ sniper:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
garrison-muzzle: minigun
|
garrison-muzzle: minigun
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: 3
|
Length: 3
|
||||||
@@ -190,6 +192,7 @@ e3:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
prone-stand:
|
prone-stand:
|
||||||
Start: 144
|
Start: 144
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -248,6 +251,7 @@ e6:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
prone-stand:
|
prone-stand:
|
||||||
Start: 82
|
Start: 82
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -310,6 +314,7 @@ medi:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
prone-stand:
|
prone-stand:
|
||||||
Start: 130
|
Start: 130
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -372,6 +377,7 @@ mech:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
prone-stand:
|
prone-stand:
|
||||||
Start: 130
|
Start: 130
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -430,6 +436,7 @@ e2:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
prone-stand:
|
prone-stand:
|
||||||
Start: 240
|
Start: 240
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -488,6 +495,7 @@ dog:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
shoot: dogbullt
|
shoot: dogbullt
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -541,6 +549,7 @@ spy:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
prone-stand:
|
prone-stand:
|
||||||
Start: 144
|
Start: 144
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -591,6 +600,7 @@ thf:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
crawl:
|
crawl:
|
||||||
Start: 72
|
Start: 72
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -632,6 +642,7 @@ hijacker:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
crawl: thf
|
crawl: thf
|
||||||
Start: 72
|
Start: 72
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -685,6 +696,7 @@ e7:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
prone-stand:
|
prone-stand:
|
||||||
Start: 128
|
Start: 128
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -752,6 +764,7 @@ e4:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
prone-stand:
|
prone-stand:
|
||||||
Start: 208
|
Start: 208
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -826,6 +839,7 @@ gnrl:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
|
|
||||||
shok:
|
shok:
|
||||||
stand:
|
stand:
|
||||||
@@ -893,6 +907,7 @@ shok:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
icon: shokicon
|
icon: shokicon
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
||||||
@@ -937,6 +952,7 @@ c1:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
run:
|
run:
|
||||||
Start: 56
|
Start: 56
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -984,6 +1000,7 @@ c2:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
run:
|
run:
|
||||||
Start: 56
|
Start: 56
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -1031,6 +1048,7 @@ c3:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
run:
|
run:
|
||||||
Start: 56
|
Start: 56
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -1079,6 +1097,7 @@ einstein:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
|
|
||||||
delphi:
|
delphi:
|
||||||
stand:
|
stand:
|
||||||
@@ -1122,6 +1141,7 @@ delphi:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
|
|
||||||
chan:
|
chan:
|
||||||
stand:
|
stand:
|
||||||
@@ -1165,6 +1185,7 @@ chan:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
|
|
||||||
zombie:
|
zombie:
|
||||||
stand:
|
stand:
|
||||||
@@ -1207,6 +1228,7 @@ zombie:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: 6
|
Length: 6
|
||||||
Tick: 1600
|
Tick: 1600
|
||||||
|
ZOffset: -511
|
||||||
icon: zombicon
|
icon: zombicon
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
||||||
@@ -1252,6 +1274,7 @@ ant:
|
|||||||
die-crushed:
|
die-crushed:
|
||||||
Start: 104
|
Start: 104
|
||||||
Length: 8
|
Length: 8
|
||||||
Tick: 300
|
Tick: 400
|
||||||
|
ZOffset: -511
|
||||||
icon: anticon
|
icon: anticon
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|||||||
@@ -130,7 +130,7 @@
|
|||||||
ProximityCaptor:
|
ProximityCaptor:
|
||||||
Types: Infantry
|
Types: Infantry
|
||||||
GivesBounty:
|
GivesBounty:
|
||||||
CrushableInfantry:
|
Crushable:
|
||||||
CrushSound: squish6.aud
|
CrushSound: squish6.aud
|
||||||
PoisonedByTiberium:
|
PoisonedByTiberium:
|
||||||
SpawnViceroid:
|
SpawnViceroid:
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ WEEDGUY:
|
|||||||
Speed: 42
|
Speed: 42
|
||||||
Health:
|
Health:
|
||||||
HP: 130
|
HP: 130
|
||||||
CrushableInfantry:
|
Crushable:
|
||||||
CrushSound: squishy2.aud
|
CrushSound: squishy2.aud
|
||||||
Armament:
|
Armament:
|
||||||
Weapon: FireballLauncher
|
Weapon: FireballLauncher
|
||||||
@@ -120,7 +120,7 @@ MEDIC:
|
|||||||
Speed: 56
|
Speed: 56
|
||||||
Health:
|
Health:
|
||||||
HP: 125
|
HP: 125
|
||||||
CrushableInfantry:
|
Crushable:
|
||||||
CrushSound: squishy2.aud
|
CrushSound: squishy2.aud
|
||||||
Armament:
|
Armament:
|
||||||
Weapon: Heal
|
Weapon: Heal
|
||||||
@@ -220,7 +220,7 @@ GHOST:
|
|||||||
Armament:
|
Armament:
|
||||||
Weapon: LtRail
|
Weapon: LtRail
|
||||||
LocalOffset: 85,0,384
|
LocalOffset: 85,0,384
|
||||||
CrushableInfantry:
|
Crushable:
|
||||||
CrushSound: squishy2.aud
|
CrushSound: squishy2.aud
|
||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
C4Demolition:
|
C4Demolition:
|
||||||
@@ -254,7 +254,7 @@ JUMPJET:
|
|||||||
Range: 6c0
|
Range: 6c0
|
||||||
Armament:
|
Armament:
|
||||||
Weapon: JumpCannon
|
Weapon: JumpCannon
|
||||||
-CrushableInfantry:
|
-Crushable:
|
||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
TakeCover:
|
TakeCover:
|
||||||
RenderInfantry:
|
RenderInfantry:
|
||||||
@@ -302,7 +302,7 @@ CYBORG:
|
|||||||
Queue: Infantry
|
Queue: Infantry
|
||||||
BuildPaletteOrder: 50
|
BuildPaletteOrder: 50
|
||||||
Owner: nod
|
Owner: nod
|
||||||
-CrushableInfantry:
|
-Crushable:
|
||||||
Selectable:
|
Selectable:
|
||||||
Bounds: 14,30,0,-7
|
Bounds: 14,30,0,-7
|
||||||
Voice: Cyborg
|
Voice: Cyborg
|
||||||
@@ -335,7 +335,7 @@ CYC2:
|
|||||||
Queue: Infantry
|
Queue: Infantry
|
||||||
BuildPaletteOrder: 50
|
BuildPaletteOrder: 50
|
||||||
Owner: nod
|
Owner: nod
|
||||||
-CrushableInfantry:
|
-Crushable:
|
||||||
Selectable:
|
Selectable:
|
||||||
Bounds: 14,30,0,-7
|
Bounds: 14,30,0,-7
|
||||||
Voice: CyborgCommando
|
Voice: CyborgCommando
|
||||||
@@ -595,7 +595,7 @@ VISSML:
|
|||||||
Mobile:
|
Mobile:
|
||||||
Speed: 113
|
Speed: 113
|
||||||
ROT: 16
|
ROT: 16
|
||||||
-CrushableInfantry:
|
-Crushable:
|
||||||
Selectable:
|
Selectable:
|
||||||
Voice: Fiend
|
Voice: Fiend
|
||||||
TargetableUnit:
|
TargetableUnit:
|
||||||
@@ -625,7 +625,7 @@ VISLRG:
|
|||||||
Mobile:
|
Mobile:
|
||||||
Speed: 113
|
Speed: 113
|
||||||
ROT: 16
|
ROT: 16
|
||||||
-CrushableInfantry:
|
-Crushable:
|
||||||
Selectable:
|
Selectable:
|
||||||
Voice: Fiend
|
Voice: Fiend
|
||||||
TargetableUnit:
|
TargetableUnit:
|
||||||
|
|||||||
@@ -45,6 +45,12 @@ e1:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -122,6 +128,12 @@ e2:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -199,6 +211,12 @@ e3:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -267,19 +285,19 @@ weedguy:
|
|||||||
Facings: 8
|
Facings: 8
|
||||||
Stride: 6
|
Stride: 6
|
||||||
ShadowStart: 288
|
ShadowStart: 288
|
||||||
die2: weed
|
|
||||||
Start: 160
|
|
||||||
Length: 6
|
|
||||||
ShadowStart: 362
|
|
||||||
Tick: 80
|
|
||||||
die1: weed
|
die1: weed
|
||||||
Start: 149
|
Start: 149
|
||||||
Length: 11
|
Length: 11
|
||||||
ShadowStart: 351
|
ShadowStart: 351
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die2: weed
|
||||||
|
Start: 160
|
||||||
|
Length: 6
|
||||||
|
ShadowStart: 362
|
||||||
|
Tick: 80
|
||||||
die3: weed
|
die3: weed
|
||||||
Start: 166
|
Start: 166
|
||||||
Length: 10
|
Length: 11
|
||||||
ShadowStart: 368
|
ShadowStart: 368
|
||||||
Tick: 80
|
Tick: 80
|
||||||
die4: weed
|
die4: weed
|
||||||
@@ -296,6 +314,11 @@ weedguy:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed: weed
|
||||||
|
Start: 174
|
||||||
|
Length: 3
|
||||||
|
ShadowStart: 376
|
||||||
|
Tick: 1000
|
||||||
icon: weaticon
|
icon: weaticon
|
||||||
Start: 0
|
Start: 0
|
||||||
|
|
||||||
@@ -347,6 +370,12 @@ medic:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 455
|
ShadowStart: 455
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -427,6 +456,12 @@ engineer:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
standup-0:
|
standup-0:
|
||||||
Start: 260
|
Start: 260
|
||||||
Length: 2
|
Length: 2
|
||||||
@@ -493,6 +528,12 @@ umagon:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -571,6 +612,12 @@ ghost: # TODO unused GUNFIRE.SHP
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -647,6 +694,12 @@ jumpjet: # TODO: ShadowStart:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 887
|
ShadowStart: 887
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -725,6 +778,12 @@ mhijack:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -803,6 +862,12 @@ chamspy:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -1036,6 +1101,12 @@ mutant:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -1114,6 +1185,12 @@ mwmn:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -1192,6 +1269,12 @@ mutant3: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -1270,6 +1353,12 @@ tratos:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -1348,6 +1437,12 @@ oxanna:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -1426,6 +1521,12 @@ slav:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 164
|
Start: 164
|
||||||
Length: 6
|
Length: 6
|
||||||
@@ -1482,6 +1583,12 @@ doggie: # TODO: not sure what frame 88 and following is
|
|||||||
Length: 10
|
Length: 10
|
||||||
ShadowStart: 218
|
ShadowStart: 218
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 105
|
||||||
|
Length: 4
|
||||||
|
ShadowStart: 224
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
shoot:
|
shoot:
|
||||||
Start: 56
|
Start: 56
|
||||||
Length: 4
|
Length: 4
|
||||||
@@ -1566,6 +1673,12 @@ civ1:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
die5: flameguy # TODO: walking animation unused
|
die5: flameguy # TODO: walking animation unused
|
||||||
Start: 42
|
Start: 42
|
||||||
Length: 104
|
Length: 104
|
||||||
@@ -1622,6 +1735,12 @@ civ2:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
die5: flameguy # TODO: walking animation unused
|
die5: flameguy # TODO: walking animation unused
|
||||||
Start: 42
|
Start: 42
|
||||||
Length: 104
|
Length: 104
|
||||||
@@ -1678,6 +1797,12 @@ civ3:
|
|||||||
Length: 15
|
Length: 15
|
||||||
ShadowStart: 441
|
ShadowStart: 441
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
die-crushed:
|
||||||
|
Start: 159
|
||||||
|
Length: 5
|
||||||
|
ShadowStart: 451
|
||||||
|
Tick: 800
|
||||||
|
ZOffset: -511
|
||||||
die5: flameguy # TODO: walking animation unused
|
die5: flameguy # TODO: walking animation unused
|
||||||
Start: 42
|
Start: 42
|
||||||
Length: 104
|
Length: 104
|
||||||
|
|||||||
Reference in New Issue
Block a user