diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index fd2d78bdd2..59b5f5ecaa 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -332,6 +332,7 @@
+
diff --git a/OpenRA.Mods.Common/Traits/ExplosionOnDamageTransition.cs b/OpenRA.Mods.Common/Traits/ExplosionOnDamageTransition.cs
new file mode 100644
index 0000000000..3e4c2fe113
--- /dev/null
+++ b/OpenRA.Mods.Common/Traits/ExplosionOnDamageTransition.cs
@@ -0,0 +1,70 @@
+#region Copyright & License Information
+/*
+ * Copyright 2007-2016 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, either version 3 of
+ * the License, or (at your option) any later version. For more
+ * information, see COPYING.
+ */
+#endregion
+
+using System.Collections.Generic;
+using System.Linq;
+using OpenRA.GameRules;
+using OpenRA.Mods.Common.Warheads;
+using OpenRA.Traits;
+
+namespace OpenRA.Mods.Common.Traits
+{
+ [Desc("This actor triggers an explosion on itself when transitioning to a specific damage state.")]
+ public class ExplosionOnDamageTransitionInfo : ITraitInfo, IRulesetLoaded, Requires
+ {
+ [WeaponReference, FieldLoader.Require, Desc("Weapon to use for explosion.")]
+ public readonly string Weapon = null;
+
+ [Desc("At which damage state explosion will trigger.")]
+ public readonly DamageState DamageState = DamageState.Heavy;
+
+ [Desc("Should the explosion only be triggered once?")]
+ public readonly bool TriggerOnlyOnce = false;
+
+ public WeaponInfo WeaponInfo { get; private set; }
+
+ public object Create(ActorInitializer init) { return new ExplosionOnDamageTransition(this, init.Self); }
+
+ public void RulesetLoaded(Ruleset rules, ActorInfo ai)
+ {
+ WeaponInfo = string.IsNullOrEmpty(Weapon) ? null : rules.Weapons[Weapon.ToLowerInvariant()];
+ }
+ }
+
+ public class ExplosionOnDamageTransition : INotifyDamageStateChanged
+ {
+ readonly ExplosionOnDamageTransitionInfo info;
+ bool triggered;
+
+ public ExplosionOnDamageTransition(ExplosionOnDamageTransitionInfo info, Actor self)
+ {
+ this.info = info;
+ }
+
+ public void DamageStateChanged(Actor self, AttackInfo e)
+ {
+ if (!self.IsInWorld)
+ return;
+
+ if (triggered)
+ return;
+
+ if (e.DamageState >= info.DamageState && e.PreviousDamageState < info.DamageState)
+ {
+ if (info.TriggerOnlyOnce)
+ triggered = true;
+
+ // Use .FromPos since the actor might have been killed, don't use Target.FromActor
+ info.WeaponInfo.Impact(Target.FromPos(self.CenterPosition), e.Attacker, Enumerable.Empty());
+ }
+ }
+ }
+}
diff --git a/OpenRA.Mods.Common/Traits/Render/WithDeathAnimation.cs b/OpenRA.Mods.Common/Traits/Render/WithDeathAnimation.cs
index 7633d97fd9..dc434caad0 100644
--- a/OpenRA.Mods.Common/Traits/Render/WithDeathAnimation.cs
+++ b/OpenRA.Mods.Common/Traits/Render/WithDeathAnimation.cs
@@ -44,7 +44,7 @@ namespace OpenRA.Mods.Common.Traits.Render
[FieldLoader.LoadUsing("LoadDeathTypes")]
[Desc("Death animation to use for each damage type (defined on the warheads).",
"Is only used if UseDeathTypeSuffix is `True`.")]
- public readonly Dictionary DeathTypes = new Dictionary();
+ public readonly Dictionary DeathTypes = new Dictionary();
[Desc("Sequence to use when the actor is killed by some non-standard means (e.g. suicide).")]
[SequenceReference] public readonly string FallbackSequence = null;
@@ -54,8 +54,8 @@ namespace OpenRA.Mods.Common.Traits.Render
var md = yaml.ToDictionary();
return md.ContainsKey("DeathTypes")
- ? md["DeathTypes"].ToDictionary(my => FieldLoader.GetValue("(value)", my.Value))
- : new Dictionary();
+ ? md["DeathTypes"].ToDictionary(my => FieldLoader.GetValue("(value)", my.Value))
+ : new Dictionary();
}
public object Create(ActorInitializer init) { return new WithDeathAnimation(init.Self, this); }
diff --git a/OpenRA.Mods.Common/Traits/Upgrades/UpgradeOnDamage.cs b/OpenRA.Mods.Common/Traits/Upgrades/UpgradeOnDamage.cs
index c058fcaa07..fb5df922e2 100644
--- a/OpenRA.Mods.Common/Traits/Upgrades/UpgradeOnDamage.cs
+++ b/OpenRA.Mods.Common/Traits/Upgrades/UpgradeOnDamage.cs
@@ -29,6 +29,9 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Levels of damage at which to grant upgrades.")]
public readonly DamageState ValidDamageStates = DamageState.Heavy | DamageState.Critical;
+ [Desc("Are upgrades irrevocable once the conditions have been met?")]
+ public readonly bool GrantPermanently = false;
+
public object Create(ActorInitializer init) { return new UpgradeOnDamage(init.Self, this); }
}
@@ -36,6 +39,7 @@ namespace OpenRA.Mods.Common.Traits
{
readonly UpgradeOnDamageInfo info;
readonly UpgradeManager um;
+ bool granted;
public UpgradeOnDamage(Actor self, UpgradeOnDamageInfo info)
{
@@ -43,12 +47,14 @@ namespace OpenRA.Mods.Common.Traits
um = self.TraitOrDefault();
}
- bool granted;
void INotifyDamageStateChanged.DamageStateChanged(Actor self, AttackInfo e)
{
if (um == null)
return;
+ if (granted && info.GrantPermanently)
+ return;
+
var rand = Game.CosmeticRandom;
if (!granted && info.ValidDamageStates.HasFlag(e.DamageState) && !info.ValidDamageStates.HasFlag(e.PreviousDamageState))
{
diff --git a/mods/ts/audio/voices.yaml b/mods/ts/audio/voices.yaml
index 2cda082ea7..74046f1479 100644
--- a/mods/ts/audio/voices.yaml
+++ b/mods/ts/audio/voices.yaml
@@ -7,6 +7,7 @@ Infantry:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Rocket:
Voices:
@@ -17,6 +18,7 @@ Rocket:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Umagon:
Voices:
@@ -26,6 +28,7 @@ Umagon:
Die: dedgirl1, dedgirl2, dedgirl4
Burned: dedgirl3
Zapped: electro1
+ Explode: expnew10
Ghost:
Voices:
@@ -35,6 +38,7 @@ Ghost:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Medic:
Voices:
@@ -44,6 +48,7 @@ Medic:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Engineer:
Voices:
@@ -53,6 +58,7 @@ Engineer:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
JumpJet:
Voices:
@@ -63,6 +69,7 @@ JumpJet:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Weed:
Voices:
@@ -73,6 +80,7 @@ Weed:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Spy:
Voices:
@@ -83,6 +91,7 @@ Spy:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Hijacker:
Voices:
@@ -92,24 +101,21 @@ Hijacker:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Cyborg:
Voices:
Select: 22-i000, 22-i002, 22-i006
Move: 22-i008, 22-i010, 22-i014, 22-i016, 22-i020
Attack: 22-i008, 22-i010, 22-i012, 22-i018
- Die: 22-n104, 22-n108
- Burned: 22-n106
- Zapped: electro1
+ Die: 22-n104, 22-n106, 22-n108
CyborgCommando:
Voices:
Select: 23-i000, 23-i002, 23-i004, 23-i006
Move: 23-i008, 23-i010, 23-i012, 23-i016
Attack: 23-i014, 23-i018, 23-i020, 23-i022
- Die: 22-n104, 22-n108
- Burned: 22-n106
- Zapped: electro1
+ Die: 22-n104, 22-n106, 22-n108
Mutant:
Voices:
@@ -119,6 +125,7 @@ Mutant:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Tratos:
Voices:
@@ -128,6 +135,7 @@ Tratos:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Oxanna:
Voices:
@@ -137,6 +145,7 @@ Oxanna:
Die: dedgirl1, dedgirl2, dedgirl4
Burned: dedgirl3
Zapped: electro1
+ Explode: expnew10
Slavick:
Voices:
@@ -146,6 +155,7 @@ Slavick:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
Fiend:
Voices:
@@ -155,6 +165,7 @@ Fiend:
Die: fiend1
Burned: fiend1
Zapped: fiend1
+ Explode: expnew10
Vehicle:
Voices:
@@ -183,6 +194,7 @@ Civilian:
Die: dedman1, dedman3, dedman4, dedman5, dedman6
Burned: dedman2
Zapped: electro1
+ Explode: expnew10
CivilianFemale: #can be used for female mutant as well
Voices:
@@ -192,6 +204,7 @@ CivilianFemale: #can be used for female mutant as well
Die: dedgirl1, dedgirl2, dedgirl4
Burned: dedgirl3
Zapped: electro1
+ Explode: expnew10
Scrin:
Voices:
diff --git a/mods/ts/bits/electro.shp b/mods/ts/bits/electro.shp
deleted file mode 100644
index 31e734c14c..0000000000
Binary files a/mods/ts/bits/electro.shp and /dev/null differ
diff --git a/mods/ts/rules/civilian-infantry.yaml b/mods/ts/rules/civilian-infantry.yaml
index 0bc7ff4495..d374b5a2e6 100644
--- a/mods/ts/rules/civilian-infantry.yaml
+++ b/mods/ts/rules/civilian-infantry.yaml
@@ -19,8 +19,9 @@ WEEDGUY:
Voice: Attack
-SpawnActorOnDeath@FLAMEGUY:
WithDeathAnimation@fire:
+ DeathSequence: die-
DeathTypes:
- FireDeath: 5
+ FireDeath: burning
UMAGON:
Inherits: ^Soldier
@@ -44,7 +45,7 @@ UMAGON:
AttackFrontal:
Voice: Attack
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
ProducibleWithLevel:
Prerequisites: barracks.upgraded
@@ -100,7 +101,7 @@ MUTANT:
AttackFrontal:
Voice: Attack
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
ProducibleWithLevel:
Prerequisites: barracks.upgraded
@@ -125,7 +126,7 @@ MWMN:
AttackFrontal:
Voice: Attack
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
ProducibleWithLevel:
Prerequisites: barracks.upgraded
@@ -150,7 +151,7 @@ MUTANT3:
AttackFrontal:
Voice: Attack
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
ProducibleWithLevel:
Prerequisites: barracks.upgraded
@@ -172,7 +173,7 @@ TRATOS:
Range: 4c0
-AutoTarget:
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
OXANNA:
Inherits: ^Soldier
@@ -190,7 +191,7 @@ OXANNA:
Range: 4c0
-AutoTarget:
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
SLAV:
Inherits: ^Soldier
@@ -208,10 +209,11 @@ SLAV:
Range: 4c0
-AutoTarget:
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
DOGGIE:
- Inherits: ^Infantry
+ Inherits@1: ^Infantry
+ Inherits@2: ^RegularInfantryDeath
Tooltip:
Name: Tiberian Fiend
Health:
@@ -241,8 +243,9 @@ DOGGIE:
MaxMoveDelayInTicks: 45
-SpawnActorOnDeath@FLAMEGUY:
WithDeathAnimation@fire:
+ DeathSequence: die-
DeathTypes:
- FireDeath: 5
+ FireDeath: burning
VISC_SML:
Inherits: ^Visceroid
@@ -282,7 +285,7 @@ VISC_LRG:
CIV1:
Inherits: ^CivilianInfantry
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
Armament:
Weapon: Pistola
AttackFrontal:
@@ -295,7 +298,7 @@ CIV2:
CIV3:
Inherits: ^CivilianInfantry
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
Armament:
Weapon: Pistola
AttackFrontal:
diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml
index e57e4390ef..8db426ba72 100644
--- a/mods/ts/rules/defaults.yaml
+++ b/mods/ts/rules/defaults.yaml
@@ -274,24 +274,6 @@
QuantizeFacingsFromSequence:
Sequence: stand
WithInfantryBody:
- WithDeathAnimation@normal:
- DeathTypes:
- BulletDeath: 1
- SmallExplosionDeath: 2
- HeadshotDeath: 3
- SpawnActorOnDeath@FLAMEGUY:
- Actor: FLAMEGUY
- DeathType: FireDeath
- WithDeathAnimation@explosion:
- DeathSequencePalette: effect
- DeathPaletteIsPlayerPalette: False
- DeathTypes:
- ExplosionDeath: 4
- WithDeathAnimation@energy:
- DeathSequencePalette: ra
- DeathPaletteIsPlayerPalette: False
- DeathTypes:
- EnergyDeath: 6
AutoTarget:
AttackMove:
Voice: Move
@@ -300,27 +282,10 @@
Voice: Move
HiddenUnderFog:
ActorLostNotification:
- Crushable:
- CrushSound: squish6.aud
PoisonedByTiberium:
- SpawnActorOnDeath:
- Actor: visc_sml
- Probability: 10
- OwnerType: InternalName
- InternalOwner: Creeps
- DeathType: EnergyDeath # TODO: FIX ME! (Tiberium currently uses the wrong damage type!)
- RequiresLobbyCreeps: true
Guard:
Voice: Move
Guardable:
- DeathSounds@NORMAL:
- DeathTypes: BulletDeath, SmallExplosionDeath, ExplosionDeath
- DeathSounds@BURNED:
- Voice: Burned
- DeathTypes: FireDeath
- DeathSounds@ZAPPED:
- Voice: Zapped
- DeathTypes: EnergyDeath
SelfHealing@HOSPITAL:
Step: 5
Delay: 100
@@ -339,8 +304,55 @@
UpgradeTypes: hospitalheal
UpgradeMinEnabledLevel: 1
+^RegularInfantryDeath:
+ WithDeathAnimation@normal:
+ DeathSequence: die-
+ DeathTypes:
+ BulletDeath: twirling
+ SmallExplosionDeath: flying
+ WithDeathAnimation@explosion:
+ DeathSequence: die-
+ DeathSequencePalette: effect
+ DeathPaletteIsPlayerPalette: False
+ DeathTypes:
+ ExplosionDeath: exploding
+ WithDeathAnimation@energy:
+ DeathSequence: die-
+ DeathSequencePalette: ra
+ DeathPaletteIsPlayerPalette: False
+ DeathTypes:
+ EnergyDeath: melting
+ WithDeathAnimation:
+ CrushedSequence: die-crushed
+ CrushedSequencePalette: player
+ CrushedPaletteIsPlayerPalette: true
+ DeathSounds@NORMAL:
+ DeathTypes: BulletDeath, SmallExplosionDeath, ExplosionDeath
+ DeathSounds@EXPLOSION:
+ Voice: Explode
+ DeathTypes: ExplosionDeath
+ DeathSounds@BURNED:
+ Voice: Burned
+ DeathTypes: FireDeath
+ DeathSounds@ZAPPED:
+ Voice: Zapped
+ DeathTypes: EnergyDeath
+ Crushable:
+ CrushSound: squish6.aud
+ SpawnActorOnDeath:
+ Actor: visc_sml
+ Probability: 10
+ OwnerType: InternalName
+ InternalOwner: Creeps
+ DeathType: TriggerVisceroid
+ RequiresLobbyCreeps: true
+ SpawnActorOnDeath@FLAMEGUY:
+ Actor: FLAMEGUY
+ DeathType: FireDeath
+
^Soldier:
- Inherits: ^Infantry
+ Inherits@1: ^Infantry
+ Inherits@2: ^RegularInfantryDeath
RevealsShroud:
Range: 4c0
MustBeDestroyed:
@@ -354,42 +366,43 @@
DamageTriggers: TriggerProne
WithInfantryBody:
IdleSequences: idle1,idle2
- WithDeathAnimation:
- CrushedSequence: die-crushed
- CrushedSequencePalette: player
- CrushedPaletteIsPlayerPalette: true
^Cyborg:
Inherits@1: ^Infantry
Inherits@2: ^EmpDisableMobile
+ ExplosionOnDamageTransition:
+ Weapon: CyborgExplode
+ DamageState: Critical
+ TriggerOnlyOnce: true
+ Explodes:
+ Weapon: CyborgExplode
+ EmptyWeapon: CyborgExplode
+ DeathSounds:
RevealsShroud:
Range: 4c0
MustBeDestroyed:
- -Crushable:
PoisonedByTiberium:
Weapon: TiberiumHeal
WithPermanentInjury:
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
IdleSequences: idle1,idle2
UpgradeOnDamage@CRITICAL:
Upgrades: criticalspeed
ValidDamageStates: Critical
+ GrantPermanently: true
SpeedMultiplier@CRITICAL:
UpgradeTypes: criticalspeed
Modifier: 50
^CivilianInfantry:
- Inherits: ^Infantry
+ Inherits@1: ^Infantry
+ Inherits@2: ^RegularInfantryDeath
Voiced:
VoiceSet: Civilian
Tooltip:
Name: Civilian
ScaredyCat:
- WithDeathAnimation:
- CrushedSequence: die-crushed
- CrushedSequencePalette: player
- CrushedPaletteIsPlayerPalette: true
^Vehicle:
Inherits@1: ^GainsExperience
diff --git a/mods/ts/rules/gdi-infantry.yaml b/mods/ts/rules/gdi-infantry.yaml
index 2d46d946df..46b3d86c31 100644
--- a/mods/ts/rules/gdi-infantry.yaml
+++ b/mods/ts/rules/gdi-infantry.yaml
@@ -20,7 +20,7 @@ E2:
AttackFrontal:
Voice: Attack
WithInfantryBody:
- AttackSequence: throw
+ AttackSequence: attack
ProducibleWithLevel:
Prerequisites: barracks.upgraded
@@ -88,7 +88,7 @@ JUMPJET:
AttackFrontal:
Voice: Attack
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
-TakeCover:
ProducibleWithLevel:
Prerequisites: barracks.upgraded
@@ -129,6 +129,6 @@ GHOST:
DetonationDelay: 45
Voice: Attack
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
ProducibleWithLevel:
Prerequisites: barracks.upgraded
diff --git a/mods/ts/rules/nod-infantry.yaml b/mods/ts/rules/nod-infantry.yaml
index 8e7944ffb5..59fc9cd028 100644
--- a/mods/ts/rules/nod-infantry.yaml
+++ b/mods/ts/rules/nod-infantry.yaml
@@ -21,7 +21,7 @@ E3:
AttackFrontal:
Voice: Attack
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
ProducibleWithLevel:
Prerequisites: barracks.upgraded
@@ -57,10 +57,6 @@ CYBORG:
VisualBounds: 16,31,0,-10
ProducibleWithLevel:
Prerequisites: barracks.upgraded
- -SpawnActorOnDeath@FLAMEGUY:
- WithDeathAnimation@explosion:
- DeathTypes:
- FireDeath: 4
CYC2:
Inherits: ^Cyborg
@@ -96,10 +92,6 @@ CYC2:
VisualBounds: 16,32,-1,-12
ProducibleWithLevel:
Prerequisites: barracks.upgraded
- -SpawnActorOnDeath@FLAMEGUY:
- WithDeathAnimation@explosion:
- DeathTypes:
- FireDeath: 4
MHIJACK:
Inherits: ^Soldier
@@ -127,5 +119,3 @@ MHIJACK:
RevealsShroud:
Range: 6c0
-AutoTarget:
- WithInfantryBody:
- AttackSequence: shoot
diff --git a/mods/ts/rules/shared-infantry.yaml b/mods/ts/rules/shared-infantry.yaml
index 8ede00b575..bc51f8ee15 100644
--- a/mods/ts/rules/shared-infantry.yaml
+++ b/mods/ts/rules/shared-infantry.yaml
@@ -25,7 +25,7 @@ E1:
AttackFrontal:
Voice: Attack
WithInfantryBody:
- AttackSequence: shoot
+ AttackSequence: attack
ProducibleWithLevel:
Prerequisites: barracks.upgraded
RenderSprites:
diff --git a/mods/ts/sequences/infantry.yaml b/mods/ts/sequences/infantry.yaml
index 3d82161d9a..38eb123b49 100644
--- a/mods/ts/sequences/infantry.yaml
+++ b/mods/ts/sequences/infantry.yaml
@@ -1,5 +1,5 @@
-e1.gdi:
- Defaults: e1
+^BasicInfantry:
+ Defaults:
Tick: 80
stand:
Facings: 8
@@ -27,17 +27,15 @@ e1.gdi:
Facings: 8
Stride: 6
ShadowStart: 378
- die1:
+ die-twirling:
Start: 134
Length: 15
ShadowStart: 426
- die2:
+ die-flying:
Start: 149
Length: 15
ShadowStart: 441
- die3: infdie
- Length: *
- die4: s_bang34
+ die-exploding: s_bang34
Length: *
die-crushed:
Start: 159
@@ -45,867 +43,141 @@ e1.gdi:
ShadowStart: 451
Tick: 800
ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
standup-0:
Start: 260
Length: 2
Facings: 8
ShadowStart: 552
- die6: electro
+ die-melting: electro
Length: *
+
+^BasicInfantryAttack:
+ attack:
+ Start: 164
+ Length: 6
+ Facings: 8
+ ShadowStart: 456
+ prone-attack:
+ Start: 212
+ Length: 6
+ Facings: 8
+ ShadowStart: 504
+
+e1.gdi:
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
+ Defaults: e1
icon: sidebar-gdi|e1icon
e1.nod:
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
Defaults: e1
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: infdie
- Length: *
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
icon: sidebar-nod|e1icon
e2:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: infdie
- Length: *
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- throw:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-throw:
- Tick: 80
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
icon: e2icon
e3:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: infdie
- Length: *
- Tick: 80
- die4: s_bang34
- Length: *
- Tick: 80
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
icon: e4icon
-weedguy:
- Defaults: weed
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 202
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 210
- shoot:
- Start: 56
- Facings: 8
- ShadowStart: 258
- prone-shoot:
- Start: 56
- Facings: 8
- ShadowStart: 258
- standup-0:
- Start: 112
- Length: 2
- Facings: 8
- ShadowStart: 314
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 288
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 288
- idle1:
- Start: 128
- Length: 8
- ShadowStart: 330
- idle2:
- Start: 136
- Length: 16
- ShadowStart: 338
- die1:
- Start: 152
- Length: 8
- ShadowStart: 354
- die2:
- Start: 160
- Length: 6
- ShadowStart: 362
- die3:
- Start: 166
- Length: 11
- ShadowStart: 368
- die4:
- Start: 197
- Length: 5
- ShadowStart: 399
- die5:
- Start: 177
- Length: 20
- ShadowStart: 379
- die6: electro
- Length: *
- die-crushed:
- Start: 174
- Length: 3
- ShadowStart: 376
- Tick: 1000
-
-medic:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 307
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 315
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 363
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 378
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 441
- die2:
- Start: 149
- Length: 15
- ShadowStart: 455
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 455
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 567
- heal:
- Start: 292
- Length: 14
- ShadowStart: 599
- die6: electro
- Length: *
- icon: mediicon
-
engineer.gdi:
+ Inherits: ^BasicInfantry
Defaults: engineer
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
icon: sidebar-gdi|engnicon
engineer.nod:
+ Inherits: ^BasicInfantry
Defaults: engineer
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
icon: sidebar-nod|engnicon
umagon:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
icon: umagicon
ghost:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
icon: gosticon
-jumpjet:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 451
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 459
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 507
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 522
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 537
- prone-stand:
- Facings: 8
- ShadowStart: 451
- die1: # TODO: animation for falling from sky starts at 436
- Start: 445
- Length: 6
- ShadowStart: 896
- die2: # TODO: animation for falling from sky starts at 436
- Start: 445
- Length: 6
- ShadowStart: 896
- die3: # TODO: animation for falling from sky starts at 436
- Start: 445
- Length: 6
- ShadowStart: 896
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 450
- ShadowStart: 901
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 615
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 663
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 711
- die6: electro
- Length: *
- icon: jjeticon
-
mhijack:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
+ Inherits: ^BasicInfantry
icon: chamicon
chamspy:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
+ Inherits: ^BasicInfantry
+ icon: chamicon
+
+mutant:
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
+ icon: mutcicon
+
+mwmn:
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
+ icon: mutcicon
+
+mutant3:
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
+ icon: mutcicon
+
+tratos:
+ Inherits: ^BasicInfantry
+ icon: mutcicon
+
+oxanna:
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
+
+slav:
+ Inherits: ^BasicInfantry
+ Inherits@attack: ^BasicInfantryAttack
+
+civ1:
+ Inherits: ^BasicInfantry
+ attack:
Start: 164
Length: 6
Facings: 8
ShadowStart: 456
- prone-shoot:
- Start: 212
+ panic-attack:
+ Start: 164
Length: 6
Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
+ ShadowStart: 456
+ panic-run:
+ Start: 86
+ Length: 6
Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
- icon: chamicon
+ ShadowStart: 378
+ panic-stand:
+ Start: 86
+ Facings: 8
+ Stride: 6
+ ShadowStart: 378
-cyc2:
- stand:
- Facings: 8
- ShadowStart: 308
- run:
- Start: 8
- Length: 9
- Facings: 8
- ShadowStart: 316
- idle1:
- Start: 80
- Length: 15
- ShadowStart: 388
- idle2:
- Start: 95
- Length: 15
- ShadowStart: 403
- crippled-run:
- Start: 110
- Length: 9
- Facings: 8
- ShadowStart: 418
- crippled-stand:
- Start: 110
- Facings: 8
- Stride: 9
- ShadowStart: 418
- die1:
- Start: 182
- Length: 15
- ShadowStart: 490
- die2:
- Start: 197
- Length: 15
- ShadowStart: 505
- die3: infexpl
- Length: *
- die4: s_bang34
- Length: *
- shoot:
- Start: 212
+civ2:
+ Inherits: ^BasicInfantry
+ panic-run:
+ Start: 86
Length: 6
Facings: 8
- ShadowStart: 520
- crippled-shoot:
- Start: 260
- Length: 6
+ ShadowStart: 378
+ panic-stand:
+ Start: 86
Facings: 8
- ShadowStart: 568
- die6: electro
- Length: *
- emp-overlay: emp_fx01
- Length: *
- ZOffset: 512
- BlendMode: Additive
- icon: cybcicon
+ Stride: 6
+ ShadowStart: 378
+
+civ3:
+ Inherits: civ1
cyborg:
Defaults:
@@ -936,125 +208,84 @@ cyborg:
Facings: 8
Stride: 6
ShadowStart: 456
- die1:
- Start: 134
- Length: 15
- ShadowStart: 504
- die2:
- Start: 149
- Length: 15
- ShadowStart: 519
- die3:
- Start: 307
- Length: 14
- ShadowStart: 677
- die4: s_bang34
- Length: *
- shoot:
+ attack:
Start: 164
Length: 6
Facings: 8
ShadowStart: 534
- crippled-shoot:
+ crippled-attack:
Start: 212
Length: 6
Facings: 8
ShadowStart: 582
- die6: electro
- Length: *
emp-overlay: emp_fx01
Length: *
ZOffset: 512
BlendMode: Additive
icon: cybiicon
-mutant:
- Defaults:
- Tick: 80
+cyc2:
stand:
Facings: 8
- ShadowStart: 292
+ ShadowStart: 308
run:
Start: 8
- Length: 6
+ Length: 9
Facings: 8
- ShadowStart: 300
+ ShadowStart: 316
idle1:
- Start: 56
+ Start: 80
Length: 15
- ShadowStart: 348
+ ShadowStart: 388
idle2:
- Start: 71
+ Start: 95
Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
+ ShadowStart: 403
+ crippled-run:
+ Start: 110
+ Length: 9
Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
+ ShadowStart: 418
+ crippled-stand:
+ Start: 110
Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
+ Stride: 9
+ ShadowStart: 418
+ attack:
Start: 212
Length: 6
Facings: 8
- ShadowStart: 504
- standup-0:
+ ShadowStart: 520
+ crippled-attack:
Start: 260
- Length: 2
+ Length: 6
Facings: 8
- ShadowStart: 552
- die6: electro
+ ShadowStart: 568
+ emp-overlay: emp_fx01
Length: *
- icon: mutcicon
+ ZOffset: 512
+ BlendMode: Additive
+ icon: cybcicon
-mwmn:
+medic:
Defaults:
Tick: 80
stand:
Facings: 8
- ShadowStart: 292
+ ShadowStart: 307
run:
Start: 8
Length: 6
Facings: 8
- ShadowStart: 300
+ ShadowStart: 315
idle1:
Start: 56
Length: 15
- ShadowStart: 348
+ ShadowStart: 363
idle2:
Start: 71
Length: 15
- ShadowStart: 363
+ ShadowStart: 378
prone-run:
Start: 86
Length: 6
@@ -1065,20 +296,15 @@ mwmn:
Facings: 8
Stride: 6
ShadowStart: 378
- die1:
+ die-twirling:
Start: 134
Length: 15
- ShadowStart: 426
- die2:
+ ShadowStart: 441
+ die-flying:
Start: 149
Length: 15
- ShadowStart: 441
- Tick: 80
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
+ ShadowStart: 455
+ die-exploding: s_bang34
Length: *
die-crushed:
Start: 159
@@ -1086,298 +312,145 @@ mwmn:
ShadowStart: 451
Tick: 800
ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
standup-0:
Start: 260
Length: 2
Facings: 8
- ShadowStart: 552
- die6: electro
+ ShadowStart: 567
+ heal:
+ Start: 292
+ Length: 14
+ ShadowStart: 599
+ die-melting: electro
Length: *
- icon: mutcicon
+ icon: mediicon
-mutant3:
+jumpjet:
Defaults:
Tick: 80
stand:
Facings: 8
- ShadowStart: 292
+ ShadowStart: 451
run:
Start: 8
Length: 6
Facings: 8
- ShadowStart: 300
+ ShadowStart: 459
idle1:
Start: 56
Length: 15
- ShadowStart: 348
+ ShadowStart: 507
idle2:
Start: 71
Length: 15
- ShadowStart: 363
+ ShadowStart: 522
prone-run:
Start: 86
Length: 6
Facings: 8
- ShadowStart: 378
+ ShadowStart: 537
prone-stand:
- Start: 86
Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- Tick: 80
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
+ ShadowStart: 451
+ die-twirling: # TODO: animation for falling from sky starts at 436
+ Start: 445
+ Length: 6
+ ShadowStart: 896
+ die-flying: # TODO: animation for falling from sky starts at 436
+ Start: 445
+ Length: 6
+ ShadowStart: 896
+ die-exploding: s_bang34
Length: *
die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
+ Start: 450
+ ShadowStart: 901
Tick: 800
ZOffset: -511
- shoot:
+ attack:
Start: 164
Length: 6
Facings: 8
- ShadowStart: 456
- prone-shoot:
+ ShadowStart: 615
+ prone-attack:
Start: 212
Length: 6
Facings: 8
- ShadowStart: 504
+ ShadowStart: 663
standup-0:
Start: 260
Length: 2
Facings: 8
- ShadowStart: 552
- die6: electro
+ ShadowStart: 711
+ die-melting: electro
Length: *
- icon: mutcicon
+ icon: jjeticon
-tratos:
- Defaults:
+weedguy:
+ Defaults: weed
Tick: 80
stand:
Facings: 8
- ShadowStart: 292
+ ShadowStart: 202
run:
Start: 8
Length: 6
Facings: 8
- ShadowStart: 300
- idle1:
+ ShadowStart: 210
+ attack:
Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
+ Facings: 8
+ ShadowStart: 258
+ prone-attack:
+ Start: 56
+ Facings: 8
+ ShadowStart: 258
+ standup-0:
+ Start: 112
+ Length: 2
+ Facings: 8
+ ShadowStart: 314
prone-run:
Start: 86
Length: 6
Facings: 8
- ShadowStart: 378
+ ShadowStart: 288
prone-stand:
Start: 86
Facings: 8
Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- Tick: 80
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
- icon: mutcicon
-
-oxanna:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
+ ShadowStart: 288
idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
+ Start: 128
+ Length: 8
+ ShadowStart: 330
idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
+ Start: 136
+ Length: 16
+ ShadowStart: 338
+ die-twirling:
+ Start: 152
+ Length: 8
+ ShadowStart: 354
+ die-flying:
+ Start: 160
Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- Tick: 80
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
+ ShadowStart: 362
+ die-exploding:
+ Start: 166
+ Length: 11
+ ShadowStart: 368
+ die-burning:
+ Start: 177
+ Length: 20
+ ShadowStart: 379
+ die-melting: electro
Length: *
die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
-
-slav:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- prone-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- prone-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- Tick: 80
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- prone-shoot:
- Start: 212
- Length: 6
- Facings: 8
- ShadowStart: 504
- standup-0:
- Start: 260
- Length: 2
- Facings: 8
- ShadowStart: 552
- die6: electro
- Length: *
+ Start: 174
+ Length: 3
+ ShadowStart: 376
+ Tick: 1000
doggie:
Defaults:
@@ -1390,7 +463,7 @@ doggie:
Length: 6
Facings: 8
ShadowStart: 127
- shoot:
+ attack:
Start: 56
Length: 4
Facings: 8
@@ -1406,19 +479,15 @@ doggie:
Start: 91
Length: 8
ShadowStart: 210
- die1:
+ die-twirling:
Start: 99
Length: 10
ShadowStart: 218
- die2:
+ die-flying:
Start: 99
Length: 10
ShadowStart: 218
- die3:
- Start: 99
- Length: 10
- ShadowStart: 218
- die4: s_bang34
+ die-exploding: s_bang34
Length: *
die-crushed:
Start: 105
@@ -1426,11 +495,11 @@ doggie:
ShadowStart: 224
Tick: 800
ZOffset: -511
- die5:
+ die-burning:
Start: 109
Length: 10
ShadowStart: 228
- die6:
+ die-melting:
Start: 109
Length: 10
ShadowStart: 228
@@ -1452,175 +521,6 @@ vislrg:
ShadowStart: 40
Tick: 80
-civ1:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- panic-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- panic-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- Tick: 80
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- die6: electro
- Length: *
-
-civ2:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- panic-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- panic-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- Tick: 80
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- die6: electro
- Length: *
-
-civ3:
- Defaults:
- Tick: 80
- stand:
- Facings: 8
- ShadowStart: 292
- run:
- Start: 8
- Length: 6
- Facings: 8
- ShadowStart: 300
- idle1:
- Start: 56
- Length: 15
- ShadowStart: 348
- idle2:
- Start: 71
- Length: 15
- ShadowStart: 363
- panic-run:
- Start: 86
- Length: 6
- Facings: 8
- ShadowStart: 378
- panic-stand:
- Start: 86
- Facings: 8
- Stride: 6
- ShadowStart: 378
- die1:
- Start: 134
- Length: 15
- ShadowStart: 426
- die2:
- Start: 149
- Length: 15
- ShadowStart: 441
- Tick: 80
- die3: # TODO: copy-paste of die2
- Start: 149
- Length: 15
- ShadowStart: 441
- die4: s_bang34
- Length: *
- die-crushed:
- Start: 159
- Length: 5
- ShadowStart: 451
- Tick: 800
- ZOffset: -511
- shoot:
- Start: 164
- Length: 6
- Facings: 8
- ShadowStart: 456
- die6: electro
- Length: *
-
flameguy:
Defaults:
Facings: 8
@@ -1635,4 +535,3 @@ flameguy:
Facings: 1
Length: 104
ShadowStart: 192
-
diff --git a/mods/ts/weapons/energyweapons.yaml b/mods/ts/weapons/energyweapons.yaml
index dddec8b897..e8dba50916 100644
--- a/mods/ts/weapons/energyweapons.yaml
+++ b/mods/ts/weapons/energyweapons.yaml
@@ -23,7 +23,7 @@ LtRail:
Light: 150
Heavy: 110
Concrete: 5
- DamageTypes: Prone100Percent, TriggerProne, SmallExplosionDeath
+ DamageTypes: Prone100Percent, TriggerProne, ExplosionDeath
Warhead@2Dam: SpreadDamage
Range: 0, 32
Falloff: 50, 50 # Only does half damage to friendly units
@@ -37,7 +37,7 @@ LtRail:
Light: 150
Heavy: 110
Concrete: 5
- DamageTypes: Prone100Percent, TriggerProne, SmallExplosionDeath
+ DamageTypes: Prone100Percent, TriggerProne, ExplosionDeath
MechRailgun:
ReloadDelay: 60
@@ -62,7 +62,7 @@ MechRailgun:
Light: 160
Heavy: 100
Concrete: 25
- DamageTypes: Prone100Percent, TriggerProne, FireDeath
+ DamageTypes: Prone100Percent, TriggerProne, ExplosionDeath
SonicZap:
ReloadDelay: 180
@@ -87,7 +87,7 @@ SonicZap:
Versus:
Heavy: 80
Concrete: 60
- DamageTypes: Prone50Percent, TriggerProne, ExplosionDeath
+ DamageTypes: Prone50Percent, TriggerProne, SmallExplosionDeath
Warhead@2Dam: SpreadDamage
Range: 0, 32
Falloff: 50, 50
@@ -98,7 +98,7 @@ SonicZap:
Versus:
Heavy: 80
Concrete: 60
- DamageTypes: Prone50Percent, TriggerProne, ExplosionDeath
+ DamageTypes: Prone50Percent, TriggerProne, SmallExplosionDeath
CyCannon:
ReloadDelay: 50
diff --git a/mods/ts/weapons/explosions.yaml b/mods/ts/weapons/explosions.yaml
index 832a676e89..f51b23ca8e 100644
--- a/mods/ts/weapons/explosions.yaml
+++ b/mods/ts/weapons/explosions.yaml
@@ -27,6 +27,11 @@ UnitExplodeSmall:
Explosions: medium_brnl
ImpactSounds: expnew13.aud
+CyborgExplode:
+ Warhead@1Eff: CreateEffect
+ Explosions: medium_bang
+ ImpactSounds: expnew10.aud
+
TiberiumExplosion:
Warhead@1Dam: SpreadDamage
Spread: 9
diff --git a/mods/ts/weapons/otherweapons.yaml b/mods/ts/weapons/otherweapons.yaml
index 1703431112..fe66744197 100644
--- a/mods/ts/weapons/otherweapons.yaml
+++ b/mods/ts/weapons/otherweapons.yaml
@@ -65,14 +65,14 @@ Tiberium:
Warhead@1Dam: SpreadDamage
Spread: 42
Damage: 2
- DamageTypes: EnergyDeath # TODO: FIX ME!
+ DamageTypes: ExplosionDeath, TriggerVisceroid
Veins:
ReloadDelay: 16
Warhead@Damage: SpreadDamage
Spread: 42
Damage: 5
- DamageTypes: EnergyDeath # TODO: FIX ME!
+ DamageTypes: BulletDeath
Warhead@Effect: CreateEffect
Explosions: veins
ExplosionPalette: player
diff --git a/mods/ts/weapons/smallguns.yaml b/mods/ts/weapons/smallguns.yaml
index c080e4b1c1..0abdff3594 100644
--- a/mods/ts/weapons/smallguns.yaml
+++ b/mods/ts/weapons/smallguns.yaml
@@ -274,4 +274,4 @@ Sniper:
Light: 5
Heavy: 5
Concrete: 5
- DamageTypes: Prone100Percent, TriggerProne, HeadshotDeath
+ DamageTypes: Prone100Percent, TriggerProne, BulletDeath